def sceneMousePressEvent(self, event: QGraphicsSceneMouseEvent):
        if self.state == QLiberationMapState.MOVING_UNIT:
            if event.buttons() == Qt.RightButton:
                pass
            elif event.buttons() == Qt.LeftButton:
                if self.selected_cp is not None:
                    # Set movement position for the cp
                    pos = event.scenePos()
                    point = Point(int(pos.x()), int(pos.y()))
                    proj = self._scene_to_dcs_coords(point)

                    if self.is_valid_ship_pos(point):
                        self.selected_cp.control_point.target_position = proj
                    else:
                        self.selected_cp.control_point.target_position = None

                    GameUpdateSignal.get_instance().updateGame(
                        self.game_model.game)
            else:
                return
            self.state = QLiberationMapState.NORMAL
            try:
                self.scene().removeItem(self.movement_line)
            except:
                pass
            self.selected_cp = None
    def mouseMoveEvent(self, event: QGraphicsSceneMouseEvent):
        if event.buttons() and Qt.LeftButton:

            item = self.collidingItem()
            if item is not None:
                self.setBezierEdges(item)
        super().mouseMoveEvent(event)
Example #3
0
    def mouseMoveEvent(self, event: QGraphicsSceneMouseEvent):

        if event.buttons() and Qt.LeftButton:
            self.__m_point = self.mapToParent(event.pos())
            self.setPos(self.__m_point)
            self.scene().update()

        super().mouseMoveEvent(event)
Example #4
0
    def mouseMoveEvent(self, event: QGraphicsSceneMouseEvent):
        """Implementation.

    Handles mouse movement events in the editor. Dragging the mouse with a
    button pressed will place or remove all tiles passed over.
    """

        editor = self._editor
        pos = event.scenePos()
        tilePos = editor.sceneToGrid(pos)
        item = editor.itemAt(pos, QTransform())

        if tilePos != self.lastTilePos:
            self.lastTilePos = tilePos
            if editor.validGridPos(tilePos):
                if event.buttons() & Qt.LeftButton:
                    return self.handleLeftButton(pos)
                elif event.buttons() & Qt.RightButton:
                    return self.handleRightButton(pos)
Example #5
0
 def mouseMoveEvent(self,
                    event: QtWidgets.QGraphicsSceneMouseEvent) -> None:
     if not event.buttons() & QtCore.Qt.LeftButton:
         return
     if self.poly.size() == 0:
         return
     pos = self.snapPos(event.pos())
     if self.poly.last() != pos:
         self.poly.append(pos)
         self.prepareGeometryChange()
Example #6
0
 def mouseMoveEvent(self, event: QtWidgets.QGraphicsSceneMouseEvent):
     if event.buttons() & QtCore.Qt.LeftButton:
         pos = self.line.p2()
         if self.image.rect.left() < event.pos().x() < self.image.rect.right():
             pos.setX(event.pos().x())
         if self.image.rect.top() < event.pos().y() < self.image.rect.bottom():
             pos.setY(event.pos().y())
         self.line.setP2(pos)
         self.createSlicePoly()
         self.prepareGeometryChange()
     super().mouseMoveEvent(event)
Example #7
0
 def mousePressEvent(self, event: QtWidgets.QGraphicsSceneMouseEvent):
     if event.buttons() & QtCore.Qt.LeftButton:
         if (
             self.image.rect.left() < event.pos().x() < self.image.rect.right()
             and self.image.rect.top() < event.pos().y() < self.image.rect.bottom()
         ):
             self.line.setPoints(event.pos(), event.pos())
         self.sliced = None
         self.poly = QtGui.QPolygonF()
         self.prepareGeometryChange()
     super().mousePressEvent(event)
Example #8
0
    def mouseMoveEvent(self, event: QGraphicsSceneMouseEvent):
        if not self.focusItem():
            self.nodeList.clear()
        if event.buttons() and Qt.LeftButton:
            mousePos = QPointF(
                event.buttonDownScenePos(Qt.LeftButton).x(),
                event.buttonDownScenePos(Qt.LeftButton).y())
            itemList = list(self.items(mousePos))
            if len(itemList) > 0:
                self.m_Item = itemList[0]
                self.itemLock.emit(self.m_Item)
        if len(self.nodeList) > 0:
            self.itemNode.emit(self.nodeList)
        if not self.another:
            if len(self.nodeList) > 1:
                self.nodeList = self.nodeList[1:]
        self.isHasItem.emit(len(self.items()))

        if len(self.nodeList) > 2:
            self.nodeList.clear()

        super(GraphicsScene, self).mouseMoveEvent(event)
Example #9
0
    def mouseMoveEvent(self, event: QGraphicsSceneMouseEvent):
        if event.buttons() and Qt.LeftButton:
            item = self.parentItem()
            dx = event.scenePos().x() - event.lastScenePos().x()
            dy = event.scenePos().y() - event.lastScenePos().y()
            if item.sourceNode or item.destNode:
                item.adjust()

            item.centerCp.setPoint(item.updateCenterPos())
            item.textCp.setPos(item.textPos)
            item.weightCp.setPos(item.weightPos)
            self.scene().update()
            if self.__m_type == PointType.Center:
                item.moveBy(dx, dy)
                self.scene().update()
            elif self.__m_type == PointType.Edge:
                self.__m_point = self.mapToParent(event.pos())
                #self.setPos(self.__m_point)
                item.setEdgeControlPoint(self.__m_point, self.__m_item_type)
                self.scene().update()
            elif self.__m_type == PointType.Special:
                self.__m_point = self.mapToParent(event.pos())
                #self.setPos(self.__m_point)
                item.setSpecialControlPoint(self.__m_point, self.__m_item_type)
                if self.collidingItem(item):
                    if self.itemType() == ItemType.DestType:
                        item.setDestNode(self.collidingItem(item))
                    if self.itemType() == ItemType.SourceType:
                        item.setSourceNode(self.collidingItem(item))
                    self.collidingItem(item).addBezierEdge(
                        item, self.itemType())

                self.scene().update()
            elif self.__m_type == PointType.Text:
                self.__m_point = self.mapToParent(event.pos())
                self.setPos(self.__m_point)
                self.scene().update()
Example #10
0
 def mouseMoveEvent(self, event: QtWidgets.QGraphicsSceneMouseEvent):
     if event.buttons() & QtCore.Qt.LeftButton:
         self.line.setP2(event.pos())
         self.text = f"{self.line.length():.4g} {self.unit}"
         self.prepareGeometryChange()
     super().mouseMoveEvent(event)
Example #11
0
 def mousePressEvent(self, event: QtWidgets.QGraphicsSceneMouseEvent):
     if event.buttons() & QtCore.Qt.LeftButton:
         self.line.setPoints(event.pos(), event.pos())
         self.text = ""
         self.prepareGeometryChange()
     super().mousePressEvent(event)
Example #12
0
 def mouseMoveEvent(self,
                    event: QtWidgets.QGraphicsSceneMouseEvent) -> None:
     if not event.buttons() & QtCore.Qt.LeftButton:
         return
     self._rect.setBottomRight(event.pos())
     self.prepareGeometryChange()
 def mouseMoveEvent(self, event: QGraphicsSceneMouseEvent):
     if event.buttons() and Qt.LeftButton:
         if self.__dest or self.__source:
             self.adjust()
     super().mouseMoveEvent(event)