tksheet 7.4.14__tar.gz → 7.4.16__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. {tksheet-7.4.14/tksheet.egg-info → tksheet-7.4.16}/PKG-INFO +3 -2
  2. {tksheet-7.4.14 → tksheet-7.4.16}/pyproject.toml +1 -1
  3. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/__init__.py +1 -1
  4. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/main_table.py +20 -30
  5. {tksheet-7.4.14 → tksheet-7.4.16/tksheet.egg-info}/PKG-INFO +3 -2
  6. {tksheet-7.4.14 → tksheet-7.4.16}/LICENSE.txt +0 -0
  7. {tksheet-7.4.14 → tksheet-7.4.16}/README.md +0 -0
  8. {tksheet-7.4.14 → tksheet-7.4.16}/setup.cfg +0 -0
  9. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/colors.py +0 -0
  10. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/column_headers.py +0 -0
  11. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/constants.py +0 -0
  12. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/find_window.py +0 -0
  13. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/formatters.py +0 -0
  14. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/functions.py +0 -0
  15. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/other_classes.py +0 -0
  16. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/row_index.py +0 -0
  17. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/sheet.py +0 -0
  18. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/sheet_options.py +0 -0
  19. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/sorting.py +0 -0
  20. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/text_editor.py +0 -0
  21. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/themes.py +0 -0
  22. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/tksheet_types.py +0 -0
  23. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet/top_left_rectangle.py +0 -0
  24. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet.egg-info/SOURCES.txt +0 -0
  25. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet.egg-info/dependency_links.txt +0 -0
  26. {tksheet-7.4.14 → tksheet-7.4.16}/tksheet.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: tksheet
3
- Version: 7.4.14
3
+ Version: 7.4.16
4
4
  Summary: Tkinter table / sheet and treeview widget
5
5
  Author-email: ragardner <github@ragardner.simplelogin.com>
6
6
  License: Copyright (c) 2019 ragardner and open source contributors
@@ -42,6 +42,7 @@ Classifier: Programming Language :: Python :: 3.13
42
42
  Requires-Python: >=3.8
43
43
  Description-Content-Type: text/markdown
44
44
  License-File: LICENSE.txt
45
+ Dynamic: license-file
45
46
 
46
47
  <p align="center" width="100%">
47
48
  <img width="45%" src="https://github.com/user-attachments/assets/4afc1783-6461-4b98-93cb-b2a2a7f35169" alt="tksheet table">
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
  name = "tksheet"
7
7
  description = "Tkinter table / sheet and treeview widget"
8
8
  readme = "README.md"
9
- version = "7.4.14"
9
+ version = "7.4.16"
10
10
  authors = [{ name = "ragardner", email = "github@ragardner.simplelogin.com" }]
11
11
  requires-python = ">=3.8"
12
12
  license = {file = "LICENSE.txt"}
@@ -4,7 +4,7 @@
4
4
  tksheet - A Python tkinter table widget
5
5
  """
6
6
 
7
- __version__ = "7.4.14"
7
+ __version__ = "7.4.16"
8
8
 
9
9
  from .colors import (
10
10
  color_map,
@@ -1212,16 +1212,16 @@ class MainTable(tk.Canvas):
1212
1212
  lastbox_numrows = lastbox_r2 - lastbox_r1
1213
1213
  lastbox_numcols = lastbox_c2 - lastbox_c1
1214
1214
  if lastbox_numrows > new_data_numrows and not lastbox_numrows % new_data_numrows:
1215
- nd = []
1216
- for _ in range(int(lastbox_numrows / new_data_numrows)):
1217
- nd.extend(r.copy() for r in data)
1218
- data.extend(nd)
1219
- new_data_numrows *= int(lastbox_numrows / new_data_numrows)
1215
+ repeat_num = int(lastbox_numrows / new_data_numrows)
1216
+ data.extend(chain.from_iterable([r.copy() for r in data] for _ in range(repeat_num - 1)))
1217
+ new_data_numrows *= repeat_num
1218
+
1220
1219
  if lastbox_numcols > new_data_numcols and not lastbox_numcols % new_data_numcols:
1221
- for rn, r in enumerate(data):
1222
- for _ in range(int(lastbox_numcols / new_data_numcols)):
1223
- data[rn].extend(r.copy())
1224
- new_data_numcols *= int(lastbox_numcols / new_data_numcols)
1220
+ repeat_num = int(lastbox_numcols / new_data_numcols)
1221
+ for rn, row in enumerate(data):
1222
+ copies = [row.copy() for _ in range(repeat_num - 1)]
1223
+ data[rn].extend(chain.from_iterable(copies))
1224
+ new_data_numcols *= repeat_num
1225
1225
  added_rows = 0
1226
1226
  added_cols = 0
1227
1227
  total_data_cols = None
@@ -5072,15 +5072,12 @@ class MainTable(tk.Canvas):
5072
5072
  self.displayed_columns = add_to_displayed(self.displayed_columns, columns)
5073
5073
  cws = self.get_column_widths()
5074
5074
  if column_widths and next(iter(column_widths)) > len(cws):
5075
- for i in range(len(cws), next(iter(column_widths))):
5076
- column_widths[i] = self.PAR.ops.default_column_width
5075
+ default_width = self.PAR.ops.default_column_width
5076
+ to_add = dict.fromkeys(range(len(cws), next(iter(column_widths))), default_width)
5077
+ to_add.update(column_widths)
5078
+ column_widths = to_add
5077
5079
  if not from_undo:
5078
- self.set_col_positions(
5079
- itr=insert_items(
5080
- cws,
5081
- column_widths,
5082
- )
5083
- )
5080
+ self.set_col_positions(insert_items(cws, column_widths))
5084
5081
  # rn needed for indexing but cn insert
5085
5082
  maxrn = 0
5086
5083
  for cn, rowdict in columns.items():
@@ -5102,10 +5099,7 @@ class MainTable(tk.Canvas):
5102
5099
  }
5103
5100
  if not from_undo:
5104
5101
  self.set_row_positions(
5105
- itr=chain(
5106
- self.gen_row_heights(),
5107
- repeat(default_height, maxrn + 1 - (len(self.row_positions) - 1)),
5108
- )
5102
+ chain(self.gen_row_heights(), repeat(default_height, maxrn + 1 - (len(self.row_positions) - 1)))
5109
5103
  )
5110
5104
  if isinstance(self._headers, list) and header:
5111
5105
  self._headers = insert_items(self._headers, header, self.CH.fix_header)
@@ -5249,16 +5243,12 @@ class MainTable(tk.Canvas):
5249
5243
  row_heights = event_data["added"]["rows"]["row_heights"]
5250
5244
  rhs = self.get_row_heights()
5251
5245
  if row_heights and next(iter(row_heights)) > len(rhs):
5252
- default_row_height = self.get_default_row_height()
5253
- for i in range(len(rhs), next(row_heights)):
5254
- row_heights[i] = default_row_height
5246
+ default_height = self.get_default_row_height()
5247
+ to_add = dict.fromkeys(range(len(rhs), next(iter(row_heights))), default_height)
5248
+ to_add.update(row_heights)
5249
+ row_heights = to_add
5255
5250
  if not from_undo:
5256
- self.set_row_positions(
5257
- itr=insert_items(
5258
- rhs,
5259
- row_heights,
5260
- )
5261
- )
5251
+ self.set_row_positions(insert_items(rhs, row_heights))
5262
5252
  if create_selections:
5263
5253
  self.deselect("all", redraw=False)
5264
5254
  for boxst, boxend in consecutive_ranges(tuple(row_heights)):
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: tksheet
3
- Version: 7.4.14
3
+ Version: 7.4.16
4
4
  Summary: Tkinter table / sheet and treeview widget
5
5
  Author-email: ragardner <github@ragardner.simplelogin.com>
6
6
  License: Copyright (c) 2019 ragardner and open source contributors
@@ -42,6 +42,7 @@ Classifier: Programming Language :: Python :: 3.13
42
42
  Requires-Python: >=3.8
43
43
  Description-Content-Type: text/markdown
44
44
  License-File: LICENSE.txt
45
+ Dynamic: license-file
45
46
 
46
47
  <p align="center" width="100%">
47
48
  <img width="45%" src="https://github.com/user-attachments/assets/4afc1783-6461-4b98-93cb-b2a2a7f35169" alt="tksheet table">
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes