Ejemplo n.º 1
0
        def idlefunc(self):
            global _thread_running,_app,_vis,_quit,_showdialog,_showwindow,_old_glut_window
            global _custom_run_method,_custom_run_retval,_globalLock
            _globalLock.acquire()
            if _quit:
                if bool(glutLeaveMainLoop):
                    glutLeaveMainLoop()
                else:
                    print "Not compiled with freeglut, can't exit main loop safely. Press Ctrl+C instead"
                    raw_input()
            if not self.inDialog:
                if _showwindow:
                    glutShowWindow()
                elif _showdialog:
                    self.inDialog = True
                    glutShowWindow()
                else:
                    glutIconifyWindow()
                    if _old_glut_window is not None:
                        glutSetWindow(_old_glut_window)
                        #need to refresh all appearances of objects for changed opengl context
                        _vis.clearDisplayLists()

                if _custom_run_method:
                    pass
            _globalLock.release()
            GLPluginProgram.idlefunc(self)
Ejemplo n.º 2
0
 def display_screen(self):
     GLPluginProgram.display_screen(self)
     glColor3f(1,1,1)
     glRasterPos(20,50)
     gldraw.glutBitmapString(GLUT_BITMAP_HELVETICA_18,"(Do not close this window except to quit)")
     if self.inDialog:
         glColor3f(1,1,0)
         glRasterPos(20,80)
         gldraw.glutBitmapString(GLUT_BITMAP_HELVETICA_18,"In Dialog mode. Press 'q' to return to normal mode")
Ejemplo n.º 3
0
 def handle_keypress(self,c,x,y):
     if self.inDialog and c=='q':
         self.inDialog = False
         self.refresh()
         global _showwindow,_showdialog
         _showdialog = False
         if not _showwindow:
             glutIconifyWindow()
     else:
         GLPluginProgram.handle_keypress(self,c,x,y)
Ejemplo n.º 4
0
 def keyboardfunc(self,c,x,y):
     if self.inDialog and c=='q':
         print "Q pressed, hiding dialog"
         self.inDialog = False
         global _showwindow,_showdialog,_globalLock
         _globalLock.acquire()
         _showdialog = False
         if not _showwindow:
             glutIconifyWindow()
         _globalLock.release()
     else:
         GLPluginProgram.keyboardfunc(self,c,x,y)
Ejemplo n.º 5
0
 def addView(self,view):
     if isinstance(view,GLPluginInterface):
         plugin = view
         pview = GLPluginProgram()
         pview.window = self.window
         pview.setPlugin(view)
         view = pview
     assert isinstance(view,GLProgram)
     self.views.append(view)
     #spoofs reshape, motion functions
     view.window = self
     self.defaultSizes.append((view.view.w,view.view.h))
     self.fit()
     #print "Added a view, total",len(self.views),"size now",self.view.w,self.view.h
     return view
Ejemplo n.º 6
0
 def addView(self,view):
     if isinstance(view,GLPluginInterface):
         plugin = view
         pview = GLPluginProgram()
         pview.window = self.window
         pview.setPlugin(view)
         view = pview
     assert isinstance(view,GLProgram)
     self.views.append(view)
     #spoofs reshape, motion functions
     view.window = weakref.proxy(self)
     self.defaultSizes.append((view.view.w,view.view.h))
     self.fit()
     #print "Added a view, total",len(self.views),"size now",self.view.w,self.view.h
     return view
Ejemplo n.º 7
0
        def idlefunc(self):
            global _thread_running,_app,_vis,_quit,_showdialog,_showwindow
            global _custom_run_method,_custom_run_retval
            if not self.inDialog:
                if _showwindow:
                    glutShowWindow()
                else:
                    glutIconifyWindow()

                if _showdialog:
                    self.inDialog = True
                    glutShowWindow()

                if _custom_run_method:
                    pass
            GLPluginProgram.idlefunc(self)
Ejemplo n.º 8
0
 def display(self):
     global _globalLock
     _globalLock.acquire()
     GLPluginProgram.display(self)
     _globalLock.release()
Ejemplo n.º 9
0
 def initialize(self):
     GLPluginProgram.initialize(self)
Ejemplo n.º 10
0
 def __init__(self):
     global _vis,_window_title
     GLPluginProgram.__init__(self,_window_title)
     self.inDialog = False
Ejemplo n.º 11
0
 def initialize(self):
     GLPluginProgram.initialize(self)
     self.setPlugin(_vis)