def test_setPrecision(self):
     global widget
     from mglutil.gui.BasicWidgets.Tk.vector3DGUI import vectorGUI
     widget = vectorGUI(size=100)
     widget.configure(type='float')
     widget.configure(precision=5)
     # increase precision to 5 - this is only visual. value is not changed
     self.assertEqual(widget.precision == 5, True)
     pause()
     widget.master.destroy()
 def test_setContinuous(self):
     global widget
     from mglutil.gui.BasicWidgets.Tk.vector3DGUI import vectorGUI
     widget = vectorGUI(size=100)
     widget.configure(continuous=1)
     self.assertEqual(widget.continuous == 1, True)
     widget.configure(continuous=0)
     self.assertEqual(widget.continuous == (0 or None), True)
     pause()
     widget.master.destroy()
Esempio n. 3
0
 def test_setContinuous(self):
     global widget
     from mglutil.gui.BasicWidgets.Tk.vector3DGUI import vectorGUI
     widget = vectorGUI(size=100)
     widget.configure(continuous=1)
     self.assertEqual(widget.continuous == 1,True)
     widget.configure(continuous=0)
     self.assertEqual(widget.continuous == (0 or None),True)
     pause()
     widget.master.destroy()
Esempio n. 4
0
 def test_setPrecision(self):
     global widget
     from mglutil.gui.BasicWidgets.Tk.vector3DGUI import vectorGUI
     widget = vectorGUI(size=100)
     widget.configure(type='float')
     widget.configure(precision=5)
     # increase precision to 5 - this is only visual. value is not changed
     self.assertEqual(widget.precision == 5,True)
     pause()
     widget.master.destroy()
 def test_setMode(self):
     global widget
     from mglutil.gui.BasicWidgets.Tk.vector3DGUI import vectorGUI
     widget = vectorGUI(size=100)
     widget.configure(mode='XY')
     self.assertEqual(widget.mode == 'XY', True)
     widget.configure(mode='X')
     self.assertEqual(widget.mode == 'X', True)
     widget.configure(mode='Y')
     self.assertEqual(widget.mode == 'Y', True)
     widget.configure(mode='Z')
     self.assertEqual(widget.mode == 'Z', True)
     pause()
     widget.master.destroy()
Esempio n. 6
0
 def test_setMode(self):
     global widget
     from mglutil.gui.BasicWidgets.Tk.vector3DGUI import vectorGUI
     widget = vectorGUI(size=100)
     widget.configure(mode='XY')
     self.assertEqual(widget.mode == 'XY',True)
     widget.configure(mode='X')
     self.assertEqual(widget.mode == 'X',True)
     widget.configure(mode='Y')
     self.assertEqual(widget.mode == 'Y',True)
     widget.configure(mode='Z')
     self.assertEqual(widget.mode == 'Z',True)
     pause()
     widget.master.destroy()
    def test_setVector(self):
        # setVector does NOT call callback
        global widget

        def foo(val):
            global wasCalled
            print "I should not be called"
            wasCalled = 1

        from mglutil.gui.BasicWidgets.Tk.vector3DGUI import vectorGUI
        widget = vectorGUI(size=100)
        widget.setVector([1.0, 0.0, 0.0])
        if wasCalled:
            raise RuntimeError
        widget.master.destroy()
Esempio n. 8
0
 def test_setVector(self):
     # setVector does NOT call callback
     global widget
 
     def foo(val):
         global wasCalled
         print "I should not be called"
         wasCalled=1
 
     from mglutil.gui.BasicWidgets.Tk.vector3DGUI import vectorGUI
     widget = vectorGUI(size=100)
     widget.setVector([1.0,0.0,0.0])
     if wasCalled:
         raise RuntimeError
     widget.master.destroy()
 def test_constructor(self):
     # test if we can display a vectorGUI
     global widget
     widget = vectorGUI(size=100)
     pause()
     widget.master.destroy()
Esempio n. 10
0
 def test_constructor(self):
     # test if we can display a vectorGUI
     global widget
     widget = vectorGUI(size=100)
     pause()
     widget.master.destroy()
