tksheet 7.5.7__py3-none-any.whl → 7.5.8__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.5.7"
7
+ __version__ = "7.5.8"
8
8
 
9
9
  from .colors import (
10
10
  color_map,
tksheet/main_table.py CHANGED
@@ -5389,21 +5389,23 @@ class MainTable(tk.Canvas):
5389
5389
  else:
5390
5390
  if data_indexes:
5391
5391
  data_rows = rows
5392
- disp_rows = data_to_displayed_idxs(data_rows, self.displayed_rows)
5392
+ # dont create disp_rows twice when using treeview mode
5393
+ disp_rows = [] if self.PAR.ops.treeview else data_to_displayed_idxs(data_rows, self.displayed_rows)
5393
5394
  else:
5394
5395
  data_rows = [self.displayed_rows[r] for r in rows]
5395
5396
  disp_rows = rows
5396
5397
  if self.PAR.ops.treeview:
5397
- data_rows = sorted(
5398
- chain(
5399
- data_rows,
5400
- (
5401
- self.RI.rns[did]
5402
- for r in data_rows
5403
- for did in self.RI.get_iid_descendants(self._row_index[r].iid)
5404
- ),
5405
- )
5406
- )
5398
+ # remove any included descendants &
5399
+ # add all item descendants back in for safety,
5400
+ # update disp rows to del afterwards
5401
+ iids = {self._row_index[r].iid for r in data_rows}
5402
+ all_iids = set()
5403
+ for iid in iids:
5404
+ if not any(ancestor in iids for ancestor in self.RI.get_iid_ancestors(iid)):
5405
+ all_iids.add(iid)
5406
+ all_iids.update(self.RI.get_iid_descendants(iid))
5407
+ data_rows = sorted(map(self.RI.rns.__getitem__, all_iids))
5408
+ disp_rows = data_to_displayed_idxs(data_rows, self.displayed_rows)
5407
5409
  event_data = self.delete_rows_displayed(
5408
5410
  disp_rows,
5409
5411
  event_data,
@@ -6825,7 +6827,7 @@ class MainTable(tk.Canvas):
6825
6827
  y2,
6826
6828
  fill=outline if self.PAR.ops.show_selected_cells_border else "",
6827
6829
  state="normal",
6828
- tags="selected",
6830
+ tags=("selected", "lift"),
6829
6831
  width=2,
6830
6832
  )
6831
6833
  self.selected = Selected(
tksheet/row_index.py CHANGED
@@ -2849,14 +2849,14 @@ class RowIndex(tk.Canvas):
2849
2849
  # determine insert row
2850
2850
  insert_row = self.PAR._get_id_insert_row(move_to_index, new_parent)
2851
2851
  else:
2852
+ # remove any descendants
2852
2853
  iids = {self.MT._row_index[r].iid for r in event_data["moved"]["rows"]["data"]}
2853
- iids_descendants = {iid: set(self.get_iid_descendants(iid)) for iid in iids}
2854
-
2855
- # remove descendants in iids to move
2856
- iids -= set.union(*iids_descendants.values()) & iids
2857
- moved_rows = sorted(map(self.rns.__getitem__, iids))
2854
+ moved_rows = sorted(
2855
+ self.rns[iid]
2856
+ for iid in iids
2857
+ if not any(ancestor in iids for ancestor in self.get_iid_ancestors(iid))
2858
+ )
2858
2859
  item = self.MT._row_index[moved_rows[0]].iid
2859
-
2860
2860
  if isinstance(event_data.value, int):
2861
2861
  if event_data.value >= len(self.MT.displayed_rows):
2862
2862
  insert_row = len(self.MT._row_index)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tksheet
3
- Version: 7.5.7
3
+ Version: 7.5.8
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
@@ -1,14 +1,14 @@
1
- tksheet/__init__.py,sha256=vNYNahxYlUHr2qV4kIpNVoZMDpCTWetLSBK0t4le_5o,2532
1
+ tksheet/__init__.py,sha256=guUQx6M_vpYrJvYXpJHxr9eq8br5iOMXF1ZqYPEG73M,2532
2
2
  tksheet/colors.py,sha256=dHhmdFuQDlwohDHsAfT9VdrKoSl_R33L72a3HCin5zo,51591
3
3
  tksheet/column_headers.py,sha256=5hwloDxaBO2wf_3qJbDDJWX8I8rKx-WPwv0UPWQ9xnk,110618
4
4
  tksheet/constants.py,sha256=4cpU_PmOgN0isBVPWwCwBwqD8Fxnu4HJgDSSjfxjiPo,25467
5
5
  tksheet/find_window.py,sha256=aV2U-IDFL6xNRhF4VomdrXEML4qw6QBqlfrVskuiTNY,20954
6
6
  tksheet/formatters.py,sha256=r2vjgmKs_xWBYlfqVhPPNKQc67zCawOIl4dp4XAEzYg,10182
7
7
  tksheet/functions.py,sha256=8S5u8GXl-uHxsRfGqG5Vt5ec7nOql7QczvTWSNuoRPg,56109
8
- tksheet/main_table.py,sha256=5pdbQo245ahAXuJpsSNQEkPJHjJ7ETX1yNXdXrL-b7Q,367497
8
+ tksheet/main_table.py,sha256=RuITcYD9kmn8JVYBW8WH6TQzOs03DV57EZbPHTw18iA,367907
9
9
  tksheet/menus.py,sha256=sRHZRgnYWddBtlzvbyWFSN2cVhlmUWyA9zf4vpqun7I,19431
10
10
  tksheet/other_classes.py,sha256=6LpexHAxj23ZweuL3a4yCcdMSj_iXP38S7WRNQAehe0,18354
11
- tksheet/row_index.py,sha256=-B-Fqz-HueJSsygKFFtcwrLUMe-O9MSeemaiCtVvfCo,146992
11
+ tksheet/row_index.py,sha256=UgySVE0i3MvAoVz7HVcYZnu_1DpAHby4_pTAkrAKthI,146973
12
12
  tksheet/sheet.py,sha256=i3h1FBko5dAdlWcv57WoP8e2NorRXk2eC_kACYaLK1Q,271847
13
13
  tksheet/sheet_options.py,sha256=dhHY4jUULGXH2b_VOjoAfKXm3PAz7QL5CrVnHA0byho,14697
14
14
  tksheet/sorting.py,sha256=zcZPpRtP1h_xJGtGkG3E43H7deKQFnh9cMwZ1B2-aGc,17502
@@ -17,8 +17,8 @@ tksheet/themes.py,sha256=kUUCUmvgu8vUlzfVNk9a3BEbeBcU3asNwPB_u-OejCY,18471
17
17
  tksheet/tksheet_types.py,sha256=qthH565jq60QCAeczvIWttIa4X5rFfLWPSwWBMDPilw,4611
18
18
  tksheet/tooltip.py,sha256=TTWk3HW5Sltamish9GCnAECwZLa9Rm6QC8-RCDDtQnE,12374
19
19
  tksheet/top_left_rectangle.py,sha256=A4wWL8PFl57Pn2Ek71rASCE1-bW844cTl7bgt4tLWzI,8499
20
- tksheet-7.5.7.dist-info/licenses/LICENSE.txt,sha256=n1UvJHBr-AYNOf6ExICDsEggh9R7U4V4m_gH7FD-y-o,2305
21
- tksheet-7.5.7.dist-info/METADATA,sha256=2n-VXhCSwYtl-7EZHyVGXXKyc4Jyh6R-tdlemz3QiuY,9474
22
- tksheet-7.5.7.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
23
- tksheet-7.5.7.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
24
- tksheet-7.5.7.dist-info/RECORD,,
20
+ tksheet-7.5.8.dist-info/licenses/LICENSE.txt,sha256=n1UvJHBr-AYNOf6ExICDsEggh9R7U4V4m_gH7FD-y-o,2305
21
+ tksheet-7.5.8.dist-info/METADATA,sha256=zLKKkpmO0H9rS0wtQIokuLh9WOscff7AxfFFVFkfV6Q,9474
22
+ tksheet-7.5.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
23
+ tksheet-7.5.8.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
24
+ tksheet-7.5.8.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5