tksheet 7.1.20__py3-none-any.whl → 7.1.22__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_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"],
@@ -234,7 +237,7 @@ def new_sheet_options() -> DotDict:
234
237
  "display_selected_fg_over_highlights": False,
235
238
  "show_selected_cells_border": True,
236
239
  "treeview": False,
237
- "treeview_indent": "3",
240
+ "treeview_indent": "6",
238
241
  "rounded_boxes": True,
239
242
  "alternate_color": "",
240
243
  }
tksheet/text_editor.py CHANGED
@@ -119,11 +119,7 @@ class TextEditorTkText(tk.Text):
119
119
  self.event_generate("<<TextModified>>")
120
120
  if args and len(args) > 1 and args[1] != "\n" and args != ("1.0", "end"):
121
121
  if self.yview() != (0.0, 1.0) and self.newline_bindng is not None:
122
- self.newline_bindng(
123
- r=self.parent.r,
124
- c=self.parent.c,
125
- check_lines=False,
126
- )
122
+ self.newline_bindng(check_lines=False)
127
123
  return result
128
124
 
129
125
  def rc(self, event: object) -> None:
tksheet/themes.py CHANGED
@@ -34,7 +34,7 @@ theme_light_blue: dict[str, str] = DotDict({
34
34
  "table_selected_cells_bg": "#E6EFFD",
35
35
  "table_selected_cells_fg": "black",
36
36
  "resizing_line_fg": "black",
37
- "drag_and_drop_bg": "black",
37
+ "drag_and_drop_bg": "#0B57D0",
38
38
  "outline_color": "gray2",
39
39
  "header_selected_columns_bg": "#0B57D0",
40
40
  "header_selected_columns_fg": "#FFFFFF",
@@ -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",
@@ -92,32 +95,35 @@ theme_light_green: dict[str, str] = DotDict({
92
95
  "index_grid_fg": "#ababab",
93
96
  "index_fg": "black",
94
97
  "index_selected_cells_bg": "#d6d4d2",
95
- "index_selected_cells_fg": "#217346",
98
+ "index_selected_cells_fg": "#107C41",
96
99
  "top_left_bg": "#ECECEC",
97
100
  "top_left_fg": "#b7b7b7",
98
101
  "top_left_fg_highlight": "#5f6368",
99
102
  "table_bg": "#FFFFFF",
100
103
  "table_grid_fg": "#bfbfbf",
101
104
  "table_fg": "black",
102
- "table_selected_box_cells_fg": "#217346",
103
- "table_selected_box_rows_fg": "#217346",
104
- "table_selected_box_columns_fg": "#217346",
105
- "table_selected_cells_border_fg": "#217346",
105
+ "table_selected_box_cells_fg": "#107C41",
106
+ "table_selected_box_rows_fg": "#107C41",
107
+ "table_selected_box_columns_fg": "#107C41",
108
+ "table_selected_cells_border_fg": "#107C41",
106
109
  "table_selected_cells_bg": "#E3E3E3",
107
110
  "table_selected_cells_fg": "black",
108
111
  "resizing_line_fg": "black",
109
- "drag_and_drop_bg": "black",
112
+ "drag_and_drop_bg": "#107C41",
110
113
  "outline_color": "gray2",
111
- "header_selected_columns_bg": "#d3f0e0",
112
- "header_selected_columns_fg": "#217346",
113
- "index_selected_rows_bg": "#d3f0e0",
114
- "index_selected_rows_fg": "#217346",
115
- "table_selected_rows_border_fg": "#217346",
114
+ "header_selected_columns_bg": "#107C41",
115
+ "header_selected_columns_fg": "#FFFFFF",
116
+ "index_selected_rows_bg": "#107C41",
117
+ "index_selected_rows_fg": "#FFFFFF",
118
+ "table_selected_rows_border_fg": "#107C41",
116
119
  "table_selected_rows_bg": "#E3E3E3",
117
120
  "table_selected_rows_fg": "black",
118
- "table_selected_columns_border_fg": "#217346",
121
+ "table_selected_columns_border_fg": "#107C41",
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": "#107C41",
126
+ "selected_rows_tree_arrow_fg": "#FFFFFF",
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",
@@ -290,32 +302,41 @@ theme_black: dict[str, str] = DotDict({
290
302
  "horizontal_scroll_pressed_fg": "#a0a0a0",
291
303
  })
292
304
 
293
- theme_dark_blue: dict[str, str] = DotDict(theme_black.copy())
294
- theme_dark_blue["header_fg"] = "#6ACAD8"
295
- theme_dark_blue["header_selected_cells_fg"] = "#6ACAD8"
296
- theme_dark_blue["index_fg"] = "#6ACAD8"
297
- theme_dark_blue["index_selected_cells_fg"] = "#6ACAD8"
298
- theme_dark_blue["top_left_fg_highlight"] = "#6ACAD8"
299
- theme_dark_blue["table_selected_box_cells_fg"] = "#6ACAD8"
300
- theme_dark_blue["table_selected_box_rows_fg"] = "#6ACAD8"
301
- theme_dark_blue["table_selected_box_columns_fg"] = "#6ACAD8"
302
- theme_dark_blue["table_selected_cells_border_fg"] = "#6ACAD8"
303
- theme_dark_blue["header_selected_columns_bg"] = "#6ACAD8"
304
- theme_dark_blue["index_selected_rows_bg"] = "#6ACAD8"
305
- theme_dark_blue["table_selected_rows_border_fg"] = "#6ACAD8"
306
- theme_dark_blue["table_selected_columns_border_fg"] = "#6ACAD8"
305
+ theme_dark_blue: dict[str, str] = DotDict(theme_dark.copy())
306
+ theme_dark_blue["top_left_fg_highlight"] = "#94EBEB"
307
+ theme_dark_blue["table_selected_box_cells_fg"] = "#94EBEB"
308
+ theme_dark_blue["table_selected_box_rows_fg"] = "#94EBEB"
309
+ theme_dark_blue["table_selected_box_columns_fg"] = "#94EBEB"
310
+ theme_dark_blue["table_selected_cells_border_fg"] = "#94EBEB"
311
+ theme_dark_blue["table_selected_rows_border_fg"] = "#94EBEB"
312
+ theme_dark_blue["table_selected_columns_border_fg"] = "#94EBEB"
313
+ theme_dark_blue["header_fg"] = "#94EBEB"
314
+ theme_dark_blue["header_selected_cells_fg"] = "#94EBEB"
315
+ theme_dark_blue["header_selected_columns_fg"] = "#000000"
316
+ theme_dark_blue["header_selected_columns_bg"] = "#94EBEB"
317
+ theme_dark_blue["index_fg"] = "#94EBEB"
318
+ theme_dark_blue["index_selected_rows_bg"] = "#94EBEB"
319
+ theme_dark_blue["index_selected_rows_fg"] = "#000000"
320
+ theme_dark_blue["index_selected_cells_fg"] = "#94EBEB"
321
+ theme_dark_blue["selected_rows_tree_arrow_fg"] = "#000000"
322
+ theme_dark_blue["selected_cells_tree_arrow_fg"] = "#94EBEB"
323
+
307
324
 
308
- theme_dark_green: dict[str, str] = DotDict(theme_black.copy())
325
+ theme_dark_green: dict[str, str] = DotDict(theme_dark.copy())
309
326
  theme_dark_green["header_fg"] = "#66FFBF"
310
327
  theme_dark_green["header_selected_cells_fg"] = "#66FFBF"
311
328
  theme_dark_green["index_fg"] = "#66FFBF"
312
329
  theme_dark_green["index_selected_cells_fg"] = "#66FFBF"
313
330
  theme_dark_green["top_left_fg_highlight"] = "#66FFBF"
314
331
  theme_dark_green["table_selected_box_cells_fg"] = "#66FFBF"
315
- theme_dark_blue["table_selected_box_rows_fg"] = "#66FFBF"
316
- theme_dark_blue["table_selected_box_columns_fg"] = "#66FFBF"
332
+ theme_dark_green["table_selected_box_rows_fg"] = "#66FFBF"
333
+ theme_dark_green["table_selected_box_columns_fg"] = "#66FFBF"
317
334
  theme_dark_green["table_selected_cells_border_fg"] = "#66FFBF"
318
335
  theme_dark_green["header_selected_columns_bg"] = "#66FFBF"
336
+ theme_dark_green["header_selected_columns_fg"] = "#000000"
319
337
  theme_dark_green["index_selected_rows_bg"] = "#66FFBF"
338
+ theme_dark_green["index_selected_rows_fg"] = "#000000"
320
339
  theme_dark_green["table_selected_rows_border_fg"] = "#66FFBF"
321
340
  theme_dark_green["table_selected_columns_border_fg"] = "#66FFBF"
341
+ theme_dark_green["selected_rows_tree_arrow_fg"] = "#000000"
342
+ theme_dark_green["selected_cells_tree_arrow_fg"] = "#000000"
tksheet/vars.py CHANGED
@@ -10,7 +10,7 @@ nonelike: set[object] = {None, "none", ""}
10
10
  truthy: set[object] = {True, "true", "t", "yes", "y", "on", "1", 1, 1.0}
11
11
  falsy: set[object] = {False, "false", "f", "no", "n", "off", "0", 0, 0.0}
12
12
 
13
- val_modifying_options: set[str, str, str] = {"checkbox", "format", "dropdown"}
13
+ val_modifying_options: set[str] = {"checkbox", "format", "dropdown"}
14
14
 
15
15
  named_span_types: set[str] = {
16
16
  "format",
@@ -25,22 +25,35 @@ emitted_events: set[str] = {
25
25
  "<<SheetModified>>",
26
26
  "<<SheetRedrawn>>",
27
27
  "<<SheetSelect>>",
28
+ "<<Copy>>",
29
+ "<<Cut>>",
30
+ "<<Paste>>",
31
+ "<<Delete>>",
32
+ "<<Undo>>",
33
+ "<<Redo>>",
34
+ "<<SelectAll>>",
28
35
  }
29
36
 
30
37
  backwards_compatibility_keys: dict[str, str] = {
31
38
  "font": "table_font",
32
39
  }
33
40
 
34
- text_editor_to_unbind: tuple[str] = (
41
+ text_editor_newline_bindings: set[str] = {
35
42
  "<Alt-Return>",
36
43
  "<Alt-KP_Enter>",
37
- "<Option-Return>",
38
- "<Tab>",
39
- "<Return>",
40
- "<KP_Enter>",
41
- "<FocusOut>",
42
- "<Escape>",
43
- )
44
+ "<Shift-Return>",
45
+ }
46
+ if USER_OS == "darwin":
47
+ text_editor_newline_bindings.add("<Option-Return>")
48
+
49
+ text_editor_close_bindings: dict[str, str] = {
50
+ "<Tab>": "Tab",
51
+ "<Return>": "Return",
52
+ "<KP_Enter>": "Return",
53
+ "<Escape>": "Escape",
54
+ }
55
+
56
+ text_editor_to_unbind: set[str] = text_editor_newline_bindings | set(text_editor_close_bindings) | {"<FocusOut>"}
44
57
 
45
58
  scrollbar_options_keys: set[str] = {
46
59
  "vertical_scroll_background",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tksheet
3
- Version: 7.1.20
3
+ Version: 7.1.22
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
@@ -101,10 +101,10 @@ sheet.insert_columns(columns=2, idx=4, undo=True)
101
101
  sheet.delete_columns(columns=[0, 3], undo=True)
102
102
  ```
103
103
 
104
- ### **light blue theme**
104
+ ### **light green theme**
105
105
 
106
- ![tksheet light blue theme](https://i.imgur.com/ojU3IQi.jpeg)
106
+ ![tksheet light green theme](https://github.com/ragardner/tksheet/assets/26602401/790ee9bd-b4de-48df-8c44-33f303061d84)
107
107
 
108
- ### **black theme**
108
+ ### **dark theme**
109
109
 
110
- ![tksheet black theme](https://i.imgur.com/JeF9vJe.jpeg)
110
+ ![tksheet dark theme](https://github.com/ragardner/tksheet/assets/26602401/fc8a0407-1486-46cf-b852-9bcff23160e5)
@@ -0,0 +1,20 @@
1
+ tksheet/__init__.py,sha256=WycEvqmjym6j4M6uhjfRP1epMXGkfU87U08AeMbavAI,2125
2
+ tksheet/colors.py,sha256=1k06VorynLmnC4FdJg8H4reIA6rXaeXBpdMwXLhN8oc,51594
3
+ tksheet/column_headers.py,sha256=cWTHyYaA5nNMfT6WyFJB0lyeNQFRVXZPbX9C-lLH4Yg,100770
4
+ tksheet/formatters.py,sha256=DXif00aq9DgFpXwkbiqD86KxtDg0Meop51hLY-KcGNQ,10037
5
+ tksheet/functions.py,sha256=rNfDpQRoXZm_Ro-tlF92ox3fi37p71Mio1PGTreM_oc,40835
6
+ tksheet/main_table.py,sha256=Z9ih53-4t2OoPyIbXczSSPiIt3oCBzR7UQJF9l3dfFg,322148
7
+ tksheet/other_classes.py,sha256=P3FYUYreLhstATvHCNow8sDQoCsD_02KB6oXcca3ahE,13628
8
+ tksheet/row_index.py,sha256=6J72VDTufsoPCxhmH4C-ARPcy0Qq5QaXq4erQXPLosE,107058
9
+ tksheet/sheet.py,sha256=07BGVsrBYV1xviJ7quKnmZA-QwLVJV6CcbAYz23Llp4,264445
10
+ tksheet/sheet_options.py,sha256=rf1xtaZdGnJYSgR_sFsYlGSEj3bYHpSm15CH2aZETUo,12231
11
+ tksheet/text_editor.py,sha256=DGFgukHZ5gruA_hWN1cuhv88z0nR5316xGynx3OioWQ,6548
12
+ tksheet/themes.py,sha256=IeOgexzqgEM11i8Ie3awIL7nH9DVm65eW4XCcrRK9HE,14480
13
+ tksheet/top_left_rectangle.py,sha256=-2u9GfOvcqhkKwHEtbqdFvXCY3RbvL5k2Sh9l3r_k04,8275
14
+ tksheet/types.py,sha256=IgoEHMbceKpakcZtanxKaKJ4RdCq7UW6EoEIIz5O59k,340
15
+ tksheet/vars.py,sha256=86ubZZElsnQuC6Lv6bW2lt2NhD9wAp6PxtkK7ufKqq0,3452
16
+ tksheet-7.1.22.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
17
+ tksheet-7.1.22.dist-info/METADATA,sha256=fPSQKrzQyNTD_TImpXq5a2Baaj0VOpchtk9nUGavYGw,6146
18
+ tksheet-7.1.22.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
19
+ tksheet-7.1.22.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
20
+ tksheet-7.1.22.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,,