Esempio n. 11
0
    def createSpinGui(self):
        #print "createSpinGui"
        
        self.spinGui = Tkinter.Toplevel()
        self.spinGui.title('Spin Settings')
        self.spinGui.protocol('WM_DELETE_WINDOW', self.spinGui.withdraw )

        mainFrame = Tkinter.Frame(self.spinGui, relief='ridge', borderwidth=3)

        lLabelSpinBold = Tkinter.Label(mainFrame,
                      text="Spinning only occurs in \"Object\" transform mode",
                      font=(ensureFontCase('helvetica'),10,'bold'))
        lLabelSpinBold.pack(side='top')

        lLabelSpin = Tkinter.Label(mainFrame,
                      font=(ensureFontCase('helvetica'),'9'),
                      justify='left',
                      text="""start: release the middle button while the mouse is still moving
stop: left click
"""
                     )
        lLabelSpin.pack(side='top')

        anglesFrame = Tkinter.Frame(mainFrame, relief='ridge', borderwidth=3)
        # off/spin/rock radio buttons
        radioFrame = Tkinter.Frame(anglesFrame)#, relief='ridge', borderwidth=3)

        radioOff = Tkinter.Radiobutton(
            radioFrame,
            text='Off',
            value=0,
            variable=self.spinVar,
            width=8,
            indicatoron=0,
            command=self.resetSpinValues,
            )
        radioOff.grid(row=0, column=0, sticky='we')
        radioSpin = Tkinter.Radiobutton(
            radioFrame,
            text='Spin',
            value=1,
            variable=self.spinVar,
            width=8,
            indicatoron=0,
            command=self.toggleCycle,
            )
        radioSpin.grid(row=0, column=1, sticky='we')
        radioBounce = Tkinter.Radiobutton(
            radioFrame,
            text='Bounce',
            value=2,
            variable=self.spinVar,
            width=8,
            indicatoron=0,
            command=self.toggleCycle,
            )
        radioBounce.grid(row=0, column=2, sticky='we')
        radioOscillate = Tkinter.Radiobutton(
            radioFrame,
            text='Oscillate',
            value=3,
            variable=self.spinVar,
            width=8,
            indicatoron=0,
            command=self.toggleCycle,
            )
        radioOscillate.grid(row=0, column=3, sticky='we')
        radioFrame.pack(side='top')

        self.spinGui.anglePerFrameThumbwheel = ThumbWheel(
                                    anglesFrame,
                                    labCfg={'text':'Angular speed (degrees per frame)', 'side':'left'},
                                    showLabel=1, 
                                    width=90,
                                    height=14,
                                    min=.01, 
                                    max=10.,
                                    type=float, 
                                    value=self.spinAnglePerFrame,
                                    callback=self.setWithSpinGui,
                                    continuous=True,
                                    oneTurn=5,
                                    wheelPad=0,
                                    )
        self.spinGui.anglePerFrameThumbwheel.pack(side='top', anchor='e')
        self.spinGui.rockAngleThumbwheel = ThumbWheel(
                                    anglesFrame,
                                    labCfg={'text':'Rock angle (degrees)', 'side':'left'},
                                    showLabel=1, 
                                    width=90,
                                    height=14,
                                    min=1, 
                                    max=360,
                                    type=int, 
                                    value=self.rockAngle,
                                    callback=self.setWithSpinGui,
                                    continuous=True,
                                    oneTurn=60,
                                    wheelPad=0,
                                    )
        self.spinGui.rockAngleThumbwheel.pack(side='top', anchor='e')
        def shiftRockCenter(val):
            lSpinRotMat = self.makeSpinRotationMat(self.spinAxis, -val)
            c = self.camera()
            c.viewer.rootObject.ConcatRotation(lSpinRotMat)
            c.Redraw()
            vi.afterRedraw()
            shiftRockCenterThumbwheel.set(0, update=0)
        shiftRockCenterThumbwheel = ThumbWheel(
                                    anglesFrame,
                                    labCfg={'text':'Shift rock center', 'side':'left'},
                                    showLabel=0, 
                                    width=90,
                                    height=14,
                                    min=-100, 
                                    max=100,
                                    type=int, 
                                    value=0,
                                    callback=shiftRockCenter,
                                    continuous=True,
                                    oneTurn=90,
                                    wheelPad=0,
                                    )
        shiftRockCenterThumbwheel.pack(side='top', anchor='e')
        anglesFrame.pack(side='top')

        self.spinGui.vectorGUI = vectorGUI(mainFrame,
                                           size=150,
                                           vector=self.spinAxis,
                                           callback=self.setWithSpinGui,
                                           )

        mainFrame.pack(side='top')