Metadata! Added to everything.... all elements, all element constructors, Window too
This commit is contained in:
parent
e5b5ca7bbb
commit
888808b1f4
218
PySimpleGUI.py
218
PySimpleGUI.py
|
@ -501,7 +501,7 @@ class Element():
|
|||
The base class for all Elements.
|
||||
Holds the basic description of an Element like size and colors
|
||||
"""
|
||||
def __init__(self, type, size=(None, None), auto_size_text=None, font=None, background_color=None, text_color=None, key=None, pad=None, tooltip=None, visible=True):
|
||||
def __init__(self, type, size=(None, None), auto_size_text=None, font=None, background_color=None, text_color=None, key=None, pad=None, tooltip=None, visible=True, metadata=None):
|
||||
"""
|
||||
Element base class. Only used internally. User will not create an Element object by itself
|
||||
|
||||
|
@ -542,7 +542,7 @@ class Element():
|
|||
self.Widget = None # Set when creating window. Has the main tkinter widget for element
|
||||
self.Tearoff = False
|
||||
self.ParentRowFrame = None # type tk.Frame
|
||||
self.metadata = None # type: Any
|
||||
self.metadata = metadata # type: Any
|
||||
|
||||
def _RightClickMenuCallback(self, event):
|
||||
"""
|
||||
|
@ -780,7 +780,7 @@ class InputText(Element):
|
|||
def __init__(self, default_text='', size=(None, None), disabled=False, password_char='',
|
||||
justification=None, background_color=None, text_color=None, font=None, tooltip=None,
|
||||
change_submits=False, enable_events=False, do_not_clear=True, key=None, focus=False, pad=None,
|
||||
right_click_menu=None, visible=True):
|
||||
right_click_menu=None, visible=True, metadata=None):
|
||||
"""
|
||||
|
||||
:param default_text: (str) Text initially shown in the input box as a default value(Default value = '')
|
||||
|
@ -813,7 +813,7 @@ class InputText(Element):
|
|||
self.RightClickMenu = right_click_menu
|
||||
self.TKEntry = self.Widget = None # type: tk.Entry
|
||||
super().__init__(ELEM_TYPE_INPUT_TEXT, size=size, background_color=bg, text_color=fg, key=key, pad=pad,
|
||||
font=font, tooltip=tooltip, visible=visible)
|
||||
font=font, tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
|
||||
def Update(self, value=None, disabled=None, select=None, visible=None):
|
||||
"""
|
||||
|
@ -879,7 +879,7 @@ class Combo(Element):
|
|||
"""
|
||||
def __init__(self, values, default_value=None, size=(None, None), auto_size_text=None, background_color=None,
|
||||
text_color=None, change_submits=False, enable_events=False, disabled=False, key=None, pad=None,
|
||||
tooltip=None, readonly=False, font=None, visible=True):
|
||||
tooltip=None, readonly=False, font=None, visible=True, metadata=None):
|
||||
"""
|
||||
:param values: List[Any] values to choose. While displayed as text, the items returned are what the caller supplied, not text
|
||||
:param default_value: (Any) Choice to be displayed as initial value. Must match one of values variable contents
|
||||
|
@ -907,7 +907,7 @@ class Combo(Element):
|
|||
fg = text_color if text_color is not None else DEFAULT_INPUT_TEXT_COLOR
|
||||
|
||||
super().__init__(ELEM_TYPE_INPUT_COMBO, size=size, auto_size_text=auto_size_text, background_color=bg,
|
||||
text_color=fg, key=key, pad=pad, tooltip=tooltip, font=font or DEFAULT_FONT, visible=visible)
|
||||
text_color=fg, key=key, pad=pad, tooltip=tooltip, font=font or DEFAULT_FONT, visible=visible, metadata=metadata)
|
||||
|
||||
def Update(self, value=None, values=None, set_to_index=None, disabled=None, readonly=None, font=None, visible=None):
|
||||
"""
|
||||
|
@ -1000,7 +1000,7 @@ class OptionMenu(Element):
|
|||
it looks like a Combo Box that you scroll to select a choice.
|
||||
"""
|
||||
def __init__(self, values, default_value=None, size=(None, None), disabled=False, auto_size_text=None,
|
||||
background_color=None, text_color=None, key=None, pad=None, tooltip=None, visible=True):
|
||||
background_color=None, text_color=None, key=None, pad=None, tooltip=None, visible=True, metadata=None):
|
||||
"""
|
||||
:param values: List[Any] Values to be displayed
|
||||
:param default_value: (Any) the value to choose by default
|
||||
|
@ -1022,7 +1022,7 @@ class OptionMenu(Element):
|
|||
fg = text_color if text_color is not None else DEFAULT_INPUT_TEXT_COLOR
|
||||
|
||||
super().__init__(ELEM_TYPE_INPUT_OPTION_MENU, size=size, auto_size_text=auto_size_text, background_color=bg,
|
||||
text_color=fg, key=key, pad=pad, tooltip=tooltip, visible=visible)
|
||||
text_color=fg, key=key, pad=pad, tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
|
||||
def Update(self, value=None, values=None, disabled=None, visible=None):
|
||||
"""
|
||||
|
@ -1083,7 +1083,7 @@ class Listbox(Element):
|
|||
def __init__(self, values, default_values=None, select_mode=None, change_submits=False, enable_events=False,
|
||||
bind_return_key=False, size=(None, None), disabled=False, auto_size_text=None, font=None, no_scrollbar=False,
|
||||
background_color=None, text_color=None, key=None, pad=None, tooltip=None, right_click_menu=None,
|
||||
visible=True):
|
||||
visible=True, metadata=None):
|
||||
"""
|
||||
:param values: List[Any] list of values to display. Can be any type including mixed types as long as they have __str__ method
|
||||
:param default_values: List[Any] which values should be initially selected
|
||||
|
@ -1130,7 +1130,7 @@ class Listbox(Element):
|
|||
self.TKListbox = self.Widget = None # type: tk.Listbox
|
||||
self.NoScrollbar = no_scrollbar
|
||||
super().__init__(ELEM_TYPE_INPUT_LISTBOX, size=size, auto_size_text=auto_size_text, font=font,
|
||||
background_color=bg, text_color=fg, key=key, pad=pad, tooltip=tooltip, visible=visible)
|
||||
background_color=bg, text_color=fg, key=key, pad=pad, tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
|
||||
|
||||
def Update(self, values=None, disabled=None, set_to_index=None, scroll_to_index=None, visible=None):
|
||||
|
@ -1240,7 +1240,7 @@ class Radio(Element):
|
|||
"""
|
||||
def __init__(self, text, group_id, default=False, disabled=False, size=(None, None), auto_size_text=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, metadata=None):
|
||||
"""
|
||||
|
||||
:param text: (str) Text to display next to button
|
||||
|
@ -1271,7 +1271,7 @@ class Radio(Element):
|
|||
self.EncodedRadioValue = None
|
||||
super().__init__(ELEM_TYPE_INPUT_RADIO, size=size, auto_size_text=auto_size_text, font=font,
|
||||
background_color=background_color, text_color=self.TextColor, key=key, pad=pad,
|
||||
tooltip=tooltip, visible=visible)
|
||||
tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
|
||||
def Update(self, value=None, disabled=None, visible=None):
|
||||
"""
|
||||
|
@ -1335,7 +1335,7 @@ class Checkbox(Element):
|
|||
"""
|
||||
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,
|
||||
tooltip=None, visible=True):
|
||||
tooltip=None, visible=True, metadata=None):
|
||||
"""
|
||||
:param text: (str) Text to display next to checkbox
|
||||
:param default: (bool). Set to True if you want this checkbox initially checked
|
||||
|
@ -1363,7 +1363,7 @@ class Checkbox(Element):
|
|||
|
||||
super().__init__(ELEM_TYPE_INPUT_CHECKBOX, size=size, auto_size_text=auto_size_text, font=font,
|
||||
background_color=background_color, text_color=self.TextColor, key=key, pad=pad,
|
||||
tooltip=tooltip, visible=visible)
|
||||
tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
|
||||
def Get(self):
|
||||
# type: (Checkbox) -> bool
|
||||
|
@ -1425,7 +1425,7 @@ class Spin(Element):
|
|||
|
||||
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,
|
||||
pad=None, tooltip=None, visible=True):
|
||||
pad=None, tooltip=None, visible=True, metadata=None):
|
||||
"""
|
||||
|
||||
:param values: List[Any] List of valid values
|
||||
|
@ -1453,7 +1453,7 @@ class Spin(Element):
|
|||
fg = text_color if text_color is not None else DEFAULT_INPUT_TEXT_COLOR
|
||||
|
||||
super().__init__(ELEM_TYPE_INPUT_SPIN, size, auto_size_text, font=font, background_color=bg, text_color=fg,
|
||||
key=key, pad=pad, tooltip=tooltip, visible=visible)
|
||||
key=key, pad=pad, tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def Update(self, value=None, values=None, disabled=None, visible=None):
|
||||
|
@ -1534,7 +1534,7 @@ class Multiline(Element):
|
|||
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,
|
||||
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, metadata=None):
|
||||
"""
|
||||
|
||||
:param default_text: (str) Initial text to show
|
||||
|
@ -1571,7 +1571,7 @@ class Multiline(Element):
|
|||
self.BorderWidth = border_width if border_width is not None else DEFAULT_BORDER_WIDTH
|
||||
self.TKText = self.Widget = None # type: tkst.ScrolledText
|
||||
super().__init__(ELEM_TYPE_INPUT_MULTILINE, size=size, auto_size_text=auto_size_text, background_color=bg,
|
||||
text_color=fg, key=key, pad=pad, tooltip=tooltip, font=font or DEFAULT_FONT, visible=visible)
|
||||
text_color=fg, key=key, pad=pad, tooltip=tooltip, font=font or DEFAULT_FONT, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def Update(self, value=None, disabled=None, append=False, font=None, text_color=None, background_color=None,
|
||||
|
@ -1652,7 +1652,7 @@ class Text(Element):
|
|||
"""
|
||||
def __init__(self, text, size=(None, None), auto_size_text=None, click_submits=False, enable_events=False,
|
||||
relief=None, font=None, text_color=None, background_color=None, justification=None, pad=None, key=None,
|
||||
right_click_menu=None, tooltip=None, visible=True):
|
||||
right_click_menu=None, tooltip=None, visible=True, metadata=None):
|
||||
"""
|
||||
:param text: (str) The text to display. Can include /n to achieve multiple lines
|
||||
:param size: Tuple[int, int] (width, height) width = characters-wide, height = rows-high
|
||||
|
@ -1684,7 +1684,7 @@ class Text(Element):
|
|||
self.TKRightClickMenu = None
|
||||
|
||||
super().__init__(ELEM_TYPE_TEXT, size, auto_size_text, background_color=bg, font=font if font else DEFAULT_FONT,
|
||||
text_color=self.TextColor, pad=pad, key=key, tooltip=tooltip, visible=visible)
|
||||
text_color=self.TextColor, pad=pad, key=key, tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
|
||||
|
||||
def Update(self, value=None, background_color=None, text_color=None, font=None, visible=None):
|
||||
|
@ -1737,7 +1737,7 @@ class StatusBar(Element):
|
|||
"""
|
||||
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,
|
||||
key=None, tooltip=None, visible=True):
|
||||
key=None, tooltip=None, visible=True, metadata=None):
|
||||
"""
|
||||
|
||||
:param text: (str) Text that is to be displayed in the widget
|
||||
|
@ -1768,7 +1768,7 @@ class StatusBar(Element):
|
|||
self.TKText = self.Widget = None # type: tk.Label
|
||||
super().__init__(ELEM_TYPE_STATUSBAR, size=size, auto_size_text=auto_size_text, background_color=bg,
|
||||
font=font or DEFAULT_FONT, text_color=self.TextColor, pad=pad, key=key, tooltip=tooltip,
|
||||
visible=visible)
|
||||
visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
|
||||
|
@ -1971,7 +1971,7 @@ class Output(Element):
|
|||
Output Element - a multi-lined text area where stdout and stderr are re-routed to.
|
||||
"""
|
||||
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, metadata=None):
|
||||
"""
|
||||
:param size: Tuple[int, int] (w,h) w=characters-wide, h=rows-high
|
||||
:param background_color: (str) color of background
|
||||
|
@ -1990,7 +1990,7 @@ class Output(Element):
|
|||
self.RightClickMenu = right_click_menu
|
||||
|
||||
super().__init__(ELEM_TYPE_OUTPUT, size=size, background_color=bg, text_color=fg, pad=pad, font=font,
|
||||
tooltip=tooltip, key=key, visible=visible)
|
||||
tooltip=tooltip, key=key, visible=visible, metadata=metadata)
|
||||
|
||||
@property
|
||||
def TKOut(self):
|
||||
|
@ -2043,7 +2043,7 @@ class Button(Element):
|
|||
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),
|
||||
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, metadata=None):
|
||||
"""
|
||||
:param button_text: (str) Text to be displayed on the button
|
||||
:param button_type: (int) You should NOT be setting this directly. ONLY the shortcut functions set this
|
||||
|
@ -2095,7 +2095,7 @@ class Button(Element):
|
|||
self.InitialFolder = initial_folder
|
||||
self.Disabled = disabled
|
||||
self.ChangeSubmits = change_submits or enable_events
|
||||
super().__init__(ELEM_TYPE_BUTTON, size=size, font=font, pad=pad, key=key, tooltip=tooltip, visible=visible)
|
||||
super().__init__(ELEM_TYPE_BUTTON, size=size, font=font, pad=pad, key=key, tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
# Realtime button release callback
|
||||
|
@ -2369,7 +2369,7 @@ class ButtonMenu(Element):
|
|||
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,
|
||||
size=(None, None), auto_size_button=None, button_color=None, font=None, pad=None, key=None,
|
||||
tearoff=False, visible=True):
|
||||
tearoff=False, visible=True, metadata=None):
|
||||
"""
|
||||
:param button_text: (str) Text to be displayed on the button
|
||||
:param menu_def: List[List[str]] A list of lists of Menu items to show when this element is clicked. See docs for format as they are the same for all menu types
|
||||
|
@ -2410,7 +2410,7 @@ class ButtonMenu(Element):
|
|||
# self.temp_size = size if size != (NONE, NONE) else
|
||||
|
||||
super().__init__(ELEM_TYPE_BUTTONMENU, size=size, font=font, pad=pad, key=key, tooltip=tooltip,
|
||||
text_color=self.TextColor, background_color=self.BackgroundColor, visible=visible)
|
||||
text_color=self.TextColor, background_color=self.BackgroundColor, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def _MenuItemChosenCallback(self, item_chosen): # ButtonMenu Menu Item Chosen Callback
|
||||
|
@ -2474,7 +2474,7 @@ class ProgressBar(Element):
|
|||
Progress Bar Element - Displays a colored bar that is shaded as progress of some operation is made
|
||||
"""
|
||||
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, metadata=None):
|
||||
"""
|
||||
:param max_value: (int) max value of progressbar
|
||||
:param orientation: (str) 'horizontal' or 'vertical'
|
||||
|
@ -2500,7 +2500,7 @@ class ProgressBar(Element):
|
|||
self.Relief = relief if relief else DEFAULT_PROGRESS_BAR_RELIEF
|
||||
self.BarExpired = False
|
||||
super().__init__(ELEM_TYPE_PROGRESS_BAR, size=size, auto_size_text=auto_size_text, key=key, pad=pad,
|
||||
visible=visible)
|
||||
visible=visible, metadata=metadata)
|
||||
|
||||
# returns False if update failed
|
||||
def UpdateBar(self, current_count, max=None):
|
||||
|
@ -2556,7 +2556,7 @@ class Image(Element):
|
|||
"""
|
||||
|
||||
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, metadata=None):
|
||||
"""
|
||||
:param filename: (str) image filename if there is a button image. GIFs and PNGs only.
|
||||
:param data: Union[bytes, str] Raw or Base64 representation of the image to put on button. Choose either filename or data
|
||||
|
@ -2585,7 +2585,7 @@ class Image(Element):
|
|||
self.Source = filename if filename is not None else data
|
||||
|
||||
super().__init__(ELEM_TYPE_IMAGE, size=size, background_color=background_color, pad=pad, key=key,
|
||||
tooltip=tooltip, visible=visible)
|
||||
tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def Update(self, filename=None, data=None, size=(None, None), visible=None):
|
||||
|
@ -2683,7 +2683,7 @@ class Canvas(Element):
|
|||
""" """
|
||||
|
||||
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, metadata=None):
|
||||
"""
|
||||
|
||||
:param canvas: (tk.Canvas) Your own tk.Canvas if you already created it. Leave blank to create a Canvas
|
||||
|
@ -2701,7 +2701,7 @@ class Canvas(Element):
|
|||
self.RightClickMenu = right_click_menu
|
||||
|
||||
super().__init__(ELEM_TYPE_CANVAS, background_color=background_color, size=size, pad=pad, key=key,
|
||||
tooltip=tooltip, visible=visible)
|
||||
tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
@property
|
||||
|
@ -2735,7 +2735,7 @@ class Graph(Element):
|
|||
|
||||
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,
|
||||
right_click_menu=None, visible=True, float_values=False):
|
||||
right_click_menu=None, visible=True, float_values=False, metadata=None):
|
||||
"""
|
||||
:param canvas_size: Tuple[int, int] (width, height) size of the canvas area in pixels
|
||||
:param graph_bottom_left: Tuple[int, int] (x,y) The bottoms left corner of your coordinate system
|
||||
|
@ -2766,7 +2766,7 @@ class Graph(Element):
|
|||
self.FloatValues = float_values
|
||||
|
||||
super().__init__(ELEM_TYPE_GRAPH, background_color=background_color, size=canvas_size, pad=pad, key=key,
|
||||
tooltip=tooltip, visible=visible)
|
||||
tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def _convert_xy_to_canvas_xy(self, x_in, y_in):
|
||||
|
@ -3240,7 +3240,7 @@ class Frame(Element):
|
|||
|
||||
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,
|
||||
tooltip=None, right_click_menu=None, visible=True, element_justification='left'):
|
||||
tooltip=None, right_click_menu=None, visible=True, element_justification='left', metadata=None):
|
||||
"""
|
||||
:param title: (str) text that is displayed as the Frame's "label" or title
|
||||
:param layout: List[List[Elements]] The layout to put inside the Frame
|
||||
|
@ -3280,7 +3280,7 @@ class Frame(Element):
|
|||
self.Layout(layout)
|
||||
|
||||
super().__init__(ELEM_TYPE_FRAME, background_color=background_color, text_color=title_color, size=size,
|
||||
font=font, pad=pad, key=key, tooltip=tooltip, visible=visible)
|
||||
font=font, pad=pad, key=key, tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def AddRow(self, *args):
|
||||
|
@ -3383,7 +3383,7 @@ class Tab(Element):
|
|||
"""
|
||||
|
||||
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, element_justification='left'):
|
||||
border_width=None, key=None, tooltip=None, right_click_menu=None, visible=True, element_justification='left', metadata=None):
|
||||
"""
|
||||
:param title: (str) text to show on the tab
|
||||
:param layout: List[List[Element]] The element layout that will be shown in the tab
|
||||
|
@ -3421,7 +3421,7 @@ class Tab(Element):
|
|||
self.Layout(layout)
|
||||
|
||||
super().__init__(ELEM_TYPE_TAB, background_color=background_color, text_color=title_color, font=font, pad=pad,
|
||||
key=key, tooltip=tooltip, visible=visible)
|
||||
key=key, tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def AddRow(self, *args):
|
||||
|
@ -3518,7 +3518,7 @@ class TabGroup(Element):
|
|||
|
||||
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,
|
||||
key=None, tooltip=None, visible=True):
|
||||
key=None, tooltip=None, visible=True, metadata=None):
|
||||
"""
|
||||
:param layout: List[List[Tab]] Layout of Tabs. Different than normal layouts. ALL Tabs should be on first row
|
||||
:param tab_location: (str) location that tabs will be displayed. Choices are left, right, top, bottom, lefttop, leftbottom, righttop, rightbottom, bottomleft, bottomright, topleft, topright
|
||||
|
@ -3557,7 +3557,7 @@ class TabGroup(Element):
|
|||
self.Layout(layout)
|
||||
|
||||
super().__init__(ELEM_TYPE_TAB_GROUP, background_color=background_color, text_color=title_color, font=font,
|
||||
pad=pad, key=key, tooltip=tooltip, visible=visible)
|
||||
pad=pad, key=key, tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def AddRow(self, *args):
|
||||
|
@ -3657,7 +3657,7 @@ class Slider(Element):
|
|||
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,
|
||||
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, metadata=None):
|
||||
"""
|
||||
|
||||
:param range: Union[Tuple[int, int], Tuple[float, float]] slider's range (min value, max value)
|
||||
|
@ -3703,7 +3703,7 @@ class Slider(Element):
|
|||
temp_size = (20, 20) if self.Orientation.startswith('h') else (8, 20)
|
||||
|
||||
super().__init__(ELEM_TYPE_INPUT_SLIDER, size=temp_size, font=font, background_color=background_color,
|
||||
text_color=text_color, key=key, pad=pad, tooltip=tooltip, visible=visible)
|
||||
text_color=text_color, key=key, pad=pad, tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def Update(self, value=None, range=(None, None), disabled=None, visible=None):
|
||||
|
@ -3914,7 +3914,7 @@ class Column(Element):
|
|||
"""
|
||||
|
||||
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, justification='left', element_justification='left'):
|
||||
vertical_scroll_only=False, right_click_menu=None, key=None, visible=True, justification='left', element_justification='left', metadata=None):
|
||||
"""
|
||||
:param layout: List[List[Element]] Layout that will be shown in the Column container
|
||||
:param background_color: (str) color of background of entire Column
|
||||
|
@ -3949,7 +3949,7 @@ class Column(Element):
|
|||
self.Justification = justification
|
||||
self.Layout(layout)
|
||||
|
||||
super().__init__(ELEM_TYPE_COLUMN, background_color=bg, size=size, pad=pad, key=key, visible=visible)
|
||||
super().__init__(ELEM_TYPE_COLUMN, background_color=bg, size=size, pad=pad, key=key, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def AddRow(self, *args):
|
||||
|
@ -4036,7 +4036,7 @@ class Pane(Element):
|
|||
"""
|
||||
|
||||
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, metadata=None):
|
||||
"""
|
||||
:param pane_list: List[Column] Must be a list of Column Elements. Each Column supplied becomes one pane that's shown
|
||||
:param background_color: (str) color of background
|
||||
|
@ -4076,7 +4076,7 @@ class Pane(Element):
|
|||
|
||||
self.Rows = [pane_list]
|
||||
|
||||
super().__init__(ELEM_TYPE_PANE, background_color=bg, size=size, pad=pad, key=key, visible=visible)
|
||||
super().__init__(ELEM_TYPE_PANE, background_color=bg, size=size, pad=pad, key=key, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def Update(self, visible=None):
|
||||
|
@ -4391,7 +4391,7 @@ class Menu(Element):
|
|||
"""
|
||||
|
||||
def __init__(self, menu_definition, background_color=None, size=(None, None), tearoff=False, pad=None, key=None,
|
||||
visible=True):
|
||||
visible=True, metadata=None):
|
||||
"""
|
||||
:param menu_definition: List[List[Tuple[str, List[str]]]
|
||||
:param background_color: (str) color of the background
|
||||
|
@ -4409,7 +4409,7 @@ class Menu(Element):
|
|||
self.MenuItemChosen = None
|
||||
|
||||
super().__init__(ELEM_TYPE_MENUBAR, background_color=background_color, size=size, pad=pad, key=key,
|
||||
visible=visible)
|
||||
visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def _MenuItemChosenCallback(self, item_chosen): # Menu Menu Item Chosen Callback
|
||||
|
@ -4480,7 +4480,7 @@ class Table(Element):
|
|||
row_height=None, font=None, justification='right', text_color=None, background_color=None,
|
||||
alternating_row_color=None, row_colors=None, vertical_scroll_only=True, hide_vertical_scroll=False,
|
||||
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, metadata=None):
|
||||
"""
|
||||
:param values: List[List[Union[str, int, float]]]
|
||||
:param headings: List[str] The headings to show on the top line
|
||||
|
@ -4543,7 +4543,7 @@ class Table(Element):
|
|||
self.RowColors = row_colors
|
||||
self.tree_ids = [] # ids returned when inserting items into table - will use to delete colors
|
||||
super().__init__(ELEM_TYPE_TABLE, text_color=text_color, background_color=background_color, font=font,
|
||||
size=size, pad=pad, key=key, tooltip=tooltip, visible=visible)
|
||||
size=size, pad=pad, key=key, tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def Update(self, values=None, num_rows=None, visible=None, select_rows=None, alternating_row_color=None, row_colors=None):
|
||||
|
@ -4680,7 +4680,7 @@ class Tree(Element):
|
|||
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,
|
||||
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, metadata=None):
|
||||
"""
|
||||
|
||||
:param data: (TreeData) The data represented using a PySimpleGUI provided TreeData class
|
||||
|
@ -4736,7 +4736,7 @@ class Tree(Element):
|
|||
self.KeyToID = {'':''}
|
||||
|
||||
super().__init__(ELEM_TYPE_TREE, text_color=text_color, background_color=background_color, font=font, pad=pad,
|
||||
key=key, tooltip=tooltip, visible=visible)
|
||||
key=key, tooltip=tooltip, visible=visible, metadata=metadata)
|
||||
return
|
||||
|
||||
def treeview_selected(self, event):
|
||||
|
@ -4950,13 +4950,13 @@ class ErrorElement(Element):
|
|||
"""
|
||||
A "dummy Element" that is returned when there are error conditions, like trying to find an element that's invalid
|
||||
"""
|
||||
def __init__(self, key=None):
|
||||
def __init__(self, key=None, metadata=None):
|
||||
"""
|
||||
:param key: Used with window.FindElement and with return values to uniquely identify this element
|
||||
"""
|
||||
self.Key = key
|
||||
|
||||
super().__init__(ELEM_TYPE_ERROR, key=key)
|
||||
super().__init__(ELEM_TYPE_ERROR, key=key, metadata=metadata)
|
||||
|
||||
|
||||
def Update(self, silent_on_error=True, *args, **kwargs):
|
||||
|
@ -5021,7 +5021,7 @@ class Window:
|
|||
alpha_channel=1, return_keyboard_events=False, use_default_focus=True, text_justification=None,
|
||||
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,
|
||||
finalize=False, element_justification='left'):
|
||||
finalize=False, element_justification='left', metadata=None):
|
||||
"""
|
||||
:param title: (str) The title that will be displayed in the Titlebar and on the Taskbar
|
||||
:param layout: List[List[Elements]] The layout for the window. Can also be specified in the Layout method
|
||||
|
@ -5121,6 +5121,7 @@ class Window:
|
|||
self.WasClosed = False
|
||||
self.ElementJustification = element_justification
|
||||
self.FocusSet = False
|
||||
self.metadata = metadata
|
||||
if type(title) != str:
|
||||
warnings.warn('Your title is not a string. Are you passing in the right parameters?', UserWarning)
|
||||
if layout is not None and type(layout) not in (list, tuple):
|
||||
|
@ -6255,7 +6256,7 @@ def Sizer(h_pixels=0, v_pixels=0):
|
|||
# ------------------------- FOLDER BROWSE Element lazy function ------------------------- #
|
||||
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,
|
||||
font=None, pad=None, key=None):
|
||||
font=None, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
:param button_text: text in the button (Default value = 'Browse')
|
||||
:param target: key or (row,col) target for the button (Default value = (ThisRow, -1))
|
||||
|
@ -6276,14 +6277,14 @@ def FolderBrowse(button_text='Browse', target=(ThisRow, -1), initial_folder=None
|
|||
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,
|
||||
disabled=disabled, button_color=button_color, change_submits=change_submits,
|
||||
enable_events=enable_events, font=font, pad=pad, key=key)
|
||||
enable_events=enable_events, font=font, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- FILE BROWSE Element lazy function ------------------------- #
|
||||
def FileBrowse(button_text='Browse', target=(ThisRow, -1), file_types=(("ALL Files", "*.*"),), initial_folder=None,
|
||||
tooltip=None, size=(None, None), auto_size_button=None, button_color=None, change_submits=False,
|
||||
enable_events=False, font=None, disabled=False,
|
||||
pad=None, key=None):
|
||||
pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'Browse')
|
||||
|
@ -6305,14 +6306,14 @@ def FileBrowse(button_text='Browse', target=(ThisRow, -1), file_types=(("ALL Fil
|
|||
return Button(button_text=button_text, button_type=BUTTON_TYPE_BROWSE_FILE, target=target, file_types=file_types,
|
||||
initial_folder=initial_folder, tooltip=tooltip, size=size, auto_size_button=auto_size_button,
|
||||
change_submits=change_submits, enable_events=enable_events, disabled=disabled,
|
||||
button_color=button_color, font=font, pad=pad, key=key)
|
||||
button_color=button_color, font=font, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- FILES BROWSE Element (Multiple file selection) lazy function ------------------------- #
|
||||
def FilesBrowse(button_text='Browse', target=(ThisRow, -1), file_types=(("ALL Files", "*.*"),), disabled=False,
|
||||
initial_folder=None, tooltip=None, size=(None, None), auto_size_button=None, button_color=None,
|
||||
change_submits=False, enable_events=False,
|
||||
font=None, pad=None, key=None):
|
||||
font=None, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'Browse')
|
||||
|
@ -6334,14 +6335,14 @@ def FilesBrowse(button_text='Browse', target=(ThisRow, -1), file_types=(("ALL Fi
|
|||
return Button(button_text=button_text, button_type=BUTTON_TYPE_BROWSE_FILES, target=target, file_types=file_types,
|
||||
initial_folder=initial_folder, change_submits=change_submits, enable_events=enable_events,
|
||||
tooltip=tooltip, size=size, auto_size_button=auto_size_button,
|
||||
disabled=disabled, button_color=button_color, font=font, pad=pad, key=key)
|
||||
disabled=disabled, button_color=button_color, font=font, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- FILE BROWSE Element lazy function ------------------------- #
|
||||
def FileSaveAs(button_text='Save As...', target=(ThisRow, -1), file_types=(("ALL Files", "*.*"),), initial_folder=None,
|
||||
disabled=False, tooltip=None, size=(None, None), auto_size_button=None, button_color=None,
|
||||
change_submits=False, enable_events=False, font=None,
|
||||
pad=None, key=None):
|
||||
pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'Save As...')
|
||||
|
@ -6363,14 +6364,14 @@ def FileSaveAs(button_text='Save As...', target=(ThisRow, -1), file_types=(("ALL
|
|||
return Button(button_text=button_text, button_type=BUTTON_TYPE_SAVEAS_FILE, target=target, file_types=file_types,
|
||||
initial_folder=initial_folder, tooltip=tooltip, size=size, disabled=disabled,
|
||||
auto_size_button=auto_size_button, button_color=button_color, change_submits=change_submits,
|
||||
enable_events=enable_events, font=font, pad=pad, key=key)
|
||||
enable_events=enable_events, font=font, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- SAVE AS Element lazy function ------------------------- #
|
||||
def SaveAs(button_text='Save As...', target=(ThisRow, -1), file_types=(("ALL Files", "*.*"),), initial_folder=None,
|
||||
disabled=False, tooltip=None, size=(None, None), auto_size_button=None, button_color=None,
|
||||
change_submits=False, enable_events=False, font=None,
|
||||
pad=None, key=None):
|
||||
pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'Save As...')
|
||||
|
@ -6392,12 +6393,12 @@ def SaveAs(button_text='Save As...', target=(ThisRow, -1), file_types=(("ALL Fil
|
|||
return Button(button_text=button_text, button_type=BUTTON_TYPE_SAVEAS_FILE, target=target, file_types=file_types,
|
||||
initial_folder=initial_folder, tooltip=tooltip, size=size, disabled=disabled,
|
||||
auto_size_button=auto_size_button, button_color=button_color, change_submits=change_submits,
|
||||
enable_events=enable_events, font=font, pad=pad, key=key)
|
||||
enable_events=enable_events, font=font, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- SAVE BUTTON Element lazy function ------------------------- #
|
||||
def Save(button_text='Save', size=(None, None), auto_size_button=None, button_color=None, bind_return_key=True,
|
||||
disabled=False, tooltip=None, font=None, focus=False, pad=None, key=None):
|
||||
disabled=False, tooltip=None, font=None, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'Save')
|
||||
|
@ -6415,12 +6416,12 @@ def Save(button_text='Save', size=(None, None), auto_size_button=None, button_co
|
|||
"""
|
||||
return Button(button_text=button_text, button_type=BUTTON_TYPE_READ_FORM, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- SUBMIT BUTTON Element lazy function ------------------------- #
|
||||
def Submit(button_text='Submit', size=(None, None), auto_size_button=None, button_color=None, disabled=False,
|
||||
bind_return_key=True, tooltip=None, font=None, focus=False, pad=None, key=None):
|
||||
bind_return_key=True, tooltip=None, font=None, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'Submit')
|
||||
|
@ -6438,13 +6439,13 @@ def Submit(button_text='Submit', size=(None, None), auto_size_button=None, butto
|
|||
"""
|
||||
return Button(button_text=button_text, button_type=BUTTON_TYPE_READ_FORM, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- OPEN BUTTON Element lazy function ------------------------- #
|
||||
# ------------------------- OPEN BUTTON Element lazy function ------------------------- #
|
||||
def Open(button_text='Open', size=(None, None), auto_size_button=None, button_color=None, disabled=False,
|
||||
bind_return_key=True, tooltip=None, font=None, focus=False, pad=None, key=None):
|
||||
bind_return_key=True, tooltip=None, font=None, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'Open')
|
||||
|
@ -6462,12 +6463,12 @@ def Open(button_text='Open', size=(None, None), auto_size_button=None, button_co
|
|||
"""
|
||||
return Button(button_text=button_text, button_type=BUTTON_TYPE_READ_FORM, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- OK BUTTON Element lazy function ------------------------- #
|
||||
def OK(button_text='OK', size=(None, None), auto_size_button=None, button_color=None, disabled=False,
|
||||
bind_return_key=True, tooltip=None, font=None, focus=False, pad=None, key=None):
|
||||
bind_return_key=True, tooltip=None, font=None, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'OK')
|
||||
|
@ -6485,12 +6486,12 @@ def OK(button_text='OK', size=(None, None), auto_size_button=None, button_color=
|
|||
"""
|
||||
return Button(button_text=button_text, button_type=BUTTON_TYPE_READ_FORM, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- YES BUTTON Element lazy function ------------------------- #
|
||||
def Ok(button_text='Ok', size=(None, None), auto_size_button=None, button_color=None, disabled=False,
|
||||
bind_return_key=True, tooltip=None, font=None, focus=False, pad=None, key=None):
|
||||
bind_return_key=True, tooltip=None, font=None, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'Ok')
|
||||
|
@ -6508,12 +6509,12 @@ def Ok(button_text='Ok', size=(None, None), auto_size_button=None, button_color=
|
|||
"""
|
||||
return Button(button_text=button_text, button_type=BUTTON_TYPE_READ_FORM, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- CANCEL BUTTON Element lazy function ------------------------- #
|
||||
def Cancel(button_text='Cancel', size=(None, None), auto_size_button=None, button_color=None, disabled=False,
|
||||
tooltip=None, font=None, bind_return_key=False, focus=False, pad=None, key=None):
|
||||
tooltip=None, font=None, bind_return_key=False, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'Cancel')
|
||||
|
@ -6531,12 +6532,12 @@ def Cancel(button_text='Cancel', size=(None, None), auto_size_button=None, butto
|
|||
"""
|
||||
return Button(button_text=button_text, button_type=BUTTON_TYPE_READ_FORM, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- QUIT BUTTON Element lazy function ------------------------- #
|
||||
def Quit(button_text='Quit', size=(None, None), auto_size_button=None, button_color=None, disabled=False, tooltip=None,
|
||||
font=None, bind_return_key=False, focus=False, pad=None, key=None):
|
||||
font=None, bind_return_key=False, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'Quit')
|
||||
|
@ -6554,12 +6555,12 @@ def Quit(button_text='Quit', size=(None, None), auto_size_button=None, button_co
|
|||
"""
|
||||
return Button(button_text=button_text, button_type=BUTTON_TYPE_READ_FORM, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- Exit BUTTON Element lazy function ------------------------- #
|
||||
def Exit(button_text='Exit', size=(None, None), auto_size_button=None, button_color=None, disabled=False, tooltip=None,
|
||||
font=None, bind_return_key=False, focus=False, pad=None, key=None):
|
||||
font=None, bind_return_key=False, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'Exit')
|
||||
|
@ -6577,12 +6578,12 @@ def Exit(button_text='Exit', size=(None, None), auto_size_button=None, button_co
|
|||
"""
|
||||
return Button(button_text=button_text, button_type=BUTTON_TYPE_READ_FORM, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- YES BUTTON Element lazy function ------------------------- #
|
||||
def Yes(button_text='Yes', size=(None, None), auto_size_button=None, button_color=None, disabled=False, tooltip=None,
|
||||
font=None, bind_return_key=True, focus=False, pad=None, key=None):
|
||||
font=None, bind_return_key=True, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'Yes')
|
||||
|
@ -6600,12 +6601,12 @@ def Yes(button_text='Yes', size=(None, None), auto_size_button=None, button_colo
|
|||
"""
|
||||
return Button(button_text=button_text, button_type=BUTTON_TYPE_READ_FORM, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- NO BUTTON Element lazy function ------------------------- #
|
||||
def No(button_text='No', size=(None, None), auto_size_button=None, button_color=None, disabled=False, tooltip=None,
|
||||
font=None, bind_return_key=False, focus=False, pad=None, key=None):
|
||||
font=None, bind_return_key=False, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'No')
|
||||
|
@ -6623,12 +6624,12 @@ def No(button_text='No', size=(None, None), auto_size_button=None, button_color=
|
|||
"""
|
||||
return Button(button_text=button_text, button_type=BUTTON_TYPE_READ_FORM, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- NO BUTTON Element lazy function ------------------------- #
|
||||
def Help(button_text='Help', size=(None, None), auto_size_button=None, button_color=None, disabled=False, font=None,
|
||||
tooltip=None, bind_return_key=False, focus=False, pad=None, key=None):
|
||||
tooltip=None, bind_return_key=False, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = 'Help')
|
||||
|
@ -6646,12 +6647,12 @@ def Help(button_text='Help', size=(None, None), auto_size_button=None, button_co
|
|||
"""
|
||||
return Button(button_text=button_text, button_type=BUTTON_TYPE_READ_FORM, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- NO BUTTON Element lazy function ------------------------- #
|
||||
def Debug(button_text='', size=(None, None), auto_size_button=None, button_color=None, disabled=False, font=None,
|
||||
tooltip=None, bind_return_key=False, focus=False, pad=None, key=None):
|
||||
tooltip=None, bind_return_key=False, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button (Default value = '')
|
||||
|
@ -6670,13 +6671,13 @@ def Debug(button_text='', size=(None, None), auto_size_button=None, button_color
|
|||
return Button(button_text=button_text, button_type=BUTTON_TYPE_SHOW_DEBUGGER, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=COLOR_SYSTEM_DEFAULT, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, image_data=PSG_DEBUGGER_LOGO,
|
||||
image_subsample=4, border_width=0)
|
||||
image_subsample=4, border_width=0, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- GENERIC BUTTON Element lazy function ------------------------- #
|
||||
def SimpleButton(button_text, image_filename=None, image_data=None, image_size=(None, None), image_subsample=None,
|
||||
border_width=None, tooltip=None, size=(None, None), auto_size_button=None, button_color=None,
|
||||
font=None, bind_return_key=False, disabled=False, focus=False, pad=None, key=None):
|
||||
font=None, bind_return_key=False, disabled=False, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button
|
||||
|
@ -6701,13 +6702,13 @@ def SimpleButton(button_text, image_filename=None, image_data=None, image_size=(
|
|||
image_data=image_data, image_size=image_size, image_subsample=image_subsample,
|
||||
border_width=border_width, tooltip=tooltip, disabled=disabled, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- CLOSE BUTTON Element lazy function ------------------------- #
|
||||
def CloseButton(button_text, image_filename=None, image_data=None, image_size=(None, None), image_subsample=None,
|
||||
border_width=None, tooltip=None, size=(None, None), auto_size_button=None, button_color=None, font=None,
|
||||
bind_return_key=False, disabled=False, focus=False, pad=None, key=None):
|
||||
bind_return_key=False, disabled=False, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button
|
||||
|
@ -6732,7 +6733,7 @@ def CloseButton(button_text, image_filename=None, image_data=None, image_size=(N
|
|||
image_data=image_data, image_size=image_size, image_subsample=image_subsample,
|
||||
border_width=border_width, tooltip=tooltip, disabled=disabled, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
CButton = CloseButton
|
||||
|
@ -6741,7 +6742,7 @@ CButton = CloseButton
|
|||
# ------------------------- GENERIC BUTTON Element lazy function ------------------------- #
|
||||
def ReadButton(button_text, image_filename=None, image_data=None, image_size=(None, None), image_subsample=None,
|
||||
border_width=None, tooltip=None, size=(None, None), auto_size_button=None, button_color=None, font=None,
|
||||
bind_return_key=False, disabled=False, focus=False, pad=None, key=None):
|
||||
bind_return_key=False, disabled=False, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button
|
||||
|
@ -6766,7 +6767,7 @@ def ReadButton(button_text, image_filename=None, image_data=None, image_size=(No
|
|||
image_data=image_data, image_size=image_size, image_subsample=image_subsample,
|
||||
border_width=border_width, tooltip=tooltip, size=size, disabled=disabled,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
ReadFormButton = ReadButton
|
||||
|
@ -6776,7 +6777,7 @@ RButton = ReadFormButton
|
|||
# ------------------------- Realtime BUTTON Element lazy function ------------------------- #
|
||||
def RealtimeButton(button_text, image_filename=None, image_data=None, image_size=(None, None), image_subsample=None,
|
||||
border_width=None, tooltip=None, size=(None, None), auto_size_button=None, button_color=None,
|
||||
font=None, disabled=False, bind_return_key=False, focus=False, pad=None, key=None):
|
||||
font=None, disabled=False, bind_return_key=False, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button
|
||||
|
@ -6801,13 +6802,13 @@ def RealtimeButton(button_text, image_filename=None, image_data=None, image_size
|
|||
image_data=image_data, image_size=image_size, image_subsample=image_subsample,
|
||||
border_width=border_width, tooltip=tooltip, disabled=disabled, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- Dummy BUTTON Element lazy function ------------------------- #
|
||||
def DummyButton(button_text, image_filename=None, image_data=None, image_size=(None, None), image_subsample=None,
|
||||
border_width=None, tooltip=None, size=(None, None), auto_size_button=None, button_color=None, font=None,
|
||||
disabled=False, bind_return_key=False, focus=False, pad=None, key=None):
|
||||
disabled=False, bind_return_key=False, focus=False, pad=None, key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button
|
||||
|
@ -6832,7 +6833,7 @@ def DummyButton(button_text, image_filename=None, image_data=None, image_size=(N
|
|||
image_data=image_data, image_size=image_size, image_subsample=image_subsample,
|
||||
border_width=border_width, tooltip=tooltip, size=size, auto_size_button=auto_size_button,
|
||||
button_color=button_color, font=font, disabled=disabled, bind_return_key=bind_return_key, focus=focus,
|
||||
pad=pad, key=key)
|
||||
pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
# ------------------------- Calendar Chooser Button lazy function ------------------------- #
|
||||
|
@ -6840,7 +6841,7 @@ def CalendarButton(button_text, target=(None, None), close_when_date_chosen=True
|
|||
image_filename=None, image_data=None, image_size=(None, None),
|
||||
image_subsample=None, tooltip=None, border_width=None, size=(None, None), auto_size_button=None,
|
||||
button_color=None, disabled=False, font=None, bind_return_key=False, focus=False, pad=None,
|
||||
key=None, locale=None, format=None):
|
||||
key=None, locale=None, format=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button
|
||||
|
@ -6871,7 +6872,7 @@ def CalendarButton(button_text, target=(None, None), close_when_date_chosen=True
|
|||
image_filename=image_filename, image_data=image_data, image_size=image_size,
|
||||
image_subsample=image_subsample, border_width=border_width, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
button.CalendarCloseWhenChosen = close_when_date_chosen
|
||||
button.DefaultDate_M_D_Y = default_date_m_d_y
|
||||
button.CalendarLocale = locale
|
||||
|
@ -6883,7 +6884,7 @@ def CalendarButton(button_text, target=(None, None), close_when_date_chosen=True
|
|||
def ColorChooserButton(button_text, target=(None, None), image_filename=None, image_data=None, image_size=(None, None),
|
||||
image_subsample=None, tooltip=None, border_width=None, size=(None, None), auto_size_button=None,
|
||||
button_color=None, disabled=False, font=None, bind_return_key=False, focus=False, pad=None,
|
||||
key=None):
|
||||
key=None, metadata=None):
|
||||
"""
|
||||
|
||||
:param button_text: text in the button
|
||||
|
@ -6909,7 +6910,7 @@ def ColorChooserButton(button_text, target=(None, None), image_filename=None, im
|
|||
image_filename=image_filename, image_data=image_data, image_size=image_size,
|
||||
image_subsample=image_subsample, border_width=border_width, tooltip=tooltip, size=size,
|
||||
auto_size_button=auto_size_button, button_color=button_color, font=font, disabled=disabled,
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key)
|
||||
bind_return_key=bind_return_key, focus=focus, pad=pad, key=key, metadata=metadata)
|
||||
|
||||
|
||||
##################################### ----- RESULTS ------ ##################################################
|
||||
|
@ -11260,7 +11261,6 @@ def _refresh_debugger():
|
|||
|
||||
|
||||
|
||||
|
||||
# d8b
|
||||
# Y8P
|
||||
#
|
||||
|
@ -11358,7 +11358,7 @@ def main():
|
|||
[Column([[Frame('Structured Data Group', frame5, title_color='red', element_justification='l')]]), ],
|
||||
# [Frame('Graphing Group', frame6)],
|
||||
[TabGroup([[tab1, tab2]],key='_TAB_GROUP_' )],
|
||||
[ProgressBar(max_value=800, size=(60, 25), key='+PROGRESS+'), Button('Button'), B('Normal'),
|
||||
[ProgressBar(max_value=800, size=(60, 25), key='+PROGRESS+'), Button('Button'), B('Normal', metadata='my metadata'),
|
||||
Button('Exit', tooltip='Exit button')],
|
||||
]
|
||||
|
||||
|
@ -11372,6 +11372,7 @@ def main():
|
|||
resizable=True,
|
||||
keep_on_top=True,
|
||||
element_justification='left',
|
||||
metadata='My window metadata'
|
||||
# icon=r'X:\VMWare Virtual Machines\SHARED FOLDER\kingb.ico'
|
||||
)
|
||||
# graph_elem.DrawCircle((200, 200), 50, 'blue')
|
||||
|
@ -11379,7 +11380,7 @@ def main():
|
|||
while True: # Event Loop
|
||||
event, values = window.Read(timeout=20)
|
||||
if event != TIMEOUT_KEY:
|
||||
print(event, values)
|
||||
print(event, values, window[event].metadata)
|
||||
if event is None or event == 'Exit':
|
||||
break
|
||||
if i < 800:
|
||||
|
@ -11387,7 +11388,6 @@ def main():
|
|||
else:
|
||||
graph_elem.Move(-1, 0)
|
||||
graph_elem.DrawLine((i, 0), (i, randint(0, 300)), width=1, color='#{:06x}'.format(randint(0, 0xffffff)))
|
||||
|
||||
window['+PROGRESS+'].UpdateBar(i % 800)
|
||||
window.Element('_IMAGE_').UpdateAnimation(DEFAULT_BASE64_LOADING_GIF, time_between_frames=50)
|
||||
i += 1
|
||||
|
|
Loading…
Reference in New Issue