Changelogs » Tksheet





- Make drag selection only redraw table when rectangle dimensions change instead of mouse moves
- Adjust light green theme colors slightly
- Changed all color option argument names for better clarity

| Old Name                     | New Name                          |
|frame_background              |frame_bg                           |
|grid_color                    |table_grid_fg                      |
|table_background              |table_bg                           |
|text_color                    |table_fg                           |
|selected_cells_border_color   |table_selected_cells_border_fg     |
|selected_cells_background     |table_selected_cells_bg            |
|selected_cells_foreground     |table_selected_cells_fg            |
|selected_rows_border_color    |table_selected_rows_border_fg      |
|selected_rows_background      |table_selected_rows_bg             |
|selected_rows_foreground      |table_selected_rows_fg             |
|selected_columns_border_color |table_selected_columns_border_fg   |
|selected_columns_background   |table_selected_columns_bg          |
|selected_columns_foreground   |table_selected_columns_fg          |
|resizing_line_color           |resizing_line_fg                   |
|drag_and_drop_color           |drag_and_drop_bg                   |
|row_index_background          |index_bg                           |
|row_index_foreground          |index_fg                           |
|row_index_border_color        |index_border_fg                    |
|row_index_grid_color          |index_grid_fg                      |
|row_index_select_background   |index_selected_cells_bg            |
|row_index_select_foreground   |index_selected_cells_fg            |
|row_index_select_row_bg       |index_selected_rows_bg             |
|row_index_select_row_fg       |index_selected_rows_fg             |
|header_background             |header_bg                          |
|header_foreground             |header_fg                          |
|header_border_color           |header_border_fg                   |
|header_grid_color             |header_grid_fg                     |
|header_select_background      |header_selected_cells_bg           |
|header_select_foreground      |header_selected_cells_fg           |
|header_select_column_bg       |header_selected_columns_bg         |
|header_select_column_fg       |header_selected_columns_fg         |
|top_left_background           |top_left_bg                        |
|top_left_foreground           |top_left_fg                        |
|top_left_foreground_highlight |top_left_fg_highlight              |


- Add option to use integer in `insert_row_positions()` and `insert_column_positions()` for how many columns to add
- Fix error occurring in above functions when using python 3.6-3.7 due to itertools argument added in python 3.8


- Fix show_horizontal and show_vertical grid


- Reduce column minimum size even further
- Fix bug with highlights introduced in 4.7.6


- Make `startup_select` also see the chosen cell
- Deprecated functions `is_cell_selected()`, `is_row_selected()`, `is_column_selected()` use the same functions but without the `is_` in the name
- Add functions `highlight_columns()`, `highlight_rows()`, make `highlight_cells()` argument `cells` update dictionary rather than overwrite
- Remove double click resizing of index
- Reduce minimum column width to 1 character


- Make arrow key up and left not select column/row when at end, will add more shortcuts in a later update
- Adjust width of auto-resized index
- Hide header height/index width reset bars in top left if relevant options are disabled


- Add option `page_up_down_select_row` will select row when using page up/down, default is `True`
- Overhaul text, grid and highlight canvas item management, no longer deletes and redraws, keeps items using `"hidden"` and reuses them to prevent canvas item number getting high quickly
- Edit cell resizing now only uses displayed rows/columns to fit to cell text
- Fix `see()` not being correct when using non-default `empty_vertical` and `empty_horizontal`
- Fix flicker when row index auto resizes
- Rename `auto_resize_numerical_row_index` to `auto_resize_default_row_index`
- Add option `startup_focus` to give `Sheet()` main table focus on initialization
- Add startup argument `startup_select` use like so:

To create a cell selection box where cells 0,0 up to but not including 3,3 are selected:
startup_select = (0, 0, 3, 3, "cells"),

To create a row selection box where rows 0 up to but not including 3 are selected:
startup_select = (0, 3, "rows"),

To create a column selection box where columns 0 up to but not including 3 are selected:
startup_select = (0, 3, "columns"),


- Make `"begin_edit_cell"` and `"end_edit_cell"` the only two edit cell bindings for use with `extra_bindings()` function (although `"edit_cell"` still works and is the equivalent of `"end_edit_cell"`)
- Make it so if `"begin_edit_cell"` binding returns anything other than `None` the text in the cell edit window will be that return value otherwise it will be the relevant keypress
- Prevent auto resize from firing two redraw commands in one go
- Fixed issue where clicking outside of cell edit window and Sheet would return focus to the Sheet widget anyway
- Fixed issues where row/column select highlight would be lower in canvas than cell selections
- Hopefully simplified cell edit code a bit
- Fix undo delete columns error for python versions < 3.8


- Adjustment to dark theme colors
- Clean up repetitions of code which had virtually no performance gain anyway


- Rename themes to "light blue", "light green", "dark blue", "dark green"
- Clean up theme and color settings code


- Add green theme
- Change font to calibri


- Minor fixes when using in-built ctrl functions


- Fix button-1-motion scrolling issues
- Many minor improvements


- Some minor improvements
- Fix minor display issue where sheet is empty and user clicks and drags upwards


- Added multiple new functions
- Many minor improvements
- Decreased size of area that resize cursors will show
- Much improved dark theme
- Resizing cells will now resize dropdown boxes, still have to add support for moving rows/columns


- Begin process of adding code to maintain multiple persistent dropdown boxes
- Add function `delete_dropdown()` (use argument `"all"` for all dropdown boxes)
- Add function `get_dropdowns()` to return locations and info for all boxes


- Fix `create_dropdown()` issues


- Fix github release


- Add startup and `set_options()` arguments:

empty_horizontal empty space on the x axis in pixels
empty_vertical empty space on the y axis in pixels
show_horizontal_grid grid lines for main table
show_vertical_grid grid lines for main table

- Fix scrollbar issues if hiding index or header
- Change `C` in startup arguments to `parent` for clarity
- Add Listbox using `Sheet()` recipe to tests


- Clean up menus
- Improve Dark theme


- Fix bug with column drag and drop and row index drag and drop


- Attempt made to remove cell editor window internal border, showing up on some platforms


- Moved internal `begin_cell_edit` code slightly
- Make Alt-Return on text editor only increase text window height if too small
- Add function `set_text_editor_value()`


- Fix download url in ``


- Add `"begin_edit_cell"` to function `extra_bindings()`


- Fix mouse motion binding in top left code not returning event object
- Add some extra demonstration code to ``


- Fix typo in row index code leading to text not slicing properly with center alignment


- Improve text redraw slicing and positioning when cell size too small, especially for center alignments, very slight performance cost
- If a number of lines has been set by using a string e.g. "1" for default row or header heights then the heights will be updated when changing fonts


- Fix resize not taking into account header if header is set to a row in the sheet
- Fix bugs with `display_subset_of_columns()`, argument `set_col_positions` does nothing until reworked or removed


- Improve center alignment and auto resize widths issues


- Make `grid_propagate()` only occur internally if both `height` and `width` arguments are used, instead of just one
- Fix bug in `get_sheet_data()`
- Fix mismatch with scrollbars in `show` scrollbar options