NEW Paned Element
This commit is contained in:
parent
707d709841
commit
a49bbd2834
|
@ -240,6 +240,7 @@ ELEM_TYPE_TREE = 'tree'
|
||||||
ELEM_TYPE_ERROR = 'error'
|
ELEM_TYPE_ERROR = 'error'
|
||||||
ELEM_TYPE_SEPARATOR = 'separator'
|
ELEM_TYPE_SEPARATOR = 'separator'
|
||||||
ELEM_TYPE_STATUSBAR = 'statusbar'
|
ELEM_TYPE_STATUSBAR = 'statusbar'
|
||||||
|
ELEM_TYPE_PANE = 'pane'
|
||||||
|
|
||||||
# ------------------------- Popup Buttons Types ------------------------- #
|
# ------------------------- Popup Buttons Types ------------------------- #
|
||||||
POPUP_BUTTONS_YES_NO = 1
|
POPUP_BUTTONS_YES_NO = 1
|
||||||
|
@ -2413,7 +2414,7 @@ class Column(Element):
|
||||||
|
|
||||||
self.Layout(layout)
|
self.Layout(layout)
|
||||||
|
|
||||||
super().__init__(ELEM_TYPE_COLUMN, background_color=background_color, size=size, pad=pad, key=key, visible=visible)
|
super().__init__(ELEM_TYPE_COLUMN, background_color=bg, size=size, pad=pad, key=key, visible=visible)
|
||||||
return
|
return
|
||||||
|
|
||||||
def AddRow(self, *args):
|
def AddRow(self, *args):
|
||||||
|
@ -2459,6 +2460,43 @@ class Column(Element):
|
||||||
super().__del__()
|
super().__del__()
|
||||||
|
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------- #
|
||||||
|
# Pane #
|
||||||
|
# ---------------------------------------------------------------------- #
|
||||||
|
class Pane(Element):
|
||||||
|
def __init__(self, pane_list, background_color=None, size=(None, None), pad=None, orientation='vertical', key=None, visible=True):
|
||||||
|
'''
|
||||||
|
Container for elements that are stacked into rows
|
||||||
|
:param layout:
|
||||||
|
:param background_color:
|
||||||
|
:param size:
|
||||||
|
:param pad:
|
||||||
|
:param scrollable:
|
||||||
|
:param vertical_scroll_only:
|
||||||
|
:param key:
|
||||||
|
'''
|
||||||
|
self.UseDictionary = False
|
||||||
|
self.ReturnValues = None
|
||||||
|
self.ReturnValuesList = []
|
||||||
|
self.ReturnValuesDictionary = {}
|
||||||
|
self.DictionaryKeyCounter = 0
|
||||||
|
self.ParentWindow = None
|
||||||
|
self.Rows = []
|
||||||
|
self.TKFrame = None
|
||||||
|
self.TKColFrame = None
|
||||||
|
self.Orientation = orientation
|
||||||
|
self.PaneList = pane_list
|
||||||
|
|
||||||
|
bg = background_color if background_color is not None else DEFAULT_BACKGROUND_COLOR
|
||||||
|
|
||||||
|
|
||||||
|
super().__init__(ELEM_TYPE_PANE, background_color=bg, size=size, pad=pad, key=key, visible=visible)
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------- #
|
# ---------------------------------------------------------------------- #
|
||||||
# Calendar #
|
# Calendar #
|
||||||
# ---------------------------------------------------------------------- #
|
# ---------------------------------------------------------------------- #
|
||||||
|
@ -4328,6 +4366,26 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form):
|
||||||
if element.BackgroundColor != COLOR_SYSTEM_DEFAULT and element.BackgroundColor is not None:
|
if element.BackgroundColor != COLOR_SYSTEM_DEFAULT and element.BackgroundColor is not None:
|
||||||
col_frame.configure(background=element.BackgroundColor, highlightbackground=element.BackgroundColor,
|
col_frame.configure(background=element.BackgroundColor, highlightbackground=element.BackgroundColor,
|
||||||
highlightcolor=element.BackgroundColor)
|
highlightcolor=element.BackgroundColor)
|
||||||
|
|
||||||
|
# ------------------------- Pane element ------------------------- #
|
||||||
|
if element_type == ELEM_TYPE_PANE:
|
||||||
|
element.PanedWindow = tk.PanedWindow(tk_row_frame,
|
||||||
|
orient=tk.VERTICAL if element.Orientation.startswith('v') else tk.HORIZONTAL,
|
||||||
|
relief=tk.RAISED)
|
||||||
|
|
||||||
|
for pane in element.PaneList:
|
||||||
|
col_frame = tk.Frame(element.PanedWindow)
|
||||||
|
PackFormIntoFrame(pane, col_frame, toplevel_form)
|
||||||
|
element.PanedWindow.add(col_frame)
|
||||||
|
if pane.BackgroundColor != COLOR_SYSTEM_DEFAULT and pane.BackgroundColor is not None:
|
||||||
|
col_frame.configure(background=pane.BackgroundColor, highlightbackground=pane.BackgroundColor,
|
||||||
|
highlightcolor=pane.BackgroundColor)
|
||||||
|
|
||||||
|
element.PanedWindow.pack(side=tk.LEFT, padx=elementpad[0], pady=elementpad[1], expand=True, fill='both')
|
||||||
|
if element.Visible is False:
|
||||||
|
element.PanedWindow.pack_forget()
|
||||||
|
|
||||||
|
|
||||||
# ------------------------- TEXT element ------------------------- #
|
# ------------------------- TEXT element ------------------------- #
|
||||||
elif element_type == ELEM_TYPE_TEXT:
|
elif element_type == ELEM_TYPE_TEXT:
|
||||||
# auto_size_text = element.AutoSizeText
|
# auto_size_text = element.AutoSizeText
|
||||||
|
@ -6824,7 +6882,7 @@ def main():
|
||||||
Frame('Binary Choice Group', frame3, title_color='purple'),
|
Frame('Binary Choice Group', frame3, title_color='purple'),
|
||||||
Frame('Variable Choice Group', frame4, title_color='blue')],
|
Frame('Variable Choice Group', frame4, title_color='blue')],
|
||||||
[Frame('Structured Data Group', frame5, title_color='red'), ],
|
[Frame('Structured Data Group', frame5, title_color='red'), ],
|
||||||
[Frame('Graphing Group', frame6)],
|
# [Frame('Graphing Group', frame6)],
|
||||||
[TabGroup([[tab1, tab2]])],
|
[TabGroup([[tab1, tab2]])],
|
||||||
[ProgressBar(max_value=800, size=(60, 25), key='+PROGRESS+'), Button('Button'), Button('Exit')],
|
[ProgressBar(max_value=800, size=(60, 25), key='+PROGRESS+'), Button('Button'), Button('Exit')],
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in New Issue