コード例 #1
0
    def __init__(self):
        super(MainWindow, self).__init__()
        uic.loadUi('GUI/mainwindow.ui', self)

        self.openTabs = {}  # Dict for Post-Office
        self.postman = Postman()
        self.postman.Post.connect(self.postOffice)

        ### Parse XML ###
        root = parseXML(directory="xml")

        ### Create Devices ###
        liste = []
        for item in root:
            _class = Devices.getDevice(item[0].value('Type'))
            liste.append(_class(item))
        ###

        self.wToolbox.setVisible(False)
        self.wQueue.setVisible(False)

        ### Prepare Device View ###
        self.deviceModel = DeviceModel(liste)
        self.listView.setModel(self.deviceModel)
        self.listView.doubleClicked.connect(self.tabAdd)
        self.uiTabs.tabCloseRequested.connect(self.tabClose)
        ###

        ### Prepare Queue ###
        self.qModel = QueueModel()
        self.treeView.setModel(self.qModel)
        self.treeView.setItemDelegate(QueueDelegate())
        self.queueThread = QueueThread(self.postman)
        self.thread = QtCore.QThread()
        self.queueThread.moveToThread(self.thread)
        self.thread.started.connect(self.queueThread.process)
        self.queueThread.finished.connect(self.thread.quit)
        self.queueThread.newMaximum.connect(self.queueProgress.setMaximum)
        self.queueThread.processed.connect(self.queueProgress.setValue)
        ###

        ### Prepare Logging Monitor ###
        self.monitor = Monitor(self.postman, self)
        self.actionLogging_Monitor.triggered.connect(self.monitor.show)
        ###

        self.bExecute.clicked.connect(self.startExecute)
        self.bQueueRemoveItem.clicked.connect(self.removeQueueItem)
        self.bClearAll.clicked.connect(self.qModel.clearAll)

        self.toolModel = ToolModel(Tools.TOOL_LIST)
        self.uiToolList.setModel(self.toolModel)

        self.show()