Merge pull request #1560 from PySimpleGUI/Dev-latest
Added doc strings, renamed functions so they start with _ if private.
This commit is contained in:
		
						commit
						77d3cbb4aa
					
				
					 1 changed files with 292 additions and 67 deletions
				
			
		
							
								
								
									
										359
									
								
								PySimpleGUI.py
									
										
									
									
									
								
							
							
						
						
									
										359
									
								
								PySimpleGUI.py
									
										
									
									
									
								
							|  | @ -403,7 +403,7 @@ class Element(): | ||||||
|         self.TKRightClickMenu.tk_popup(event.x_root, event.y_root, 0) |         self.TKRightClickMenu.tk_popup(event.x_root, event.y_root, 0) | ||||||
|         self.TKRightClickMenu.grab_release() |         self.TKRightClickMenu.grab_release() | ||||||
| 
 | 
 | ||||||
|     def MenuItemChosenCallback(self, item_chosen):  # TEXT Menu item callback |     def _MenuItemChosenCallback(self, item_chosen):  # TEXT Menu item callback | ||||||
|         # print('IN MENU ITEM CALLBACK', item_chosen) |         # print('IN MENU ITEM CALLBACK', item_chosen) | ||||||
|         self.MenuItemChosen = item_chosen.replace('&', '') |         self.MenuItemChosen = item_chosen.replace('&', '') | ||||||
|         self.ParentForm.LastButtonClicked = self.MenuItemChosen |         self.ParentForm.LastButtonClicked = self.MenuItemChosen | ||||||
|  | @ -411,35 +411,35 @@ class Element(): | ||||||
|         if self.ParentForm.CurrentlyRunningMainloop: |         if self.ParentForm.CurrentlyRunningMainloop: | ||||||
|             self.ParentForm.TKroot.quit()  # kick the users out of the mainloop |             self.ParentForm.TKroot.quit()  # kick the users out of the mainloop | ||||||
| 
 | 
 | ||||||
|     def FindReturnKeyBoundButton(self, form): |     def _FindReturnKeyBoundButton(self, form): | ||||||
|         for row in form.Rows: |         for row in form.Rows: | ||||||
|             for element in row: |             for element in row: | ||||||
|                 if element.Type == ELEM_TYPE_BUTTON: |                 if element.Type == ELEM_TYPE_BUTTON: | ||||||
|                     if element.BindReturnKey: |                     if element.BindReturnKey: | ||||||
|                         return element |                         return element | ||||||
|                 if element.Type == ELEM_TYPE_COLUMN: |                 if element.Type == ELEM_TYPE_COLUMN: | ||||||
|                     rc = self.FindReturnKeyBoundButton(element) |                     rc = self._FindReturnKeyBoundButton(element) | ||||||
|                     if rc is not None: |                     if rc is not None: | ||||||
|                         return rc |                         return rc | ||||||
|                 if element.Type == ELEM_TYPE_FRAME: |                 if element.Type == ELEM_TYPE_FRAME: | ||||||
|                     rc = self.FindReturnKeyBoundButton(element) |                     rc = self._FindReturnKeyBoundButton(element) | ||||||
|                     if rc is not None: |                     if rc is not None: | ||||||
|                         return rc |                         return rc | ||||||
|                 if element.Type == ELEM_TYPE_TAB_GROUP: |                 if element.Type == ELEM_TYPE_TAB_GROUP: | ||||||
|                     rc = self.FindReturnKeyBoundButton(element) |                     rc = self._FindReturnKeyBoundButton(element) | ||||||
|                     if rc is not None: |                     if rc is not None: | ||||||
|                         return rc |                         return rc | ||||||
|                 if element.Type == ELEM_TYPE_TAB: |                 if element.Type == ELEM_TYPE_TAB: | ||||||
|                     rc = self.FindReturnKeyBoundButton(element) |                     rc = self._FindReturnKeyBoundButton(element) | ||||||
|                     if rc is not None: |                     if rc is not None: | ||||||
|                         return rc |                         return rc | ||||||
|                 if element.Type == ELEM_TYPE_PANE: |                 if element.Type == ELEM_TYPE_PANE: | ||||||
|                     rc = self.FindReturnKeyBoundButton(element) |                     rc = self._FindReturnKeyBoundButton(element) | ||||||
|                     if rc is not None: |                     if rc is not None: | ||||||
|                         return rc |                         return rc | ||||||
|         return None |         return None | ||||||
| 
 | 
 | ||||||
|     def TextClickedHandler(self, event): |     def _TextClickedHandler(self, event): | ||||||
|         if self.Key is not None: |         if self.Key is not None: | ||||||
|             self.ParentForm.LastButtonClicked = self.Key |             self.ParentForm.LastButtonClicked = self.Key | ||||||
|         else: |         else: | ||||||
|  | @ -448,13 +448,13 @@ class Element(): | ||||||
|         if self.ParentForm.CurrentlyRunningMainloop: |         if self.ParentForm.CurrentlyRunningMainloop: | ||||||
|             self.ParentForm.TKroot.quit()  # kick the users out of the mainloop |             self.ParentForm.TKroot.quit()  # kick the users out of the mainloop | ||||||
| 
 | 
 | ||||||
|     def ReturnKeyHandler(self, event): |     def _ReturnKeyHandler(self, event): | ||||||
|         MyForm = self.ParentForm |         MyForm = self.ParentForm | ||||||
|         button_element = self.FindReturnKeyBoundButton(MyForm) |         button_element = self._FindReturnKeyBoundButton(MyForm) | ||||||
|         if button_element is not None: |         if button_element is not None: | ||||||
|             button_element.ButtonCallBack() |             button_element.ButtonCallBack() | ||||||
| 
 | 
 | ||||||
|     def ListboxSelectHandler(self, event): |     def _ListboxSelectHandler(self, event): | ||||||
|         # first, get the results table built |         # first, get the results table built | ||||||
|         # modify the Results table in the parent FlexForm object |         # modify the Results table in the parent FlexForm object | ||||||
|         if self.Key is not None: |         if self.Key is not None: | ||||||
|  | @ -465,7 +465,7 @@ class Element(): | ||||||
|         if self.ParentForm.CurrentlyRunningMainloop: |         if self.ParentForm.CurrentlyRunningMainloop: | ||||||
|             self.ParentForm.TKroot.quit()  # kick the users out of the mainloop |             self.ParentForm.TKroot.quit()  # kick the users out of the mainloop | ||||||
| 
 | 
 | ||||||
|     def ComboboxSelectHandler(self, event): |     def _ComboboxSelectHandler(self, event): | ||||||
|         # first, get the results table built |         # first, get the results table built | ||||||
|         # modify the Results table in the parent FlexForm object |         # modify the Results table in the parent FlexForm object | ||||||
|         if self.Key is not None: |         if self.Key is not None: | ||||||
|  | @ -476,7 +476,7 @@ class Element(): | ||||||
|         if self.ParentForm.CurrentlyRunningMainloop: |         if self.ParentForm.CurrentlyRunningMainloop: | ||||||
|             self.ParentForm.TKroot.quit()  # kick the users out of the mainloop |             self.ParentForm.TKroot.quit()  # kick the users out of the mainloop | ||||||
| 
 | 
 | ||||||
|     def RadioHandler(self): |     def _RadioHandler(self): | ||||||
|         if self.Key is not None: |         if self.Key is not None: | ||||||
|             self.ParentForm.LastButtonClicked = self.Key |             self.ParentForm.LastButtonClicked = self.Key | ||||||
|         else: |         else: | ||||||
|  | @ -485,7 +485,7 @@ class Element(): | ||||||
|         if self.ParentForm.CurrentlyRunningMainloop: |         if self.ParentForm.CurrentlyRunningMainloop: | ||||||
|             self.ParentForm.TKroot.quit() |             self.ParentForm.TKroot.quit() | ||||||
| 
 | 
 | ||||||
|     def CheckboxHandler(self): |     def _CheckboxHandler(self): | ||||||
|         if self.Key is not None: |         if self.Key is not None: | ||||||
|             self.ParentForm.LastButtonClicked = self.Key |             self.ParentForm.LastButtonClicked = self.Key | ||||||
|         else: |         else: | ||||||
|  | @ -494,7 +494,7 @@ class Element(): | ||||||
|         if self.ParentForm.CurrentlyRunningMainloop: |         if self.ParentForm.CurrentlyRunningMainloop: | ||||||
|             self.ParentForm.TKroot.quit() |             self.ParentForm.TKroot.quit() | ||||||
| 
 | 
 | ||||||
