tksheet 7.1.4__py3-none-any.whl → 7.1.6__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/column_headers.py +91 -73
- tksheet/functions.py +39 -11
- tksheet/main_table.py +240 -163
- tksheet/row_index.py +100 -79
- tksheet/sheet.py +101 -73
- tksheet/text_editor.py +8 -6
- {tksheet-7.1.4.dist-info → tksheet-7.1.6.dist-info}/METADATA +1 -1
- tksheet-7.1.6.dist-info/RECORD +20 -0
- tksheet-7.1.4.dist-info/RECORD +0 -20
- {tksheet-7.1.4.dist-info → tksheet-7.1.6.dist-info}/LICENSE.txt +0 -0
- {tksheet-7.1.4.dist-info → tksheet-7.1.6.dist-info}/WHEEL +0 -0
- {tksheet-7.1.4.dist-info → tksheet-7.1.6.dist-info}/top_level.txt +0 -0
tksheet/sheet.py
CHANGED
@@ -14,6 +14,7 @@ from .column_headers import ColumnHeaders
|
|
14
14
|
from .functions import (
|
15
15
|
add_highlight,
|
16
16
|
add_to_options,
|
17
|
+
convert_align,
|
17
18
|
data_to_displayed_idxs,
|
18
19
|
del_from_options,
|
19
20
|
del_named_span_options,
|
@@ -314,14 +315,14 @@ class Sheet(tk.Frame):
|
|
314
315
|
self.RI = RowIndex(
|
315
316
|
parent=self,
|
316
317
|
row_index_align=(
|
317
|
-
|
318
|
+
convert_align(row_index_align) if row_index_align is not None else convert_align(index_align)
|
318
319
|
),
|
319
320
|
default_row_index=default_row_index,
|
320
321
|
)
|
321
322
|
self.CH = ColumnHeaders(
|
322
323
|
parent=self,
|
323
324
|
default_header=default_header,
|
324
|
-
header_align=
|
325
|
+
header_align=convert_align(header_align),
|
325
326
|
)
|
326
327
|
self.MT = MainTable(
|
327
328
|
parent=self,
|
@@ -341,7 +342,7 @@ class Sheet(tk.Frame):
|
|
341
342
|
row_index=row_index,
|
342
343
|
index=index,
|
343
344
|
zoom=zoom,
|
344
|
-
align=
|
345
|
+
align=convert_align(align),
|
345
346
|
displayed_columns=displayed_columns,
|
346
347
|
all_columns_displayed=all_columns_displayed,
|
347
348
|
displayed_rows=displayed_rows,
|
@@ -1091,6 +1092,14 @@ class Sheet(tk.Frame):
|
|
1091
1092
|
self.TL.focus_set()
|
1092
1093
|
return self
|
1093
1094
|
|
1095
|
+
def zoom_in(self) -> Sheet:
|
1096
|
+
self.MT.zoom_in()
|
1097
|
+
return self
|
1098
|
+
|
1099
|
+
def zoom_out(self) -> Sheet:
|
1100
|
+
self.MT.zoom_out()
|
1101
|
+
return self
|
1102
|
+
|
1094
1103
|
@property
|
1095
1104
|
def event(self) -> EventDataDict:
|
1096
1105
|
return self.last_event_data
|
@@ -2796,21 +2805,6 @@ class Sheet(tk.Frame):
|
|
2796
2805
|
def header_font(self, newfont: tuple[str, int, str] | None = None) -> tuple[str, int, str]:
|
2797
2806
|
return self.MT.set_header_font(newfont)
|
2798
2807
|
|
2799
|
-
def convert_align(self, align: str | None) -> str | None:
|
2800
|
-
if isinstance(align, str):
|
2801
|
-
a = align.lower()
|
2802
|
-
if a == "global":
|
2803
|
-
return None
|
2804
|
-
elif a in ("c", "center", "centre"):
|
2805
|
-
return "center"
|
2806
|
-
elif a in ("w", "west", "left"):
|
2807
|
-
return "w"
|
2808
|
-
elif a in ("e", "east", "right"):
|
2809
|
-
return "e"
|
2810
|
-
elif align is None:
|
2811
|
-
return None
|
2812
|
-
raise ValueError("Align must be one of the following values: c, center, w, west, left, e, east, right")
|
2813
|
-
|
2814
2808
|
def table_align(
|
2815
2809
|
self,
|
2816
2810
|
align: str = None,
|
@@ -2818,8 +2812,8 @@ class Sheet(tk.Frame):
|
|
2818
2812
|
) -> str | Sheet:
|
2819
2813
|
if align is None:
|
2820
2814
|
return self.MT.align
|
2821
|
-
elif
|
2822
|
-
self.MT.align =
|
2815
|
+
elif convert_align(align):
|
2816
|
+
self.MT.align = convert_align(align)
|
2823
2817
|
else:
|
2824
2818
|
raise ValueError("Align must be one of the following values: c, center, w, west, e, east")
|
2825
2819
|
self.set_refresh_timer(redraw)
|
@@ -2832,8 +2826,8 @@ class Sheet(tk.Frame):
|
|
2832
2826
|
) -> str | Sheet:
|
2833
2827
|
if align is None:
|
2834
2828
|
return self.CH.align
|
2835
|
-
elif
|
2836
|
-
self.CH.align =
|
2829
|
+
elif convert_align(align):
|
2830
|
+
self.CH.align = convert_align(align)
|
2837
2831
|
else:
|
2838
2832
|
raise ValueError("Align must be one of the following values: c, center, w, west, e, east")
|
2839
2833
|
self.set_refresh_timer(redraw)
|
@@ -2846,8 +2840,8 @@ class Sheet(tk.Frame):
|
|
2846
2840
|
) -> str | Sheet:
|
2847
2841
|
if align is None:
|
2848
2842
|
return self.RI.align
|
2849
|
-
elif
|
2850
|
-
self.RI.align =
|
2843
|
+
elif convert_align(align):
|
2844
|
+
self.RI.align = convert_align(align)
|
2851
2845
|
else:
|
2852
2846
|
raise ValueError("Align must be one of the following values: c, center, w, west, e, east")
|
2853
2847
|
self.set_refresh_timer(redraw)
|
@@ -2869,7 +2863,7 @@ class Sheet(tk.Frame):
|
|
2869
2863
|
span = self.span_from_key(*key)
|
2870
2864
|
rows, cols = self.ranges_from_span(span)
|
2871
2865
|
table, index, header = span.table, span.index, span.header
|
2872
|
-
align =
|
2866
|
+
align = convert_align(align)
|
2873
2867
|
if span.kind == "cell":
|
2874
2868
|
if header:
|
2875
2869
|
for c in cols:
|
@@ -3169,7 +3163,7 @@ class Sheet(tk.Frame):
|
|
3169
3163
|
c1: int,
|
3170
3164
|
r2: int,
|
3171
3165
|
c2: int,
|
3172
|
-
type_:
|
3166
|
+
type_: Literal["cells", "rows", "columns", "cols"] = "cells",
|
3173
3167
|
) -> int:
|
3174
3168
|
return self.MT.create_selection_box(r1=r1, c1=c1, r2=r2, c2=c2, type_="columns" if type_ == "cols" else type_)
|
3175
3169
|
|
@@ -3179,15 +3173,25 @@ class Sheet(tk.Frame):
|
|
3179
3173
|
|
3180
3174
|
def deselect(
|
3181
3175
|
self,
|
3182
|
-
row: int | None |
|
3176
|
+
row: int | None | Literal["all"] = None,
|
3183
3177
|
column: int | None = None,
|
3184
|
-
cell: tuple | None = None,
|
3178
|
+
cell: tuple[int, int] | None = None,
|
3185
3179
|
redraw: bool = True,
|
3186
3180
|
) -> Sheet:
|
3187
3181
|
self.MT.deselect(r=row, c=column, cell=cell, redraw=False)
|
3188
3182
|
self.set_refresh_timer(redraw)
|
3189
3183
|
return self
|
3190
3184
|
|
3185
|
+
def deselect_any(
|
3186
|
+
self,
|
3187
|
+
rows: Iterator[int] | int | None,
|
3188
|
+
columns: Iterator[int] | int | None,
|
3189
|
+
redraw: bool = True,
|
3190
|
+
) -> Sheet:
|
3191
|
+
self.MT.deselect_any(rows=rows, columns=columns, redraw=False)
|
3192
|
+
self.set_refresh_timer(redraw)
|
3193
|
+
return self
|
3194
|
+
|
3191
3195
|
# Row Heights and Column Widths
|
3192
3196
|
|
3193
3197
|
def default_column_width(self, width: int | None = None) -> int:
|
@@ -3216,8 +3220,12 @@ class Sheet(tk.Frame):
|
|
3216
3220
|
self.set_refresh_timer(redraw)
|
3217
3221
|
return self
|
3218
3222
|
|
3219
|
-
def set_all_cell_sizes_to_text(
|
3220
|
-
self
|
3223
|
+
def set_all_cell_sizes_to_text(
|
3224
|
+
self,
|
3225
|
+
redraw: bool = True,
|
3226
|
+
width: int | None = None,
|
3227
|
+
) -> tuple[list[float], list[float]]:
|
3228
|
+
self.MT.set_all_cell_sizes_to_text(w=width)
|
3221
3229
|
self.set_refresh_timer(redraw)
|
3222
3230
|
return self.MT.row_positions, self.MT.col_positions
|
3223
3231
|
|
@@ -3787,6 +3795,8 @@ class Sheet(tk.Frame):
|
|
3787
3795
|
)
|
3788
3796
|
if deselect_all:
|
3789
3797
|
self.MT.deselect(redraw=False)
|
3798
|
+
else:
|
3799
|
+
self.MT.deselect_any(rows=rows, redraw=False)
|
3790
3800
|
self.set_refresh_timer(redraw)
|
3791
3801
|
return self
|
3792
3802
|
|
@@ -4580,8 +4590,9 @@ class Sheet(tk.Frame):
|
|
4580
4590
|
)
|
4581
4591
|
else:
|
4582
4592
|
self.RI.tree_open_ids.discard(item)
|
4593
|
+
rows = {self.RI.tree_rns[did] for did in self.RI.get_iid_descendants(item, check_open=True)}
|
4583
4594
|
self.hide_rows(
|
4584
|
-
|
4595
|
+
rows,
|
4585
4596
|
redraw=False,
|
4586
4597
|
deselect_all=False,
|
4587
4598
|
data_indexes=True,
|
@@ -5526,13 +5537,13 @@ class Sheet(tk.Frame):
|
|
5526
5537
|
) -> None:
|
5527
5538
|
if isinstance(cells, dict):
|
5528
5539
|
for k, v in cells.items():
|
5529
|
-
set_align(self.MT.cell_options, k,
|
5540
|
+
set_align(self.MT.cell_options, k, convert_align(v))
|
5530
5541
|
elif cells:
|
5531
|
-
align =
|
5542
|
+
align = convert_align(align)
|
5532
5543
|
for k in cells:
|
5533
5544
|
set_align(self.MT.cell_options, k, align)
|
5534
5545
|
else:
|
5535
|
-
set_align(self.MT.cell_options, (row, column),
|
5546
|
+
set_align(self.MT.cell_options, (row, column), convert_align(align))
|
5536
5547
|
self.set_refresh_timer(redraw)
|
5537
5548
|
|
5538
5549
|
def align_rows(
|
@@ -5544,18 +5555,18 @@ class Sheet(tk.Frame):
|
|
5544
5555
|
) -> None:
|
5545
5556
|
if isinstance(rows, dict):
|
5546
5557
|
for k, v in rows.items():
|
5547
|
-
align =
|
5558
|
+
align = convert_align(v)
|
5548
5559
|
set_align(self.MT.row_options, k, align)
|
5549
5560
|
if align_index:
|
5550
5561
|
set_align(self.RI.cell_options, k, align)
|
5551
5562
|
elif is_iterable(rows):
|
5552
|
-
align =
|
5563
|
+
align = convert_align(align)
|
5553
5564
|
for k in rows:
|
5554
5565
|
set_align(self.MT.row_options, k, align)
|
5555
5566
|
if align_index:
|
5556
5567
|
set_align(self.RI.cell_options, k, align)
|
5557
5568
|
elif isinstance(rows, int):
|
5558
|
-
set_align(self.MT.row_options, rows,
|
5569
|
+
set_align(self.MT.row_options, rows, convert_align(align))
|
5559
5570
|
if align_index:
|
5560
5571
|
set_align(self.RI.cell_options, rows, align)
|
5561
5572
|
self.set_refresh_timer(redraw)
|
@@ -5569,18 +5580,18 @@ class Sheet(tk.Frame):
|
|
5569
5580
|
) -> None:
|
5570
5581
|
if isinstance(columns, dict):
|
5571
5582
|
for k, v in columns.items():
|
5572
|
-
align =
|
5583
|
+
align = convert_align(v)
|
5573
5584
|
set_align(self.MT.col_options, k, align)
|
5574
5585
|
if align_header:
|
5575
5586
|
set_align(self.CH.cell_options, k, align)
|
5576
5587
|
elif is_iterable(columns):
|
5577
|
-
align =
|
5588
|
+
align = convert_align(align)
|
5578
5589
|
for k in columns:
|
5579
5590
|
set_align(self.MT.col_options, k, align)
|
5580
5591
|
if align_header:
|
5581
5592
|
set_align(self.CH.cell_options, k, align)
|
5582
5593
|
elif isinstance(columns, int):
|
5583
|
-
set_align(self.MT.col_options, columns,
|
5594
|
+
set_align(self.MT.col_options, columns, convert_align(align))
|
5584
5595
|
if align_header:
|
5585
5596
|
set_align(self.CH.cell_options, columns, align)
|
5586
5597
|
self.set_refresh_timer(redraw)
|
@@ -5593,13 +5604,13 @@ class Sheet(tk.Frame):
|
|
5593
5604
|
) -> None:
|
5594
5605
|
if isinstance(columns, dict):
|
5595
5606
|
for k, v in columns.items():
|
5596
|
-
set_align(self.CH.cell_options, k,
|
5607
|
+
set_align(self.CH.cell_options, k, convert_align(v))
|
5597
5608
|
elif is_iterable(columns):
|
5598
|
-
align =
|
5609
|
+
align = convert_align(align)
|
5599
5610
|
for k in columns:
|
5600
5611
|
set_align(self.CH.cell_options, k, align)
|
5601
5612
|
elif isinstance(columns, int):
|
5602
|
-
set_align(self.CH.cell_options, columns,
|
5613
|
+
set_align(self.CH.cell_options, columns, convert_align(align))
|
5603
5614
|
self.set_refresh_timer(redraw)
|
5604
5615
|
|
5605
5616
|
def align_index(
|
@@ -5610,13 +5621,13 @@ class Sheet(tk.Frame):
|
|
5610
5621
|
) -> None:
|
5611
5622
|
if isinstance(rows, dict):
|
5612
5623
|
for k, v in rows.items():
|
5613
|
-
set_align(self.RI.cell_options, k,
|
5624
|
+
set_align(self.RI.cell_options, k, convert_align(v))
|
5614
5625
|
elif is_iterable(rows):
|
5615
|
-
align =
|
5626
|
+
align = convert_align(align)
|
5616
5627
|
for k in rows:
|
5617
5628
|
set_align(self.RI.cell_options, k, align)
|
5618
5629
|
elif isinstance(rows, int):
|
5619
|
-
set_align(self.RI.cell_options, rows,
|
5630
|
+
set_align(self.RI.cell_options, rows, convert_align(align))
|
5620
5631
|
self.set_refresh_timer(redraw)
|
5621
5632
|
|
5622
5633
|
def get_cell_alignments(self) -> dict:
|
@@ -6381,7 +6392,7 @@ class Dropdown(Sheet):
|
|
6381
6392
|
width: int | None = None,
|
6382
6393
|
height: int | None = None,
|
6383
6394
|
font: None | tuple[str, int, str] = None,
|
6384
|
-
outline_thickness: int =
|
6395
|
+
outline_thickness: int = 1,
|
6385
6396
|
values: list[object] = [],
|
6386
6397
|
close_dropdown_window: Callable | None = None,
|
6387
6398
|
search_function: Callable = dropdown_search_function,
|
@@ -6391,47 +6402,29 @@ class Dropdown(Sheet):
|
|
6391
6402
|
# False for using r, c
|
6392
6403
|
# "r" for r
|
6393
6404
|
# "c" for c
|
6394
|
-
single_index:
|
6405
|
+
single_index: Literal["r", "c"] | bool = False,
|
6395
6406
|
) -> None:
|
6396
6407
|
Sheet.__init__(
|
6397
6408
|
self,
|
6398
6409
|
parent=parent,
|
6399
6410
|
outline_thickness=outline_thickness,
|
6400
|
-
outline_color=outline_color,
|
6401
|
-
table_grid_fg=ops.popup_menu_fg,
|
6402
6411
|
show_horizontal_grid=True,
|
6403
6412
|
show_vertical_grid=False,
|
6404
6413
|
show_header=False,
|
6405
6414
|
show_row_index=False,
|
6406
6415
|
show_top_left=False,
|
6407
|
-
# alignments other than w for dropdown boxes are broken at the moment
|
6408
|
-
align="w",
|
6409
6416
|
empty_horizontal=0,
|
6410
6417
|
empty_vertical=0,
|
6411
6418
|
selected_rows_to_end_of_window=True,
|
6412
6419
|
horizontal_grid_to_end_of_window=True,
|
6413
6420
|
set_cell_sizes_on_zoom=True,
|
6414
6421
|
show_selected_cells_border=False,
|
6415
|
-
table_selected_cells_border_fg=ops.popup_menu_fg,
|
6416
|
-
table_selected_cells_bg=ops.popup_menu_highlight_bg,
|
6417
|
-
table_selected_rows_border_fg=ops.popup_menu_fg,
|
6418
|
-
table_selected_rows_bg=ops.popup_menu_highlight_bg,
|
6419
|
-
table_selected_rows_fg=ops.popup_menu_highlight_fg,
|
6420
|
-
width=width,
|
6421
|
-
height=height,
|
6422
|
-
font=font if font else self.ops.table_font,
|
6423
|
-
table_fg=ops.popup_menu_fg,
|
6424
|
-
table_bg=ops.popup_menu_bg,
|
6425
|
-
**{k: ops[k] for k in scrollbar_options_keys},
|
6426
6422
|
)
|
6427
6423
|
self.parent = parent
|
6428
6424
|
self.close_dropdown_window = close_dropdown_window
|
6429
6425
|
self.search_function = search_function
|
6430
6426
|
self.arrowkey_RIGHT = arrowkey_RIGHT
|
6431
6427
|
self.arrowkey_LEFT = arrowkey_LEFT
|
6432
|
-
self.r = r
|
6433
|
-
self.c = c
|
6434
|
-
self.row = -1
|
6435
6428
|
self.single_index = single_index
|
6436
6429
|
self.bind("<Motion>", self.mouse_motion)
|
6437
6430
|
self.bind("<ButtonPress-1>", self.b1)
|
@@ -6443,11 +6436,43 @@ class Dropdown(Sheet):
|
|
6443
6436
|
self.bind("<Prior>", self.arrowkey_UP)
|
6444
6437
|
self.bind("<Next>", self.arrowkey_DOWN)
|
6445
6438
|
self.bind("<Return>", self.b1)
|
6446
|
-
|
6447
|
-
|
6439
|
+
self.reset(r, c, width, height, font, ops, outline_color, align, values)
|
6440
|
+
|
6441
|
+
def reset(
|
6442
|
+
self,
|
6443
|
+
r: int,
|
6444
|
+
c: int,
|
6445
|
+
width: int,
|
6446
|
+
height: int,
|
6447
|
+
font: tuple[str, int, str],
|
6448
|
+
ops: DotDict,
|
6449
|
+
outline_color: str,
|
6450
|
+
align: str,
|
6451
|
+
values: list[object] | None = None,
|
6452
|
+
) -> None:
|
6453
|
+
self.r = r
|
6454
|
+
self.c = c
|
6455
|
+
self.row = -1
|
6456
|
+
self.height_and_width(height=height, width=width)
|
6457
|
+
self.table_align(align)
|
6458
|
+
self.set_options(
|
6459
|
+
outline_color=outline_color,
|
6460
|
+
table_grid_fg=ops.popup_menu_fg,
|
6461
|
+
table_selected_cells_border_fg=ops.popup_menu_fg,
|
6462
|
+
table_selected_cells_bg=ops.popup_menu_highlight_bg,
|
6463
|
+
table_selected_rows_border_fg=ops.popup_menu_fg,
|
6464
|
+
table_selected_rows_bg=ops.popup_menu_highlight_bg,
|
6465
|
+
table_selected_rows_fg=ops.popup_menu_highlight_fg,
|
6466
|
+
table_selected_box_cells_fg=ops.popup_menu_highlight_bg,
|
6467
|
+
table_selected_box_rows_fg=ops.popup_menu_highlight_bg,
|
6468
|
+
font=font,
|
6469
|
+
table_fg=ops.popup_menu_fg,
|
6470
|
+
table_bg=ops.popup_menu_bg,
|
6471
|
+
**{k: ops[k] for k in scrollbar_options_keys},
|
6472
|
+
)
|
6473
|
+
self.values(values, width=width - self.yscroll.winfo_width() - 4)
|
6448
6474
|
|
6449
6475
|
def arrowkey_UP(self, event: object = None) -> None:
|
6450
|
-
self.deselect("all")
|
6451
6476
|
if self.row > 0:
|
6452
6477
|
self.row -= 1
|
6453
6478
|
else:
|
@@ -6456,7 +6481,6 @@ class Dropdown(Sheet):
|
|
6456
6481
|
self.select_row(self.row)
|
6457
6482
|
|
6458
6483
|
def arrowkey_DOWN(self, event: object = None) -> None:
|
6459
|
-
self.deselect("all")
|
6460
6484
|
if len(self.MT.data) - 1 > self.row:
|
6461
6485
|
self.row += 1
|
6462
6486
|
self.see(self.row, 0, redraw=False)
|
@@ -6474,7 +6498,6 @@ class Dropdown(Sheet):
|
|
6474
6498
|
row = self.identify_row(event, exclude_index=True, allow_end=False)
|
6475
6499
|
if row is not None and row != self.row:
|
6476
6500
|
self.row = row
|
6477
|
-
self.deselect("all", redraw=False)
|
6478
6501
|
self.select_row(self.row)
|
6479
6502
|
|
6480
6503
|
def _reselect(self) -> None:
|
@@ -6514,7 +6537,12 @@ class Dropdown(Sheet):
|
|
6514
6537
|
return self.c
|
6515
6538
|
return self.r, self.c
|
6516
6539
|
|
6517
|
-
def values(
|
6540
|
+
def values(
|
6541
|
+
self,
|
6542
|
+
values: list = [],
|
6543
|
+
redraw: bool = True,
|
6544
|
+
width: int | None = None,
|
6545
|
+
) -> None:
|
6518
6546
|
self.set_sheet_data(
|
6519
6547
|
[[v] for v in values],
|
6520
6548
|
reset_col_positions=False,
|
@@ -6522,4 +6550,4 @@ class Dropdown(Sheet):
|
|
6522
6550
|
redraw=False,
|
6523
6551
|
verify=False,
|
6524
6552
|
)
|
6525
|
-
self.set_all_cell_sizes_to_text(redraw=redraw)
|
6553
|
+
self.set_all_cell_sizes_to_text(redraw=redraw, width=width)
|
tksheet/text_editor.py
CHANGED
@@ -4,6 +4,9 @@ import tkinter as tk
|
|
4
4
|
from collections.abc import Callable
|
5
5
|
from typing import Literal
|
6
6
|
|
7
|
+
from .functions import (
|
8
|
+
convert_align,
|
9
|
+
)
|
7
10
|
from .other_classes import (
|
8
11
|
DotDict,
|
9
12
|
)
|
@@ -91,16 +94,15 @@ class TextEditorTkText(tk.Text):
|
|
91
94
|
command=self.undo,
|
92
95
|
**menu_kwargs,
|
93
96
|
)
|
94
|
-
|
95
|
-
self.insert(1.0, text)
|
96
|
-
self.yview_moveto(1)
|
97
|
-
self.tag_configure("align", justify=self.align)
|
97
|
+
align = convert_align(align)
|
98
98
|
if align == "w":
|
99
99
|
self.align = "left"
|
100
|
-
elif align == "center":
|
101
|
-
self.align = "center"
|
102
100
|
elif align == "e":
|
103
101
|
self.align = "right"
|
102
|
+
self.delete(1.0, "end")
|
103
|
+
self.insert(1.0, text)
|
104
|
+
self.yview_moveto(1)
|
105
|
+
self.tag_configure("align", justify=self.align)
|
104
106
|
self.tag_add("align", 1.0, "end")
|
105
107
|
|
106
108
|
def _proxy(self, command: object, *args) -> object:
|
@@ -0,0 +1,20 @@
|
|
1
|
+
tksheet/__init__.py,sha256=95JUoulFU3M59S4BSLtmbHtdYN9bUTph238FEb2u0S8,1874
|
2
|
+
tksheet/colors.py,sha256=1k06VorynLmnC4FdJg8H4reIA6rXaeXBpdMwXLhN8oc,51594
|
3
|
+
tksheet/column_headers.py,sha256=2Y5QcT5WmxjXudPszKHcd7hHuTNRfxoRVyKx2bsBGZI,99449
|
4
|
+
tksheet/formatters.py,sha256=DXif00aq9DgFpXwkbiqD86KxtDg0Meop51hLY-KcGNQ,10037
|
5
|
+
tksheet/functions.py,sha256=OZdcbYcKpiU_2YhwPWASZ8QfyF3tRhGiwY80sh5Rbx4,39610
|
6
|
+
tksheet/main_table.py,sha256=ThNsmwC_e2o5nEjB53RvIMLaj3rcWEfASeMtt2TTNl4,321201
|
7
|
+
tksheet/other_classes.py,sha256=Hjr7c0kD2_880xjtGuFn9gQ-7ED5kSiNahniBeXcf84,13604
|
8
|
+
tksheet/row_index.py,sha256=TsAYN0cBchH-diKzU3fuZXlgTOmrODq8EIeT2RcTblk,104750
|
9
|
+
tksheet/sheet.py,sha256=_VotKhIMM1aAUmDNPZC4h0_q6NP-sB4nGRRIZ-iggSc,257417
|
10
|
+
tksheet/sheet_options.py,sha256=Vcy4RxTKvf2HM-Yc53ex0lpBe6ATXc_pdx4oLhfjDgU,11906
|
11
|
+
tksheet/text_editor.py,sha256=81_IZKrTVa2KIx2cJ4n3cFvFMAwvbHIQYgqtyat-97I,6681
|
12
|
+
tksheet/themes.py,sha256=OwUe31NRbosjw3ZoZsMyB8lNVyYin9YcKLhCturi5q8,13398
|
13
|
+
tksheet/top_left_rectangle.py,sha256=-2u9GfOvcqhkKwHEtbqdFvXCY3RbvL5k2Sh9l3r_k04,8275
|
14
|
+
tksheet/types.py,sha256=IgoEHMbceKpakcZtanxKaKJ4RdCq7UW6EoEIIz5O59k,340
|
15
|
+
tksheet/vars.py,sha256=Iukk7-MMT9X7vv0m3nQPKzbp2Iw2Pg1wJEW7js919Mo,2092
|
16
|
+
tksheet-7.1.6.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
|
17
|
+
tksheet-7.1.6.dist-info/METADATA,sha256=2ZtrwFvnlwzpFt9hY_C_Mpf5ghtHjmRPz65pfc5N1xI,6013
|
18
|
+
tksheet-7.1.6.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
19
|
+
tksheet-7.1.6.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
|
20
|
+
tksheet-7.1.6.dist-info/RECORD,,
|
tksheet-7.1.4.dist-info/RECORD
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
tksheet/__init__.py,sha256=RGoRjwh2ab3cYtclDJ-EoW9W_wdDZ2jJhWKAeeS7dyQ,1874
|
2
|
-
tksheet/colors.py,sha256=1k06VorynLmnC4FdJg8H4reIA6rXaeXBpdMwXLhN8oc,51594
|
3
|
-
tksheet/column_headers.py,sha256=CPP2a7LM4KA43ATm997rt3YL-EIhaeUycpVe-ev2fbA,99158
|
4
|
-
tksheet/formatters.py,sha256=DXif00aq9DgFpXwkbiqD86KxtDg0Meop51hLY-KcGNQ,10037
|
5
|
-
tksheet/functions.py,sha256=7S4cQDIQ-1JqwQCgJSeVUA6bui_CK09zTHrtg2H7UeU,38714
|
6
|
-
tksheet/main_table.py,sha256=226s54StK5hBNpNigfO7R-DEuWdtdjCBRyqrJXecz3U,318142
|
7
|
-
tksheet/other_classes.py,sha256=Hjr7c0kD2_880xjtGuFn9gQ-7ED5kSiNahniBeXcf84,13604
|
8
|
-
tksheet/row_index.py,sha256=oov9iJmjONncmMnzV8dv23dgVKsBX0Fw4YWA28-Xl8o,104187
|
9
|
-
tksheet/sheet.py,sha256=z5kW5gdBVQMlwV8G-LI4nknINpGqSbyQ5M9FwX-SUI8,256939
|
10
|
-
tksheet/sheet_options.py,sha256=Vcy4RxTKvf2HM-Yc53ex0lpBe6ATXc_pdx4oLhfjDgU,11906
|
11
|
-
tksheet/text_editor.py,sha256=7xsEbgIyAWHDBWroh2wk1VeoVftFALlPZC9OANgD6LA,6662
|
12
|
-
tksheet/themes.py,sha256=OwUe31NRbosjw3ZoZsMyB8lNVyYin9YcKLhCturi5q8,13398
|
13
|
-
tksheet/top_left_rectangle.py,sha256=-2u9GfOvcqhkKwHEtbqdFvXCY3RbvL5k2Sh9l3r_k04,8275
|
14
|
-
tksheet/types.py,sha256=IgoEHMbceKpakcZtanxKaKJ4RdCq7UW6EoEIIz5O59k,340
|
15
|
-
tksheet/vars.py,sha256=Iukk7-MMT9X7vv0m3nQPKzbp2Iw2Pg1wJEW7js919Mo,2092
|
16
|
-
tksheet-7.1.4.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
|
17
|
-
tksheet-7.1.4.dist-info/METADATA,sha256=1zV1Vq3e2BEnWQCfQ1I3tu45765I0R7NF88K4pd-2gQ,6013
|
18
|
-
tksheet-7.1.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
19
|
-
tksheet-7.1.4.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
|
20
|
-
tksheet-7.1.4.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|