tksheet 7.4.7__py3-none-any.whl → 7.4.8__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.4.7"
7
+ __version__ = "7.4.8"
8
8
 
9
9
  from .colors import (
10
10
  color_map,
tksheet/column_headers.py CHANGED
@@ -899,6 +899,7 @@ class ColumnHeaders(tk.Canvas):
899
899
  value=val,
900
900
  event_data=event_data,
901
901
  )
902
+ event_data = self.MT.bulk_edit_validation(event_data)
902
903
  if event_data["cells"]["table"]:
903
904
  if undo and self.MT.undo_enabled:
904
905
  self.MT.undo_stack.append(stored_event_dict(event_data))
@@ -959,6 +960,7 @@ class ColumnHeaders(tk.Canvas):
959
960
  move_data=True,
960
961
  create_selections=False,
961
962
  event_data=event_data,
963
+ manage_tree=False,
962
964
  )
963
965
  else:
964
966
  data_new_idxs, disp_new_idxs, _ = self.PAR.mapping_move_rows(
tksheet/constants.py CHANGED
@@ -150,3 +150,198 @@ bind_del_rows: set[str] = {
150
150
  "delete rows",
151
151
  "del rows",
152
152
  }
153
+
154
+ BINDING_TO_ATTR = {
155
+ "replace_all": ("MT", "extra_end_replace_all_func"),
156
+ # begin sort cells
157
+ "begin_sort_cells": ("MT", "extra_begin_sort_cells_func"),
158
+ # end sort cells
159
+ "sort_cells": ("MT", "extra_end_sort_cells_func"),
160
+ "end_sort_cells": ("MT", "extra_end_sort_cells_func"),
161
+ # begin sort rows
162
+ "begin_sort_rows": ("CH", "ch_extra_begin_sort_rows_func"),
163
+ # end sort rows
164
+ "sort_rows": ("CH", "ch_extra_end_sort_rows_func"),
165
+ "end_sort_rows": ("CH", "ch_extra_end_sort_rows_func"),
166
+ # begin sort cols
167
+ "begin_sort_columns": ("RI", "ri_extra_begin_sort_cols_func"),
168
+ # end sort cols
169
+ "sort_columns": ("RI", "ri_extra_end_sort_cols_func"),
170
+ "end_sort_columns": ("RI", "ri_extra_end_sort_cols_func"),
171
+ # begin copy
172
+ "begin_copy": ("MT", "extra_begin_ctrl_c_func"),
173
+ "begin_ctrl_c": ("MT", "extra_begin_ctrl_c_func"),
174
+ # end copy
175
+ "ctrl_c": ("MT", "extra_end_ctrl_c_func"),
176
+ "end_copy": ("MT", "extra_end_ctrl_c_func"),
177
+ "end_ctrl_c": ("MT", "extra_end_ctrl_c_func"),
178
+ "copy": ("MT", "extra_end_ctrl_c_func"),
179
+ # begin cut
180
+ "begin_cut": ("MT", "extra_begin_ctrl_x_func"),
181
+ "begin_ctrl_x": ("MT", "extra_begin_ctrl_x_func"),
182
+ # end cut
183
+ "ctrl_x": ("MT", "extra_end_ctrl_x_func"),
184
+ "end_cut": ("MT", "extra_end_ctrl_x_func"),
185
+ "end_ctrl_x": ("MT", "extra_end_ctrl_x_func"),
186
+ "cut": ("MT", "extra_end_ctrl_x_func"),
187
+ # begin paste
188
+ "begin_paste": ("MT", "extra_begin_ctrl_v_func"),
189
+ "begin_ctrl_v": ("MT", "extra_begin_ctrl_v_func"),
190
+ # end paste
191
+ "ctrl_v": ("MT", "extra_end_ctrl_v_func"),
192
+ "end_paste": ("MT", "extra_end_ctrl_v_func"),
193
+ "end_ctrl_v": ("MT", "extra_end_ctrl_v_func"),
194
+ "paste": ("MT", "extra_end_ctrl_v_func"),
195
+ # begin undo/redo
196
+ "begin_undo": ("MT", "extra_begin_ctrl_z_func"),
197
+ "begin_ctrl_z": ("MT", "extra_begin_ctrl_z_func"),
198
+ # end undo/redo
199
+ "ctrl_z": ("MT", "extra_end_ctrl_z_func"),
200
+ "end_undo": ("MT", "extra_end_ctrl_z_func"),
201
+ "end_ctrl_z": ("MT", "extra_end_ctrl_z_func"),
202
+ "undo": ("MT", "extra_end_ctrl_z_func"),
203
+ # begin del key
204
+ "begin_delete_key": ("MT", "extra_begin_delete_key_func"),
205
+ "begin_delete": ("MT", "extra_begin_delete_key_func"),
206
+ # end del key
207
+ "delete_key": ("MT", "extra_end_delete_key_func"),
208
+ "end_delete": ("MT", "extra_end_delete_key_func"),
209
+ "end_delete_key": ("MT", "extra_end_delete_key_func"),
210
+ "delete": ("MT", "extra_end_delete_key_func"),
211
+ # begin edit table
212
+ "begin_edit_cell": ("MT", "extra_begin_edit_cell_func"),
213
+ "begin_edit_table": ("MT", "extra_begin_edit_cell_func"),
214
+ # end edit table
215
+ "end_edit_cell": ("MT", "extra_end_edit_cell_func"),
216
+ "edit_cell": ("MT", "extra_end_edit_cell_func"),
217
+ "edit_table": ("MT", "extra_end_edit_cell_func"),
218
+ # begin edit header
219
+ "begin_edit_header": ("CH", "extra_begin_edit_cell_func"),
220
+ # end edit header
221
+ "end_edit_header": ("CH", "extra_end_edit_cell_func"),
222
+ "edit_header": ("CH", "extra_end_edit_cell_func"),
223
+ # begin edit index
224
+ "begin_edit_index": ("RI", "extra_begin_edit_cell_func"),
225
+ # end edit index
226
+ "end_edit_index": ("RI", "extra_end_edit_cell_func"),
227
+ "edit_index": ("RI", "extra_end_edit_cell_func"),
228
+ # begin move rows
229
+ "begin_row_index_drag_drop": ("RI", "ri_extra_begin_drag_drop_func"),
230
+ "begin_move_rows": ("RI", "ri_extra_begin_drag_drop_func"),
231
+ # end move rows
232
+ "row_index_drag_drop": ("RI", "ri_extra_end_drag_drop_func"),
233
+ "move_rows": ("RI", "ri_extra_end_drag_drop_func"),
234
+ "end_move_rows": ("RI", "ri_extra_end_drag_drop_func"),
235
+ "end_row_index_drag_drop": ("RI", "ri_extra_end_drag_drop_func"),
236
+ # begin move cols
237
+ "begin_column_header_drag_drop": ("CH", "ch_extra_begin_drag_drop_func"),
238
+ "begin_move_columns": ("CH", "ch_extra_begin_drag_drop_func"),
239
+ # end move cols
240
+ "column_header_drag_drop": ("CH", "ch_extra_end_drag_drop_func"),
241
+ "move_columns": ("CH", "ch_extra_end_drag_drop_func"),
242
+ "end_move_columns": ("CH", "ch_extra_end_drag_drop_func"),
243
+ "end_column_header_drag_drop": ("CH", "ch_extra_end_drag_drop_func"),
244
+ # begin del rows
245
+ "begin_rc_delete_row": ("MT", "extra_begin_del_rows_rc_func"),
246
+ "begin_delete_rows": ("MT", "extra_begin_del_rows_rc_func"),
247
+ # end del rows
248
+ "rc_delete_row": ("MT", "extra_end_del_rows_rc_func"),
249
+ "end_rc_delete_row": ("MT", "extra_end_del_rows_rc_func"),
250
+ "end_delete_rows": ("MT", "extra_end_del_rows_rc_func"),
251
+ "delete_rows": ("MT", "extra_end_del_rows_rc_func"),
252
+ # begin del cols
253
+ "begin_rc_delete_column": ("MT", "extra_begin_del_cols_rc_func"),
254
+ "begin_delete_columns": ("MT", "extra_begin_del_cols_rc_func"),
255
+ # end del cols
256
+ "rc_delete_column": ("MT", "extra_end_del_cols_rc_func"),
257
+ "end_rc_delete_column": ("MT", "extra_end_del_cols_rc_func"),
258
+ "end_delete_columns": ("MT", "extra_end_del_cols_rc_func"),
259
+ "delete_columns": ("MT", "extra_end_del_cols_rc_func"),
260
+ # begin add cols
261
+ "begin_rc_insert_column": ("MT", "extra_begin_insert_cols_rc_func"),
262
+ "begin_insert_column": ("MT", "extra_begin_insert_cols_rc_func"),
263
+ "begin_insert_columns": ("MT", "extra_begin_insert_cols_rc_func"),
264
+ "begin_add_column": ("MT", "extra_begin_insert_cols_rc_func"),
265
+ "begin_rc_add_column": ("MT", "extra_begin_insert_cols_rc_func"),
266
+ "begin_add_columns": ("MT", "extra_begin_insert_cols_rc_func"),
267
+ # end add cols
268
+ "rc_insert_column": ("MT", "extra_end_insert_cols_rc_func"),
269
+ "end_rc_insert_column": ("MT", "extra_end_insert_cols_rc_func"),
270
+ "end_insert_column": ("MT", "extra_end_insert_cols_rc_func"),
271
+ "end_insert_columns": ("MT", "extra_end_insert_cols_rc_func"),
272
+ "rc_add_column": ("MT", "extra_end_insert_cols_rc_func"),
273
+ "end_rc_add_column": ("MT", "extra_end_insert_cols_rc_func"),
274
+ "end_add_column": ("MT", "extra_end_insert_cols_rc_func"),
275
+ "end_add_columns": ("MT", "extra_end_insert_cols_rc_func"),
276
+ "add_columns": ("MT", "extra_end_insert_cols_rc_func"),
277
+ # begin add rows
278
+ "begin_rc_insert_row": ("MT", "extra_begin_insert_rows_rc_func"),
279
+ "begin_insert_row": ("MT", "extra_begin_insert_rows_rc_func"),
280
+ "begin_insert_rows": ("MT", "extra_begin_insert_rows_rc_func"),
281
+ "begin_rc_add_row": ("MT", "extra_begin_insert_rows_rc_func"),
282
+ "begin_add_row": ("MT", "extra_begin_insert_rows_rc_func"),
283
+ "begin_add_rows": ("MT", "extra_begin_insert_rows_rc_func"),
284
+ # end add rows
285
+ "rc_insert_row": ("MT", "extra_end_insert_rows_rc_func"),
286
+ "end_rc_insert_row": ("MT", "extra_end_insert_rows_rc_func"),
287
+ "end_insert_row": ("MT", "extra_end_insert_rows_rc_func"),
288
+ "end_insert_rows": ("MT", "extra_end_insert_rows_rc_func"),
289
+ "rc_add_row": ("MT", "extra_end_insert_rows_rc_func"),
290
+ "end_rc_add_row": ("MT", "extra_end_insert_rows_rc_func"),
291
+ "end_add_row": ("MT", "extra_end_insert_rows_rc_func"),
292
+ "end_add_rows": ("MT", "extra_end_insert_rows_rc_func"),
293
+ "add_rows": ("MT", "extra_end_insert_rows_rc_func"),
294
+ # resize
295
+ "row_height_resize": ("RI", "row_height_resize_func"),
296
+ "column_width_resize": ("CH", "column_width_resize_func"),
297
+ # selection
298
+ "cell_select": ("MT", "selection_binding_func"),
299
+ "select_all": ("MT", "select_all_binding_func"),
300
+ "all_select": ("MT", "select_all_binding_func"),
301
+ "row_select": ("RI", "selection_binding_func"),
302
+ "column_select": ("CH", "selection_binding_func"),
303
+ "col_select": ("CH", "selection_binding_func"),
304
+ "drag_select_cells": ("MT", "drag_selection_binding_func"),
305
+ "drag_select_rows": ("RI", "drag_selection_binding_func"),
306
+ "drag_select_columns": ("CH", "drag_selection_binding_func"),
307
+ "shift_cell_select": ("MT", "shift_selection_binding_func"),
308
+ "shift_row_select": ("RI", "shift_selection_binding_func"),
309
+ "shift_column_select": ("CH", "shift_selection_binding_func"),
310
+ "ctrl_cell_select": ("MT", "ctrl_selection_binding_func"),
311
+ "ctrl_row_select": ("RI", "ctrl_selection_binding_func"),
312
+ "ctrl_column_select": ("CH", "ctrl_selection_binding_func"),
313
+ "deselect": ("MT", "deselection_binding_func"),
314
+ }
315
+
316
+ MODIFIED_BINDINGS = [
317
+ ("MT", "extra_end_replace_all_func"),
318
+ ("MT", "extra_end_sort_cells_func"),
319
+ ("CH", "ch_extra_end_sort_rows_func"),
320
+ ("RI", "ri_extra_end_sort_cols_func"),
321
+ ("MT", "extra_end_ctrl_c_func"),
322
+ ("MT", "extra_end_ctrl_x_func"),
323
+ ("MT", "extra_end_ctrl_v_func"),
324
+ ("MT", "extra_end_ctrl_z_func"),
325
+ ("MT", "extra_end_delete_key_func"),
326
+ ("RI", "ri_extra_end_drag_drop_func"),
327
+ ("CH", "ch_extra_end_drag_drop_func"),
328
+ ("MT", "extra_end_del_rows_rc_func"),
329
+ ("MT", "extra_end_del_cols_rc_func"),
330
+ ("MT", "extra_end_insert_cols_rc_func"),
331
+ ("MT", "extra_end_insert_rows_rc_func"),
332
+ ("MT", "extra_end_edit_cell_func"),
333
+ ("CH", "extra_end_edit_cell_func"),
334
+ ("RI", "extra_end_edit_cell_func"),
335
+ ]
336
+
337
+ visited = set()
338
+ ALL_BINDINGS = []
339
+ SELECT_BINDINGS = []
340
+ for o, b in BINDING_TO_ATTR.values():
341
+ if b not in visited:
342
+ ALL_BINDINGS.append((o, b))
343
+ visited.add(b)
344
+ if "select" in b and (o, b) not in visited:
345
+ SELECT_BINDINGS.append((o, b))
346
+ visited.add((o, b))
347
+ visited = set()