|     def TabGroupSelectHandler(self, event): |     def _TabGroupSelectHandler(self, event): | ||||||
|         if self.Key is not None: |         if self.Key is not None: | ||||||
|             self.ParentForm.LastButtonClicked = self.Key |             self.ParentForm.LastButtonClicked = self.Key | ||||||
|         else: |         else: | ||||||
|  | @ -556,7 +556,6 @@ class InputText(Element): | ||||||
|                  right_click_menu=None, visible=True): |                  right_click_menu=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         InputText Element - A single line of input |         InputText Element - A single line of input | ||||||
|         Also known as: I, In, Input |  | ||||||
|         :param default_text: |         :param default_text: | ||||||
|         :param size: |         :param size: | ||||||
|         :param disabled: |         :param disabled: | ||||||
|  | @ -887,7 +886,7 @@ class Listbox(Element): | ||||||
| 
 | 
 | ||||||
|     def Update(self, values=None, disabled=None, set_to_index=None, visible=None): |     def Update(self, values=None, disabled=None, set_to_index=None, visible=None): | ||||||
|         ''' |         ''' | ||||||
|         Listbox Element Update | 
 | ||||||
|         :param values: |         :param values: | ||||||
|         :param disabled: |         :param disabled: | ||||||
|         :param set_to_index: |         :param set_to_index: | ||||||
|  | @ -957,7 +956,7 @@ class Radio(Element): | ||||||
|                  background_color=None, text_color=None, font=None, key=None, pad=None, tooltip=None, |                  background_color=None, text_color=None, font=None, key=None, pad=None, tooltip=None, | ||||||
|                  change_submits=False, enable_events=False, visible=True): |                  change_submits=False, enable_events=False, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Radio Element | 
 | ||||||
|         :param text: |         :param text: | ||||||
|         :param group_id: |         :param group_id: | ||||||
|         :param default: |         :param default: | ||||||
|  | @ -989,7 +988,7 @@ class Radio(Element): | ||||||
| 
 | 
 | ||||||
|     def Update(self, value=None, disabled=None, visible=None): |     def Update(self, value=None, disabled=None, visible=None): | ||||||
|         ''' |         ''' | ||||||
|         Radio Element Update | 
 | ||||||
|         :param value: |         :param value: | ||||||
|         :param disabled: |         :param disabled: | ||||||
|         :param visible: |         :param visible: | ||||||
|  | @ -1030,14 +1029,13 @@ class Radio(Element): | ||||||
| # Note - The renaming of the member function to have _ if internal only has NOT yet been done! | # Note - The renaming of the member function to have _ if internal only has NOT yet been done! | ||||||
| class Checkbox(Element): | class Checkbox(Element): | ||||||
|     ''' |     ''' | ||||||
|     Checkbox Element | 
 | ||||||
|     ''' |     ''' | ||||||
|     def __init__(self, text, default=False, size=(None, None), auto_size_text=None, font=None, background_color=None, |     def __init__(self, text, default=False, size=(None, None), auto_size_text=None, font=None, background_color=None, | ||||||
|                  text_color=None, change_submits=False, enable_events=False, disabled=False, key=None, pad=None, |                  text_color=None, change_submits=False, enable_events=False, disabled=False, key=None, pad=None, | ||||||
|                  tooltip=None, visible=True): |                  tooltip=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Checkbox | 
 | ||||||
|         Also known as: CB, CBox, Check |  | ||||||
|         :param text: |         :param text: | ||||||
|         :param default: |         :param default: | ||||||
|         :param size: |         :param size: | ||||||
|  | @ -1106,13 +1104,14 @@ Check = Checkbox | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| 
 | 
 | ||||||
| class Spin(Element): | class Spin(Element): | ||||||
|     # Values = None |     ''' | ||||||
|     # TKSpinBox = None | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, values, initial_value=None, disabled=False, change_submits=False, enable_events=False, |     def __init__(self, values, initial_value=None, disabled=False, change_submits=False, enable_events=False, | ||||||
|                  size=(None, None), auto_size_text=None, font=None, background_color=None, text_color=None, key=None, |                  size=(None, None), auto_size_text=None, font=None, background_color=None, text_color=None, key=None, | ||||||
|                  pad=None, tooltip=None, visible=True): |                  pad=None, tooltip=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Spin | 
 | ||||||
|         :param values: |         :param values: | ||||||
|         :param initial_value: |         :param initial_value: | ||||||
|         :param disabled: |         :param disabled: | ||||||
|  | @ -1141,6 +1140,14 @@ class Spin(Element): | ||||||
|         return |         return | ||||||
| 
 | 
 | ||||||
|     def Update(self, value=None, values=None, disabled=None, visible=None): |     def Update(self, value=None, values=None, disabled=None, visible=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param value: | ||||||
|  |         :param values: | ||||||
|  |         :param disabled: | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if values != None: |         if values != None: | ||||||
|             old_value = self.TKStringVar.get() |             old_value = self.TKStringVar.get() | ||||||
|             self.Values = values |             self.Values = values | ||||||
|  | @ -1187,16 +1194,20 @@ class Spin(Element): | ||||||
| #                           Multiline                                    # | #                           Multiline                                    # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Multiline(Element): | class Multiline(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, default_text='', enter_submits=False, disabled=False, autoscroll=False, border_width=None, |     def __init__(self, default_text='', enter_submits=False, disabled=False, autoscroll=False, border_width=None, | ||||||
|                  size=(None, None), auto_size_text=None, background_color=None, text_color=None, change_submits=False, |                  size=(None, None), auto_size_text=None, background_color=None, text_color=None, change_submits=False, | ||||||
|                  enable_events=False, do_not_clear=True, key=None, focus=False, font=None, pad=None, tooltip=None, |                  enable_events=False, do_not_clear=True, key=None, focus=False, font=None, pad=None, tooltip=None, | ||||||
|                  right_click_menu=None, visible=True): |                  right_click_menu=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Multiline | 
 | ||||||
|         :param default_text: |         :param default_text: | ||||||
|         :param enter_submits: |         :param enter_submits: | ||||||
|         :param disabled: |         :param disabled: | ||||||
|         :param autoscroll: |         :param autoscroll: | ||||||
|  |         :param border_width: | ||||||
|         :param size: |         :param size: | ||||||
|         :param auto_size_text: |         :param auto_size_text: | ||||||
|         :param background_color: |         :param background_color: | ||||||
|  | @ -1231,6 +1242,18 @@ class Multiline(Element): | ||||||
| 
 | 
 | ||||||
|     def Update(self, value=None, disabled=None, append=False, font=None, text_color=None, background_color=None, |     def Update(self, value=None, disabled=None, append=False, font=None, text_color=None, background_color=None, | ||||||
|                visible=None, autoscroll=None): |                visible=None, autoscroll=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param value: | ||||||
|  |         :param disabled: | ||||||
|  |         :param append: | ||||||
|  |         :param font: | ||||||
|  |         :param text_color: | ||||||
|  |         :param background_color: | ||||||
|  |         :param visible: | ||||||
|  |         :param autoscroll: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if autoscroll is not None: |         if autoscroll is not None: | ||||||
|             self.Autoscroll = autoscroll |             self.Autoscroll = autoscroll | ||||||
|         if value is not None: |         if value is not None: | ||||||
|  | @ -1279,11 +1302,14 @@ class Multiline(Element): | ||||||
| #                                       Text                             # | #                                       Text                             # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Text(Element): | class Text(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, text, size=(None, None), auto_size_text=None, click_submits=False, enable_events=False, |     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, |                  relief=None, font=None, text_color=None, background_color=None, justification=None, pad=None, key=None, | ||||||
|                  right_click_menu=None, tooltip=None, visible=True): |                  right_click_menu=None, tooltip=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Text | 
 | ||||||
|         :param text: |         :param text: | ||||||
|         :param size: |         :param size: | ||||||
|         :param auto_size_text: |         :param auto_size_text: | ||||||
|  | @ -1317,6 +1343,15 @@ class Text(Element): | ||||||
|         return |         return | ||||||
| 
 | 
 | ||||||
