Exemplo n.º 1
0
    def __init__(self):
        super(FlowToolChooser, self).__init__()
        self._group = QButtonGroup()
        self._group.setExclusive(True)
        layout = QGridLayout()
        layout.setSpacing(0)
        layout.setContentsMargins(8, 3, 8, 3)
        layout.setAlignment(Qt.AlignCenter)

        endpointTools = map(FlowToolEndpoint, FlowBoardPainter.endpointKeys())
        endpointToolCount = len(FlowBoardPainter.endpointKeys())
        self._endpointButtons = []
        row = 0
        col = 2
        for tool in endpointTools:
            toolButton = FlowToolButton(tool)
            self._endpointButtons.append(toolButton)
            self._group.addButton(toolButton)
            layout.addWidget(toolButton, row, col)
            col += 1
            if col - 1 > endpointToolCount / 2:
                row += 1
                col = 2

        clearToolButton = FlowToolButton(FlowToolClear())
        clearToolButton.setToolTip("clear")
        self._group.addButton(clearToolButton)
        layout.addWidget(clearToolButton, 0, 0)
        clearToolButton.select()

        self._bridgeToolButton = FlowToolButton(FlowToolBridge())
        self._bridgeToolButton.setToolTip("bridge")
        self._group.addButton(self._bridgeToolButton)
        layout.addWidget(self._bridgeToolButton, 1, 1)

        self._blockToolButton = FlowToolButton(FlowToolBlock())
        self._blockToolButton.setToolTip("blockage")
        self._group.addButton(self._blockToolButton)
        layout.addWidget(self._blockToolButton, 1, 0)

        self.setLayout(layout)
Exemplo n.º 2
0
 def stepEndpointSelection(self, forward=True):
     if isinstance(self.selected, FlowToolEndpoint):
         keys = FlowBoardPainter.endpointKeys()
         i = keys.index(self.selected.endpointKey)
         i = (i + (1 if forward else -1)) % len(keys)
         self.selectEndpoint(keys[i])