Skip to content

Releases: ragardner/tksheet

7.1.1

25 Mar 10:42
Compare
Choose a tag to compare

Version 7.1.1

Fixed:

  • Select all error
  • Span widget attribute lost on delete rows/columns and undo
  • Tagged cells/rows/columns lost on delete rows/columns and undo

7.1.0

24 Mar 19:01
Compare
Choose a tag to compare

Version 7.1.0

Changed:

  • Event data key "selected" and function get_currently_selected() values have changed:
    • type_ attribute has been changed from either "cell"/"row"/"column" to "cells"/"rows"/"columns"
    • The attributes in the latter indexes have also changed
    • See the documentation for get_currently_selected for more information

  • Rename class TextEditor_ to TextEditorTkText
  • Rename TextEditor attribute textedit to tktext
  • Rename namedtuple CurrentlySelectedClass to Selected

  • Overhaul how selection boxes are handled internally. Sheet functions dealing with selection boxes should behave the same
  • Changed order of Sheet() init parameters

  • auto_resize_row_index now has a different default value for its old behaviour:
    • auto_resize_row_index: bool | Literal["empty"] = "empty"
      • With "empty" it will only automatically resize if the row index is empty
      • With True it will always automatically resize
      • False it will never automatically resize

  • Scrollbar appearance
  • hide_rows()/hide_columns() functions now endeavour to save the row heights/column widths so that they may be reinserted when using new functions show_rows()/show_columns()
  • Internal Dropdown Box information dicts no longer have the keys "window" and "canvas_id"

Span objects now have an additional two functions which link to the Sheet functions of the same names:

  • span.tag()
  • span.untag()

Removed:

  • Parameters:
    • set_text_editor_value() parameters r and c

