예제 #1
0
 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)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
 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)