|     def Update(self, value=None, background_color=None, text_color=None, font=None, visible=None): |     def Update(self, value=None, background_color=None, text_color=None, font=None, visible=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param value: | ||||||
|  |         :param background_color: | ||||||
|  |         :param text_color: | ||||||
|  |         :param font: | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if value is not None: |         if value is not None: | ||||||
|             self.DisplayText = value |             self.DisplayText = value | ||||||
|             stringvar = self.TKStringVar |             stringvar = self.TKStringVar | ||||||
|  | @ -1345,11 +1380,14 @@ T = Text | ||||||
| #                                       StatusBar                        # | #                                       StatusBar                        # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class StatusBar(Element): | class StatusBar(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, text, size=(None, None), auto_size_text=None, click_submits=None, enable_events=False, |     def __init__(self, text, size=(None, None), auto_size_text=None, click_submits=None, enable_events=False, | ||||||
|                  relief=RELIEF_SUNKEN, font=None, text_color=None, background_color=None, justification=None, pad=None, |                  relief=RELIEF_SUNKEN, font=None, text_color=None, background_color=None, justification=None, pad=None, | ||||||
|                  key=None, tooltip=None, visible=True): |                  key=None, tooltip=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         StatusBar | 
 | ||||||
|         :param text: |         :param text: | ||||||
|         :param size: |         :param size: | ||||||
|         :param auto_size_text: |         :param auto_size_text: | ||||||
|  | @ -1380,6 +1418,15 @@ class StatusBar(Element): | ||||||
|         return |         return | ||||||
| 
 | 
 | ||||||
|     def Update(self, value=None, background_color=None, text_color=None, font=None, visible=None): |     def Update(self, value=None, background_color=None, text_color=None, font=None, visible=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param value: | ||||||
|  |         :param background_color: | ||||||
|  |         :param text_color: | ||||||
|  |         :param font: | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if value is not None: |         if value is not None: | ||||||
|             self.DisplayText = value |             self.DisplayText = value | ||||||
|             stringvar = self.TKStringVar |             stringvar = self.TKStringVar | ||||||
|  | @ -1517,10 +1564,13 @@ class TKOutput(tk.Frame): | ||||||
| #  Routes stdout, stderr to a scrolled window                            # | #  Routes stdout, stderr to a scrolled window                            # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Output(Element): | class Output(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, size=(None, None), background_color=None, text_color=None, pad=None, font=None, tooltip=None, |     def __init__(self, size=(None, None), background_color=None, text_color=None, pad=None, font=None, tooltip=None, | ||||||
|                  key=None, right_click_menu=None, visible=True): |                  key=None, right_click_menu=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Output | 
 | ||||||
|         :param size: |         :param size: | ||||||
|         :param background_color: |         :param background_color: | ||||||
|         :param text_color: |         :param text_color: | ||||||
|  | @ -1547,6 +1597,12 @@ class Output(Element): | ||||||
|         return self._TKOut |         return self._TKOut | ||||||
| 
 | 
 | ||||||
|     def Update(self, value=None, visible=None): |     def Update(self, value=None, visible=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param value: | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if value is not None: |         if value is not None: | ||||||
|             self._TKOut.output.delete('1.0', tk.END) |             self._TKOut.output.delete('1.0', tk.END) | ||||||
|             self._TKOut.output.insert(tk.END, value) |             self._TKOut.output.insert(tk.END, value) | ||||||
|  | @ -1567,13 +1623,16 @@ class Output(Element): | ||||||
| #                           Button Class                                 # | #                           Button Class                                 # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Button(Element): | class Button(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, button_text='', button_type=BUTTON_TYPE_READ_FORM, target=(None, None), tooltip=None, |     def __init__(self, button_text='', button_type=BUTTON_TYPE_READ_FORM, target=(None, None), tooltip=None, | ||||||
|                  file_types=(("ALL Files", "*.*"),), initial_folder=None, disabled=False, change_submits=False, |                  file_types=(("ALL Files", "*.*"),), initial_folder=None, disabled=False, change_submits=False, | ||||||
|                  enable_events=False, image_filename=None, image_data=None, image_size=(None, None), |                  enable_events=False, image_filename=None, image_data=None, image_size=(None, None), | ||||||
|                  image_subsample=None, border_width=None, size=(None, None), auto_size_button=None, button_color=None, |                  image_subsample=None, border_width=None, size=(None, None), auto_size_button=None, button_color=None, | ||||||
|                  font=None, bind_return_key=False, focus=False, pad=None, key=None, visible=True): |                  font=None, bind_return_key=False, focus=False, pad=None, key=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Button | 
 | ||||||
|         :param button_text: |         :param button_text: | ||||||
|         :param button_type: |         :param button_type: | ||||||
|         :param target: |         :param target: | ||||||
|  | @ -1781,6 +1840,18 @@ class Button(Element): | ||||||
| 
 | 
 | ||||||
|     def Update(self, text=None, button_color=(None, None), disabled=None, image_data=None, image_filename=None, |     def Update(self, text=None, button_color=(None, None), disabled=None, image_data=None, image_filename=None, | ||||||
|                visible=None, image_subsample=None, image_size=None): |                visible=None, image_subsample=None, image_size=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param text: | ||||||
|  |         :param button_color: | ||||||
|  |         :param disabled: | ||||||
|  |         :param image_data: | ||||||
|  |         :param image_filename: | ||||||
|  |         :param visible: | ||||||
|  |         :param image_subsample: | ||||||
|  |         :param image_size: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         try: |         try: | ||||||
|             if text is not None: |             if text is not None: | ||||||
|                 self.TKButton.configure(text=text) |                 self.TKButton.configure(text=text) | ||||||
|  | @ -1859,12 +1930,15 @@ Butt = Button | ||||||
| #                           ButtonMenu Class                             # | #                           ButtonMenu Class                             # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class ButtonMenu(Element): | class ButtonMenu(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, button_text, menu_def, tooltip=None, disabled=False, |     def __init__(self, button_text, menu_def, tooltip=None, disabled=False, | ||||||
|                  image_filename=None, image_data=None, image_size=(None, None), image_subsample=None, border_width=None, |                  image_filename=None, image_data=None, image_size=(None, None), image_subsample=None, border_width=None, | ||||||
|                  size=(None, None), auto_size_button=None, button_color=None, font=None, pad=None, key=None, |                  size=(None, None), auto_size_button=None, button_color=None, font=None, pad=None, key=None, | ||||||
|                  tearoff=False, visible=True): |                  tearoff=False, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         ButtonMenu | 
 | ||||||
|         :param button_text: |         :param button_text: | ||||||
|         :param menu_def: |         :param menu_def: | ||||||
|         :param tooltip: |         :param tooltip: | ||||||
|  | @ -1906,7 +1980,7 @@ class ButtonMenu(Element): | ||||||
|                          text_color=self.TextColor, background_color=self.BackgroundColor, visible=visible) |                          text_color=self.TextColor, background_color=self.BackgroundColor, visible=visible) | ||||||
|         return |         return | ||||||
| 
 | 
 | ||||||
|     def MenuItemChosenCallback(self, item_chosen):  # ButtonMenu Menu Item Chosen Callback |     def _MenuItemChosenCallback(self, item_chosen):  # ButtonMenu Menu Item Chosen Callback | ||||||
|         # print('IN MENU ITEM CALLBACK', item_chosen) |         # print('IN MENU ITEM CALLBACK', item_chosen) | ||||||
|         self.MenuItemChosen = item_chosen.replace('&', '') |         self.MenuItemChosen = item_chosen.replace('&', '') | ||||||
|         self.ParentForm.LastButtonClicked = self.Key |         self.ParentForm.LastButtonClicked = self.Key | ||||||
|  | @ -1915,6 +1989,12 @@ class ButtonMenu(Element): | ||||||
|             self.ParentForm.TKroot.quit()  # kick the users out of the mainloop |             self.ParentForm.TKroot.quit()  # kick the users out of the mainloop | ||||||
| 
 | 
 | ||||||
