tksheet 7.1.22__py3-none-any.whl → 7.1.23__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 +1 -1
- tksheet/main_table.py +14 -13
- tksheet/row_index.py +16 -17
- tksheet/sheet.py +48 -18
- {tksheet-7.1.22.dist-info → tksheet-7.1.23.dist-info}/METADATA +1 -1
- {tksheet-7.1.22.dist-info → tksheet-7.1.23.dist-info}/RECORD +9 -9
- {tksheet-7.1.22.dist-info → tksheet-7.1.23.dist-info}/LICENSE.txt +0 -0
- {tksheet-7.1.22.dist-info → tksheet-7.1.23.dist-info}/WHEEL +0 -0
- {tksheet-7.1.22.dist-info → tksheet-7.1.23.dist-info}/top_level.txt +0 -0
tksheet/__init__.py
CHANGED
tksheet/main_table.py
CHANGED
@@ -5281,7 +5281,7 @@ class MainTable(tk.Canvas):
|
|
5281
5281
|
for i, w in enumerate(widths):
|
5282
5282
|
if i not in diffs:
|
5283
5283
|
widths[i] -= change
|
5284
|
-
self.
|
5284
|
+
self.col_positions = list(accumulate(chain([0], widths)))
|
5285
5285
|
if self.PAR.ops.auto_resize_rows and self.allow_auto_resize_rows and row_pos_exists:
|
5286
5286
|
max_h = can_height - self.PAR.ops.empty_vertical
|
5287
5287
|
if self.PAR.ops.auto_resize_rows < self.min_row_height:
|
@@ -5306,17 +5306,18 @@ class MainTable(tk.Canvas):
|
|
5306
5306
|
if i not in diffs:
|
5307
5307
|
heights[i] -= change
|
5308
5308
|
self.row_positions = list(accumulate(chain([0], heights)))
|
5309
|
-
if
|
5310
|
-
self.PAR.
|
5311
|
-
|
5312
|
-
|
5313
|
-
|
5314
|
-
|
5315
|
-
|
5316
|
-
|
5317
|
-
|
5318
|
-
|
5319
|
-
|
5309
|
+
if self.PAR.ops.auto_resize_row_index is not True:
|
5310
|
+
if can_width >= self.col_positions[-1] + self.PAR.ops.empty_horizontal and self.PAR.xscroll_showing:
|
5311
|
+
self.PAR.xscroll.grid_forget()
|
5312
|
+
self.PAR.xscroll_showing = False
|
5313
|
+
elif (
|
5314
|
+
can_width < self.col_positions[-1] + self.PAR.ops.empty_horizontal
|
5315
|
+
and not self.PAR.xscroll_showing
|
5316
|
+
and not self.PAR.xscroll_disabled
|
5317
|
+
and can_height > 40
|
5318
|
+
):
|
5319
|
+
self.PAR.xscroll.grid(row=2, column=0, columnspan=2, sticky="nswe")
|
5320
|
+
self.PAR.xscroll_showing = True
|
5320
5321
|
if can_height >= self.row_positions[-1] + self.PAR.ops.empty_vertical and self.PAR.yscroll_showing:
|
5321
5322
|
self.PAR.yscroll.grid_forget()
|
5322
5323
|
self.PAR.yscroll_showing = False
|
@@ -5354,7 +5355,7 @@ class MainTable(tk.Canvas):
|
|
5354
5355
|
start_col = bisect_left(self.col_positions, scrollpos_left)
|
5355
5356
|
end_col = bisect_right(self.col_positions, scrollpos_right)
|
5356
5357
|
changed_w = False
|
5357
|
-
if redraw_row_index and self.show_index:
|
5358
|
+
if self.PAR.ops.auto_resize_row_index and redraw_row_index and self.show_index:
|
5358
5359
|
changed_w = self.RI.auto_set_index_width(
|
5359
5360
|
end_row=end_row - 1,
|
5360
5361
|
only_rows=[self.datarn(r) for r in range(start_row if not start_row else start_row - 1, end_row - 1)],
|
tksheet/row_index.py
CHANGED
@@ -1192,23 +1192,22 @@ class RowIndex(tk.Canvas):
|
|
1192
1192
|
self.MT.recreate_all_selection_boxes()
|
1193
1193
|
|
1194
1194
|
def auto_set_index_width(self, end_row: int, only_rows: list) -> bool:
|
1195
|
-
if self.
|
1196
|
-
if
|
1197
|
-
|
1198
|
-
|
1199
|
-
|
1200
|
-
|
1201
|
-
|
1202
|
-
|
1203
|
-
|
1204
|
-
|
1205
|
-
|
1206
|
-
|
1207
|
-
|
1208
|
-
|
1209
|
-
|
1210
|
-
|
1211
|
-
return True
|
1195
|
+
if not isinstance(self.MT._row_index, int) and not self.MT._row_index:
|
1196
|
+
if self.default_index == "letters":
|
1197
|
+
new_w = self.MT.get_txt_w(f"{num2alpha(end_row)}") + 20
|
1198
|
+
elif self.default_index == "numbers":
|
1199
|
+
new_w = self.MT.get_txt_w(f"{end_row}") + 20
|
1200
|
+
elif self.default_index == "both":
|
1201
|
+
new_w = self.MT.get_txt_w(f"{end_row + 1} {num2alpha(end_row)}") + 20
|
1202
|
+
elif self.PAR.ops.auto_resize_row_index is True:
|
1203
|
+
new_w = self.set_width_of_index_to_text(only_rows=only_rows, set_width=False)
|
1204
|
+
else:
|
1205
|
+
new_w = None
|
1206
|
+
if new_w is not None and (sheet_w_x := floor(self.PAR.winfo_width() * 0.7)) < new_w:
|
1207
|
+
new_w = sheet_w_x
|
1208
|
+
if new_w and (self.current_width - new_w > 15 or new_w - self.current_width > 3):
|
1209
|
+
self.set_width(new_w, set_TL=True)
|
1210
|
+
return True
|
1212
1211
|
return False
|
1213
1212
|
|
1214
1213
|
def redraw_highlight_get_text_fg(self, fr, sr, r, c_2, c_3, selections, datarn):
|
tksheet/sheet.py
CHANGED
@@ -4561,7 +4561,7 @@ class Sheet(tk.Frame):
|
|
4561
4561
|
self.tree_set_open(open_ids=open_ids)
|
4562
4562
|
else:
|
4563
4563
|
self.hide_rows(
|
4564
|
-
|
4564
|
+
{self.RI.tree_rns[iid] for iid in self.get_children() if self.RI.tree[iid].parent},
|
4565
4565
|
deselect_all=False,
|
4566
4566
|
data_indexes=True,
|
4567
4567
|
row_heights=False if row_heights is False else True,
|
@@ -4585,46 +4585,76 @@ class Sheet(tk.Frame):
|
|
4585
4585
|
Closes everything else
|
4586
4586
|
"""
|
4587
4587
|
self.hide_rows(
|
4588
|
-
# set(self.MT.displayed_rows),
|
4589
4588
|
set(rn for rn in self.MT.displayed_rows if self.MT._row_index[rn].parent),
|
4590
4589
|
redraw=False,
|
4591
4590
|
deselect_all=False,
|
4592
4591
|
data_indexes=True,
|
4593
4592
|
)
|
4594
|
-
# self.show_rows(
|
4595
|
-
# (self.RI.tree_rns[iid] for iid in self.get_children("")),
|
4596
|
-
# redraw=False,
|
4597
|
-
# deselect_all=True,
|
4598
|
-
# )
|
4599
4593
|
open_ids = set(filter(self.exists, map(str.lower, open_ids)))
|
4600
4594
|
self.RI.tree_open_ids = set()
|
4601
4595
|
if open_ids:
|
4602
|
-
self.
|
4603
|
-
|
4596
|
+
to_open = self._tree_open(open_ids)
|
4597
|
+
self.show_rows(
|
4598
|
+
rows=to_open,
|
4599
|
+
redraw=False,
|
4600
|
+
deselect_all=False,
|
4601
|
+
)
|
4602
|
+
return self.set_refresh_timer(True)
|
4603
|
+
|
4604
|
+
def _tree_open(self, items: set[str]) -> list[int]:
|
4605
|
+
"""
|
4606
|
+
Only meant for internal use
|
4607
|
+
"""
|
4608
|
+
to_open = []
|
4609
|
+
for item in filter(items.__contains__, self.get_children()):
|
4610
|
+
if self.RI.tree[item].children:
|
4611
|
+
self.RI.tree_open_ids.add(item)
|
4612
|
+
to_open.extend(self.RI.tree_rns[did] for did in self.RI.get_iid_descendants(item, check_open=True))
|
4613
|
+
return to_open
|
4604
4614
|
|
4605
|
-
def tree_open(self, *items) -> Sheet:
|
4615
|
+
def tree_open(self, *items, redraw: bool = True) -> Sheet:
|
4606
4616
|
"""
|
4607
4617
|
If used without args all items are opened
|
4608
4618
|
"""
|
4609
4619
|
if items := set(unpack(items)):
|
4610
|
-
|
4611
|
-
self.item(item, open_=True)
|
4620
|
+
to_open = self._tree_open(items)
|
4612
4621
|
else:
|
4622
|
+
to_open = []
|
4613
4623
|
for item in self.get_children():
|
4614
|
-
self.item
|
4615
|
-
|
4624
|
+
if self.RI.tree[item].children:
|
4625
|
+
self.RI.tree_open_ids.add(item)
|
4626
|
+
to_open.extend(self.RI.tree_rns[did] for did in self.RI.get_iid_descendants(item, check_open=True))
|
4627
|
+
return self.show_rows(
|
4628
|
+
rows=to_open,
|
4629
|
+
redraw=redraw,
|
4630
|
+
deselect_all=False,
|
4631
|
+
)
|
4616
4632
|
|
4617
|
-
def tree_close(self, *items) -> Sheet:
|
4633
|
+
def tree_close(self, *items, redraw: bool = True) -> Sheet:
|
4618
4634
|
"""
|
4619
4635
|
If used without args all items are closed
|
4620
4636
|
"""
|
4637
|
+
to_close = set()
|
4621
4638
|
if items:
|
4622
4639
|
for item in unpack(items):
|
4623
|
-
self.item
|
4640
|
+
if self.RI.tree[item].children:
|
4641
|
+
self.RI.tree_open_ids.discard(item)
|
4642
|
+
if self.RI.tree_rns[item] in self.MT.displayed_rows:
|
4643
|
+
for did in self.RI.get_iid_descendants(item, check_open=True):
|
4644
|
+
to_close.add(self.RI.tree_rns[did])
|
4624
4645
|
else:
|
4625
4646
|
for item in self.get_children():
|
4626
|
-
self.item
|
4627
|
-
|
4647
|
+
if self.RI.tree[item].children:
|
4648
|
+
self.RI.tree_open_ids.discard(item)
|
4649
|
+
if self.RI.tree_rns[item] in self.MT.displayed_rows:
|
4650
|
+
for did in self.RI.get_iid_descendants(item, check_open=True):
|
4651
|
+
to_close.add(self.RI.tree_rns[did])
|
4652
|
+
return self.hide_rows(
|
4653
|
+
rows=to_close,
|
4654
|
+
redraw=redraw,
|
4655
|
+
deselect_all=False,
|
4656
|
+
data_indexes=True,
|
4657
|
+
)
|
4628
4658
|
|
4629
4659
|
def insert(
|
4630
4660
|
self,
|
@@ -1,20 +1,20 @@
|
|
1
|
-
tksheet/__init__.py,sha256
|
1
|
+
tksheet/__init__.py,sha256=-p2HkPQzNlT61u0_M_sJ-7FLOi8TfAc00slnmCD9Itc,2125
|
2
2
|
tksheet/colors.py,sha256=1k06VorynLmnC4FdJg8H4reIA6rXaeXBpdMwXLhN8oc,51594
|
3
3
|
tksheet/column_headers.py,sha256=cWTHyYaA5nNMfT6WyFJB0lyeNQFRVXZPbX9C-lLH4Yg,100770
|
4
4
|
tksheet/formatters.py,sha256=DXif00aq9DgFpXwkbiqD86KxtDg0Meop51hLY-KcGNQ,10037
|
5
5
|
tksheet/functions.py,sha256=rNfDpQRoXZm_Ro-tlF92ox3fi37p71Mio1PGTreM_oc,40835
|
6
|
-
tksheet/main_table.py,sha256=
|
6
|
+
tksheet/main_table.py,sha256=Bvzt8SdLL0gEak3fdYBzMJH184SvmmrB-8UIWaFfc-U,322314
|
7
7
|
tksheet/other_classes.py,sha256=P3FYUYreLhstATvHCNow8sDQoCsD_02KB6oXcca3ahE,13628
|
8
|
-
tksheet/row_index.py,sha256=
|
9
|
-
tksheet/sheet.py,sha256=
|
8
|
+
tksheet/row_index.py,sha256=ZAhdV3QthyJuvEEaGE7AmvOzWcMrtCaX4e5mYIm0il8,106946
|
9
|
+
tksheet/sheet.py,sha256=82EumnVqs7VUdLrp6CY_o6L7t4-CwqOm_yDZT6LGL7I,265879
|
10
10
|
tksheet/sheet_options.py,sha256=rf1xtaZdGnJYSgR_sFsYlGSEj3bYHpSm15CH2aZETUo,12231
|
11
11
|
tksheet/text_editor.py,sha256=DGFgukHZ5gruA_hWN1cuhv88z0nR5316xGynx3OioWQ,6548
|
12
12
|
tksheet/themes.py,sha256=IeOgexzqgEM11i8Ie3awIL7nH9DVm65eW4XCcrRK9HE,14480
|
13
13
|
tksheet/top_left_rectangle.py,sha256=-2u9GfOvcqhkKwHEtbqdFvXCY3RbvL5k2Sh9l3r_k04,8275
|
14
14
|
tksheet/types.py,sha256=IgoEHMbceKpakcZtanxKaKJ4RdCq7UW6EoEIIz5O59k,340
|
15
15
|
tksheet/vars.py,sha256=86ubZZElsnQuC6Lv6bW2lt2NhD9wAp6PxtkK7ufKqq0,3452
|
16
|
-
tksheet-7.1.
|
17
|
-
tksheet-7.1.
|
18
|
-
tksheet-7.1.
|
19
|
-
tksheet-7.1.
|
20
|
-
tksheet-7.1.
|
16
|
+
tksheet-7.1.23.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
|
17
|
+
tksheet-7.1.23.dist-info/METADATA,sha256=Q-0dTLu2rhobiuJ305tNs6Gu0LWXAqhv9Jue3i5Dk5U,6146
|
18
|
+
tksheet-7.1.23.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
19
|
+
tksheet-7.1.23.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
|
20
|
+
tksheet-7.1.23.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|