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)
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")
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)
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)
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
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
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)
def display(self): global _globalLock _globalLock.acquire() GLPluginProgram.display(self) _globalLock.release()
def initialize(self): GLPluginProgram.initialize(self)
def __init__(self): global _vis,_window_title GLPluginProgram.__init__(self,_window_title) self.inDialog = False
def initialize(self): GLPluginProgram.initialize(self) self.setPlugin(_vis)