Skip to content

Commit 832443e

Browse files
select_rows - New Table.Update parameter. Begin renaming class methods using _
1 parent a1095b8 commit 832443e

1 file changed

Lines changed: 26 additions & 25 deletions

File tree

PySimpleGUI.py

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import types
2020
import datetime
2121
import time
22-
import textwrap
2322
import pickle
2423
import calendar
2524
from random import randint
@@ -397,7 +396,7 @@ def __init__(self, type, size=(None, None), auto_size_text=None, font=None, back
397396
self.TKRightClickMenu = None
398397
self.Widget = None # Set when creating window. Has the main tkinter widget for element
399398

400-
def RightClickMenuCallback(self, event):
399+
def _RightClickMenuCallback(self, event):
401400
self.TKRightClickMenu.tk_popup(event.x_root, event.y_root, 0)
402401
self.TKRightClickMenu.grab_release()
403402

@@ -501,7 +500,7 @@ def TabGroupSelectHandler(self, event):
501500
if self.ParentForm.CurrentlyRunningMainloop:
502501
self.ParentForm.TKroot.quit()
503502

504-
def KeyboardHandler(self, event):
503+
def _KeyboardHandler(self, event):
505504
if self.Key is not None:
506505
self.ParentForm.LastButtonClicked = self.Key
507506
else:
@@ -510,7 +509,7 @@ def KeyboardHandler(self, event):
510509
if self.ParentForm.CurrentlyRunningMainloop:
511510
self.ParentForm.TKroot.quit()
512511

513-
def ClickHandler(self, event):
512+
def _ClickHandler(self, event):
514513
if self.Key is not None:
515514
self.ParentForm.LastButtonClicked = self.Key
516515
else:
@@ -3292,7 +3291,7 @@ def __init__(self, values, headings=None, visible_column_map=None, col_widths=No
32923291
self.DisplayRowNumbers = display_row_numbers
32933292
self.NumRows = num_rows if num_rows is not None else size[1]
32943293
self.RowHeight = row_height
3295-
self.TKTreeview = None
3294+
self.TKTreeview = None # type: ttk.Treeview
32963295
self.AlternatingRowColor = alternating_row_color
32973296
self.VerticalScrollOnly = vertical_scroll_only
32983297
self.HideVerticalScroll = hide_vertical_scroll
@@ -3308,7 +3307,7 @@ def __init__(self, values, headings=None, visible_column_map=None, col_widths=No
33083307
size=size, pad=pad, key=key, tooltip=tooltip, visible=visible)
33093308
return
33103309

3311-
def Update(self, values=None, num_rows=None, visible=None):
3310+
def Update(self, values=None, num_rows=None, visible=None, select_rows=None):
33123311
if values is not None:
33133312
children = self.TKTreeview.get_children()
33143313
for i in children:
@@ -3330,6 +3329,9 @@ def Update(self, values=None, num_rows=None, visible=None):
33303329
self.TKTreeview.pack()
33313330
if num_rows is not None:
33323331
self.TKTreeview.config(height=num_rows)
3332+
if select_rows is not None:
3333+
rows_to_select = [i+1 for i in select_rows]
3334+
self.TKTreeview.selection_set(rows_to_select)
33333335

33343336
def treeview_selected(self, event):
33353337
selections = self.TKTreeview.selection()
@@ -5148,7 +5150,7 @@ def CharWidthInPixels():
51485150
top_menu = tk.Menu(toplevel_form.TKroot, tearoff=False)
51495151
AddMenuItem(top_menu, menu[1], element)
51505152
element.TKRightClickMenu = top_menu
5151-
element.TKColFrame.bind('<Button-3>', element.RightClickMenuCallback)
5153+
element.TKColFrame.bind('<Button-3>', element._RightClickMenuCallback)
51525154
# ------------------------- Pane element ------------------------- #
51535155
if element_type == ELEM_TYPE_PANE:
51545156
bd = element.BorderDepth if element.BorderDepth is not None else border_depth
@@ -5227,7 +5229,7 @@ def CharWidthInPixels():
52275229
tktext_label.configure(background=element.BackgroundColor)
52285230
if element.TextColor != COLOR_SYSTEM_DEFAULT and element.TextColor is not None:
52295231
tktext_label.configure(fg=element.TextColor)
5230-
tktext_label.pack(side=tk.LEFT, padx=elementpad[0], pady=elementpad[1], expand=True)
5232+
tktext_label.pack(side=tk.LEFT, padx=elementpad[0], pady=elementpad[1])
52315233
if element.Visible is False:
52325234
tktext_label.pack_forget()
52335235
element.TKText = tktext_label
@@ -5240,7 +5242,7 @@ def CharWidthInPixels():
52405242
top_menu = tk.Menu(toplevel_form.TKroot, tearoff=False)
52415243
AddMenuItem(top_menu, menu[1], element)
52425244
element.TKRightClickMenu = top_menu
5243-
tktext_label.bind('<Button-3>', element.RightClickMenuCallback)
5245+
tktext_label.bind('<Button-3>', element._RightClickMenuCallback)
52445246
# ------------------------- BUTTON element ------------------------- #
52455247
elif element_type == ELEM_TYPE_BUTTON:
52465248
element = element # type: Button
@@ -5414,7 +5416,7 @@ def CharWidthInPixels():
54145416
textvariable=element.TKStringVar, bd=border_depth,
54155417
font=font, show=show, justify=justify)
54165418
if element.ChangeSubmits:
5417-
element.TKEntry.bind('<Key>', element.KeyboardHandler)
5419+
element.TKEntry.bind('<Key>', element._KeyboardHandler)
54185420
element.TKEntry.bind('<Return>', element.ReturnKeyHandler)
54195421
if element.BackgroundColor is not None and element.BackgroundColor != COLOR_SYSTEM_DEFAULT:
54205422
element.TKEntry.configure(background=element.BackgroundColor)
@@ -5435,7 +5437,7 @@ def CharWidthInPixels():
54355437
top_menu = tk.Menu(toplevel_form.TKroot, tearoff=False)
54365438
AddMenuItem(top_menu, menu[1], element)
54375439
element.TKRightClickMenu = top_menu
5438-
element.TKEntry.bind('<Button-3>', element.RightClickMenuCallback)
5440+
element.TKEntry.bind('<Button-3>', element._RightClickMenuCallback)
54395441
# ------------------------- COMBOBOX element ------------------------- #
54405442
elif element_type == ELEM_TYPE_INPUT_COMBO:
54415443
max_line_len = max([len(str(l)) for l in element.Values]) if len(element.Values) else 0
@@ -5584,7 +5586,7 @@ def CharWidthInPixels():
55845586
top_menu = tk.Menu(toplevel_form.TKroot, tearoff=False)
55855587
AddMenuItem(top_menu, menu[1], element)
55865588
element.TKRightClickMenu = top_menu
5587-
element.TKListbox.bind('<Button-3>', element.RightClickMenuCallback)
5589+
element.TKListbox.bind('<Button-3>', element._RightClickMenuCallback)
55885590
# ------------------------- MULTILINE element ------------------------- #
55895591
elif element_type == ELEM_TYPE_INPUT_MULTILINE:
55905592
element = element # type: Multiline
@@ -5603,7 +5605,7 @@ def CharWidthInPixels():
56035605
if element.Visible is False:
56045606
element.TKText.pack_forget()
56055607
if element.ChangeSubmits:
5606-
element.TKText.bind('<Key>', element.KeyboardHandler)
5608+
element.TKText.bind('<Key>', element._KeyboardHandler)
56075609
if element.EnterSubmits:
56085610
element.TKText.bind('<Return>', element.ReturnKeyHandler)
56095611
if element.Focus is True or (toplevel_form.UseDefaultFocus and not focus_set):
@@ -5620,7 +5622,7 @@ def CharWidthInPixels():
56205622
top_menu = tk.Menu(toplevel_form.TKroot, tearoff=False)
56215623
AddMenuItem(top_menu, menu[1], element)
56225624
element.TKRightClickMenu = top_menu
5623-
element.TKText.bind('<Button-3>', element.RightClickMenuCallback)
5625+
element.TKText.bind('<Button-3>', element._RightClickMenuCallback)
56245626
row_should_expand = True
56255627
# ------------------------- CHECKBOX element ------------------------- #
56265628
elif element_type == ELEM_TYPE_INPUT_CHECKBOX:
@@ -5757,7 +5759,7 @@ def CharWidthInPixels():
57575759
top_menu = tk.Menu(toplevel_form.TKroot, tearoff=False)
57585760
AddMenuItem(top_menu, menu[1], element)
57595761
element.TKRightClickMenu = top_menu
5760-
element._TKOut.bind('<Button-3>', element.RightClickMenuCallback)
5762+
element._TKOut.bind('<Button-3>', element._RightClickMenuCallback)
57615763
row_should_expand = True
57625764
# ------------------------- IMAGE element ------------------------- #
57635765
elif element_type == ELEM_TYPE_IMAGE:
@@ -5795,13 +5797,13 @@ def CharWidthInPixels():
57955797
element.TooltipObject = ToolTip(element.tktext_label, text=element.Tooltip,
57965798
timeout=DEFAULT_TOOLTIP_TIME)
57975799
if element.EnableEvents:
5798-
element.tktext_label.bind('<ButtonPress-1>', element.ClickHandler)
5800+
element.tktext_label.bind('<ButtonPress-1>', element._ClickHandler)
57995801
if element.RightClickMenu or toplevel_form.RightClickMenu:
58005802
menu = element.RightClickMenu or toplevel_form.RightClickMenu
58015803
top_menu = tk.Menu(toplevel_form.TKroot, tearoff=False)
58025804
AddMenuItem(top_menu, menu[1], element)
58035805
element.TKRightClickMenu = top_menu
5804-
element.tktext_label.bind('<Button-3>', element.RightClickMenuCallback)
5806+
element.tktext_label.bind('<Button-3>', element._RightClickMenuCallback)
58055807
# ------------------------- Canvas element ------------------------- #
58065808
elif element_type == ELEM_TYPE_CANVAS:
58075809
width, height = element_size
@@ -5823,7 +5825,7 @@ def CharWidthInPixels():
58235825
top_menu = tk.Menu(toplevel_form.TKroot, tearoff=False)
58245826
AddMenuItem(top_menu, menu[1], element)
58255827
element.TKRightClickMenu = top_menu
5826-
element._TKCanvas.bind('<Button-3>', element.RightClickMenuCallback)
5828+
element._TKCanvas.bind('<Button-3>', element._RightClickMenuCallback)
58275829
# ------------------------- Graph element ------------------------- #
58285830
elif element_type == ELEM_TYPE_GRAPH:
58295831
element = element # type: Graph
@@ -5857,7 +5859,7 @@ def CharWidthInPixels():
58575859
top_menu = tk.Menu(toplevel_form.TKroot, tearoff=False)
58585860
AddMenuItem(top_menu, menu[1], element)
58595861
element.TKRightClickMenu = top_menu
5860-
element._TKCanvas2.bind('<Button-3>', element.RightClickMenuCallback)
5862+
element._TKCanvas2.bind('<Button-3>', element._RightClickMenuCallback)
58615863
# ------------------------- MENUBAR element ------------------------- #
58625864
elif element_type == ELEM_TYPE_MENUBAR:
58635865
element = element # type: MenuBar
@@ -5910,7 +5912,7 @@ def CharWidthInPixels():
59105912
top_menu = tk.Menu(toplevel_form.TKroot, tearoff=False)
59115913
AddMenuItem(top_menu, menu[1], element)
59125914
element.TKRightClickMenu = top_menu
5913-
labeled_frame.bind('<Button-3>', element.RightClickMenuCallback)
5915+
labeled_frame.bind('<Button-3>', element._RightClickMenuCallback)
59145916
# ------------------------- Tab element ------------------------- #
59155917
elif element_type == ELEM_TYPE_TAB:
59165918
element.TKFrame = element.Widget = tk.Frame(form.TKNotebook)
@@ -5945,7 +5947,7 @@ def CharWidthInPixels():
59455947
top_menu = tk.Menu(toplevel_form.TKroot, tearoff=False)
59465948
AddMenuItem(top_menu, menu[1], element)
59475949
element.TKRightClickMenu = top_menu
5948-
element.TKFrame.bind('<Button-3>', element.RightClickMenuCallback)
5950+
element.TKFrame.bind('<Button-3>', element._RightClickMenuCallback)
59495951
# ------------------------- TabGroup element ------------------------- #
59505952
elif element_type == ELEM_TYPE_TAB_GROUP:
59515953

@@ -6144,7 +6146,7 @@ def CharWidthInPixels():
61446146
top_menu = tk.Menu(toplevel_form.TKroot, tearoff=False)
61456147
AddMenuItem(top_menu, menu[1], element)
61466148
element.TKRightClickMenu = top_menu
6147-
element.TKTreeview.bind('<Button-3>', element.RightClickMenuCallback)
6149+
element.TKTreeview.bind('<Button-3>', element._RightClickMenuCallback)
61486150
# ------------------------- Tree element ------------------------- #
61496151
elif element_type == ELEM_TYPE_TREE:
61506152
element = element # type: Tree
@@ -6230,7 +6232,7 @@ def add_treeview_data(node):
62306232
top_menu = tk.Menu(toplevel_form.TKroot, tearoff=False)
62316233
AddMenuItem(top_menu, menu[1], element)
62326234
element.TKRightClickMenu = top_menu
6233-
element.TKTreeview.bind('<Button-3>', element.RightClickMenuCallback)
6235+
element.TKTreeview.bind('<Button-3>', element._RightClickMenuCallback)
62346236
# ------------------------- Separator element ------------------------- #
62356237
elif element_type == ELEM_TYPE_SEPARATOR:
62366238
element = element # type: VerticalSeparator
@@ -6366,7 +6368,6 @@ def StartupTK(my_flex_form: Window):
63666368
if my_flex_form.DebuggerEnabled:
63676369
root.bind('<Cancel>', my_flex_form._callback_main_debugger_window_create_keystroke)
63686370
root.bind('<Pause>', my_flex_form._callback_popout_window_create_keystroke)
6369-
my_flex_form.DebuggerEnabled = True
63706371

63716372
# root.bind('<Cancel>', Debugger._build_main_debugger_window)
63726373
# root.bind('<Pause>', Debugger._build_floating_window)
@@ -8331,7 +8332,7 @@ def _build_floating_window(self, location=(None, None)):
83318332
if self.popout_choices[key] is True:
83328333
value = str(self.locals.get(key))
83338334
h = min(len(value)//width_value + 1, MAX_LINES_PER_RESULT_FLOATING)
8334-
line += [Text(f'{key}', size=(width_var, 1), font=POPOUT_WINDOW_FONT),
8335+
line += [Text('{}'.format(key), size=(width_var, 1), font=POPOUT_WINDOW_FONT),
83358336
Text(' = ', font=POPOUT_WINDOW_FONT),
83368337
Text(value, key=key, size=(width_value, h), font=POPOUT_WINDOW_FONT)]
83378338
if col + 1 < num_cols:

0 commit comments

Comments
 (0)