Added default_extension to PopupGetFile, fix for menu &_ stuff, new set_to_index parm for Update of Combobox
Changes suggested by Venim
This commit is contained in:
parent
670a772c5c
commit
aeafdfeb19
|
@ -470,13 +470,14 @@ class InputCombo(Element):
|
||||||
|
|
||||||
super().__init__(ELEM_TYPE_INPUT_COMBO, size=size, auto_size_text=auto_size_text, background_color=bg, text_color=fg, key=key, pad=pad, tooltip=tooltip)
|
super().__init__(ELEM_TYPE_INPUT_COMBO, size=size, auto_size_text=auto_size_text, background_color=bg, text_color=fg, key=key, pad=pad, tooltip=tooltip)
|
||||||
|
|
||||||
def Update(self, value=None, values=None, disabled=None):
|
def Update(self, value=None, values=None, set_to_index=None, disabled=None):
|
||||||
if values is not None:
|
if values is not None:
|
||||||
try:
|
try:
|
||||||
self.TKCombo['values'] = values
|
self.TKCombo['values'] = values
|
||||||
self.TKCombo.current(0)
|
self.TKCombo.current(0)
|
||||||
except: pass
|
except: pass
|
||||||
self.Values = values
|
self.Values = values
|
||||||
|
if value is not None:
|
||||||
for index, v in enumerate(self.Values):
|
for index, v in enumerate(self.Values):
|
||||||
if v == value:
|
if v == value:
|
||||||
try:
|
try:
|
||||||
|
@ -484,6 +485,12 @@ class InputCombo(Element):
|
||||||
except: pass
|
except: pass
|
||||||
self.DefaultValue = value
|
self.DefaultValue = value
|
||||||
break
|
break
|
||||||
|
if set_to_index is not None:
|
||||||
|
try:
|
||||||
|
self.TKCombo.current(set_to_index)
|
||||||
|
self.DefaultValue = self.Values[set_to_index]
|
||||||
|
except:
|
||||||
|
pass
|
||||||
if disabled == True:
|
if disabled == True:
|
||||||
self.TKCombo['state'] = 'disable'
|
self.TKCombo['state'] = 'disable'
|
||||||
elif disabled == False:
|
elif disabled == False:
|
||||||
|
@ -2762,18 +2769,14 @@ def AddMenuItem(top_menu, sub_menu_info, element, is_sub_menu=False, skip=False)
|
||||||
if type(sub_menu_info) is str:
|
if type(sub_menu_info) is str:
|
||||||
if not is_sub_menu and not skip:
|
if not is_sub_menu and not skip:
|
||||||
# print(f'Adding command {sub_menu_info}')
|
# print(f'Adding command {sub_menu_info}')
|
||||||
pos = sub_menu_info.find('_&')
|
pos = sub_menu_info.find('&')
|
||||||
if pos != -1:
|
if pos != -1:
|
||||||
_ = sub_menu_info[:pos]
|
if pos == 0 or sub_menu_info[pos-1] != "\\":
|
||||||
try:
|
sub_menu_info = sub_menu_info[:pos] + sub_menu_info[pos+1:]
|
||||||
_ += sub_menu_info[pos+2:]
|
|
||||||
except Exception as e:
|
|
||||||
print(e)
|
|
||||||
sub_menu_info = _
|
|
||||||
if sub_menu_info == '---':
|
if sub_menu_info == '---':
|
||||||
top_menu.add('separator')
|
top_menu.add('separator')
|
||||||
else:
|
else:
|
||||||
top_menu.add_command(label=sub_menu_info, underline=pos-1, command=lambda: Menu.MenuItemChosenCallback(element, sub_menu_info))
|
top_menu.add_command(label=sub_menu_info, underline=pos, command=lambda: Menu.MenuItemChosenCallback(element, sub_menu_info))
|
||||||
else:
|
else:
|
||||||
i = 0
|
i = 0
|
||||||
while i < (len(sub_menu_info)):
|
while i < (len(sub_menu_info)):
|
||||||
|
@ -3250,15 +3253,11 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form):
|
||||||
for menu_entry in menu_def:
|
for menu_entry in menu_def:
|
||||||
# print(f'Adding a Menubar ENTRY')
|
# print(f'Adding a Menubar ENTRY')
|
||||||
baritem = tk.Menu(menubar, tearoff=element.Tearoff)
|
baritem = tk.Menu(menubar, tearoff=element.Tearoff)
|
||||||
pos = menu_entry[0].find('_&')
|
pos = menu_entry[0].find('&')
|
||||||
if pos != -1:
|
if pos != -1:
|
||||||
_ = menu_entry[0][:pos]
|
if pos == 0 or menu_entry[0][pos-1] != "\\":
|
||||||
try:
|
menu_entry[0] = menu_entry[0][:pos] + menu_entry[0][pos+1:]
|
||||||
_ += menu_entry[0][pos+2:]
|
menubar.add_cascade(label=menu_entry[0], menu=baritem, underline = pos)
|
||||||
except:
|
|
||||||
pass
|
|
||||||
menu_entry[0] = _
|
|
||||||
menubar.add_cascade(label=menu_entry[0], menu=baritem, underline = pos-1)
|
|
||||||
if len(menu_entry) > 1:
|
if len(menu_entry) > 1:
|
||||||
AddMenuItem(baritem, menu_entry[1], element)
|
AddMenuItem(baritem, menu_entry[1], element)
|
||||||
toplevel_form.TKroot.configure(menu=element.TKMenu)
|
toplevel_form.TKroot.configure(menu=element.TKMenu)
|
||||||
|
@ -4052,7 +4051,7 @@ def PopupGetFolder(message, default_path='', no_window=False, size=(None,None),
|
||||||
#####################################
|
#####################################
|
||||||
# PopupGetFile #
|
# PopupGetFile #
|
||||||
#####################################
|
#####################################
|
||||||
def PopupGetFile(message, default_path='',save_as=False, file_types=(("ALL Files", "*.*"),), no_window=False, size=(None,None), button_color=None, background_color=None, text_color=None, icon=DEFAULT_WINDOW_ICON, font=None, no_titlebar=False, grab_anywhere=False, keep_on_top=False, location=(None,None)):
|
def PopupGetFile(message, default_path='', default_extension='', save_as=False, file_types=(("ALL Files", "*.*"),), no_window=False, size=(None,None), button_color=None, background_color=None, text_color=None, icon=DEFAULT_WINDOW_ICON, font=None, no_titlebar=False, grab_anywhere=False, keep_on_top=False, location=(None,None)):
|
||||||
"""
|
"""
|
||||||
Display popup with text entry field and browse button. Browse for file
|
Display popup with text entry field and browse button. Browse for file
|
||||||
|
|
||||||
|
@ -4080,9 +4079,9 @@ def PopupGetFile(message, default_path='',save_as=False, file_types=(("ALL Files
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
if save_as:
|
if save_as:
|
||||||
filename = tk.filedialog.asksaveasfilename(filetypes=file_types) # show the 'get file' dialog box
|
filename = tk.filedialog.asksaveasfilename(filetypes=file_types, defaultextension=default_extension) # show the 'get file' dialog box
|
||||||
else:
|
else:
|
||||||
filename = tk.filedialog.askopenfilename(filetypes=file_types) # show the 'get file' dialog box
|
filename = tk.filedialog.askopenfilename(filetypes=file_types, defaultextension=default_extension) # show the 'get file' dialog box
|
||||||
root.destroy()
|
root.destroy()
|
||||||
return filename
|
return filename
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue