Lots of doc updates. The recent Tab and TabGroup changes
This commit is contained in:
parent
39fdf072a4
commit
28c7c35ac0
4 changed files with 825 additions and 145 deletions
|
@ -2123,7 +2123,7 @@ class Tab(Element):
|
|||
self.Title = title
|
||||
self.BorderWidth = border_width
|
||||
self.Disabled = disabled
|
||||
self.ParentNotebook = None
|
||||
self.ParentTabGroup = None # type: TabGroup
|
||||
self.TabID = None
|
||||
self.BackgroundColor = background_color if background_color is not None else DEFAULT_BACKGROUND_COLOR
|
||||
self.Widget = self.QT_QWidget = None # type: QWidget
|
||||
|
@ -2170,6 +2170,18 @@ class Tab(Element):
|
|||
element = row[col_num]
|
||||
return element
|
||||
|
||||
|
||||
def Select(self):
|
||||
"""
|
||||
Selects this tab. Mimics user clicking on this tab. Must have called window.Finalize / Read first!
|
||||
"""
|
||||
try:
|
||||
index = self.ParentTabGroup.TabList.index(self)
|
||||
self.ParentTabGroup.QT_QTabWidget.setCurrentIndex(index)
|
||||
except:
|
||||
print('** EXCEPTION while trying to Select tab with key =', self.Key)
|
||||
|
||||
|
||||
def __del__(self):
|
||||
for row in self.Rows:
|
||||
for element in row:
|
||||
|
@ -2213,6 +2225,7 @@ class TabGroup(Element):
|
|||
self.BackgroundColor = background_color if background_color is not None else COLOR_SYSTEM_DEFAULT
|
||||
self.ChangeSubmits = change_submits or enable_events
|
||||
self.TabLocation = tab_location
|
||||
self.TabList = [] # type: List[Tab]
|
||||
self.Widget = self.QT_QTabWidget = None # type: QTabWidget
|
||||
self.Layout(layout)
|
||||
|
||||
|
@ -2229,9 +2242,11 @@ class TabGroup(Element):
|
|||
for i, element in enumerate(args): # Loop through list of elements and add them to the row
|
||||
element.Position = (CurrentRowNumber, i)
|
||||
element.ParentContainer = self
|
||||
element.ParentTabGroup = self
|
||||
CurrentRow.append(element)
|
||||
if element.Key is not None:
|
||||
self.UseDictionary = True
|
||||
self.TabList.append(element)
|
||||
# ------------------------- Append the row to list of Rows ------------------------- #
|
||||
self.Rows.append(CurrentRow)
|
||||
|
||||
|
@ -2261,19 +2276,23 @@ class TabGroup(Element):
|
|||
if self.ChangeSubmits:
|
||||
element_callback_quit_mainloop(self)
|
||||
|
||||
def SelectTab(self, index):
|
||||
try:
|
||||
self.QT_QTabWidget.setCurrentIndex(index)
|
||||
except:
|
||||
pass
|
||||
def Get(self):
|
||||
"""
|
||||
Returns the current value for the Tab Group, which will be the currently selected tab's KEY or the text on
|
||||
the tab if no key is defined. Returns None if an error occurs.
|
||||
Note that this is exactly the same data that would be returned from a call to Window.Read. Are you sure you
|
||||
are using this method correctly?
|
||||
|
||||
def GetCurrentlySelectedTabIndex(self):
|
||||
:return: Union[Any, None] The key of the currently selected tab or the tab's text if it has no key
|
||||
"""
|
||||
value = None
|
||||
try:
|
||||
index = self.QT_QTabWidget.currentIndex()
|
||||
cur_index = self.QT_QTabWidget.currentIndex()
|
||||
tab_element = self.TabList[cur_index]
|
||||
value = tab_element.Key
|
||||
except:
|
||||
index = None
|
||||
return index
|
||||
|
||||
value = None
|
||||
return value
|
||||
|
||||
def __del__(self):
|
||||
for row in self.Rows:
|
||||
|
@ -3519,6 +3538,8 @@ class Window:
|
|||
if element.Key is None: # if no key has been assigned.... create one for input elements
|
||||
if element.Type == ELEM_TYPE_BUTTON:
|
||||
element.Key = element.ButtonText
|
||||
elif element.Type == ELEM_TYPE_TAB:
|
||||
element.Key = element.Title
|
||||
if element.Type in (ELEM_TYPE_MENUBAR, ELEM_TYPE_BUTTONMENU, ELEM_TYPE_CANVAS,
|
||||
ELEM_TYPE_INPUT_SLIDER, ELEM_TYPE_GRAPH, ELEM_TYPE_IMAGE,
|
||||
ELEM_TYPE_INPUT_CHECKBOX, ELEM_TYPE_INPUT_LISTBOX, ELEM_TYPE_INPUT_COMBO,
|
||||
|
@ -4304,14 +4325,10 @@ def BuildResultsForSubform(form, initialize_only, top_level_form):
|
|||
if not top_level_form.NonBlocking and not element.do_not_clear and not top_level_form.ReturnKeyboardEvents:
|
||||
element.QT_TextEdit.setText('')
|
||||
elif element.Type == ELEM_TYPE_TAB_GROUP:
|
||||
try:
|
||||
value = element.QT_QTabWidget.getCurrentIndex()
|
||||
tab_key = element.FindKeyFromTabName(value)
|
||||
if tab_key is not None:
|
||||
value = tab_key
|
||||
except:
|
||||
value = None
|
||||
value = 0
|
||||
element = element # type: TabGroup
|
||||
cur_index = element.QT_QTabWidget.currentIndex()
|
||||
tab_element = element.TabList[cur_index]
|
||||
value = tab_element.Key
|
||||
elif element.Type == ELEM_TYPE_TABLE:
|
||||
value = []
|
||||
indexes = element.QT_TableWidget.selectionModel().selectedRows()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue