tksheet 7.1.3__py3-none-any.whl → 7.1.5__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/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
- self.convert_align(row_index_align) if row_index_align is not None else self.convert_align(index_align)
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=self.convert_align(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=self.convert_align(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,
@@ -2796,21 +2797,6 @@ class Sheet(tk.Frame):
2796
2797
  def header_font(self, newfont: tuple[str, int, str] | None = None) -> tuple[str, int, str]:
2797
2798
  return self.MT.set_header_font(newfont)
2798
2799
 
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
2800
  def table_align(
2815
2801
  self,
2816
2802
  align: str = None,
@@ -2818,8 +2804,8 @@ class Sheet(tk.Frame):
2818
2804
  ) -> str | Sheet:
2819
2805
  if align is None:
2820
2806
  return self.MT.align
2821
- elif self.convert_align(align):
2822
- self.MT.align = self.convert_align(align)
2807
+ elif convert_align(align):
2808
+ self.MT.align = convert_align(align)
2823
2809
  else:
2824
2810
  raise ValueError("Align must be one of the following values: c, center, w, west, e, east")
2825
2811
  self.set_refresh_timer(redraw)
@@ -2832,8 +2818,8 @@ class Sheet(tk.Frame):
2832
2818
  ) -> str | Sheet:
2833
2819
  if align is None:
2834
2820
  return self.CH.align
2835
- elif self.convert_align(align):
2836
- self.CH.align = self.convert_align(align)
2821
+ elif convert_align(align):
2822
+ self.CH.align = convert_align(align)
2837
2823
  else:
2838
2824
  raise ValueError("Align must be one of the following values: c, center, w, west, e, east")
2839
2825
  self.set_refresh_timer(redraw)
@@ -2846,8 +2832,8 @@ class Sheet(tk.Frame):
2846
2832
  ) -> str | Sheet:
2847
2833
  if align is None:
2848
2834
  return self.RI.align
2849
- elif self.convert_align(align):
2850
- self.RI.align = self.convert_align(align)
2835
+ elif convert_align(align):
2836
+ self.RI.align = convert_align(align)
2851
2837
  else:
2852
2838
  raise ValueError("Align must be one of the following values: c, center, w, west, e, east")
2853
2839
  self.set_refresh_timer(redraw)
@@ -2869,7 +2855,7 @@ class Sheet(tk.Frame):
2869
2855
  span = self.span_from_key(*key)
2870
2856
  rows, cols = self.ranges_from_span(span)
2871
2857
  table, index, header = span.table, span.index, span.header
2872
- align = self.convert_align(align)
2858
+ align = convert_align(align)
2873
2859
  if span.kind == "cell":
2874
2860
  if header:
2875
2861
  for c in cols:
@@ -2967,14 +2953,24 @@ class Sheet(tk.Frame):
2967
2953
  def get_all_selection_boxes_with_types(self) -> list[tuple[tuple[int, int, int, int], str]]:
2968
2954
  return self.MT.get_all_selection_boxes_with_types()
2969
2955
 
2970
- def cell_selected(self, r: int, c: int) -> bool:
2971
- return self.MT.cell_selected(r, c)
2956
+ @property
2957
+ def boxes(self) -> list[tuple[tuple[int, int, int, int], str]]:
2958
+ return self.MT.get_all_selection_boxes_with_types()
2959
+
2960
+ def cell_selected(
2961
+ self,
2962
+ r: int,
2963
+ c: int,
2964
+ rows: bool = False,
2965
+ columns: bool = False,
2966
+ ) -> bool:
2967
+ return self.MT.cell_selected(r, c, inc_cols=columns, inc_rows=rows)
2972
2968
 
2973
- def row_selected(self, r: int) -> bool:
2974
- return self.MT.row_selected(r)
2969
+ def row_selected(self, r: int, cells: bool = False) -> bool:
2970
+ return self.MT.row_selected(r, cells=cells)
2975
2971
 
2976
- def column_selected(self, c: int) -> bool:
2977
- return self.MT.col_selected(c)
2972
+ def column_selected(self, c: int, cells: bool = False) -> bool:
2973
+ return self.MT.col_selected(c, cells=cells)
2978
2974
 