|     def Update(self, menu_definition, visible=None): |     def Update(self, menu_definition, visible=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param menu_definition: | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         self.MenuDefinition = menu_definition |         self.MenuDefinition = menu_definition | ||||||
|         if menu_definition is not None: |         if menu_definition is not None: | ||||||
|             self.TKMenu = tk.Menu(self.TKButtonMenu, tearoff=self.Tearoff)  # create the menubar |             self.TKMenu = tk.Menu(self.TKButtonMenu, tearoff=self.Tearoff)  # create the menubar | ||||||
|  | @ -1940,7 +2020,7 @@ class ProgressBar(Element): | ||||||
|     def __init__(self, max_value, orientation=None, size=(None, None), auto_size_text=None, bar_color=(None, None), |     def __init__(self, max_value, orientation=None, size=(None, None), auto_size_text=None, bar_color=(None, None), | ||||||
|                  style=None, border_width=None, relief=None, key=None, pad=None, visible=True): |                  style=None, border_width=None, relief=None, key=None, pad=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         ProgressBar | 
 | ||||||
|         :param max_value: |         :param max_value: | ||||||
|         :param orientation: |         :param orientation: | ||||||
|         :param size: |         :param size: | ||||||
|  | @ -1968,6 +2048,12 @@ class ProgressBar(Element): | ||||||
| 
 | 
 | ||||||
|     # returns False if update failed |     # returns False if update failed | ||||||
|     def UpdateBar(self, current_count, max=None): |     def UpdateBar(self, current_count, max=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param current_count: | ||||||
|  |         :param max: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if self.ParentForm.TKrootDestroyed: |         if self.ParentForm.TKrootDestroyed: | ||||||
|             return False |             return False | ||||||
|         self.TKProgressBar.Update(current_count, max=max) |         self.TKProgressBar.Update(current_count, max=max) | ||||||
|  | @ -1980,6 +2066,11 @@ class ProgressBar(Element): | ||||||
|         return True |         return True | ||||||
| 
 | 
 | ||||||
|     def Update(self, visible=None): |     def Update(self, visible=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if visible is False: |         if visible is False: | ||||||
|             self.TKProgressBar.TKProgressBarForReal.pack_forget() |             self.TKProgressBar.TKProgressBarForReal.pack_forget() | ||||||
|         elif visible is True: |         elif visible is True: | ||||||
|  | @ -1997,10 +2088,13 @@ class ProgressBar(Element): | ||||||
| #                           Image                                        # | #                           Image                                        # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Image(Element): | class Image(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, filename=None, data=None, background_color=None, size=(None, None), pad=None, key=None, |     def __init__(self, filename=None, data=None, background_color=None, size=(None, None), pad=None, key=None, | ||||||
|                  tooltip=None, right_click_menu=None, visible=True, enable_events=False): |                  tooltip=None, right_click_menu=None, visible=True, enable_events=False): | ||||||
|         ''' |         ''' | ||||||
|         Image | 
 | ||||||
|         :param filename: |         :param filename: | ||||||
|         :param data: |         :param data: | ||||||
|         :param background_color: |         :param background_color: | ||||||
|  | @ -2031,6 +2125,14 @@ class Image(Element): | ||||||
|         return |         return | ||||||
| 
 | 
 | ||||||
|     def Update(self, filename=None, data=None, size=(None, None), visible=None): |     def Update(self, filename=None, data=None, size=(None, None), visible=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param filename: | ||||||
|  |         :param data: | ||||||
|  |         :param size: | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if filename is not None: |         if filename is not None: | ||||||
|             image = tk.PhotoImage(file=filename) |             image = tk.PhotoImage(file=filename) | ||||||
|         elif data is not None: |         elif data is not None: | ||||||
|  | @ -2053,6 +2155,12 @@ class Image(Element): | ||||||
|             self.tktext_label.pack() |             self.tktext_label.pack() | ||||||
| 
 | 
 | ||||||
|     def UpdateAnimation(self, source, time_between_frames=0): |     def UpdateAnimation(self, source, time_between_frames=0): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param source: | ||||||
|  |         :param time_between_frames: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if self.Source != source: |         if self.Source != source: | ||||||
|             self.AnimatedFrames = None |             self.AnimatedFrames = None | ||||||
|             self.Source = source |             self.Source = source | ||||||
|  | @ -2100,10 +2208,13 @@ class Image(Element): | ||||||
| #                           Canvas                                       # | #                           Canvas                                       # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Canvas(Element): | class Canvas(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, canvas=None, background_color=None, size=(None, None), pad=None, key=None, tooltip=None, |     def __init__(self, canvas=None, background_color=None, size=(None, None), pad=None, key=None, tooltip=None, | ||||||
|                  right_click_menu=None, visible=True): |                  right_click_menu=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Canvas | 
 | ||||||
|         :param canvas: |         :param canvas: | ||||||
|         :param background_color: |         :param background_color: | ||||||
|         :param size: |         :param size: | ||||||
|  | @ -2136,11 +2247,14 @@ class Canvas(Element): | ||||||
| #                           Graph                                        # | #                           Graph                                        # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Graph(Element): | class Graph(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, canvas_size, graph_bottom_left, graph_top_right, background_color=None, pad=None, |     def __init__(self, canvas_size, graph_bottom_left, graph_top_right, background_color=None, pad=None, | ||||||
|                  change_submits=False, drag_submits=False, enable_events=False, key=None, tooltip=None, |                  change_submits=False, drag_submits=False, enable_events=False, key=None, tooltip=None, | ||||||
|                  right_click_menu=None, visible=True): |                  right_click_menu=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Graph | 
 | ||||||
|         :param canvas_size: |         :param canvas_size: | ||||||
|         :param graph_bottom_left: |         :param graph_bottom_left: | ||||||
|         :param graph_top_right: |         :param graph_top_right: | ||||||
|  | @ -2440,11 +2554,14 @@ class Graph(Element): | ||||||
| #                           Frame                                        # | #                           Frame                                        # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Frame(Element): | class Frame(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, title, layout, title_color=None, background_color=None, title_location=None, |     def __init__(self, title, layout, title_color=None, background_color=None, title_location=None, | ||||||
|                  relief=DEFAULT_FRAME_RELIEF, size=(None, None), font=None, pad=None, border_width=None, key=None, |                  relief=DEFAULT_FRAME_RELIEF, size=(None, None), font=None, pad=None, border_width=None, key=None, | ||||||
|                  tooltip=None, right_click_menu=None, visible=True): |                  tooltip=None, right_click_menu=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Frame | 
 | ||||||
|         :param title: |         :param title: | ||||||
|         :param layout: |         :param layout: | ||||||
|         :param title_color: |         :param title_color: | ||||||
|  | @ -2509,6 +2626,11 @@ class Frame(Element): | ||||||
|         return element |         return element | ||||||
| 
 | 
 | ||||||
|     def Update(self, visible=None): |     def Update(self, visible=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if visible is False: |         if visible is False: | ||||||
|             self.TKFrame.pack_forget() |             self.TKFrame.pack_forget() | ||||||
|         elif visible is True: |         elif visible is True: | ||||||
|  | @ -2526,9 +2648,12 @@ class Frame(Element): | ||||||
| #  Routes stdout, stderr to a scrolled window                            # | #  Routes stdout, stderr to a scrolled window                            # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class VerticalSeparator(Element): | class VerticalSeparator(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, pad=None): |     def __init__(self, pad=None): | ||||||
|         ''' |         ''' | ||||||
|         VerticalSeperator - A separator that spans only 1 row in a vertical fashion | 
 | ||||||
|         :param pad: |         :param pad: | ||||||
|         ''' |         ''' | ||||||
|         self.Orientation = 'vertical'  # for now only vertical works |         self.Orientation = 'vertical'  # for now only vertical works | ||||||
|  | @ -2547,10 +2672,13 @@ VSep = VerticalSeparator | ||||||
| #                           Tab                                          # | #                           Tab                                          # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Tab(Element): | class Tab(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, title, layout, title_color=None, background_color=None, font=None, pad=None, disabled=False, |     def __init__(self, title, layout, title_color=None, background_color=None, font=None, pad=None, disabled=False, | ||||||
|                  border_width=None, key=None, tooltip=None, right_click_menu=None, visible=True): |                  border_width=None, key=None, tooltip=None, right_click_menu=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Tab | 
 | ||||||
|         :param title: |         :param title: | ||||||
|         :param layout: |         :param layout: | ||||||
|         :param title_color: |         :param title_color: | ||||||
|  | @ -2608,6 +2736,12 @@ class Tab(Element): | ||||||
|         return self |         return self | ||||||
| 
 | 
 | ||||||
