def _set_property(self, target_widget, pname, value): if pname not in self.__class__.properties: msg = "Attempt to set an unknown property '{0}' on class '{1}'" msg = msg.format(pname, repr(self.class_)) logger.warning(msg) else: propvalue = value if pname in self.tkvar_properties: propvalue = self.builder.create_variable(value) if 'text' in self.properties and pname == 'textvariable': propvalue.set(self.properties['text']) elif 'value' in self.properties and pname == 'variable': propvalue.set(self.properties['value']) elif pname in self.tkimage_properties: propvalue = self.builder.get_image(value) elif pname == 'takefocus': if value: propvalue = tk.getboolean(value) try: target_widget[pname] = propvalue except tk.TclError as e: msg = "Failed to set property '{0}' on class '{1}'. TclError: {2}" msg = msg.format(pname, repr(self.class_), str(e)) logger.error(msg)
def _set_property(self, target_widget, pname, value): if pname not in self.__class__.properties: msg = "Attempt to set an unknown property '%s' on class '%s'" logger.warning(msg, pname, repr(self.class_)) else: propvalue = value if pname in self.tkvar_properties: propvalue = self.builder.create_variable(value) if 'text' in self.wmeta.properties and pname == 'textvariable': propvalue.set(self.wmeta.properties['text']) elif 'value' in self.wmeta.properties and pname == 'variable': propvalue.set(self.wmeta.properties['value']) elif pname in self.tkimage_properties: propvalue = self.builder.get_image(value) elif pname == 'takefocus': if value: propvalue = tk.getboolean(value) try: logger.debug('setting property %s = %s', pname, propvalue) target_widget[pname] = propvalue except tk.TclError as e: msg = "Failed to set property '{0}' on class '{1}'. TclError:" logger.error(msg, pname, repr(self.class_)) logger.exception(e)
def test_getboolean(self): self.assertRaises(RuntimeError, tkinter.getboolean, '1') root = tkinter.Tk() self.assertIs(tkinter.getboolean('1'), True) self.assertRaises(ValueError, tkinter.getboolean, 'yea') root.destroy() tkinter.NoDefaultRoot() self.assertRaises(RuntimeError, tkinter.getboolean, '1')
def configure(self, cnf=None, **kw): args = tk._cnfmerge((cnf, kw)) key = 'usemousewheel' if key in args: self.usemousewheel = tk.getboolean(args[key]) del args[key] self._configure_mousewheel() frame_class.configure(self, args)
def configure(self, cnf=None, **kw): args = tk._cnfmerge((cnf, kw)) key = 'usemousewheel' if key in args: self.usemousewheel = tk.getboolean(args[key]) del args[key] self._configure_mousewheel() super(ScrollbarHelperBase, self).configure(args)
def __init__(self, master=None, **kw): self.scrolltype = kw.pop('scrolltype', self.VERTICAL) self.usemousewheel = tk.getboolean(kw.pop('usemousewheel', False)) super(ScrollbarHelper, self).__init__(master, **kw) self.vsb = None self.hsb = None self.cwidget = None self._bindingids = [] self._create_scrollbars()
def _code_set_property(self, targetid, pname, value, code_bag): if pname == 'usemousewheel': nvalue = '{0}.configure({1}={2})'.format(self.code_identifier(), pname, tk.getboolean(value)) code_bag[pname] = [nvalue] else: super(TTKScrolledFrameBO, self)._code_set_property(targetid, pname, value, code_bag)
def configure(self, cnf=None, **kw): args = tk._cnfmerge((cnf, kw)) key = 'usemousewheel' if key in args: self.usemousewheel = tk.getboolean(args[key]) del args[key] self._configure_mousewheel() #super(ScrolledFrameBase, self).configure(args) self._framecls.configure(self, args)
def __init__(self, master=None, **kw): self.scrolltype = kw.pop('scrolltype', self.VERTICAL) self.usemousewheel = tk.getboolean(kw.pop('usemousewheel', False)) super(ScrollbarHelperBase, self).__init__(master, **kw) self.vsb = None self.hsb = None self.cwidget = None self.container = c = self._framecls(self) c.grid(row=0, column=0, sticky='nsew') self._bindingids = [] self._create_scrollbars()
def end(self, event): item = "" while True: children = self.get_children(item) if not children: break item = children[-1] # Sometimes the "open" option is the integer 0; other times it is # a Tcl_Obj() with a string value of "true" or "false"! if not getboolean(str(self.item(item, option="open"))): break self.focus(item) self.selection_set((item,)) self.see(item)
def __init__(self, master=None, **kw): self.scrolltype = kw.pop('scrolltype', self.VERTICAL) self.usemousewheel = tk.getboolean(kw.pop('usemousewheel', False)) self._bindingids = [] #super(ScrolledFrameBase, self).__init__(master, **kw) self._framecls.__init__(self, master, **kw) self._container = self._framecls(self, width=200, height=200) self._clipper = self._framecls(self._container, width=200, height=200) self.innerframe = innerframe = self._framecls(self._clipper) self.vsb = vsb = self._sbarcls(self._container) self.hsb = hsb = self._sbarcls(self._container, orient="horizontal") # variables self.hsbOn = 0 self.vsbOn = 0 self.hsbNeeded = 0 self.vsbNeeded = 0 self._jfraction = 0.05 self._scrollTimer = None self._scrollRecurse = 0 self._startX = 0 self._startY = 0 #configure scroll self.hsb.set(0.0, 1.0) self.vsb.set(0.0, 1.0) self.vsb.config(command=self.yview) self.hsb.config(command=self.xview) #grid self._container.pack(expand=True, fill='both') self._clipper.grid(row=0, column=0, sticky=tk.NSEW) #self.vsb.grid(row=0, column=1, sticky=tk.NS) #self.hsb.grid(row=1, column=0, sticky=tk.EW) self._container.rowconfigure(0, weight=1) self._container.columnconfigure(0, weight=1) # Whenever the clipping window or scrolled frame change size, # update the scrollbars. self.innerframe.bind('<Configure>', self._reposition) self._clipper.bind('<Configure>', self._reposition) self.bind('<Configure>', self._reposition) self._configure_mousewheel()
def __init__(self, master=None, **kw): self.scrolltype = kw.pop('scrolltype', self.VERTICAL) self.usemousewheel = tk.getboolean(kw.pop('usemousewheel', False)) self._bindingids = [] super(ScrolledFrame, self).__init__(master, **kw) self._clipper = frame_class(self, width=200, height=200) self.innerframe = innerframe = frame_class(self._clipper) self.vsb = vsb = scrollbar_class(self) self.hsb = hsb = scrollbar_class(self, orient="horizontal") # variables self.hsbOn = 0 self.vsbOn = 0 self.hsbNeeded = 0 self.vsbNeeded = 0 self._jfraction=0.05 self._scrollTimer = None self._scrollRecurse = 0 self._startX = 0 self._startY = 0 #configure scroll self.hsb.set(0.0, 1.0) self.vsb.set(0.0, 1.0) self.vsb.config(command=self.yview) self.hsb.config(command=self.xview) #grid self._clipper.grid(row=0, column=0, sticky=tk.NSEW) #self.vsb.grid(row=0, column=1, sticky=tk.NS) #self.hsb.grid(row=1, column=0, sticky=tk.EW) self.rowconfigure(0, weight=1) self.columnconfigure(0, weight=1) # Whenever the clipping window or scrolled frame change size, # update the scrollbars. self.innerframe.bind('<Configure>', self._reposition) self._clipper.bind('<Configure>', self._reposition) self._configure_mousewheel()
def _code_set_property(self, targetid, pname, value, code_bag): if pname in self.OPTIONS_CUSTOM: line = "# TODO - {0}: code for custom option '{1}' not implemented." line = line.format(targetid, pname) code_bag[pname] = [line] else: propvalue = "'{}'".format(value) if pname in self.tkvar_properties: varvalue = None if 'text' in self.wmeta.properties and pname == 'textvariable': varvalue = self.wmeta.properties['text'] elif 'value' in self.wmeta.properties and pname == 'variable': varvalue = self.wmeta.properties['value'] propvalue = self.builder.code_create_variable(value, varvalue) elif pname in self.command_properties: cmd_name = value.strip() callback = self.builder.code_create_callback( cmd_name, 'command') propvalue = callback elif pname in self.tkimage_properties: propvalue = self.builder.code_create_image(value) elif pname == 'takefocus': propvalue = str(tk.getboolean(value)) code_bag[pname] = propvalue
def configure(self, cnf=None, **kw): if 'modal' in kw: value = kw.pop('modal') self.set_modal(tk.getboolean(value)) self.toplevel.configure(cnf, **kw)
def _code_set_property(self, targetid, pname, value, code_bag): if pname == 'usemousewheel': code_bag[pname] = '{0}'.format(tk.getboolean(value)) else: super(TTKSBHelperBO, self)._code_set_property(targetid, pname, value, code_bag)
def winfo_exists(self) : try : return tk.getboolean( super(ImageLabel, self).winfo_exists() ) except tk.TclError as e : self.debug('WINFO_EXISTS', message=e) return False
def canvas_alive(self) : try : return tk.getboolean( self.canvas.winfo_exists() ) except tk.TclError as e : self.debug('CANVAS_ALIVE', message=e) return False