def buildEdgeList(self):
        ''' populate the ui tree with the edges that can be extended'''
        self.edgeList = []

        treeExists = False
        if self.edges_TW.topLevelItem(0):
            treeExists = True
            parentItem = self.edges_TW.topLevelItem(0)
        else:
            self.edges_TW.clear()
            parentItem = QTreeWidgetItem()
            faceName = self.face_LE.text()
            parentItem.setText(0, faceName)
            self.edges_TW.addTopLevelItem(parentItem)
            self.edges_TW.expandItem(parentItem)

            if not treeExists:
                for edgeNum in self.helperFace.ExtendableEdges:
                    ###### populate the edge tree ######
                    edgeItem = QTreeWidgetItem()
                    edgeItem.setText(0, str("Edge" + str(edgeNum)))
                    checked = QtCore.Qt.Unchecked
                    if edgeNum in self.helperFace.CheckedEdges:
                        checked = QtCore.Qt.Checked
                    edgeItem.setCheckState(0, checked)
                    parentItem.addChild(edgeItem)

        self.loadTools()
Example #2
0
 def __init__(self, mainwindow, config):
     super(SettingsDialog, self).__init__()
     self.setWindowTitle(self.str_title)
     # Reference kept to set settings in MainWindow
     self.mainwindow = mainwindow
     """A reference to the top window of the app."""
     self.config = config
     """The settings of our app."""
     # Setting log handlers
     logHandlers = QGroupBox(self.str_logHandlers)
     logHandlersLayout = QVBoxLayout()
     logHandlers.setLayout(logHandlersLayout)
     logToGui = QCheckBox(self.str_logToGui)
     logToGui.setChecked(self.config.getboolean('LogHandlers', 'gui'))
     logToGui.stateChanged.connect(
         lambda: self.chooseHandler(logToGui, 'gui'))
     logHandlersLayout.addWidget(logToGui)
     logtoStdout = QCheckBox(self.str_logToStdout)
     logtoStdout.setChecked(self.config.getboolean('LogHandlers', 'stdout'))
     logtoStdout.stateChanged.connect(
         lambda: self.chooseHandler(logtoStdout, 'stdout'))
     logHandlersLayout.addWidget(logtoStdout)
     logToFile = QCheckBox(self.str_logToFile)
     logToFile.setChecked(self.config.getboolean('LogHandlers', 'file'))
     logToFile.stateChanged.connect(
         lambda: self.chooseHandler(logToFile, 'file'))
     logHandlersLayout.addWidget(logToFile)
     # Setting log verbosity
     logVerbosity = QGroupBox(self.str_logVerbosity)
     logVerbosityLayout = QHBoxLayout()
     logVerbosity.setLayout(logVerbosityLayout)
     self.verbosityOptions = QTreeWidget()
     self.verbosityOptions.header().setVisible(False)
     for k, v in self.str_treeItems.items():
         node = QTreeWidgetItem(self.verbosityOptions, [k])
         if isinstance(v, str):
             node.setText(1, v)
             node.setCheckState(
                 0, boolToCheckState(
                     self.config.getboolean('LogVerbosity', v)))
         else:
             count = 0
             for key, val in v.items():
                 item = QTreeWidgetItem(node, [key, val])
                 checked = self.config.getboolean('LogVerbosity', val)
                 item.setCheckState(0, boolToCheckState(checked))
                 if checked:
                     count += 1
             if count == node.childCount():
                 node.setCheckState(0, Qt.Checked)
             elif count == 0:
                 node.setCheckState(0, Qt.Unchecked)
             else:
                 node.setCheckState(0, Qt.PartiallyChecked)
     self.verbosityOptions.itemChanged.connect(self.chooseVerbosity)
     logVerbosityLayout.addWidget(self.verbosityOptions)
     # Setting clock speed
     clock = QGroupBox(self.str_clock)
     clockLayout = QHBoxLayout()
     clock.setLayout(clockLayout)
     clockLayout.addWidget(QLabel(self.str_clockSpeed))
     spin = QDoubleSpinBox()
     spin.setValue(self.config.getfloat('Clock', 'speed'))
     clockLayout.addWidget(spin)
     # Setting appearance
     appearance = QGroupBox(self.str_appearance)
     appearanceLayout = QHBoxLayout()
     appearance.setLayout(appearanceLayout)
     appearanceLayout.addWidget(QLabel(self.str_circBgColor))
     circBgBtn = QPushButton(self.str_choose)
     circBgBtn.setPalette(QPalette(
         QColor(self.config.get('Appearance', 'circ_bg_color'))))
     circBgBtn.clicked.connect(
         lambda: self.chooseColor(circBgBtn, 'circ_bg_color'))
     appearanceLayout.addWidget(circBgBtn)
     appearanceLayout.addWidget(QLabel(self.str_logBgColor))
     logBgBtn = QPushButton(self.str_choose)
     logBgBtn.setPalette(QPalette(
         QColor(self.config.get('Appearance', 'log_bg_color'))))
     logBgBtn.clicked.connect(
         lambda: self.chooseColor(logBgBtn, 'log_bg_color'))
     appearanceLayout.addWidget(logBgBtn)
     # Saving settings to file and effectively setting them
     close = QPushButton(self.str_close)
     close.clicked.connect(self.closeAndApply)
     layout = QGridLayout(self)
     layout.addWidget(logHandlers, 0, 0, 1, 1)
     layout.addWidget(logVerbosity, 0, 1, 1, 1)
     layout.addWidget(clock, 1, 0, 1, 2)
     layout.addWidget(appearance, 2, 0, 1, 2)
     layout.addWidget(close, 3, 1, 1, 1)
     self.setLayout(layout)