tksheet 7.1.20__py3-none-any.whl → 7.1.21__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.1.20"
7
+ __version__ = "7.1.21"
8
8
 
9
9
  from .colors import (
10
10
  color_map,
tksheet/column_headers.py CHANGED
@@ -1284,12 +1284,9 @@ class ColumnHeaders(tk.Canvas):
1284
1284
  self.itemconfig(t, fill=fill, tag=tag, state="normal")
1285
1285
  self.lift(t)
1286
1286
  else:
1287
- t = self.create_line(
1287
+ t = self.create_polygon(
1288
1288
  points,
1289
1289
  fill=fill,
1290
- width=2,
1291
- capstyle=tk.ROUND,
1292
- joinstyle=tk.ROUND,
1293
1290
  tag=tag,
1294
1291
  )
1295
1292
  self.disp_dropdown[t] = True
tksheet/main_table.py CHANGED
@@ -4913,7 +4913,7 @@ class MainTable(tk.Canvas):
4913
4913
  if isinstance(at_least_cols, int) and at_least_cols > total_data_cols:
4914
4914
  total_data_cols = at_least_cols
4915
4915
  total_data_cols = max(total_data_cols, len(self.col_positions) - 1)
4916
- if include_header and total_data_cols > len(self._headers):
4916
+ if not isinstance(self._headers, int) and include_header and total_data_cols > len(self._headers):
4917
4917
  self.CH.fix_header(total_data_cols)
4918
4918
  for rn, r in enumerate(self.data):
4919
4919
  if total_data_cols > (lnr := len(r)):
@@ -5137,12 +5137,9 @@ class MainTable(tk.Canvas):
5137
5137
  self.itemconfig(t, fill=fill, tag=tag, state="normal")
5138
5138
  self.lift(t)
5139
5139
  else:
5140
- t = self.create_line(
5140
+ t = self.create_polygon(
5141
5141
  points,
5142
5142
  fill=fill,
5143
- width=2,
5144
- capstyle=tk.ROUND,
5145
- joinstyle=tk.ROUND,
5146
5143
  tag=tag,
5147
5144
  )
5148
5145
  self.disp_dropdown[t] = True
tksheet/row_index.py CHANGED
@@ -117,6 +117,7 @@ class RowIndex(tk.Canvas):
117
117
  self.disp_resize_lines = {}
118
118
  self.disp_dropdown = {}
119
119
  self.disp_checkbox = {}
120
+ self.disp_tree_arrow = {}
120
121
  self.disp_boxes = set()
121
122
  self.hidd_text = {}
122
123
  self.hidd_high = {}
@@ -126,6 +127,7 @@ class RowIndex(tk.Canvas):
126
127
  self.hidd_resize_lines = {}
127
128
  self.hidd_dropdown = {}
128
129
  self.hidd_checkbox = {}
130
+ self.hidd_tree_arrow = {}
129
131
  self.hidd_boxes = set()
130
132
 
131
133
  self.align = kwargs["row_index_align"]
@@ -1017,7 +1019,7 @@ class RowIndex(tk.Canvas):
1017
1019
  align = self.align
1018
1020
  if align == "w":
1019
1021
  w += self.MT.index_txt_height
1020
- w += self.get_treeview_indent(self.MT._row_index[datarn].iid)
1022
+ w += self.get_treeview_indent(self.MT._row_index[datarn].iid) + 4
1021
1023
  return w, h
1022
1024
 
1023
1025
  def set_row_height(
@@ -1205,7 +1207,7 @@ class RowIndex(tk.Canvas):
1205
1207
  if kwargs[0] is not None:
1206
1208
  c_1 = kwargs[0] if kwargs[0].startswith("#") else color_map[kwargs[0]]
1207
1209
  if "rows" in selections and r in selections["rows"]:
1208
- tf = (
1210
+ txtfg = (
1209
1211
  self.PAR.ops.index_selected_rows_fg
1210
1212
  if kwargs[1] is None or self.PAR.ops.display_selected_fg_over_highlights
1211
1213
  else kwargs[1]
@@ -1217,7 +1219,7 @@ class RowIndex(tk.Canvas):
1217
1219
  + f"{int((int(c_1[5:], 16) + int(c_3[5:], 16)) / 2):02X}"
1218
1220
  )
1219
1221
  elif "cells" in selections and r in selections["cells"]:
1220
- tf = (
1222
+ txtfg = (
1221
1223
  self.PAR.ops.index_selected_cells_fg
1222
1224
  if kwargs[1] is None or self.PAR.ops.display_selected_fg_over_highlights
1223
1225
  else kwargs[1]
@@ -1229,7 +1231,7 @@ class RowIndex(tk.Canvas):
1229
1231
  + f"{int((int(c_1[5:], 16) + int(c_2[5:], 16)) / 2):02X}"
1230
1232
  )
1231
1233
  else:
1232
- tf = self.PAR.ops.index_fg if kwargs[1] is None else kwargs[1]
1234
+ txtfg = self.PAR.ops.index_fg if kwargs[1] is None else kwargs[1]
1233
1235
  if kwargs[0] is not None:
1234
1236
  fill = kwargs[0]
1235
1237
  if kwargs[0] is not None:
@@ -1246,14 +1248,18 @@ class RowIndex(tk.Canvas):
1246
1248
  ),
1247
1249
  tag="s",
1248
1250
  )
1251
+ tree_arrow_fg = txtfg
1249
1252
  elif not kwargs:
1250
1253
  if "rows" in selections and r in selections["rows"]:
1251
- tf = self.PAR.ops.index_selected_rows_fg
1254
+ txtfg = self.PAR.ops.index_selected_rows_fg
1255
+ tree_arrow_fg = self.PAR.ops.selected_rows_tree_arrow_fg
1252
1256
  elif "cells" in selections and r in selections["cells"]:
1253
- tf = self.PAR.ops.index_selected_cells_fg
1257
+ txtfg = self.PAR.ops.index_selected_cells_fg
1258
+ tree_arrow_fg = self.PAR.ops.selected_cells_tree_arrow_fg
1254
1259
  else:
1255
- tf = self.PAR.ops.index_fg
1256
- return tf, redrawn
1260
+ txtfg = self.PAR.ops.index_fg
1261
+ tree_arrow_fg = self.PAR.ops.tree_arrow_fg
1262
+ return txtfg, tree_arrow_fg, redrawn
1257
1263
 
1258
1264
  def redraw_highlight(self, x1, y1, x2, y2, fill, outline, tag):
1259
1265
  coords = (x1, y1, x2, y2)
@@ -1281,6 +1287,56 @@ class RowIndex(tk.Canvas):
1281
1287
  else:
1282
1288
  self.disp_grid[self.create_line(points, fill=fill, width=width, tag=tag)] = True
1283
1289
 
1290
+ def redraw_tree_arrow(
1291
+ self,
1292
+ x1,
1293
+ y1,
1294
+ r,
1295
+ fill,
1296
+ tag,
1297
+ indent: float,
1298
+ open_: bool = False,
1299
+ ) -> None:
1300
+ mod = (self.MT.index_txt_height - 1) if self.MT.index_txt_height % 2 else self.MT.index_txt_height
1301
+ half_mod = mod / 2
1302
+ qtr_mod = mod / 4
1303
+ mid_y = (self.MT.index_first_ln_ins - 1) if self.MT.index_first_ln_ins % 2 else self.MT.index_first_ln_ins
1304
+ # up arrow
1305
+ if open_:
1306
+ points = (
1307
+ x1 + 2 + indent,
1308
+ y1 + mid_y + qtr_mod,
1309
+ x1 + 2 + half_mod + indent,
1310
+ y1 + mid_y - qtr_mod,
1311
+ x1 + 2 + mod + indent,
1312
+ y1 + mid_y + qtr_mod,
1313
+ )
1314
+ # right pointing arrow
1315
+ else:
1316
+ points = (
1317
+ x1 + half_mod + indent,
1318
+ y1 + mid_y - half_mod + 1,
1319
+ x1 + mod + indent - 1,
1320
+ y1 + mid_y,
1321
+ x1 + half_mod + indent,
1322
+ y1 + mid_y + half_mod - 1,
1323
+ )
1324
+ if self.hidd_tree_arrow:
1325
+ t, sh = self.hidd_tree_arrow.popitem()
1326
+ self.coords(t, points)
1327
+ if sh:
1328
+ self.itemconfig(t, fill=fill)
1329
+ else:
1330
+ self.itemconfig(t, fill=fill, tag=tag, state="normal")
1331
+ self.lift(t)
1332
+ else:
1333
+ t = self.create_polygon(
1334
+ points,
1335
+ fill=fill,
1336
+ tag=tag,
1337
+ )
1338
+ self.disp_tree_arrow[t] = True
1339
+
1284
1340
  def redraw_dropdown(
1285
1341
  self,
1286
1342
  x1,
@@ -1293,7 +1349,6 @@ class RowIndex(tk.Canvas):
1293
1349
  draw_outline: bool = True,
1294
1350
  draw_arrow: bool = True,
1295
1351
  open_: bool = False,
1296
- indent: None | float = None,
1297
1352
  ) -> None:
1298
1353
  if draw_outline and self.PAR.ops.show_dropdown_borders:
1299
1354
  self.redraw_highlight(x1 + 1, y1 + 1, x2, y2, fill="", outline=self.PAR.ops.index_fg, tag=tag)
@@ -1302,47 +1357,24 @@ class RowIndex(tk.Canvas):
1302
1357
  half_mod = mod / 2
1303
1358
  qtr_mod = mod / 4
1304
1359
  mid_y = (self.MT.index_first_ln_ins - 1) if self.MT.index_first_ln_ins % 2 else self.MT.index_first_ln_ins
1305
- # treeview
1306
- if indent is not None:
1307
- # up arrow
1308
- if open_:
1309
- points = (
1310
- x1 + 2 + indent,
1311
- y1 + mid_y + qtr_mod,
1312
- x1 + 2 + half_mod + indent,
1313
- y1 + mid_y - qtr_mod,
1314
- x1 + 2 + mod + indent,
1315
- y1 + mid_y + qtr_mod,
1316
- )
1317
- # right pointing arrow
1318
- else:
1319
- points = (
1320
- x1 + half_mod + indent,
1321
- y1 + mid_y - half_mod + 1,
1322
- x1 + mod + indent - 1,
1323
- y1 + mid_y,
1324
- x1 + half_mod + indent,
1325
- y1 + mid_y + half_mod - 1,
1326
- )
1360
+ if open_:
1361
+ points = (
1362
+ x2 - 3 - mod,
1363
+ y1 + mid_y + qtr_mod,
1364
+ x2 - 3 - half_mod,
1365
+ y1 + mid_y - qtr_mod,
1366
+ x2 - 3,
1367
+ y1 + mid_y + qtr_mod,
1368
+ )
1327
1369
  else:
1328
- if open_:
1329
- points = (
1330
- x2 - 3 - mod,
1331
- y1 + mid_y + qtr_mod,
1332
- x2 - 3 - half_mod,
1333
- y1 + mid_y - qtr_mod,
1334
- x2 - 3,
1335
- y1 + mid_y + qtr_mod,
1336
- )
1337
- else:
1338
- points = (
1339
- x2 - 3 - mod,
1340
- y1 + mid_y - qtr_mod,
1341
- x2 - 3 - half_mod,
1342
- y1 + mid_y + qtr_mod,
1343
- x2 - 3,
1344
- y1 + mid_y - qtr_mod,
1345
- )
1370
+ points = (
1371
+ x2 - 3 - mod,
1372
+ y1 + mid_y - qtr_mod,
1373
+ x2 - 3 - half_mod,
1374
+ y1 + mid_y + qtr_mod,
1375
+ x2 - 3,
1376
+ y1 + mid_y - qtr_mod,
1377
+ )
1346
1378
  if self.hidd_dropdown:
1347
1379
  t, sh = self.hidd_dropdown.popitem()
1348
1380
  self.coords(t, points)
@@ -1352,12 +1384,9 @@ class RowIndex(tk.Canvas):
1352
1384
  self.itemconfig(t, fill=fill, tag=tag, state="normal")
1353
1385
  self.lift(t)
1354
1386
  else:
1355
- t = self.create_line(
1387
+ t = self.create_polygon(
1356
1388
  points,
1357
1389
  fill=fill,
1358
- width=2,
1359
- capstyle=tk.ROUND,
1360
- joinstyle=tk.ROUND,
1361
1390
  tag=tag,
1362
1391
  )
1363
1392
  self.disp_dropdown[t] = True
@@ -1428,6 +1457,8 @@ class RowIndex(tk.Canvas):
1428
1457
  self.disp_dropdown = {}
1429
1458
  self.hidd_checkbox.update(self.disp_checkbox)
1430
1459
  self.disp_checkbox = {}
1460
+ self.hidd_tree_arrow.update(self.disp_tree_arrow)
1461
+ self.disp_tree_arrow = {}
1431
1462
  self.visible_row_dividers = {}
1432
1463
  draw_y = self.MT.row_positions[start_row]
1433
1464
  xend = self.current_width - 6
@@ -1484,7 +1515,15 @@ class RowIndex(tk.Canvas):
1484
1515
  if rbotgridln - rtopgridln < self.MT.index_txt_height:
1485
1516
  continue
1486
1517
  datarn = r if self.MT.all_rows_displayed else self.MT.displayed_rows[r]
1487
- fill, dd_drawn = self.redraw_highlight_get_text_fg(rtopgridln, rbotgridln, r, c_2, c_3, selections, datarn)
1518
+ fill, tree_arrow_fg, dd_drawn = self.redraw_highlight_get_text_fg(
1519
+ rtopgridln,
1520
+ rbotgridln,
1521
+ r,
1522
+ c_2,
1523
+ c_3,
1524
+ selections,
1525
+ datarn,
1526
+ )
1488
1527
 
1489
1528
  if datarn in self.cell_options and "align" in self.cell_options[datarn]:
1490
1529
  align = self.cell_options[datarn]["align"]
@@ -1584,20 +1623,16 @@ class RowIndex(tk.Canvas):
1584
1623
  if align == "w":
1585
1624
  draw_x += self.MT.index_txt_height + 1
1586
1625
  indent = self.get_treeview_indent(iid)
1587
- draw_x += indent
1626
+ draw_x += indent + 4
1588
1627
  if self.tree[iid].children:
1589
- self.redraw_dropdown(
1628
+ self.redraw_tree_arrow(
1590
1629
  0,
1591
1630
  rtopgridln,
1592
- self.current_width - 1,
1593
- rbotgridln - 1,
1594
- fill=fill,
1595
- outline=fill,
1596
- tag="dd",
1597
- draw_outline=False,
1598
- draw_arrow=True,
1599
- open_=self.MT._row_index[datarn].iid in self.tree_open_ids,
1631
+ r=r,
1632
+ fill=tree_arrow_fg,
1633
+ tag="ta",
1600
1634
  indent=indent,
1635
+ open_=self.MT._row_index[datarn].iid in self.tree_open_ids,
1601
1636
  )
1602
1637
  lns = self.get_valid_cell_data_as_str(datarn, fix=False)
1603
1638
  if not lns:
@@ -1677,7 +1712,14 @@ class RowIndex(tk.Canvas):
1677
1712
  draw_y += self.MT.index_xtra_lines_increment
1678
1713
  if draw_y + self.MT.index_half_txt_height - 1 > rbotgridln:
1679
1714
  break
1680
- for dct in (self.hidd_text, self.hidd_high, self.hidd_grid, self.hidd_dropdown, self.hidd_checkbox):
1715
+ for dct in (
1716
+ self.hidd_text,
1717
+ self.hidd_high,
1718
+ self.hidd_grid,
1719
+ self.hidd_dropdown,
1720
+ self.hidd_checkbox,
1721
+ self.hidd_tree_arrow,
1722
+ ):
1681
1723
  for iid, showing in dct.items():
1682
1724
  if showing:
1683
1725
  self.itemconfig(iid, state="hidden")
tksheet/sheet_options.py CHANGED
@@ -149,6 +149,9 @@ def new_sheet_options() -> DotDict:
149
149
  "table_bg": theme_light_blue["table_bg"],
150
150
  "table_grid_fg": theme_light_blue["table_grid_fg"],
151
151
  "table_fg": theme_light_blue["table_fg"],
152
+ "tree_arrow_fg": theme_light_blue["tree_arrow_fg"],
153
+ "selected_cells_tree_arrow_fg": theme_light_blue["selected_cells_tree_arrow_fg"],
154
+ "selected_rows_tree_arrow_fg": theme_light_blue["selected_rows_tree_arrow_fg"],
152
155
  "table_selected_box_cells_fg": theme_light_blue["table_selected_box_cells_fg"],
153
156
  "table_selected_box_rows_fg": theme_light_blue["table_selected_box_rows_fg"],
154
157
  "table_selected_box_columns_fg": theme_light_blue["table_selected_box_columns_fg"],
tksheet/themes.py CHANGED
@@ -46,6 +46,9 @@ theme_light_blue: dict[str, str] = DotDict({
46
46
  "table_selected_columns_border_fg": "#0B57D0",
47
47
  "table_selected_columns_bg": "#E6EFFD",
48
48
  "table_selected_columns_fg": "black",
49
+ "tree_arrow_fg": "#C4C7C5",
50
+ "selected_cells_tree_arrow_fg": "#D3E3FD",
51
+ "selected_rows_tree_arrow_fg": "#FFFFFF",
49
52
  "vertical_scroll_background": "#FFFFFF",
50
53
  "horizontal_scroll_background": "#FFFFFF",
51
54
  "vertical_scroll_troughcolor": "#f9fbfd",
@@ -118,6 +121,9 @@ theme_light_green: dict[str, str] = DotDict({
118
121
  "table_selected_columns_border_fg": "#217346",
119
122
  "table_selected_columns_bg": "#E3E3E3",
120
123
  "table_selected_columns_fg": "black",
124
+ "tree_arrow_fg": "#ababab",
125
+ "selected_cells_tree_arrow_fg": "#217346",
126
+ "selected_rows_tree_arrow_fg": "#217346",
121
127
  "vertical_scroll_background": "#FFFFFF",
122
128
  "horizontal_scroll_background": "#FFFFFF",
123
129
  "vertical_scroll_troughcolor": "#f1f1f1",
@@ -190,6 +196,9 @@ theme_dark: dict[str, str] = DotDict({
190
196
  "table_selected_columns_border_fg": "#4489F7",
191
197
  "table_selected_columns_bg": "#404040",
192
198
  "table_selected_columns_fg": "#F7F7F7",
199
+ "tree_arrow_fg": "#8C8C8C",
200
+ "selected_cells_tree_arrow_fg": "#6aa2fc",
201
+ "selected_rows_tree_arrow_fg": "white",
193
202
  "vertical_scroll_background": "#3b3b3d",
194
203
  "horizontal_scroll_background": "#3b3b3d",
195
204
  "vertical_scroll_troughcolor": "#000000",
@@ -262,6 +271,9 @@ theme_black: dict[str, str] = DotDict({
262
271
  "table_selected_columns_border_fg": "#FBB86C",
263
272
  "table_selected_columns_bg": "#404040",
264
273
  "table_selected_columns_fg": "#F7F7F7",
274
+ "tree_arrow_fg": "#8C8C8C",
275
+ "selected_cells_tree_arrow_fg": "#8C8C8C",
276
+ "selected_rows_tree_arrow_fg": "#8C8C8C",
265
277
  "vertical_scroll_background": "#3b3a39",
266
278
  "horizontal_scroll_background": "#3b3a39",
267
279
  "vertical_scroll_troughcolor": "#000000",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tksheet
3
- Version: 7.1.20
3
+ Version: 7.1.21
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=weNGFG5IXM4WSPAU17cMCzgKkKc86x_HjNjEa7t4TYc,2044
2
+ tksheet/colors.py,sha256=1k06VorynLmnC4FdJg8H4reIA6rXaeXBpdMwXLhN8oc,51594
3
+ tksheet/column_headers.py,sha256=9AlPQ9xLcheivOjOlH1be35ddlzKSpcB0xRru4rAADw,100677
4
+ tksheet/formatters.py,sha256=DXif00aq9DgFpXwkbiqD86KxtDg0Meop51hLY-KcGNQ,10037
5
+ tksheet/functions.py,sha256=Vm_tCPCaos8C_or_70OGpSrXKmFnE8OxODchfrUJBMM,40281
6
+ tksheet/main_table.py,sha256=o70LTXPh-WBGdgOCNn2cjZVYm_73xG2RpVaJUGjmTXw,320166
7
+ tksheet/other_classes.py,sha256=P3FYUYreLhstATvHCNow8sDQoCsD_02KB6oXcca3ahE,13628
8
+ tksheet/row_index.py,sha256=G-g7iZQ4fn8oLHmTnW_HjrB-xVxqyxPcnh7ks77AYvs,107050
9
+ tksheet/sheet.py,sha256=TLWV_C-C3XiweHbPdskCnT9v6Zr6Dxym2Ijv-CULgWs,260302
10
+ tksheet/sheet_options.py,sha256=5xYIQkixisCjt0kid38jpOt7yo8-zokBPahc9YgWbuA,12231
11
+ tksheet/text_editor.py,sha256=81_IZKrTVa2KIx2cJ4n3cFvFMAwvbHIQYgqtyat-97I,6681
12
+ tksheet/themes.py,sha256=aGbxbnOdsx0uZrsQlHfS6KlmEfk07Z3MqTv2WzH2oH8,14000
13
+ tksheet/top_left_rectangle.py,sha256=-2u9GfOvcqhkKwHEtbqdFvXCY3RbvL5k2Sh9l3r_k04,8275
14
+ tksheet/types.py,sha256=IgoEHMbceKpakcZtanxKaKJ4RdCq7UW6EoEIIz5O59k,340
15
+ tksheet/vars.py,sha256=Nb0mhxJt-SXipi3cE9J9Ea1H1iPqC8PRvUR9CqqMlVA,3062
16
+ tksheet-7.1.21.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
17
+ tksheet-7.1.21.dist-info/METADATA,sha256=G5dscWBXHwXVBoiQYnPEYXZ--Ys6-ihXjlULxwbV4co,6032
18
+ tksheet-7.1.21.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
19
+ tksheet-7.1.21.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
20
+ tksheet-7.1.21.dist-info/RECORD,,
@@ -1,20 +0,0 @@
1
- tksheet/__init__.py,sha256=n15iE0L6zsiYW5IhLE5m3yb867QM9gl2SBrdQk_bjLc,2044
2
- tksheet/colors.py,sha256=1k06VorynLmnC4FdJg8H4reIA6rXaeXBpdMwXLhN8oc,51594
3
- tksheet/column_headers.py,sha256=Kzu_nIMt3oFZO6F00iHBmjv5L0STsVN7Gc34wzwKDJ4,100785
4
- tksheet/formatters.py,sha256=DXif00aq9DgFpXwkbiqD86KxtDg0Meop51hLY-KcGNQ,10037
5
- tksheet/functions.py,sha256=Vm_tCPCaos8C_or_70OGpSrXKmFnE8OxODchfrUJBMM,40281
6
- tksheet/main_table.py,sha256=DrRC3WLGiS6JkAS4Ir-8c1n_4C4l4Coe6jb45Uceekc,320235
7
- tksheet/other_classes.py,sha256=P3FYUYreLhstATvHCNow8sDQoCsD_02KB6oXcca3ahE,13628
8
- tksheet/row_index.py,sha256=57cWphhUGsghh9UiHtAHi0m9S403-9MrYiMtTzK7h8E,106014
9
- tksheet/sheet.py,sha256=TLWV_C-C3XiweHbPdskCnT9v6Zr6Dxym2Ijv-CULgWs,260302
10
- tksheet/sheet_options.py,sha256=mh0rTvWrFvIKaiv88jtMZy0TSA8zTS1GXSe88u8_rzk,11978
11
- tksheet/text_editor.py,sha256=81_IZKrTVa2KIx2cJ4n3cFvFMAwvbHIQYgqtyat-97I,6681
12
- tksheet/themes.py,sha256=0XY97zB9e26edyxMWutofNarNon8Pp5lpprHYeL_4b0,13490
13
- tksheet/top_left_rectangle.py,sha256=-2u9GfOvcqhkKwHEtbqdFvXCY3RbvL5k2Sh9l3r_k04,8275
14
- tksheet/types.py,sha256=IgoEHMbceKpakcZtanxKaKJ4RdCq7UW6EoEIIz5O59k,340
15
- tksheet/vars.py,sha256=Nb0mhxJt-SXipi3cE9J9Ea1H1iPqC8PRvUR9CqqMlVA,3062
16
- tksheet-7.1.20.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
17
- tksheet-7.1.20.dist-info/METADATA,sha256=C_WIADFKe41LVlFXKzK7QFO6vQIi0ym2Uk40WiNx9zM,6032
18
- tksheet-7.1.20.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
19
- tksheet-7.1.20.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
20
- tksheet-7.1.20.dist-info/RECORD,,