Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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)
Пример #4
0
 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')
Пример #5
0
 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)
Пример #6
0
 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()
Пример #8
0
 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)
Пример #9
0
 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()
Пример #10
0
 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)
Пример #11
0
 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()
Пример #12
0
 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)
Пример #13
0
 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)
Пример #14
0
    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()
Пример #15
0
        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()
Пример #16
0
 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
Пример #17
0
 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)
Пример #18
0
 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)
Пример #19
0
 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
Пример #20
0
 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