2979
2975
  def anything_selected(
2980
2976
  self,
@@ -3159,7 +3155,7 @@ class Sheet(tk.Frame):
3159
3155
  c1: int,
3160
3156
  r2: int,
3161
3157
  c2: int,
3162
- type_: str = "cells",
3158
+ type_: Literal["cells", "rows", "columns", "cols"] = "cells",
3163
3159
  ) -> int:
3164
3160
  return self.MT.create_selection_box(r1=r1, c1=c1, r2=r2, c2=c2, type_="columns" if type_ == "cols" else type_)
3165
3161
 
@@ -3169,9 +3165,9 @@ class Sheet(tk.Frame):
3169
3165
 
3170
3166
  def deselect(
3171
3167
  self,
3172
- row: int | None | str = None,
3168
+ row: int | None | Literal["all"] = None,
3173
3169
  column: int | None = None,
3174
- cell: tuple | None = None,
3170
+ cell: tuple[int, int] | None = None,
3175
3171
  redraw: bool = True,
3176
3172
  ) -> Sheet:
3177
3173
  self.MT.deselect(r=row, c=column, cell=cell, redraw=False)
@@ -3206,8 +3202,12 @@ class Sheet(tk.Frame):
3206
3202
  self.set_refresh_timer(redraw)
3207
3203
  return self
3208
3204
 
3209
- def set_all_cell_sizes_to_text(self, redraw: bool = True) -> tuple[list[float], list[float]]:
3210
- self.MT.set_all_cell_sizes_to_text()
3205
+ def set_all_cell_sizes_to_text(
3206
+ self,
3207
+ redraw: bool = True,
3208
+ width: int | None = None,
3209
+ ) -> tuple[list[float], list[float]]:
3210
+ self.MT.set_all_cell_sizes_to_text(w=width)
3211
3211
  self.set_refresh_timer(redraw)
3212
3212
  return self.MT.row_positions, self.MT.col_positions
3213
3213
 
@@ -3603,6 +3603,7 @@ class Sheet(tk.Frame):
3603
3603
  return c if self.MT.all_columns_displayed else self.MT.displayed_columns[c]
3604
3604
 
3605
3605
  data_c = displayed_column_to_data
3606
+ dcol = displayed_column_to_data
3606
3607
 