|     def Update(self, disabled=None, visible=None):  # TODO Disable / enable of tabs is not complete |     def Update(self, disabled=None, visible=None):  # TODO Disable / enable of tabs is not complete | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param disabled: | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if disabled is None: |         if disabled is None: | ||||||
|             return |             return | ||||||
|         self.Disabled = disabled |         self.Disabled = disabled | ||||||
|  | @ -2636,11 +2770,14 @@ class Tab(Element): | ||||||
| #                           TabGroup                                     # | #                           TabGroup                                     # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class TabGroup(Element): | class TabGroup(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, layout, tab_location=None, title_color=None, selected_title_color=None, background_color=None, |     def __init__(self, layout, tab_location=None, title_color=None, selected_title_color=None, background_color=None, | ||||||
|                  font=None, change_submits=False, enable_events=False, pad=None, border_width=None, theme=None, |                  font=None, change_submits=False, enable_events=False, pad=None, border_width=None, theme=None, | ||||||
|                  key=None, tooltip=None, visible=True): |                  key=None, tooltip=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         TabGroup | 
 | ||||||
|         :param layout: |         :param layout: | ||||||
|         :param tab_location: |         :param tab_location: | ||||||
|         :param title_color: |         :param title_color: | ||||||
|  | @ -2728,12 +2865,15 @@ class TabGroup(Element): | ||||||
| #                           Slider                                       # | #                           Slider                                       # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Slider(Element): | class Slider(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, range=(None, None), default_value=None, resolution=None, tick_interval=None, orientation=None, |     def __init__(self, range=(None, None), default_value=None, resolution=None, tick_interval=None, orientation=None, | ||||||
|                  disable_number_display=False, border_width=None, relief=None, change_submits=False, |                  disable_number_display=False, border_width=None, relief=None, change_submits=False, | ||||||
|                  enable_events=False, disabled=False, size=(None, None), font=None, background_color=None, |                  enable_events=False, disabled=False, size=(None, None), font=None, background_color=None, | ||||||
|                  text_color=None, key=None, pad=None, tooltip=None, visible=True): |                  text_color=None, key=None, pad=None, tooltip=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Slider | 
 | ||||||
|         :param range: |         :param range: | ||||||
|         :param default_value: |         :param default_value: | ||||||
|         :param resolution: |         :param resolution: | ||||||
|  | @ -2774,6 +2914,14 @@ class Slider(Element): | ||||||
|         return |         return | ||||||
| 
 | 
 | ||||||
|     def Update(self, value=None, range=(None, None), disabled=None, visible=None): |     def Update(self, value=None, range=(None, None), disabled=None, visible=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param value: | ||||||
|  |         :param range: | ||||||
|  |         :param disabled: | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if value is not None: |         if value is not None: | ||||||
|             try: |             try: | ||||||
|                 self.TKIntVar.set(value) |                 self.TKIntVar.set(value) | ||||||
|  | @ -2791,7 +2939,7 @@ class Slider(Element): | ||||||
|         elif visible is True: |         elif visible is True: | ||||||
|             self.TKScale.pack() |             self.TKScale.pack() | ||||||
| 
 | 
 | ||||||
|     def SliderChangedHandler(self, event): |     def _SliderChangedHandler(self, event): | ||||||
|         # first, get the results table built |         # first, get the results table built | ||||||
|         # modify the Results table in the parent FlexForm object |         # modify the Results table in the parent FlexForm object | ||||||
|         if self.Key is not None: |         if self.Key is not None: | ||||||
|  | @ -2908,10 +3056,13 @@ class TkScrollableFrame(tk.Frame): | ||||||
| #                           Column                                       # | #                           Column                                       # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Column(Element): | class Column(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, layout, background_color=None, size=(None, None), pad=None, scrollable=False, |     def __init__(self, layout, background_color=None, size=(None, None), pad=None, scrollable=False, | ||||||
|                  vertical_scroll_only=False, right_click_menu=None, key=None, visible=True): |                  vertical_scroll_only=False, right_click_menu=None, key=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Column | 
 | ||||||
|         :param layout: |         :param layout: | ||||||
|         :param background_color: |         :param background_color: | ||||||
|         :param size: |         :param size: | ||||||
|  | @ -2969,6 +3120,11 @@ class Column(Element): | ||||||
|         return element |         return element | ||||||
| 
 | 
 | ||||||
|     def Update(self, visible=None): |     def Update(self, visible=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if visible is False: |         if visible is False: | ||||||
|             if self.TKColFrame: |             if self.TKColFrame: | ||||||
|                 self.TKColFrame.pack_forget() |                 self.TKColFrame.pack_forget() | ||||||
|  | @ -2995,10 +3151,13 @@ class Column(Element): | ||||||
| #                           Pane                                       # | #                           Pane                                       # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Pane(Element): | class Pane(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, pane_list, background_color=None, size=(None, None), pad=None, orientation='vertical', |     def __init__(self, pane_list, background_color=None, size=(None, None), pad=None, orientation='vertical', | ||||||
|                  show_handle=True, relief=RELIEF_RAISED, handle_size=None, border_width=None, key=None, visible=True): |                  show_handle=True, relief=RELIEF_RAISED, handle_size=None, border_width=None, key=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Pane | 
 | ||||||
|         :param pane_list: |         :param pane_list: | ||||||
|         :param background_color: |         :param background_color: | ||||||
|         :param size: |         :param size: | ||||||
|  | @ -3034,6 +3193,11 @@ class Pane(Element): | ||||||
|         return |         return | ||||||
| 
 | 
 | ||||||
|     def Update(self, visible=None): |     def Update(self, visible=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if visible is False: |         if visible is False: | ||||||
|             self.PanedWindow.pack_forget() |             self.PanedWindow.pack_forget() | ||||||
|         elif visible is True: |         elif visible is True: | ||||||
|  | @ -3272,10 +3436,13 @@ class TKCalendar(ttk.Frame): | ||||||
| #                           Menu                                       # | #                           Menu                                       # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Menu(Element): | class Menu(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, menu_definition, background_color=None, size=(None, None), tearoff=False, pad=None, key=None, |     def __init__(self, menu_definition, background_color=None, size=(None, None), tearoff=False, pad=None, key=None, | ||||||
|                  visible=True): |                  visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Menu Element - A Menubar that goes across the top of the window | 
 | ||||||
|         :param menu_definition: |         :param menu_definition: | ||||||
|         :param background_color: |         :param background_color: | ||||||
|         :param size: |         :param size: | ||||||
|  | @ -3294,7 +3461,7 @@ class Menu(Element): | ||||||
|                          visible=visible) |                          visible=visible) | ||||||
|         return |         return | ||||||
| 
 | 
 | ||||||
|     def MenuItemChosenCallback(self, item_chosen):  # Menu Menu Item Chosen Callback |     def _MenuItemChosenCallback(self, item_chosen):  # Menu Menu Item Chosen Callback | ||||||
|         # print('IN MENU ITEM CALLBACK', item_chosen) |         # print('IN MENU ITEM CALLBACK', item_chosen) | ||||||
|         self.MenuItemChosen = item_chosen |         self.MenuItemChosen = item_chosen | ||||||
|         self.ParentForm.LastButtonClicked = item_chosen |         self.ParentForm.LastButtonClicked = item_chosen | ||||||
|  | @ -3303,6 +3470,12 @@ class Menu(Element): | ||||||
|             self.ParentForm.TKroot.quit()  # kick the users out of the mainloop |             self.ParentForm.TKroot.quit()  # kick the users out of the mainloop | ||||||
| 
 | 
 | ||||||
