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()
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()
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()
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()
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()
def test_constructor(self): # test if we can display a vectorGUI global widget widget = vectorGUI(size=100) pause() widget.master.destroy()
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')