3607
3608
  def display_columns(
3608
3609
  self,
@@ -3710,6 +3711,7 @@ class Sheet(tk.Frame):
3710
3711
  return r if self.MT.all_rows_displayed else self.MT.displayed_rows[r]
3711
3712
 
3712
3713
  data_r = displayed_row_to_data
3714
+ drow = displayed_row_to_data
3713
3715
 
3714
3716
  def display_rows(
3715
3717
  self,
@@ -4104,6 +4106,25 @@ class Sheet(tk.Frame):
4104
4106
  )
4105
4107
  return self
4106
4108
 
4109
+ def event_widget_is_sheet(
4110
+ self,
4111
+ event: object,
4112
+ table: bool = True,
4113
+ index: bool = True,
4114
+ header: bool = True,
4115
+ top_left: bool = True,
4116
+ ) -> bool:
4117
+ return (
4118
+ table
4119
+ and event.widget == self.MT
4120
+ or index
4121
+ and event.widget == self.RI
4122
+ or header
4123
+ and event.widget == self.CH
4124
+ or top_left
4125
+ and event.widget == self.TL
4126
+ )
4127
+
4107
4128
  def get_cell_options(
4108
4129
  self,
4109
4130
  key: None | str = None,
@@ -4549,8 +4570,9 @@ class Sheet(tk.Frame):
4549
4570
  )
4550
4571
  else:
4551
4572
  self.RI.tree_open_ids.discard(item)
4573
+ rows = {self.RI.tree_rns[did] for did in self.RI.get_iid_descendants(item, check_open=True)}
4552
4574
  self.hide_rows(
4553
- (self.RI.tree_rns[did] for did in self.RI.get_iid_descendants(item)),
4575
+ rows,
4554
4576
  redraw=False,
4555
4577
  deselect_all=False,
4556
4578
  data_indexes=True,
@@ -4786,12 +4808,14 @@ class Sheet(tk.Frame):
4786
4808
  self.display_item(item)
4787
4809
  self.see(row=bisect_left(self.MT.displayed_rows, self.RI.tree_rns[item]), keep_xscroll=True)
4788
4810
 
4789
- def selection(self) -> list[str]:
4811
+ def selection(self, cells: bool = False) -> list[str]:
4790
4812
  """
4791
4813
  Get currently selected item ids
4792
- - Only includes selected rows
4793
4814
  """
4794
- return [self.MT._row_index[self.displayed_row_to_data(rn)].iid for rn in self.get_selected_rows()]
4815
+ return [
4816
+ self.MT._row_index[self.displayed_row_to_data(rn)].iid
4817
+ for rn in self.get_selected_rows(get_cells_as_rows=cells)
4818
+ ]
4795
4819
 
4796
4820
  def selection_set(self, *items) -> Sheet:
4797
4821
  self.deselect()
@@ -5493,13 +5517,13 @@ class Sheet(tk.Frame):
5493
5517
  ) -> None:
5494
5518
  if isinstance(cells, dict):
5495
5519
  for k, v in cells.items():
5496
- set_align(self.MT.cell_options, k, self.convert_align(v))
5520
+ set_align(self.MT.cell_options, k, convert_align(v))
5497
5521
  elif cells:
5498
- align = self.convert_align(align)
5522
+ align = convert_align(align)
5499
5523
  for k in cells:
5500
5524
  set_align(self.MT.cell_options, k, align)
5501
5525
  else:
5502
- set_align(self.MT.cell_options, (row, column), self.convert_align(align))
5526
+ set_align(self.MT.cell_options, (row, column), convert_align(align))
5503
5527
  self.set_refresh_timer(redraw)
5504
5528
 
5505
5529
  def align_rows(
@@ -5511,18 +5535,18 @@ class Sheet(tk.Frame):
5511
5535
  ) -> None:
5512
5536
  if isinstance(rows, dict):
5513
5537
  for k, v in rows.items():
5514
- align = self.convert_align(v)
5538
+ align = convert_align(v)
5515
5539
  set_align(self.MT.row_options, k, align)
5516
5540
  if align_index:
5517
5541
  set_align(self.RI.cell_options, k, align)
5518
5542
  elif is_iterable(rows):
5519
- align = self.convert_align(align)
5543
+ align = convert_align(align)
5520
5544
  for k in rows:
5521
5545
  set_align(self.MT.row_options, k, align)
5522
5546
  if align_index:
5523
5547
  set_align(self.RI.cell_options, k, align)
5524
5548
  elif isinstance(rows, int):
5525
- set_align(self.MT.row_options, rows, self.convert_align(align))
5549
+ set_align(self.MT.row_options, rows, convert_align(align))
5526
5550
  if align_index:
5527
5551
  set_align(self.RI.cell_options, rows, align)
5528
5552
  self.set_refresh_timer(redraw)
@@ -5536,18 +5560,18 @@ class Sheet(tk.Frame):
5536
5560
  ) -> None:
5537
5561
  if isinstance(columns, dict):
5538
5562
  for k, v in columns.items():
5539
- align = self.convert_align(v)
5563
+ align = convert_align(v)
5540
5564
  set_align(self.MT.col_options, k, align)
5541
5565
  if align_header:
5542
5566
  set_align(self.CH.cell_options, k, align)
5543
5567
  elif is_iterable(columns):
5544
- align = self.convert_align(align)
5568
+ align = convert_align(align)
5545
5569
  for k in columns:
5546
5570
  set_align(self.MT.col_options, k, align)
5547
5571
  if align_header:
5548
5572
  set_align(self.CH.cell_options, k, align)
5549
5573
  elif isinstance(columns, int):
5550
- set_align(self.MT.col_options, columns, self.convert_align(align))
5574
+ set_align(self.MT.col_options, columns, convert_align(align))
5551
5575
  if align_header:
5552
5576
  set_align(self.CH.cell_options, columns, align)
5553
5577
  self.set_refresh_timer(redraw)
