def test_kbComboBox_setValue(self):
        # test if we can set the value of a kbComboBox
        global widget, wasCalled
        from mglutil.gui.BasicWidgets.Tk.customizedWidgets import kbComboBox

        def chooseNumber(number):
            global wasCalled
            print 'A you chose:', number
            wasCalled=1


        namelist = map(str, range(30))
        widget = kbComboBox(label_text='Numbers:', labelpos='w',
                        selectioncommand = chooseNumber,
                        scrolledlist_items = namelist )
        widget.pack()
        pause()

        # set value and call command
        wasCalled = 0
        widget.set( 8 )
        pause()
        self.assertEqual(wasCalled == 1,True)
        self.assertEqual(widget.get() == '8',True)
        # set value and dio NOT call command
        wasCalled = 0
        widget.set( 2, run=0 )
        pause()
        self.assertEqual(wasCalled == 0,True)
        self.assertEqual(widget.get() == '2',True)
    
        widget.master.destroy()
    def test_kbComboBox_setValue(self):
        # test if we can set the value of a kbComboBox
        global widget, wasCalled
        from mglutil.gui.BasicWidgets.Tk.customizedWidgets import kbComboBox

        def chooseNumber(number):
            global wasCalled
            print 'A you chose:', number
            wasCalled = 1

        namelist = map(str, range(30))
        widget = kbComboBox(label_text='Numbers:',
                            labelpos='w',
                            selectioncommand=chooseNumber,
                            scrolledlist_items=namelist)
        widget.pack()
        pause()

        # set value and call command
        wasCalled = 0
        widget.set(8)
        pause()
        self.assertEqual(wasCalled == 1, True)
        self.assertEqual(widget.get() == '8', True)
        # set value and dio NOT call command
        wasCalled = 0
        widget.set(2, run=0)
        pause()
        self.assertEqual(wasCalled == 0, True)
        self.assertEqual(widget.get() == '2', True)

        widget.master.destroy()
    def test_kbComboBox(self):
        global widget
        from mglutil.gui.BasicWidgets.Tk.customizedWidgets import kbComboBox

        # default root widget
        widget = kbComboBox(label_text='Numbers:', labelpos='w')
        widget.pack()
        pause()
        widget.master.destroy()

        # with root widget
        import Tkinter
        root = Tkinter.Toplevel()
        widget = kbComboBox(root, label_text='Numbers:', labelpos='w')
        widget.pack()
        pause()
        widget.master.destroy()
    def test_kbComboBox(self):
        global widget
        from mglutil.gui.BasicWidgets.Tk.customizedWidgets import kbComboBox

        # default root widget
        widget = kbComboBox(label_text='Numbers:', labelpos='w')
        widget.pack()
        pause()
        widget.master.destroy()

        # with root widget
        import Tkinter
        root = Tkinter.Toplevel()
        widget = kbComboBox(root, label_text='Numbers:', labelpos='w')
        widget.pack()
        pause()
        widget.master.destroy()
Exemplo n.º 5
0
    def __init__(self,
                 name='CADD',
                 master=None,
                 font=None,
                 withShell=1,
                 width=750,
                 height=700,
                 **kw):
        NoGuiVPECADD.__init__(self)

        self.width = width
        self.height = height
        self.master = master

        from CADD.UserLibBuildCADD import ensureDefaultUserLibFileCADD, ensureCADDResourceFile, ensureCADDFontsFile
        ensureDefaultUserLibFileCADD()
        caddRCFile = ensureCADDResourceFile()
        ensureCADDFontsFile()

        # set workflows dir and copy workflows from the installed distro
        self.setWFDir(caddRCFile)
        self.copyWorkflows()

        self.top = Pmw.PanedWidget(master,
                                   orient='vertical',
                                   hull_relief='sunken',
                                   hull_width=width,
                                   hull_height=height)
        self.top.component('hull').master.title(name)

        wfmenus = self.top.add('WFMenuBars', min=20, max=40, size=20)

        menus = self.top.add('MenuBars', min=20, max=40, size=20)
        if sys.platform == 'win32':
            modulePagesPane = self.top.add('ModulePages', min=150, size=200)
        else:
            modulePagesPane = self.top.add('ModulePages', min=100, size=200)

        # horizontal pane for for buttons
        self.buttonBar = self.top.add('ButtonBar', min=20, max=20, size=20)
        self.buttonBarFunc = {}  # key:buttonName, value:function

        # horizontal pane for networks notebook
        ed = self.top.add('Editor', min=100)

        # create scrolled frame for ModulePage (libraries)
        self.modulePagesF = Pmw.ScrolledFrame(modulePagesPane,
                                              borderframe=1,
                                              horizscrollbar_width=7,
                                              vscrollmode='none',
                                              frame_relief='flat',
                                              frame_borderwidth=0,
                                              horizflex='fixed',
                                              vertflex='elastic')
        self.modulePagesF.pack(expand=1, fill='both')
        self.ModulePages = Pmw.NoteBook(self.modulePagesF.interior(),
                                        raisecommand=self.selectLibrary)
        self.ModulePages.pack(fill='both', expand=1)  # padx = 5, pady = 5)

        self.idToNodes = {}  # key is canvas, values {nodeID:nodeType}

        self.setColors()  # definte clors before toolbar buttons are creaed
        self.addButtonsToButtonBar(master)  # add buttons to buttonBar

        self.modSearch = kbComboBox(self.buttonBar,
                                    labelpos='w',
                                    entryfield_entry_width=12,
                                    selectioncommand=self.searchModules,
                                    scrolledlist_items=[])
        self.modSearch.pack(side='left', anchor=Tkinter.NW)

        self.lastSearchString = None
        self.searchAfterId = None  # used to deselect nodes found by search
        self.lastMatchIndices = [
            0, 0, 0
        ]  # library index and category index of last found node

        apply(NetworkBuilder.__init__, (self, name, ed, font, withShell), kw)
        self.mBar.destroy()

        self.createMenus(menus)
        self.setFont("Menus", self.font['Menus'])

        self.top.pack(expand=1, fill='both')

        handle = self.eventHandler['deleteNetwork']
        handle.AddCallback(self.handleDeleteNetworkButtons)

        self.setForms()

        from NetworkEditor.widgets import widgetsTable
        self.widgetsTable = widgetsTable

        self.userLibsDirs = {}  # stores path to user defined node libs

        from Vision.UserLibBuild import ensureDefaultUserLibFile
        ensureDefaultUserLibFile()
        from Vision.UserLibBuild import ensureVisionResourceFile
        ensureVisionResourceFile()

        if hasattr(self, "currentNetwork"):
            self.currentNetwork.glyphKeywords = {}
            self.currentNetwork.glyphKeywords['fontstyle'] = ''
            self.currentNetwork.glyphKeywords['font'] = "courier"
            self.currentNetwork.glyphKeywords['fontsize'] = 12
            self.currentNetwork.glyphKeywords['fill'] = ''
            self.currentNetwork.glyphKeywords['outline'] = "black"
            self.currentNetwork.glyphKeywords['spray'] = False

        self.master.master.master.protocol("WM_DELETE_WINDOW",
                                           self.interactiveExit_cb)
        self.changeColor()