commit
7de8f40b72
|
@ -755,7 +755,7 @@ class Combo(Element):
|
|||
self.Values = values
|
||||
self.DefaultValue = default_value
|
||||
self.ChangeSubmits = change_submits or enable_events
|
||||
self.TKCombo = None
|
||||
self.Widget = self.TKCombo = None # type: ttk.Combobox
|
||||
# self.InitializeAsDisabled = disabled
|
||||
self.Disabled = disabled
|
||||
self.Readonly = readonly
|
||||
|
@ -813,6 +813,16 @@ class Combo(Element):
|
|||
elif visible is True:
|
||||
self.TKCombo.pack()
|
||||
|
||||
def GetSelectedItemsIndexes(self):
|
||||
"""
|
||||
Get the list of chosen items and return them as a list of indexes (offsets within the list)
|
||||
:return: [int,] List of indexes of currently selected items
|
||||
"""
|
||||
if not self.TKStringVar:
|
||||
return []
|
||||
return [self.TKCombo.current(),] # for tkinter this will always be just 1 item
|
||||
|
||||
|
||||
def __del__(self):
|
||||
""" """
|
||||
try:
|
||||
|
@ -973,6 +983,7 @@ class Listbox(Element):
|
|||
super().__init__(ELEM_TYPE_INPUT_LISTBOX, size=size, auto_size_text=auto_size_text, font=font,
|
||||
background_color=bg, text_color=fg, key=key, pad=pad, tooltip=tooltip, visible=visible)
|
||||
|
||||
|
||||
def Update(self, values=None, disabled=None, set_to_index=None, scroll_to_index=None, visible=None):
|
||||
"""
|
||||
|
||||
|
@ -1009,6 +1020,7 @@ class Listbox(Element):
|
|||
if scroll_to_index is not None and len(self.Values):
|
||||
self.TKListbox.yview_moveto(scroll_to_index/len(self.Values))
|
||||
|
||||
|
||||
def SetValue(self, values):
|
||||
"""
|
||||
|
||||
|
@ -1025,10 +1037,12 @@ class Listbox(Element):
|
|||
pass
|
||||
self.DefaultValues = values
|
||||
|
||||
|
||||
def GetListValues(self):
|
||||
""" """
|
||||
return self.Values
|
||||
|
||||
|
||||
def SetFocus(self, force=False):
|
||||
""" """
|
||||
try:
|
||||
|
@ -1039,6 +1053,7 @@ class Listbox(Element):
|
|||
except:
|
||||
pass
|
||||
|
||||
|
||||
def __del__(self):
|
||||
""" """
|
||||
try:
|
||||
|
@ -1442,14 +1457,16 @@ class Multiline(Element):
|
|||
# Text #
|
||||
# ---------------------------------------------------------------------- #
|
||||
class Text(Element):
|
||||
""" """
|
||||
"""
|
||||
Text - Display some text in the window. Can be single or multiple lines but no scrolling if multiple lines.
|
||||
"""
|
||||
|
||||
def __init__(self, text, size=(None, None), auto_size_text=None, click_submits=False, enable_events=False,
|
||||
relief=None, font=None, text_color=None, background_color=None, justification=None, pad=None, key=None,
|
||||
right_click_menu=None, tooltip=None, visible=True):
|
||||
"""
|
||||
|
||||
:param text:
|
||||
:param text: The text to display (required)
|
||||
:param size: (common_key) (w,h) w=characters-wide, h=rows-high (Default value = (None, None))
|
||||
:param auto_size_text: True if size should fit the text length (Default value = None)
|
||||
:param click_submits: (Default value = False)
|
||||
|
@ -1481,7 +1498,7 @@ class Text(Element):
|
|||
|
||||
super().__init__(ELEM_TYPE_TEXT, size, auto_size_text, background_color=bg, font=font if font else DEFAULT_FONT,
|
||||
text_color=self.TextColor, pad=pad, key=key, tooltip=tooltip, visible=visible)
|
||||
return
|
||||
|
||||
|
||||
def Update(self, value=None, background_color=None, text_color=None, font=None, visible=None):
|
||||
"""
|
||||
|
@ -1530,7 +1547,7 @@ class StatusBar(Element):
|
|||
key=None, tooltip=None, visible=True):
|
||||
"""
|
||||
|
||||
:param text:
|
||||
:param text: (required) text that is to be displayed in the widget
|
||||
:param size: (common_key) (w,h) w=characters-wide, h=rows-high (Default value = (None, None))
|
||||
:param auto_size_text: True if size should fit the text length (Default value = None)
|
||||
:param click_submits: (Default value = None)
|
||||
|
@ -1561,6 +1578,7 @@ class StatusBar(Element):
|
|||
visible=visible)
|
||||
return
|
||||
|
||||
|
||||
def Update(self, value=None, background_color=None, text_color=None, font=None, visible=None):
|
||||
"""
|
||||
|
||||
|
@ -1587,6 +1605,7 @@ class StatusBar(Element):
|
|||
elif visible is True:
|
||||
self.TKText.pack()
|
||||
|
||||
|
||||
def __del__(self):
|
||||
""" """
|
||||
super().__del__()
|
||||
|
@ -6304,7 +6323,9 @@ def BuildResultsForSubform(form, initialize_only, top_level_form):
|
|||
except:
|
||||
value = None
|
||||
elif element.Type == ELEM_TYPE_INPUT_COMBO:
|
||||
value = element.TKStringVar.get()
|
||||
element = element # type: Combo
|
||||
# value = element.TKStringVar.get()
|
||||
value = element.Values[element.TKCombo.current()]
|
||||
elif element.Type == ELEM_TYPE_INPUT_OPTION_MENU:
|
||||
value = element.TKStringVar.get()
|
||||
elif element.Type == ELEM_TYPE_INPUT_LISTBOX:
|
||||
|
@ -9990,6 +10011,10 @@ class _Debugger():
|
|||
var = values['_VAR{}_'.format(event[4])]
|
||||
try:
|
||||
result = ObjToStringSingleObj(mylocals[var])
|
||||
except Exception as e:
|
||||
try:
|
||||
result = eval('{}'.format(var), myglobals, mylocals)
|
||||
result = ObjToStringSingleObj(result)
|
||||
except Exception as e:
|
||||
result = '{}\nError showing object {}'.format(e, var)
|
||||
PopupScrolled(str(var) + '\n' + str(result), title=var, non_blocking=True)
|
||||
|
|
|
@ -4247,7 +4247,9 @@ def BuildResultsForSubform(form, initialize_only, top_level_form):
|
|||
except:
|
||||
value = None
|
||||
elif element.Type == ELEM_TYPE_INPUT_COMBO:
|
||||
value = element.QT_ComboBox.currentText()
|
||||
element = element # type: Combo
|
||||
# value = element.QT_ComboBox.currentText()
|
||||
value = element.Values[element.QT_ComboBox.currentIndex()]
|
||||
elif element.Type == ELEM_TYPE_INPUT_OPTION_MENU:
|
||||
value = 0
|
||||
elif element.Type == ELEM_TYPE_INPUT_LISTBOX:
|
||||
|
@ -4878,8 +4880,9 @@ def PackFormIntoFrame(window, containing_frame, toplevel_win):
|
|||
|
||||
if element.Disabled:
|
||||
element.QT_ComboBox.setDisabled(True)
|
||||
|
||||
element.QT_ComboBox.addItems(element.Values)
|
||||
items_as_strings = [str(v) for v in element.Values]
|
||||
# element.QT_ComboBox.addItems(element.Values)
|
||||
element.QT_ComboBox.addItems(items_as_strings)
|
||||
|
||||
element.QT_ComboBox.setMaxVisibleItems(element.VisibleItems)
|
||||
if element.DefaultValue is not None:
|
||||
|
|
Loading…
Reference in New Issue