tksheet 7.2.6__py3-none-any.whl → 7.2.7__py3-none-any.whl

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.
tksheet/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
  tksheet - A Python tkinter table widget
5
5
  """
6
6
 
7
- __version__ = "7.2.6"
7
+ __version__ = "7.2.7"
8
8
 
9
9
  from .colors import (
10
10
  color_map,
tksheet/main_table.py CHANGED
@@ -1000,25 +1000,21 @@ class MainTable(tk.Canvas):
1000
1000
  else:
1001
1001
  disp_new_idxs = {}
1002
1002
  # at_least_cols should not be len in this case as move_to can be len
1003
+ fix_len = (move_to - 1) if move_to else move_to
1003
1004
  if not self.all_columns_displayed and not data_indexes:
1004
- totalcols = self.equalize_data_row_lengths(at_least_cols=self.datacn(move_to))
1005
- else:
1006
- totalcols = self.equalize_data_row_lengths(at_least_cols=move_to)
1005
+ fix_len = self.datacn(fix_len)
1006
+ totalcols = self.equalize_data_row_lengths(at_least_cols=fix_len)
1007
1007
  data_new_idxs = get_new_indexes(move_to=move_to, to_move=to_move)
1008
1008
  if not self.all_columns_displayed and not data_indexes:
1009
- moved = {self.displayed_columns[i] for i in to_move}
1010
1009
  data_new_idxs = dict(
1011
- filter(
1012
- lambda tup: tup[0] in moved,
1013
- zip(
1014
- move_elements_by_mapping(
1015
- self.displayed_columns,
1016
- data_new_idxs,
1017
- dict(zip(data_new_idxs.values(), data_new_idxs)),
1018
- ),
1010
+ zip(
1011
+ move_elements_by_mapping(
1019
1012
  self.displayed_columns,
1013
+ data_new_idxs,
1014
+ dict(zip(data_new_idxs.values(), data_new_idxs)),
1020
1015
  ),
1021
- )
1016
+ self.displayed_columns,
1017
+ ),
1022
1018
  )
1023
1019
  return data_new_idxs, dict(zip(data_new_idxs.values(), data_new_idxs)), totalcols, disp_new_idxs
1024
1020
 
@@ -1108,6 +1104,7 @@ class MainTable(tk.Canvas):
1108
1104
  tags: {full_new_idxs[k] for k in tagged} for tags, tagged in self.tagged_columns.items()
1109
1105
  }
1110
1106
  self.CH.cell_options = {full_new_idxs[k]: v for k, v in self.CH.cell_options.items()}
1107
+ self.displayed_columns = sorted(full_new_idxs[k] for k in self.displayed_columns)
1111
1108
  if self.named_spans:
1112
1109
  totalrows = self.total_data_rows()
1113
1110
  new_ops = self.PAR.create_options_from_span
@@ -1206,8 +1203,6 @@ class MainTable(tk.Canvas):
1206
1203
  del self.cell_options[(r, full_new_idxs[k])][span["type_"]]
1207
1204
  # finally, change the span coords
1208
1205
  span["from_c"], span["upto_c"] = newfrom, newupto
1209
- if data_indexes:
1210
- self.displayed_columns = sorted(full_new_idxs[k] for k in self.displayed_columns)
1211
1206
  return data_new_idxs, disp_new_idxs, event_data
1212
1207
 
1213
1208
  def get_max_column_idx(self, maxidx: int | None = None) -> int:
@@ -1222,6 +1217,7 @@ class MainTable(tk.Canvas):
1222
1217
  max(map(max, self.tagged_columns.values()), default=maxidx),
1223
1218
  max((d.from_c for d in self.named_spans.values() if isinstance(d.from_c, int)), default=maxidx),
1224
1219
  max((d.upto_c for d in self.named_spans.values() if isinstance(d.upto_c, int)), default=maxidx),
1220
+ self.displayed_columns[-1] if self.displayed_columns else maxidx,
1225
1221
  )
1226
1222
 
1227
1223
  def get_args_for_move_rows(
@@ -1235,27 +1231,22 @@ class MainTable(tk.Canvas):
1235
1231
  else:
1236
1232
  disp_new_idxs = {}
1237
1233
  # move_to can be len and fix_data_len() takes index so - 1
1234
+ fix_len = (move_to - 1) if move_to else move_to
1238
1235
  if not self.all_rows_displayed and not data_indexes:
1239
- fix_len = self.datarn(move_to) - 1
1240
- else:
1241
- fix_len = move_to - 1
1236
+ fix_len = self.datarn(fix_len)
1242
1237
  self.fix_data_len(fix_len)
1243
1238
  totalrows = max(self.total_data_rows(), len(self.row_positions) - 1)
1244
1239
  data_new_idxs = get_new_indexes(move_to=move_to, to_move=to_move)
1245
1240
  if not self.all_rows_displayed and not data_indexes:
1246
- moved = {self.displayed_rows[i] for i in to_move}
1247
1241
  data_new_idxs = dict(
1248
- filter(
1249
- lambda tup: tup[0] in moved,
1250
- zip(
1251
- move_elements_by_mapping(
1252
- self.displayed_rows,
1253
- data_new_idxs,
1254
- dict(zip(data_new_idxs.values(), data_new_idxs)),
1255
- ),
1242
+ zip(
1243
+ move_elements_by_mapping(
1256
1244
  self.displayed_rows,
1245
+ data_new_idxs,
1246
+ dict(zip(data_new_idxs.values(), data_new_idxs)),
1257
1247
  ),
1258
- )
1248
+ self.displayed_rows,
1249
+ ),
1259
1250
  )
1260
1251
  return data_new_idxs, dict(zip(data_new_idxs.values(), data_new_idxs)), totalrows, disp_new_idxs
1261
1252
 
@@ -1343,6 +1334,7 @@ class MainTable(tk.Canvas):
1343
1334
  self.row_options = {full_new_idxs[k]: v for k, v in self.row_options.items()}
1344
1335
  self.RI.cell_options = {full_new_idxs[k]: v for k, v in self.RI.cell_options.items()}
1345
1336
  self.RI.tree_rns = {v: full_new_idxs[k] for v, k in self.RI.tree_rns.items()}
1337
+ self.displayed_rows = sorted(full_new_idxs[k] for k in self.displayed_rows)
1346
1338
  if self.named_spans:
1347
1339
  totalcols = self.total_data_cols()
1348
1340
  new_ops = self.PAR.create_options_from_span
@@ -1441,8 +1433,6 @@ class MainTable(tk.Canvas):
1441
1433
  del self.cell_options[(full_new_idxs[k], c)][span["type_"]]
1442
1434
  # finally, change the span coords
1443
1435
  span["from_r"], span["upto_r"] = newfrom, newupto
1444
- if data_indexes:
1445
- self.displayed_rows = sorted(full_new_idxs[k] for k in self.displayed_rows)
1446
1436
  return data_new_idxs, disp_new_idxs, event_data
1447
1437
 
1448
1438
  def get_max_row_idx(self, maxidx: int | None = None) -> int:
@@ -1457,6 +1447,7 @@ class MainTable(tk.Canvas):
1457
1447
  max(map(max, self.tagged_rows.values()), default=maxidx),
1458
1448
  max((d.from_r for d in self.named_spans.values() if isinstance(d.from_r, int)), default=maxidx),
1459
1449
  max((d.upto_r for d in self.named_spans.values() if isinstance(d.upto_r, int)), default=maxidx),
1450
+ self.displayed_rows[-1] if self.displayed_rows else maxidx,
1460
1451
  )
1461
1452
 
1462
1453
  def get_full_new_idxs(
@@ -3697,7 +3688,11 @@ class MainTable(tk.Canvas):
3697
3688
  else:
3698
3689
  return False
3699
3690
 
3700
- def set_all_cell_sizes_to_text(self, width: int | None = None, slim: bool = False) -> tuple[list[float], list[float]]:
3691
+ def set_all_cell_sizes_to_text(
3692
+ self,
3693
+ width: int | None = None,
3694
+ slim: bool = False,
3695
+ ) -> tuple[list[float], list[float]]:
3701
3696
  min_column_width = int(self.min_column_width)
3702
3697
  min_rh = int(self.min_row_height)
3703
3698
  h = min_rh
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tksheet
3
- Version: 7.2.6
3
+ Version: 7.2.7
4
4
  Summary: Tkinter table / sheet widget
5
5
  Author-email: ragardner <github@ragardner.simplelogin.com>
6
6
  License: Copyright (c) 2019 ragardner and open source contributors
@@ -1,9 +1,9 @@
1
- tksheet/__init__.py,sha256=MyZeK3V7P7e3h5lPng0iDT2Y99wNpgBKlVk2bY8FsF8,2144
1
+ tksheet/__init__.py,sha256=x_4i9xHuhs0udU1k7z8-4bY0maNfh98XfaGxCktPPKY,2144
2
2
  tksheet/colors.py,sha256=1k06VorynLmnC4FdJg8H4reIA6rXaeXBpdMwXLhN8oc,51594
3
3
  tksheet/column_headers.py,sha256=OTK9av3WkPF3ToXAALsa12TqltEFw_-c3kBUv_MTcok,102189
4
4
  tksheet/formatters.py,sha256=DXif00aq9DgFpXwkbiqD86KxtDg0Meop51hLY-KcGNQ,10037
5
5
  tksheet/functions.py,sha256=Ie53z5GWbGoUXUiTf0DtoyOadWFbMFXMFwUjM67vetI,40706
6
- tksheet/main_table.py,sha256=jfnetKAxNaH77_B1vbUX0O3yBNBaZt2he--IIi9lNws,327795
6
+ tksheet/main_table.py,sha256=12LMFBbZr_eWJih45tG_RQ2LCZCEPnkWsil4RG0tCJc,327526
7
7
  tksheet/other_classes.py,sha256=CDN38ZjKxZro9YOS_g0DjMC82-Mi9udedny4wdd90W0,14347
8
8
  tksheet/row_index.py,sha256=Owsa7YKVZc9TY7W5nfs-M0I1RdFvuoyXhpuyCi5kleo,108606
9
9
  tksheet/sheet.py,sha256=xMctRdAC9npUPPEMXFfH4qCE_vyrUV7BJFrCumaOmU0,272368
@@ -13,8 +13,8 @@ tksheet/themes.py,sha256=N9nAj6vcWk4UdcrAakvz2LPbJEJWXdv3j7Om6AnvX5k,14474
13
13
  tksheet/top_left_rectangle.py,sha256=o-M6i5NjaJwo60tV-BDP9SbaT1CzQNoPjuoC7p-nb5Q,8436
14
14
  tksheet/types.py,sha256=IgoEHMbceKpakcZtanxKaKJ4RdCq7UW6EoEIIz5O59k,340
15
15
  tksheet/vars.py,sha256=86ubZZElsnQuC6Lv6bW2lt2NhD9wAp6PxtkK7ufKqq0,3452
16
- tksheet-7.2.6.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
17
- tksheet-7.2.6.dist-info/METADATA,sha256=6V_98XBvk9-2ibBCLzZxrih4Jx_CNZGEpy2Wg4MGG2g,6284
18
- tksheet-7.2.6.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
19
- tksheet-7.2.6.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
20
- tksheet-7.2.6.dist-info/RECORD,,
16
+ tksheet-7.2.7.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
17
+ tksheet-7.2.7.dist-info/METADATA,sha256=S4tF46fSc18hhRz-8v2P9vJD8M3JtXlRTJRpuH7vQpY,6284
18
+ tksheet-7.2.7.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
19
+ tksheet-7.2.7.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
20
+ tksheet-7.2.7.dist-info/RECORD,,