|     def Update(self, menu_definition, visible=None): |     def Update(self, menu_definition, visible=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param menu_definition: | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         self.MenuDefinition = menu_definition |         self.MenuDefinition = menu_definition | ||||||
|         self.TKMenu = tk.Menu(self.ParentForm.TKroot, tearoff=self.Tearoff)  # create the menubar |         self.TKMenu = tk.Menu(self.ParentForm.TKroot, tearoff=self.Tearoff)  # create the menubar | ||||||
|         menubar = self.TKMenu |         menubar = self.TKMenu | ||||||
|  | @ -3336,6 +3509,9 @@ MenuBar = Menu  # another name for Menu to make it clear it's the Menu Bar | ||||||
| #                           Table                                        # | #                           Table                                        # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Table(Element): | class Table(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, values, headings=None, visible_column_map=None, col_widths=None, def_col_width=10, |     def __init__(self, values, headings=None, visible_column_map=None, col_widths=None, def_col_width=10, | ||||||
|                  auto_size_columns=True, max_col_width=20, select_mode=None, display_row_numbers=False, num_rows=None, |                  auto_size_columns=True, max_col_width=20, select_mode=None, display_row_numbers=False, num_rows=None, | ||||||
|                  row_height=None, font=None, justification='right', text_color=None, background_color=None, |                  row_height=None, font=None, justification='right', text_color=None, background_color=None, | ||||||
|  | @ -3343,7 +3519,7 @@ class Table(Element): | ||||||
|                  size=(None, None), change_submits=False, enable_events=False, bind_return_key=False, pad=None, |                  size=(None, None), change_submits=False, enable_events=False, bind_return_key=False, pad=None, | ||||||
|                  key=None, tooltip=None, right_click_menu=None, visible=True): |                  key=None, tooltip=None, right_click_menu=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Table | 
 | ||||||
|         :param values: |         :param values: | ||||||
|         :param headings: |         :param headings: | ||||||
|         :param visible_column_map: |         :param visible_column_map: | ||||||
|  | @ -3360,6 +3536,9 @@ class Table(Element): | ||||||
|         :param text_color: |         :param text_color: | ||||||
|         :param background_color: |         :param background_color: | ||||||
|         :param alternating_row_color: |         :param alternating_row_color: | ||||||
|  |         :param row_colors: | ||||||
|  |         :param vertical_scroll_only: | ||||||
|  |         :param hide_vertical_scroll: | ||||||
|         :param size: |         :param size: | ||||||
|         :param change_submits: |         :param change_submits: | ||||||
|         :param enable_events: |         :param enable_events: | ||||||
|  | @ -3402,6 +3581,14 @@ class Table(Element): | ||||||
|         return |         return | ||||||
| 
 | 
 | ||||||
|     def Update(self, values=None, num_rows=None, visible=None, select_rows=None): |     def Update(self, values=None, num_rows=None, visible=None, select_rows=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param values: | ||||||
|  |         :param num_rows: | ||||||
|  |         :param visible: | ||||||
|  |         :param select_rows: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if values is not None: |         if values is not None: | ||||||
|             children = self.TKTreeview.get_children() |             children = self.TKTreeview.get_children() | ||||||
|             for i in children: |             for i in children: | ||||||
|  | @ -3461,13 +3648,16 @@ class Table(Element): | ||||||
| #                           Tree                                         # | #                           Tree                                         # | ||||||
| # ---------------------------------------------------------------------- # | # ---------------------------------------------------------------------- # | ||||||
| class Tree(Element): | class Tree(Element): | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     def __init__(self, data=None, headings=None, visible_column_map=None, col_widths=None, col0_width=10, |     def __init__(self, data=None, headings=None, visible_column_map=None, col_widths=None, col0_width=10, | ||||||
|                  def_col_width=10, auto_size_columns=True, max_col_width=20, select_mode=None, show_expanded=False, |                  def_col_width=10, auto_size_columns=True, max_col_width=20, select_mode=None, show_expanded=False, | ||||||
|                  change_submits=False, enable_events=False, font=None, justification='right', text_color=None, |                  change_submits=False, enable_events=False, font=None, justification='right', text_color=None, | ||||||
|                  background_color=None, num_rows=None, row_height=None, pad=None, key=None, tooltip=None, |                  background_color=None, num_rows=None, row_height=None, pad=None, key=None, tooltip=None, | ||||||
|                  right_click_menu=None, visible=True): |                  right_click_menu=None, visible=True): | ||||||
|         ''' |         ''' | ||||||
|         Tree | 
 | ||||||
|         :param data: |         :param data: | ||||||
|         :param headings: |         :param headings: | ||||||
|         :param visible_column_map: |         :param visible_column_map: | ||||||
|  | @ -3485,6 +3675,7 @@ class Tree(Element): | ||||||
|         :param text_color: |         :param text_color: | ||||||
|         :param background_color: |         :param background_color: | ||||||
|         :param num_rows: |         :param num_rows: | ||||||
|  |         :param row_height: | ||||||
|         :param pad: |         :param pad: | ||||||
|         :param key: |         :param key: | ||||||
|         :param tooltip: |         :param tooltip: | ||||||
|  | @ -3552,6 +3743,16 @@ class Tree(Element): | ||||||
|             self.add_treeview_data(node) |             self.add_treeview_data(node) | ||||||
| 
 | 
 | ||||||
|     def Update(self, values=None, key=None, value=None, text=None, icon=None, visible=None): |     def Update(self, values=None, key=None, value=None, text=None, icon=None, visible=None): | ||||||
|  |         ''' | ||||||
|  | 
 | ||||||
|  |         :param values: | ||||||
|  |         :param key: | ||||||
|  |         :param value: | ||||||
|  |         :param text: | ||||||
|  |         :param icon: | ||||||
|  |         :param visible: | ||||||
|  |         :return: | ||||||
|  |         ''' | ||||||
|         if values is not None: |         if values is not None: | ||||||
|             children = self.TKTreeview.get_children() |             children = self.TKTreeview.get_children() | ||||||
|             for i in children: |             for i in children: | ||||||
|  | @ -3665,6 +3866,9 @@ Stretch = ErrorElement | ||||||
| #                       Window CLASS                                        # | #                       Window CLASS                                        # | ||||||
| # ------------------------------------------------------------------------- # | # ------------------------------------------------------------------------- # | ||||||
| class Window: | class Window: | ||||||
|  |     ''' | ||||||
|  | 
 | ||||||
|  |     ''' | ||||||
|     NumOpenWindows = 0 |     NumOpenWindows = 0 | ||||||
|     user_defined_icon = None |     user_defined_icon = None | ||||||
|     hidden_master_root = None |     hidden_master_root = None | ||||||
|  | @ -3682,8 +3886,9 @@ class Window: | ||||||
|                  no_titlebar=False, grab_anywhere=False, keep_on_top=False, resizable=False, disable_close=False, |                  no_titlebar=False, grab_anywhere=False, keep_on_top=False, resizable=False, disable_close=False, | ||||||
|                  disable_minimize=False, right_click_menu=None, transparent_color=None, debugger_enabled=True): |                  disable_minimize=False, right_click_menu=None, transparent_color=None, debugger_enabled=True): | ||||||
|         ''' |         ''' | ||||||
|         Window | 
 | ||||||
|         :param title: |         :param title: | ||||||
|  |         :param layout: | ||||||
|         :param default_element_size: |         :param default_element_size: | ||||||
|         :param default_button_element_size: |         :param default_button_element_size: | ||||||
|         :param auto_size_text: |         :param auto_size_text: | ||||||
|  | @ -3691,6 +3896,7 @@ class Window: | ||||||
|         :param location: |         :param location: | ||||||
|         :param size: |         :param size: | ||||||
|         :param element_padding: |         :param element_padding: | ||||||
|  |         :param margins: | ||||||
|         :param button_color: |         :param button_color: | ||||||
|         :param font: |         :param font: | ||||||
|         :param progress_bar_color: |         :param progress_bar_color: | ||||||
|  | @ -3711,6 +3917,8 @@ class Window: | ||||||
|         :param disable_close: |         :param disable_close: | ||||||
|         :param disable_minimize: |         :param disable_minimize: | ||||||
|         :param right_click_menu: |         :param right_click_menu: | ||||||
|  |         :param transparent_color: | ||||||
|  |         :param debugger_enabled: | ||||||
|         ''' |         ''' | ||||||
|         self.AutoSizeText = auto_size_text if auto_size_text is not None else DEFAULT_AUTOSIZE_TEXT |         self.AutoSizeText = auto_size_text if auto_size_text is not None else DEFAULT_AUTOSIZE_TEXT | ||||||
|         self.AutoSizeButtons = auto_size_buttons if auto_size_buttons is not None else DEFAULT_AUTOSIZE_BUTTONS |         self.AutoSizeButtons = auto_size_buttons if auto_size_buttons is not None else DEFAULT_AUTOSIZE_BUTTONS | ||||||
|  | @ -4436,6 +4644,23 @@ FlexForm = Window | ||||||
| def FolderBrowse(button_text='Browse', target=(ThisRow, -1), initial_folder=None, tooltip=None, size=(None, None), | def FolderBrowse(button_text='Browse', target=(ThisRow, -1), initial_folder=None, tooltip=None, size=(None, None), | ||||||
|                  auto_size_button=None, button_color=None, disabled=False, change_submits=False, enable_events=False, |                  auto_size_button=None, button_color=None, disabled=False, change_submits=False, enable_events=False, | ||||||
|                  font=None, pad=None, key=None): |                  font=None, pad=None, key=None): | ||||||
|  |     ''' | ||||||
|  |      | ||||||
|  |     :param button_text: | ||||||
|  |     :param target: | ||||||
|  |     :param initial_folder: | ||||||
|  |     :param tooltip: | ||||||
|  |     :param size: | ||||||
|  |     :param auto_size_button: | ||||||
|  |     :param button_color: | ||||||
|  |     :param disabled: | ||||||
|  |     :param change_submits: | ||||||
|  |     :param enable_events: | ||||||
|  |     :param font: | ||||||
|  |     :param pad: | ||||||
|  |     :param key: | ||||||
|  |     :return: | ||||||
|  |     ''' | ||||||
|     return Button(button_text=button_text, button_type=BUTTON_TYPE_BROWSE_FOLDER, target=target, |     return Button(button_text=button_text, button_type=BUTTON_TYPE_BROWSE_FOLDER, target=target, | ||||||
|                   initial_folder=initial_folder, tooltip=tooltip, size=size, auto_size_button=auto_size_button, |                   initial_folder=initial_folder, tooltip=tooltip, size=size, auto_size_button=auto_size_button, | ||||||
|                   disabled=disabled, button_color=button_color, change_submits=change_submits, |                   disabled=disabled, button_color=button_color, change_submits=change_submits, | ||||||
|  | @ -5055,11 +5280,11 @@ if sys.version_info[0] >= 3: | ||||||
| 
 | 
 | ||||||
|                     if item_without_key[0] == MENU_DISABLED_CHARACTER: |                     if item_without_key[0] == MENU_DISABLED_CHARACTER: | ||||||
|                         top_menu.add_command(label=item_without_key[len(MENU_DISABLED_CHARACTER):], underline=pos, |                         top_menu.add_command(label=item_without_key[len(MENU_DISABLED_CHARACTER):], underline=pos, | ||||||
|                                              command=lambda: element.MenuItemChosenCallback(sub_menu_info)) |                                              command=lambda: element._MenuItemChosenCallback(sub_menu_info)) | ||||||
|                         top_menu.entryconfig(item_without_key[len(MENU_DISABLED_CHARACTER):], state='disabled') |                         top_menu.entryconfig(item_without_key[len(MENU_DISABLED_CHARACTER):], state='disabled') | ||||||
|                     else: |                     else: | ||||||
|                         top_menu.add_command(label=item_without_key, underline=pos, |                         top_menu.add_command(label=item_without_key, underline=pos, | ||||||
|                                              command=lambda: element.MenuItemChosenCallback(sub_menu_info)) |                                              command=lambda: element._MenuItemChosenCallback(sub_menu_info)) | ||||||
|         else: |         else: | ||||||
|             i = 0 |             i = 0 | ||||||
|             while i < (len(sub_menu_info)): |             while i < (len(sub_menu_info)): | ||||||
|  | @ -5104,11 +5329,11 @@ else: | ||||||
| 
 | 
 | ||||||
|                     if item_without_key[0] == MENU_DISABLED_CHARACTER: |                     if item_without_key[0] == MENU_DISABLED_CHARACTER: | ||||||
|                         top_menu.add_command(label=item_without_key[len(MENU_DISABLED_CHARACTER):], underline=pos, |                         top_menu.add_command(label=item_without_key[len(MENU_DISABLED_CHARACTER):], underline=pos, | ||||||
|                                              command=lambda: element.MenuItemChosenCallback(sub_menu_info)) |                                              command=lambda: element._MenuItemChosenCallback(sub_menu_info)) | ||||||
|                         top_menu.entryconfig(item_without_key[len(MENU_DISABLED_CHARACTER):], state='disabled') |                         top_menu.entryconfig(item_without_key[len(MENU_DISABLED_CHARACTER):], state='disabled') | ||||||
|                     else: |                     else: | ||||||
|                         top_menu.add_command(label=item_without_key, underline=pos, |                         top_menu.add_command(label=item_without_key, underline=pos, | ||||||
|                                              command=lambda: element.MenuItemChosenCallback(sub_menu_info)) |                                              command=lambda: element._MenuItemChosenCallback(sub_menu_info)) | ||||||
|         else: |         else: | ||||||
|             i = 0 |             i = 0 | ||||||
|             while i < (len(sub_menu_info)): |             while i < (len(sub_menu_info)): | ||||||
|  | @ -5333,7 +5558,7 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form): | ||||||
|                     tktext_label.pack_forget() |                     tktext_label.pack_forget() | ||||||
|                 element.TKText = tktext_label |                 element.TKText = tktext_label | ||||||
|                 if element.ClickSubmits: |                 if element.ClickSubmits: | ||||||
|                     tktext_label.bind('<Button-1>', element.TextClickedHandler) |                     tktext_label.bind('<Button-1>', element._TextClickedHandler) | ||||||
|                 if element.Tooltip is not None: |                 if element.Tooltip is not None: | ||||||
|                     element.TooltipObject = ToolTip(element.TKText, text=element.Tooltip, timeout=DEFAULT_TOOLTIP_TIME) |                     element.TooltipObject = ToolTip(element.TKText, text=element.Tooltip, timeout=DEFAULT_TOOLTIP_TIME) | ||||||
|                 if element.RightClickMenu or toplevel_form.RightClickMenu: |                 if element.RightClickMenu or toplevel_form.RightClickMenu: | ||||||
|  | @ -5413,10 +5638,10 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form): | ||||||
|                 if element.Visible is False: |                 if element.Visible is False: | ||||||
|                     tkbutton.pack_forget() |                     tkbutton.pack_forget() | ||||||
|                 if element.BindReturnKey: |                 if element.BindReturnKey: | ||||||
|                     element.TKButton.bind('<Return>', element.ReturnKeyHandler) |                     element.TKButton.bind('<Return>', element._ReturnKeyHandler) | ||||||
|                 if element.Focus is True or (toplevel_form.UseDefaultFocus and not focus_set): |                 if element.Focus is True or (toplevel_form.UseDefaultFocus and not focus_set): | ||||||
|                     focus_set = True |                     focus_set = True | ||||||
|                     element.TKButton.bind('<Return>', element.ReturnKeyHandler) |                     element.TKButton.bind('<Return>', element._ReturnKeyHandler) | ||||||
|                     element.TKButton.focus_set() |                     element.TKButton.focus_set() | ||||||
|                     toplevel_form.TKroot.focus_force() |                     toplevel_form.TKroot.focus_force() | ||||||
|                 if element.Disabled == True: |                 if element.Disabled == True: | ||||||
|  | @ -5516,7 +5741,7 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form): | ||||||
|                                                             font=font, show=show, justify=justify) |                                                             font=font, show=show, justify=justify) | ||||||
|                 if element.ChangeSubmits: |                 if element.ChangeSubmits: | ||||||
|                     element.TKEntry.bind('<Key>', element._KeyboardHandler) |                     element.TKEntry.bind('<Key>', element._KeyboardHandler) | ||||||
|                 element.TKEntry.bind('<Return>', element.ReturnKeyHandler) |                 element.TKEntry.bind('<Return>', element._ReturnKeyHandler) | ||||||
|                 if element.BackgroundColor is not None and element.BackgroundColor != COLOR_SYSTEM_DEFAULT: |                 if element.BackgroundColor is not None and element.BackgroundColor != COLOR_SYSTEM_DEFAULT: | ||||||
|                     element.TKEntry.configure(background=element.BackgroundColor) |                     element.TKEntry.configure(background=element.BackgroundColor) | ||||||
|                 if text_color is not None and text_color != COLOR_SYSTEM_DEFAULT: |                 if text_color is not None and text_color != COLOR_SYSTEM_DEFAULT: | ||||||
|  | @ -5608,7 +5833,7 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form): | ||||||
|                 elif element.Values: |                 elif element.Values: | ||||||
|                     element.TKCombo.current(0) |                     element.TKCombo.current(0) | ||||||
|                 if element.ChangeSubmits: |                 if element.ChangeSubmits: | ||||||
|                     element.TKCombo.bind('<<ComboboxSelected>>', element.ComboboxSelectHandler) |                     element.TKCombo.bind('<<ComboboxSelected>>', element._ComboboxSelectHandler) | ||||||
|                 if element.Readonly: |                 if element.Readonly: | ||||||
|                     element.TKCombo['state'] = 'readonly' |                     element.TKCombo['state'] = 'readonly' | ||||||
|                 if element.Disabled is True:  # note overrides readonly if disabled |                 if element.Disabled is True:  # note overrides readonly if disabled | ||||||
|  | @ -5663,7 +5888,7 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form): | ||||||
|                 if text_color is not None and text_color != COLOR_SYSTEM_DEFAULT: |                 if text_color is not None and text_color != COLOR_SYSTEM_DEFAULT: | ||||||
|                     element.TKListbox.configure(fg=text_color) |                     element.TKListbox.configure(fg=text_color) | ||||||
|                 if element.ChangeSubmits: |                 if element.ChangeSubmits: | ||||||
|                     element.TKListbox.bind('<<ListboxSelect>>', element.ListboxSelectHandler) |                     element.TKListbox.bind('<<ListboxSelect>>', element._ListboxSelectHandler) | ||||||
|                 element.vsb = tk.Scrollbar(listbox_frame, orient="vertical", command=element.TKListbox.yview) |                 element.vsb = tk.Scrollbar(listbox_frame, orient="vertical", command=element.TKListbox.yview) | ||||||
|                 element.TKListbox.configure(yscrollcommand=element.vsb.set) |                 element.TKListbox.configure(yscrollcommand=element.vsb.set) | ||||||
|                 element.TKListbox.pack(side=tk.LEFT) |                 element.TKListbox.pack(side=tk.LEFT) | ||||||
|  | @ -5673,8 +5898,8 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form): | ||||||
|                     listbox_frame.pack_forget() |                     listbox_frame.pack_forget() | ||||||
|                     element.vsb.pack_forget() |                     element.vsb.pack_forget() | ||||||
|                 if element.BindReturnKey: |                 if element.BindReturnKey: | ||||||
|                     element.TKListbox.bind('<Return>', element.ListboxSelectHandler) |                     element.TKListbox.bind('<Return>', element._ListboxSelectHandler) | ||||||
|                     element.TKListbox.bind('<Double-Button-1>', element.ListboxSelectHandler) |                     element.TKListbox.bind('<Double-Button-1>', element._ListboxSelectHandler) | ||||||
|                 if element.Disabled == True: |                 if element.Disabled == True: | ||||||
|                     element.TKListbox['state'] = 'disabled' |                     element.TKListbox['state'] = 'disabled' | ||||||
|                 if element.Tooltip is not None: |                 if element.Tooltip is not None: | ||||||
|  | @ -5706,7 +5931,7 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form): | ||||||
|                 if element.ChangeSubmits: |                 if element.ChangeSubmits: | ||||||
|                     element.TKText.bind('<Key>', element._KeyboardHandler) |                     element.TKText.bind('<Key>', element._KeyboardHandler) | ||||||
|                 if element.EnterSubmits: |                 if element.EnterSubmits: | ||||||
|                     element.TKText.bind('<Return>', element.ReturnKeyHandler) |                     element.TKText.bind('<Return>', element._ReturnKeyHandler) | ||||||
|                 if element.Focus is True or (toplevel_form.UseDefaultFocus and not focus_set): |                 if element.Focus is True or (toplevel_form.UseDefaultFocus and not focus_set): | ||||||
|                     focus_set = True |                     focus_set = True | ||||||
|                     element.TKText.focus_set() |                     element.TKText.focus_set() | ||||||
|  | @ -5734,7 +5959,7 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form): | ||||||
|                                                                             text=element.Text, width=width, |                                                                             text=element.Text, width=width, | ||||||
|                                                                             variable=element.TKIntVar, bd=border_depth, |                                                                             variable=element.TKIntVar, bd=border_depth, | ||||||
|                                                                             font=font, |                                                                             font=font, | ||||||
|                                                                             command=element.CheckboxHandler) |                                                                             command=element._CheckboxHandler) | ||||||
|                 else: |                 else: | ||||||
|                     element.TKCheckbutton = element.Widget = tk.Checkbutton(tk_row_frame, anchor=tk.NW, |                     element.TKCheckbutton = element.Widget = tk.Checkbutton(tk_row_frame, anchor=tk.NW, | ||||||
|                                                                             text=element.Text, width=width, |                                                                             text=element.Text, width=width, | ||||||
|  | @ -5798,7 +6023,7 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form): | ||||||
|                                                                       width=width, |                                                                       width=width, | ||||||
|                                                                       variable=element.TKIntVar, value=value, |                                                                       variable=element.TKIntVar, value=value, | ||||||
|                                                                       bd=border_depth, font=font, |                                                                       bd=border_depth, font=font, | ||||||
|                                                                       command=element.RadioHandler) |                                                                       command=element._RadioHandler) | ||||||
|                 else: |                 else: | ||||||
|                     element.TKRadio = element.Widget = tk.Radiobutton(tk_row_frame, anchor=tk.NW, text=element.Text, |                     element.TKRadio = element.Widget = tk.Radiobutton(tk_row_frame, anchor=tk.NW, text=element.Text, | ||||||
|                                                                       width=width, |                                                                       width=width, | ||||||
|  | @ -6086,7 +6311,7 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form): | ||||||
|                 PackFormIntoFrame(element, toplevel_form.TKroot, toplevel_form) |                 PackFormIntoFrame(element, toplevel_form.TKroot, toplevel_form) | ||||||
| 
 | 
 | ||||||
|                 if element.ChangeSubmits: |                 if element.ChangeSubmits: | ||||||
|                     element.TKNotebook.bind('<<NotebookTabChanged>>', element.TabGroupSelectHandler) |                     element.TKNotebook.bind('<<NotebookTabChanged>>', element._TabGroupSelectHandler) | ||||||
|                 if element.BorderWidth is not None: |                 if element.BorderWidth is not None: | ||||||
|                     element.TKNotebook.configure(borderwidth=element.BorderWidth) |                     element.TKNotebook.configure(borderwidth=element.BorderWidth) | ||||||
|                 if element.Tooltip is not None: |                 if element.Tooltip is not None: | ||||||
|  | @ -6113,7 +6338,7 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form): | ||||||
|                                                         bd=element.BorderWidth, |                                                         bd=element.BorderWidth, | ||||||
|                                                         relief=element.Relief, font=font, |                                                         relief=element.Relief, font=font, | ||||||
|                                                         tickinterval=element.TickInterval, |                                                         tickinterval=element.TickInterval, | ||||||
|                                                         command=element.SliderChangedHandler) |                                                         command=element._SliderChangedHandler) | ||||||
|                 else: |                 else: | ||||||
|                     tkscale = element.Widget = tk.Scale(tk_row_frame, orient=element.Orientation, |                     tkscale = element.Widget = tk.Scale(tk_row_frame, orient=element.Orientation, | ||||||
|                                                         variable=element.TKIntVar, |                                                         variable=element.TKIntVar, | ||||||
|  | @ -6388,7 +6613,7 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form): | ||||||
|                     tktext_label.pack_forget() |                     tktext_label.pack_forget() | ||||||
|                 element.TKText = tktext_label |                 element.TKText = tktext_label | ||||||
|                 if element.ClickSubmits: |                 if element.ClickSubmits: | ||||||
|                     tktext_label.bind('<Button-1>', element.TextClickedHandler) |                     tktext_label.bind('<Button-1>', element._TextClickedHandler) | ||||||
|                 if element.Tooltip is not None: |                 if element.Tooltip is not None: | ||||||
|                     element.TooltipObject = ToolTip(element.TKText, text=element.Tooltip, timeout=DEFAULT_TOOLTIP_TIME) |                     element.TooltipObject = ToolTip(element.TKText, text=element.Tooltip, timeout=DEFAULT_TOOLTIP_TIME) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue