Ejemplo n.º 1
0
    def onMouseClick(self, event):
        if event.button() == Qt.RightButton:
            if not self._started:
                self._surface.cancelTool()
                return
            self._started = False
            self._track = None
            self._invalidate()
            self._nodes = self._recalcPath()
            self._invalidate()
            return

        if self._surface.position() == self._lastPoint:
            return

        if event.button() == Qt.LeftButton:
            if not self._started:
                self._started = True
            else:
                if not self._track:
                    self._track = Track(QPointF(0, 0), self._nodes,
                                        self._width,
                                        self._surface.currentLayer())
                    self._surface.addItem(self._track)
                else:
                    self._track.addNodes(self._nodes)
            self._lastPoint = self._surface.position()
            self._recalcPath()