@@ -5560,13 +5584,13 @@ class Sheet(tk.Frame):
5560
5584
  ) -> None:
5561
5585
  if isinstance(columns, dict):
5562
5586
  for k, v in columns.items():
5563
- set_align(self.CH.cell_options, k, self.convert_align(v))
5587
+ set_align(self.CH.cell_options, k, convert_align(v))
5564
5588
  elif is_iterable(columns):
5565
- align = self.convert_align(align)
5589
+ align = convert_align(align)
5566
5590
  for k in columns:
5567
5591
  set_align(self.CH.cell_options, k, align)
5568
5592
  elif isinstance(columns, int):
5569
- set_align(self.CH.cell_options, columns, self.convert_align(align))
5593
+ set_align(self.CH.cell_options, columns, convert_align(align))
5570
5594
  self.set_refresh_timer(redraw)
5571
5595
 
5572
5596
  def align_index(
@@ -5577,13 +5601,13 @@ class Sheet(tk.Frame):
5577
5601
  ) -> None:
5578
5602
  if isinstance(rows, dict):
5579
5603
  for k, v in rows.items():
5580
- set_align(self.RI.cell_options, k, self.convert_align(v))
5604
+ set_align(self.RI.cell_options, k, convert_align(v))
5581
5605
  elif is_iterable(rows):
5582
- align = self.convert_align(align)
5606
+ align = convert_align(align)
5583
5607
  for k in rows:
5584
5608
  set_align(self.RI.cell_options, k, align)
5585
5609
  elif isinstance(rows, int):
5586
- set_align(self.RI.cell_options, rows, self.convert_align(align))
5610
+ set_align(self.RI.cell_options, rows, convert_align(align))
5587
5611
  self.set_refresh_timer(redraw)
5588
5612
 
5589
5613
  def get_cell_alignments(self) -> dict:
@@ -6348,7 +6372,7 @@ class Dropdown(Sheet):
6348
6372
  width: int | None = None,
6349
6373
  height: int | None = None,
6350
6374
  font: None | tuple[str, int, str] = None,
6351
- outline_thickness: int = 2,
6375
+ outline_thickness: int = 1,
6352
6376
  values: list[object] = [],
6353
6377
  close_dropdown_window: Callable | None = None,
6354
6378
  search_function: Callable = dropdown_search_function,
@@ -6358,47 +6382,29 @@ class Dropdown(Sheet):
6358
6382
  # False for using r, c
6359
6383
  # "r" for r
6360
6384
  # "c" for c
6361
- single_index: str | bool = False,
6385
+ single_index: Literal["r", "c"] | bool = False,
6362
6386
  ) -> None:
6363
6387
  Sheet.__init__(
6364
6388
  self,
6365
6389
  parent=parent,
6366
6390
  outline_thickness=outline_thickness,
6367
- outline_color=outline_color,
6368
- table_grid_fg=ops.popup_menu_fg,
6369
6391
  show_horizontal_grid=True,
6370
6392
  show_vertical_grid=False,
6371
6393
  show_header=False,
6372
6394
  show_row_index=False,
6373
6395
  show_top_left=False,
6374
- # alignments other than w for dropdown boxes are broken at the moment
6375
- align="w",
6376
6396
  empty_horizontal=0,
6377
6397
  empty_vertical=0,
6378
6398
  selected_rows_to_end_of_window=True,
6379
6399
  horizontal_grid_to_end_of_window=True,
6380
6400
  set_cell_sizes_on_zoom=True,
6381
6401
  show_selected_cells_border=False,
6382
- table_selected_cells_border_fg=ops.popup_menu_fg,
6383
- table_selected_cells_bg=ops.popup_menu_highlight_bg,
6384
- table_selected_rows_border_fg=ops.popup_menu_fg,
6385
- table_selected_rows_bg=ops.popup_menu_highlight_bg,
6386
- table_selected_rows_fg=ops.popup_menu_highlight_fg,
6387
- width=width,
6388
- height=height,
6389
- font=font if font else self.ops.table_font,
6390
- table_fg=ops.popup_menu_fg,
6391
- table_bg=ops.popup_menu_bg,
6392
- **{k: ops[k] for k in scrollbar_options_keys},
6393
6402
  )
6394
6403
  self.parent = parent
6395
6404
  self.close_dropdown_window = close_dropdown_window
6396
6405
  self.search_function = search_function
6397
6406
  self.arrowkey_RIGHT = arrowkey_RIGHT
6398
6407
  self.arrowkey_LEFT = arrowkey_LEFT
6399
- self.r = r
6400
- self.c = c
6401
- self.row = -1
6402
6408
  self.single_index = single_index
6403
6409
  self.bind("<Motion>", self.mouse_motion)
6404
6410
  self.bind("<ButtonPress-1>", self.b1)
@@ -6410,11 +6416,43 @@ class Dropdown(Sheet):
6410
6416
  self.bind("<Prior>", self.arrowkey_UP)
6411
6417
  self.bind("<Next>", self.arrowkey_DOWN)
6412
6418
  self.bind("<Return>", self.b1)
6413
- if values:
6414
- self.values(values)
6419
+ self.reset(r, c, width, height, font, ops, outline_color, align, values)
6420
+
6421
+ def reset(
6422
+ self,
6423
+ r: int,
6424
+ c: int,
6425
+ width: int,
6426
+ height: int,
6427
+ font: tuple[str, int, str],
6428
+ ops: DotDict,
6429
+ outline_color: str,
6430
+ align: str,
6431
+ values: list[object] | None = None,
6432
+ ) -> None:
6433
+ self.r = r
6434
+ self.c = c
6435
+ self.row = -1
6436
+ self.height_and_width(height=height, width=width)
6437
+ self.table_align(align)
6438
+ self.set_options(
6439
+ outline_color=outline_color,
6440
+ table_grid_fg=ops.popup_menu_fg,
6441
+ table_selected_cells_border_fg=ops.popup_menu_fg,
6442
+ table_selected_cells_bg=ops.popup_menu_highlight_bg,
6443
+ table_selected_rows_border_fg=ops.popup_menu_fg,
6444
+ table_selected_rows_bg=ops.popup_menu_highlight_bg,
6445
+ table_selected_rows_fg=ops.popup_menu_highlight_fg,
6446
+ table_selected_box_cells_fg=ops.popup_menu_highlight_bg,
6447
+ table_selected_box_rows_fg=ops.popup_menu_highlight_bg,
6448
+ font=font,
6449
+ table_fg=ops.popup_menu_fg,
6450
+ table_bg=ops.popup_menu_bg,
6451
+ **{k: ops[k] for k in scrollbar_options_keys},
6452
+ )
6453
+ self.values(values, width=width - self.yscroll.winfo_width() - 4)
6415
6454
 
6416
6455
  def arrowkey_UP(self, event: object = None) -> None:
6417
- self.deselect("all")
6418
6456
  if self.row > 0:
6419
6457
  self.row -= 1
6420
6458
  else:
@@ -6423,7 +6461,6 @@ class Dropdown(Sheet):
6423
6461
  self.select_row(self.row)
6424
6462
 
6425
6463
  def arrowkey_DOWN(self, event: object = None) -> None:
6426
- self.deselect("all")
6427
6464
  if len(self.MT.data) - 1 > self.row:
6428
6465
  self.row += 1
6429
6466
  self.see(self.row, 0, redraw=False)
@@ -6441,7 +6478,6 @@ class Dropdown(Sheet):
6441
6478
  row = self.identify_row(event, exclude_index=True, allow_end=False)
6442
6479
  if row is not None and row != self.row:
6443
6480
  self.row = row
6444
- self.deselect("all", redraw=False)
6445
6481
  self.select_row(self.row)
6446
6482
 
6447
6483
  def _reselect(self) -> None:
@@ -6481,7 +6517,12 @@ class Dropdown(Sheet):
6481
6517
  return self.c
6482
6518
  return self.r, self.c
6483
6519
 
