Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
'background', 'bitmap', 'borderwidth', 'compound', 'cursor',
'disabledforeground', 'font', 'foreground',
'highlightbackground', 'highlightcolor', 'highlightthickness',
'image', 'justify', 'padx', 'pady', 'relief',
'repeatdelay', 'repeatinterval', 'takefocus', 'text',
'textvariable', 'underline', 'wraplength')
OPTIONS_SPECIFIC = (
'command', 'default', 'height', 'overrelief',
'state', 'width')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
command_properties = ('command',)
register_widget('tk.Button', TKButton, 'Button', ('Control & Display', 'tk'))
class TKCheckbutton(BuilderObject):
class_ = tk.Checkbutton
container = False
OPTIONS_STANDARD = (
'activebackground', 'activeforeground', 'anchor',
'background', 'bitmap', 'borderwidth', 'compound', 'cursor',
'disabledforeground', 'font', 'foreground',
'highlightbackground', 'highlightcolor', 'highlightthickness',
'image', 'justify', 'padx', 'pady', 'relief',
'takefocus', 'text', 'textvariable', 'underline', 'wraplength')
OPTIONS_SPECIFIC = (
'command', 'height', 'indicatoron', 'overrelief', 'offrelief',
'offvalue', 'onvalue', 'overrelief', 'selectcolor', 'selectimage',
'state', 'tristateimage', 'tristatevalue', 'variable', 'width')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
command_properties = ('command',)
'highlightcolor', 'highlightthickness',
'insertbackground', 'insertborderwidth', 'insertofftime',
'insertontime', 'insertwidth', 'relief', 'selectbackground',
'selectborderwidth', 'selectforeground', 'takefocus',
'xscrollcommand', 'yscrollcommand')
OPTIONS_SPECIFIC = (
'closeenough', 'confine', 'height', 'scrollregion', 'state',
'width', 'xscrollincrement', 'yscrollincrement')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
command_properties = ('xscrollcommand', 'yscrollcommand')
register_widget('tk.Canvas', TKCanvas,
'Canvas', ('Control & Display', 'tk', 'ttk'))
class TKMenu(BuilderObject):
layout_required = False
allowed_parents = ('root', 'tk.Menubutton', 'ttk.Menubutton')
allowed_children = (
'tk.Menuitem.Submenu', 'tk.Menuitem.Checkbutton',
'tk.Menuitem.Command', 'tk.Menuitem.Radiobutton',
'tk.Menuitem.Separator')
class_ = tk.Menu
container = True
allow_container_layout = False
OPTIONS_STANDARD = ('activebackground', 'activeborderwidth',
'activeforeground', 'background', 'borderwidth',
'cursor', 'disabledforeground', 'font', 'foreground',
'relief', 'takefocus')
OPTIONS_SPECIFIC = ('postcommand', 'tearoff', 'tearoffcommand', 'title')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
command_properties = ('postcommand', 'tearoffcommand')
class TKMessage(BuilderObject):
class_ = tk.Message
container = False
OPTIONS_STANDARD = (
'anchor', 'background', 'borderwidth', 'cursor',
'font', 'foreground', 'highlightbackground', 'highlightcolor',
'highlightthickness', 'padx', 'pady', 'relief',
'takefocus', 'text', 'textvariable')
OPTIONS_SPECIFIC = ('aspect', 'justify', 'width')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
register_widget('tk.Message', TKMessage,
'Message', ('Control & Display', 'tk', 'ttk'))
class TKRadiobutton(BuilderObject):
class_ = tk.Radiobutton
container = False
OPTIONS_STANDARD = (
'activebackground', 'activeforeground', 'anchor',
'background', 'bitmap', 'borderwidth', 'compound', 'cursor',
'disabledforeground', 'font', 'foreground',
'highlightbackground', 'highlightcolor', 'highlightthickness',
'image', 'justify', 'padx', 'pady', 'relief',
'takefocus', 'text', 'textvariable', 'underline', 'wraplength')
OPTIONS_SPECIFIC = (
'command', 'height', 'indicatoron', 'overrelief', 'offrelief',
'offvalue', 'onvalue', 'overrelief', 'selectcolor', 'selectimage',
'state', 'tristateimage', 'tristatevalue', 'value',
'variable', 'width')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
command_properties = ('command',)
def configure(self):
# hack to configure 'from_' and 'to' and avoid exception
if 'from_' in self.properties:
from_ = float(self.properties['from_'])
to = float(self.properties.get('to', 0))
if from_ > to:
to = from_ + 1
self.properties['to'] = str(to)
super(TKSpinbox, self).configure()
register_widget('tk.Spinbox', TKSpinbox,
'Spinbox', ('Control & Display', 'tk'))
class TKCanvas(BuilderObject):
class_ = tk.Canvas
container = False
OPTIONS_STANDARD = (
'background', 'borderwidth', 'cursor', 'highlightbackground',
'highlightcolor', 'highlightthickness',
'insertbackground', 'insertborderwidth', 'insertofftime',
'insertontime', 'insertwidth', 'relief', 'selectbackground',
'selectborderwidth', 'selectforeground', 'takefocus',
'xscrollcommand', 'yscrollcommand')
OPTIONS_SPECIFIC = (
'closeenough', 'confine', 'height', 'scrollregion', 'state',
'width', 'xscrollincrement', 'yscrollincrement')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
command_properties = ('xscrollcommand', 'yscrollcommand')
register_widget('tk.Canvas', TKCanvas,
'background', 'borderwidth', 'cursor',
'disabledforeground', 'exportselection', 'font',
'foreground', 'highlightbackground', 'highlightcolor',
'highlightthickness', 'relief',
'selectbackground', 'selectborderwidth', 'selectforeground',
'setgrid', 'takefocus', 'xscrollcommand', 'yscrollcommand')
OPTIONS_SPECIFIC = ('activestyle', 'height', 'listvariable',
'selectmode', 'state', 'width')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
command_properties = ('xscrollcommand', 'yscrollcommand')
register_widget('tk.Listbox', TKListbox,
'Listbox', ('Control & Display', 'tk'))
class TKText(BuilderObject):
class_ = tk.Text
container = False
OPTIONS_STANDARD = (
'background', 'borderwidth', 'cursor', 'exportselection', 'font',
'foreground', 'highlightbackground', 'highlightcolor',
'highlightthickness', 'insertbackground', 'insertborderwidth',
'insertofftime', 'insertontime', 'insertwidth',
'padx', 'pady', 'relief', 'selectbackground',
'selectborderwidth', 'selectforeground', 'setgrid', 'takefocus',
'xscrollcommand', 'yscrollcommand',)
OPTIONS_SPECIFIC = (
'autoseparators', 'blockcursor', 'endline', 'height',
'inactiveselectbackgroud', 'insertunfocussed', 'maxundo',
'spacing1', 'spacing2', 'spacing3', 'startline',
'state', 'tabs', 'tabstyle', 'undo', 'width', 'wrap')
OPTIONS_CUSTOM = ('text',)
'disabledforeground', 'font', 'foreground',
'highlightbackground', 'highlightcolor', 'highlightthickness',
'image', 'justify', 'padx', 'pady', 'relief',
'takefocus', 'text', 'textvariable', 'underline', 'wraplength')
OPTIONS_SPECIFIC = (
'command', 'height', 'indicatoron', 'overrelief', 'offrelief',
'offvalue', 'onvalue', 'overrelief', 'selectcolor', 'selectimage',
'state', 'tristateimage', 'tristatevalue', 'variable', 'width')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
command_properties = ('command',)
register_widget('tk.Checkbutton', TKCheckbutton,
'Checkbutton', ('Control & Display', 'tk'))
class TKListbox(BuilderObject):
class_ = tk.Listbox
container = False
OPTIONS_STANDARD = (
'background', 'borderwidth', 'cursor',
'disabledforeground', 'exportselection', 'font',
'foreground', 'highlightbackground', 'highlightcolor',
'highlightthickness', 'relief',
'selectbackground', 'selectborderwidth', 'selectforeground',
'setgrid', 'takefocus', 'xscrollcommand', 'yscrollcommand')
OPTIONS_SPECIFIC = ('activestyle', 'height', 'listvariable',
'selectmode', 'state', 'width')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
command_properties = ('xscrollcommand', 'yscrollcommand')
register_widget('tk.Listbox', TKListbox,
'Listbox', ('Control & Display', 'tk'))
class TKPanedWindowPane(PanedWindowPaneBO):
class_ = None
container = True
allowed_parents = ('tk.PanedWindow',)
maxchildren = 1
OPTIONS_SPECIFIC = ('height', 'hide', 'minsize',
'padx', 'pady', 'sticky', 'stretch', 'width')
properties = OPTIONS_SPECIFIC
register_widget('tk.PanedWindow.Pane', TKPanedWindowPane,
'PanedWindow.Pane', ('Pygubu Helpers', 'tk'))
class TKLabelwidgetBO(BuilderObject):
class_ = None
container = True
allowed_parents = ('tk.LabelFrame', 'ttk.Labelframe')
maxchildren = 1
layout_required = False
allow_bindings = False
def realize(self, parent):
self.widget = parent.widget
return self.widget
def add_child(self, bobject):
self.widget.configure(labelwidget=bobject.widget)
register_widget('pygubu.builder.widgets.Labelwidget', TKLabelwidgetBO,
'Labelwidget', ('Pygubu Helpers', 'tk', 'ttk'))
'highlightbackground', 'highlightcolor', 'highlightthickness',
'image', 'justify', 'padx', 'pady', 'relief',
'takefocus', 'text', 'textvariable', 'underline', 'wraplength')
OPTIONS_SPECIFIC = (
'command', 'height', 'indicatoron', 'overrelief', 'offrelief',
'offvalue', 'onvalue', 'overrelief', 'selectcolor', 'selectimage',
'state', 'tristateimage', 'tristatevalue', 'value',
'variable', 'width')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
command_properties = ('command',)
register_widget('tk.Radiobutton', TKRadiobutton,
'Radiobutton', ('Control & Display', 'tk'))
class TKScale(BuilderObject):
class_ = tk.Scale
container = False
OPTIONS_STANDARD = (
'activebackground', 'background', 'borderwidth',
'cursor', 'font', 'foreground',
'highlightbackground', 'highlightcolor', 'highlightthickness',
'orient', 'relief', 'repeatdelay', 'repeatinterval',
'takefocus', 'troughcolor')
OPTIONS_SPECIFIC = (
'bigincrement', 'command', 'digits', 'from_', 'label', 'length',
'resolution', 'showvalue', 'sliderlength', 'sliderrelief',
'state', 'tickinterval', 'to', 'variable', 'width')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
command_properties = ('command',)
register_widget('tk.Scale', TKScale, 'Scale', ('Control & Display', 'tk'))
OPTIONS_SPECIFIC = ('postcommand', 'tearoff', 'tearoffcommand', 'title')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
command_properties = ('postcommand', 'tearoffcommand')
allow_bindings = False
def layout(self):
pass
register_widget('tk.Menu', TKMenu, 'Menu', ('Menu', 'Containers', 'tk', 'ttk'))
#
# Helpers for Standard tk widgets
#
class TKMenuitem(BuilderObject):
class_ = None
container = False
itemtype = None
layout_required = False
OPTIONS_STANDARD = ('activebackground', 'activeforeground', 'background',
'bitmap', 'compound', 'foreground', 'state')
OPTIONS_SPECIFIC = ('accelerator', 'columnbreak', 'command',
'font', 'hidemargin', 'image', 'label', 'underline')
OPTIONS_CUSTOM = ('command_id_arg',)
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC + OPTIONS_CUSTOM
command_properties = ('command',)
allow_bindings = False
def realize(self, parent):
self.widget = master = parent.widget
itemproperties = dict(self.properties)
container = False
OPTIONS_STANDARD = (
'activebackground', 'background', 'borderwidth', 'cursor',
'highlightbackground', 'highlightcolor', 'highlightthickness',
'jump', 'orient', 'relief', 'repeatdelay', 'repeatinterval',
'takefocus', 'troughcolor')
OPTIONS_SPECIFIC = (
'activerelief', 'command', 'elementborderwidth', 'width')
properties = OPTIONS_STANDARD + OPTIONS_SPECIFIC
command_properties = ('command',)
register_widget('tk.Scrollbar', TKScrollbar,
'Scrollbar', ('Control & Display', 'tk'))
class TKSpinbox(BuilderObject):
class_ = tk.Spinbox
container = False
OPTIONS_STANDARD = (
'activebackground', 'background', 'borderwidth',
'cursor', 'exportselection', 'font', 'foreground',
'highlightbackground', 'highlightcolor', 'highlightthickness',
'insertbackground', 'insertborderwidth',
'insertofftime', 'insertontime', 'insertwidth', 'justify',
'relief', 'repeatdelay', 'repeatinterval',
'selectbackground', 'selectborderwidth', 'selectforeground',
'takefocus', 'textvariable', 'xscrollcommand')
OPTIONS_SPECIFIC = (
'buttonbackground', 'buttoncursor', 'buttondownrelief',
'buttonuprelief', 'command', 'disabledbackground',
'disabledforeground', 'format', 'from_', 'invalidcommand',
'increment', 'readonlybackground', 'state', 'to',