commit
						7de8f40b72
					
				
					 2 changed files with 39 additions and 11 deletions
				
			
		|  | @ -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): | ||||
|         """ | ||||
|  | @ -1493,7 +1510,7 @@ class Text(Element): | |||
|         :param visible:  change visibility of element (Default value = None) | ||||
| 
 | ||||
|         """ | ||||
|          | ||||
| 
 | ||||
|         if value is not None: | ||||
|             self.DisplayText = value | ||||
|             stringvar = self.TKStringVar | ||||
|  | @ -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: | ||||
|  | @ -9991,7 +10012,11 @@ class _Debugger(): | |||
|             try: | ||||
|                 result = ObjToStringSingleObj(mylocals[var]) | ||||
|             except Exception as e: | ||||
|                 result = '{}\nError showing object {}'.format(e, var) | ||||
|                 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) | ||||
|         # ------------------------------- Process Watch Tab ------------------------------- | ||||
|         # BUTTON - Choose Locals to see | ||||
|  |  | |||
|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue