Esempio n. 1
0
    def buildGui(self):

        STEP = 4
        #if self.showSplash:
        self.splash.showMessage((u'Loading core objects...'),
                                Qt.AlignCenter | Qt.AlignBottom, Qt.black)
        from core.MetObjects import MSSampleList
        self.model = MSSampleList()

        from pluginmanager.MetPluginFactory import MSPluginManager
        self.pluginManager = MSPluginManager(self)
        plugs = self.pluginManager.getAvailablePlugins()

        self.splash.showMessage((u'Loading task manager...'),
                                Qt.AlignCenter | Qt.AlignBottom, Qt.black)
        from controller.MetBaseControl import MSTaskManager
        self.taskManager = MSTaskManager()
        self.splash.setValue(100. / STEP)

        #if self.showSplash:
        self.splash.showMessage((u'Loading gui files...'),
                                Qt.AlignCenter | Qt.AlignBottom, Qt.black)
        from gui.MetMainGui import MSMainWindow
        self.view = MSMainWindow(plugs)

        def closeEvent(e):
            self.writeSettings()
            e.accept()

        self.view.closeEvent = closeEvent
        self.view.setWindowIcon(
            QIcon(QPixmap(path.normcase("gui/icons/deluge.png"))))
        self.view.setWindowTitle(u' '.join(
            [self.APPLICATION_NAME_STR, self.VERSION_STR]))
        self.splash.setValue(2 * (100. / STEP))

        #if self.showSplash:
        self.splash.showMessage((u'Loading controllers...'),
                                Qt.AlignCenter | Qt.AlignBottom, Qt.black)
        from controller.MetDockWidgetControl import MSDockController
        from controller.MetMenuBarControl import MSMenuController
        from controller.MetMdiControl import MSMdiAreaController

        self.menuControl = MSMenuController(self.model, self.view)
        self.dockControl = MSDockController(self.model, self.view)
        self.mdiControl = MSMdiAreaController(self.model, self.view)

        self.splash.setValue(3 * (100. / STEP))

        #if self.showSplash:
        #self.splash.showMessage((u'Loading plugins...'), Qt.AlignCenter|Qt.AlignBottom, Qt.black)

        #the following allow to delete threads and controllers
        #it is very important ;)
        #self.connect(self, SIGNAL('deleteLastController()'), self.taskManager.deleteController)
        self.splash.setValue(4 * (100. / STEP))

        self.splash.showMessage((u'Loading last parameters...'),
                                Qt.AlignCenter | Qt.AlignBottom, Qt.black)
        if self.settings.value("fullScreen", True).toBool():
            self.view.showMaximized()
        else:
            self.view.resize(
                self.settings.value("size", QSize(600, 600)).toSize())
            self.view.move(
                self.settings.value("pos", QPoint(200, 200)).toPoint())

        self.view.show()
        self.splash.finish(self.view)