Added:

  • Functions:
    • show_rows(), show_columns() which are designed to work alongside their hide_rows()/hide_columns() counterparts
    • set_index_text_editor_value() and set_header_text_editor_value()
    • xview(), yview(), xview_moveto(), yview_moveto()
  • Parameters:
    • data_indexes bool parameters to functions: hide_rows, hide_columns, default value is False meaning there is no behavior change
    • create_selections bool parameters to functions: insert_rows, insert_columns default value is True meaning there is no behavior change
  • New tksheet functionality:
    • Treeview mode (still a work in progress - functions are inside sheet.py under # Treeview Mode)
    • Cell, row and column tagging functions, also added to Spans
    • Ability to change the appearance of both scroll bars
    • New binding "<<SheetSelect>>" which encompasses all select events

Fixed:

  • mapping_move_rows() error
  • Potential issue with using insert_rows while also using an int as the row index to display a specific column in the index
  • Potential error if a selection box ends up outside of rows/columns
  • Pull request #214
  • Issue 215

Improved:

  • Ctrl select now allows overlapping boxes which begin from within another box
  • Ctrl click deselection
  • The currently selected cell will no longer change after edits to individual cells in the main table which are not valid with a different value

7.0.6

01 Mar 20:33
Compare
Choose a tag to compare

Version 7.0.6

Changed:

  • The following MainTable attributes are now simply ints or strs which represent either pixels or number of lines, instead of tuples:
    • default_header_height
    • default_row_height
  • Sheet() init keyword argument default_row_index_width now only accepts ints
  • Simplify internal use of default_header_height, default_row_height, default_column_width, default_row_index_width
  • Move the following attribute locations from MainTable to Sheet.ops:
    • default_header_height
    • default_row_height
    • default_column_width
    • default_row_index_width
  • Removed some protections for setting default row heights, default column widths smaller than minimum heights/widths

Added:

  • Functions to address issue #212:
    • get_text_editor_value
    • close_text_editor

7.0.5

08 Feb 10:17
Compare
Choose a tag to compare

Version 7.0.5

Fixed:

7.0.4

05 Feb 17:42
Compare
Choose a tag to compare

Version 7.0.4

Fixed:

  • Additional header cells being created when using set_data() or data setting using spans under certain circumstances
  • Additional index cells being created when using set_data() or data setting using spans under certain circumstances

Added:

  • Sheet.reset() function

7.0.3

04 Feb 18:33
Compare
Choose a tag to compare

Version 7.0.3

Fixed:

  • Some classifiers in pyproject.toml

Added:

  • Parameter emit_event to the functions:

    • span
    • set_data
    • clear
    • insert_row
    • insert_column
    • insert_rows
    • insert_columns
    • del_row
    • del_column
    • del_rows
    • del_columns
    • move_rows
    • move_columns
    • mapping_move_rows
    • mapping_move_columns
  • Attribute emit_event to Span objects, default value is False

  • Functions mapping_move_rows and mapping_move_columns to docs

Changed:

  • Functions renamed:
    • move_rows_using_mapping -> mapping_move_rows
    • move_columns_using_mapping -> mapping_move_columns
  • Order of parameters for functions:
    • mapping_move_rows
    • mapping_move_columns

7.0.2

31 Jan 08:53
Compare
Choose a tag to compare

Version 7.0.2

Changed:

  • Sheet() initialization parameter row_index_width renamed default_row_index_width
  • set_options() keyword argument row_index_width renamed default_row_index_width
  • Move doc files to new docs folder
  • Delete version.py file, move __version__ variable to __init__.py
  • Add backwards compatibility for Sheet() initialization parameters:
    • column_width
    • header_height
    • row_height
    • row_index_width

7.0.1

30 Jan 14:31
Compare
Choose a tag to compare

Version 7.0.1

Removed:

  • Function cell_edit_binding() use enable_bindings() instead
  • Function edit_bindings() use enable_bindings() instead

Fixed:

  • Error when closing a dropdown in the row index
  • Menus modified for every binding for one call of enable/disable bindings with more than one binding
  • Editing the index/header cells being allowed when using enable_bindings("all")/enable_bindings() when it's not supposed to

Changed:

  • Sheet() initialization parameter column_width renamed default_column_width
  • set_options() keyword argument column_width renamed default_column_width
  • Sheet() initialization parameter header_height renamed default_header_height
  • set_options() keyword argument header_height renamed default_header_height
  • Sheet() initialization parameter row_height renamed default_row_height
  • set_options() keyword argument row_height renamed default_row_height
  • Sheet() initialization parameter auto_resize_default_row_index renamed auto_resize_row_index
  • set_options() keyword argument auto_resize_default_row_index renamed auto_resize_row_index
  • Sheet() initialization parameter enable_edit_cell_auto_resize renamed cell_auto_resize_enabled
  • set_options() keyword argument enable_edit_cell_auto_resize renamed cell_auto_resize_enabled
  • Moved most changable sheet attributes to a dict variable named ops (which has dot notation access) accessible from the Sheet object
  • The order of parameters has been changed for Sheet() initialization
  • Sheet attribute self.C renamed self.PAR
  • Various widget attributes named self.parentframe have been renamed self.PAR
  • Return key on cell editor will move to the next cell regardless of whether the cell was edited
  • Parameters for classes TextEditor, TextEditor_, `Dropdown
  • Bindings for cut, copy, paste, delete, undo, redo no longer use both Command and Control but either one depending on the users operating system
  • Internal arrow key binding methodology, if you were previously using this to change the arrow key bindings see here for info on adding arrow key bindings

Added:

  • A way to change the in-built popup menu labels, info here
  • A way to change the in-built bindings for cut, copy, paste, delete, undo, redo, select all, all the arrowkey bindings and page up/down, info here

7.0.0

25 Jan 08:49
Compare
Choose a tag to compare

Version 7.0.0

Removed:

  • edit_cell_validation from Sheet() initialization, set_options() and everywhere else due to confusion. Use the new function edit_validation() instead.

  • Functions (use spans instead for the same purpose):

    • header_checkbox
    • index_checkbox
    • format_sheet
    • delete_sheet_format
    • dropdown_sheet
    • delete_sheet_dropdown
    • checkbox_sheet
    • delete_sheet_checkbox
  • Parameters:

    • verify from functions set_column_widths and set_row_heights
  • Old unused and deprecated parameters for:

    • get_cell_data(), get_sheet_data(), get_row_data(), get_column_data(), yield_sheet_rows()
    • All checkbox and dropdown creation functions

Fixed:

  • Grid lines now properly raised above highlighted rows/columns
  • Deselect events firing when unnecessary

Changed:

  • Using extra_bindings() with "end_edit_cell"/"edit_cell" no longer requires a return value in your bound function to set the cell value to. For end user cell edit validation use the new function edit_validation() instead
  • Changed functions:
    • Parameters and behavior:

      • checkbox now is used to create checkboxes and utilises spans
      • delete_header_dropdown default argument changed to required argument and can no longer delete a header wide dropdown
      • delete_index_dropdown default argument changed to required argument and can no longer delete an index wide dropdown
    • Parameters only:

      • move_columns most parameters changed
      • move_rows most parameters changed
      • click_checkbox most parameters changed
      • insert_row parameter idx default argument changed to None
      • insert_column parameter idx default argument changed to None
      • insert_rows parameter idx default argument changed to None
      • insert_columns parameter idx default argument changed to None
    • Renamed:

      • align -> table_align
  • Reorganised order of functions in sheet.py to match documentation

Added:

  • Method edit_validation(func: Callable | None = None) -> None to replace edit_cell_validation
  • New methods for getting and setting data
  • bind now also accepts "<<SheetModified>>" and "<<SheetRedrawn>>" arguments
  • Redo, which is enabled when undo is enabled, use by pressing ctrl/cmd + shift + z
  • Named spans for sheet options such as highlight, format
  • Ctrl/cmd click deselect
  • Ability to make currently selected box border different color to selection box border

Other Changes:

  • Overhaul and totally change event data sent to functions bound by extra_bindings()
  • Deselect events are now labelled as "select" events, see the docs on "selection_boxes" for more information
  • Overhaul internal selection box workings
  • Rename tksheet files
  • Pressing escape on text editors no longer generates an edit cell/header/index event

6.3.5

20 Dec 17:23
Compare
Choose a tag to compare

Version 6.3.5

Fixed:

  • Error with function set_currently_selected()

Addressed: