def __init__(self, args): qt.QtGui.QApplication.__init__(self, args) # -- redirect stdout to null if pythonw -- set_stdout() # -- reconfigure LoggerOffice to use Qt log handler and a file handler -- logger.default_init(level=logger.DEBUG, handlers=["qt"]) #TODO get level from settings logger.connect_loggers_to_handlers(logger.get_logger_names(), logger.get_handler_names()) if __debug__: logger.set_global_logger_level(logger.DEBUG) else: logger.set_global_logger_level(logger.DEBUG) # -- show the splash screen -- self.splash = show_splash_screen() # -- main window -- self.win = MainWindow(None) self.win.setEnabled(False) self.win.show() self.win.raise_() self.sessionStarted.connect(self.win.on_session_started) # -- start session in a thread -- if MULTITHREAD: self.sessionth = threadit(timeit, self, self.__cb_session_thread_end, Session) else: session = Session() self.splash.finish(self.win) self.win.setEnabled(True) self.sessionStarted.emit(session)
class Openalea(qt.QtGui.QApplication): """Materialisation of the Openalea application. Does the basic inits. The session is initialised in a thread. It is safe to use once the sessionStarted signal has been emitted.""" sessionStarted = qt.QtCore.Signal(object) def __init__(self, args): qt.QtGui.QApplication.__init__(self, args) # -- redirect stdout to null if pythonw -- set_stdout() # -- reconfigure LoggerOffice to use Qt log handler and a file handler -- logger.default_init(level=logger.DEBUG, handlers=["qt"]) #TODO get level from settings logger.connect_loggers_to_handlers(logger.get_logger_names(), logger.get_handler_names()) if __debug__: logger.set_global_logger_level(logger.DEBUG) else: logger.set_global_logger_level(logger.DEBUG) # -- show the splash screen -- self.splash = show_splash_screen() # -- main window -- self.win = MainWindow(None) self.win.setEnabled(False) self.win.show() self.win.raise_() self.sessionStarted.connect(self.win.on_session_started) # -- start session in a thread -- if MULTITHREAD: self.sessionth = threadit(timeit, self, self.__cb_session_thread_end, Session) else: session = Session() self.splash.finish(self.win) self.win.setEnabled(True) self.sessionStarted.emit(session) def __cb_session_thread_end(self): self.splash.finish(self.win) self.win.setEnabled(True) self.sessionStarted.emit(self.sessionth.retVal) @staticmethod def check_qt_version(): """Ensure we are running a minimal version of Qt""" # QT_VERSION_STR implement __le__ operator if (__version__ < '4.5.2'): mess = qt.QtGui.QMessageBox.warning( None, "Error", "Visualea needs Qt library >= 4.5.2") sys.exit(-1)
class Openalea(qt.QtGui.QApplication): """Materialisation of the Openalea application. Does the basic inits. The session is initialised in a thread. It is safe to use once the sessionStarted signal has been emitted.""" sessionStarted = qt.QtCore.Signal(object) def __init__(self, args): qt.QtGui.QApplication.__init__(self, args) # -- redirect stdout to null if pythonw -- set_stdout() # -- reconfigure LoggerOffice to use Qt log handler and a file handler -- logger.default_init(level=logger.DEBUG, handlers=["qt"]) #TODO get level from settings logger.connect_loggers_to_handlers(logger.get_logger_names(), logger.get_handler_names()) if __debug__: logger.set_global_logger_level(logger.DEBUG) else: logger.set_global_logger_level(logger.DEBUG) # -- show the splash screen -- self.splash = show_splash_screen() # -- main window -- self.win = MainWindow(None) self.win.setEnabled(False) self.win.show() self.win.raise_() self.sessionStarted.connect(self.win.on_session_started) # -- start session in a thread -- if MULTITHREAD: self.sessionth = threadit(timeit, self, self.__cb_session_thread_end, Session) else: session = Session() self.splash.finish(self.win) self.win.setEnabled(True) self.sessionStarted.emit(session) def __cb_session_thread_end(self): self.splash.finish(self.win) self.win.setEnabled(True) self.sessionStarted.emit(self.sessionth.retVal) @staticmethod def check_qt_version(): """Ensure we are running a minimal version of Qt""" version = qt.QtCore.QT_VERSION_STR # QT_VERSION_STR implement __le__ operator if(version < '4.5.2'): mess = qt.QtGui.QMessageBox.warning(None, "Error", "Visualea needs Qt library >= 4.5.2") sys.exit(-1)