6484
- def values(self, values: list = [], redraw: bool = True) -> None:
6520
+ def values(
6521
+ self,
6522
+ values: list = [],
6523
+ redraw: bool = True,
6524
+ width: int | None = None,
6525
+ ) -> None:
6485
6526
  self.set_sheet_data(
6486
6527
  [[v] for v in values],
6487
6528
  reset_col_positions=False,
@@ -6489,4 +6530,4 @@ class Dropdown(Sheet):
6489
6530
  redraw=False,
6490
6531
  verify=False,
6491
6532
  )
6492
- self.set_all_cell_sizes_to_text(redraw=redraw)
6533
+ 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
- self.delete(1.0, "end")
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:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tksheet
3
- Version: 7.1.3
3
+ Version: 7.1.5
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
@@ -0,0 +1,20 @@
1
+ tksheet/__init__.py,sha256=bzXUATwg31SEbu5F3bS-MFBDpi4MAuMZ0TPh49RAonU,1874
2
+ tksheet/colors.py,sha256=1k06VorynLmnC4FdJg8H4reIA6rXaeXBpdMwXLhN8oc,51594
3
+ tksheet/column_headers.py,sha256=9LOi8-Xr7_h0UlF277VDVg_UWQ3UGVwD9fufwq3SbMU,99272
4
+ tksheet/formatters.py,sha256=DXif00aq9DgFpXwkbiqD86KxtDg0Meop51hLY-KcGNQ,10037
5
+ tksheet/functions.py,sha256=PN2qanv32V4Hg221b-999fEH4yxYNoze925txUP5kA4,39245
6
+ tksheet/main_table.py,sha256=QHFqCkCWkiecHBjbiGBJSJ0SoMp2htXBCpkLIMQEeWI,318511
7
+ tksheet/other_classes.py,sha256=Hjr7c0kD2_880xjtGuFn9gQ-7ED5kSiNahniBeXcf84,13604
8
+ tksheet/row_index.py,sha256=ZPBiKNB5NghU_Q-LEqWrC9-VqaVYj__DodenDSR_oeA,103990
9
+ tksheet/sheet.py,sha256=ho4dGIco8GTCJluFZcJhOJNgnJTA_S_dMm-xU4cJPGo,256866
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.5.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
17
+ tksheet-7.1.5.dist-info/METADATA,sha256=WBm8p-qBsL207lJ6_tznMJE9Vo62iKaZmj-nmyj-UbE,6013
18
+ tksheet-7.1.5.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
19
+ tksheet-7.1.5.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
20
+ tksheet-7.1.5.dist-info/RECORD,,
@@ -1,20 +0,0 @@
1
- tksheet/__init__.py,sha256=12WUGUlSqVLgEpsMVTdgp8OZ60dVldHopXMgu4ZY_FU,1874
2
- tksheet/colors.py,sha256=1k06VorynLmnC4FdJg8H4reIA6rXaeXBpdMwXLhN8oc,51594
3
- tksheet/column_headers.py,sha256=1I49CQS4unBcJ-y044R-DtYhJ4zUplrOfImOk8qHIj8,99396
4
- tksheet/formatters.py,sha256=DXif00aq9DgFpXwkbiqD86KxtDg0Meop51hLY-KcGNQ,10037
5
- tksheet/functions.py,sha256=7S4cQDIQ-1JqwQCgJSeVUA6bui_CK09zTHrtg2H7UeU,38714
6
- tksheet/main_table.py,sha256=Di80IjcLbHtS0_G6iLYst1Uj-jD7FURLYYnZJwNqNNk,317950
7
- tksheet/other_classes.py,sha256=s559IxoFEeAgxTKrrHZnAeXUXWIEmiP4tBncIdQIXSQ,13544
8
- tksheet/row_index.py,sha256=GzK6Gfi4v6zwALn5IvBz22SdSFLUgxS1yLX4bm7z3sg,104428
9
- tksheet/sheet.py,sha256=mEb_DHSkp_eRri0Lk7CHnaXRj_0FR7luIxy_Tl4A3wg,255991
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.3.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
17
- tksheet-7.1.3.dist-info/METADATA,sha256=P0uPdX4DxlWtwLB-i_3uqzndcS06_-UnyWDDBuU0FWI,6013
18
- tksheet-7.1.3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
19
- tksheet-7.1.3.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
20
- tksheet-7.1.3.dist-info/RECORD,,