Esempio n. 1
0
 def itemChange(self, change, value):
     #print('%s.itemChange' % (self.__class__.__name__), ' change: %d, value:' % change, value)
     valnew = QGraphicsRectItem.itemChange(self, change, value)
     if change == self.ItemSelectedHasChanged:
         #self.set_control_points_visible(visible=True)
         self.set_control_points_visible(visible=self.isSelected())
     return valnew
Esempio n. 2
0
    def itemChange(self, change, value):
        if change == self.ItemPositionChange:
            if self.update is not None:
                self.update(value - self.pos())

            return value

        return QGraphicsRectItem.itemChange(self, change, value)
Esempio n. 3
0
    def itemChange(self, change, value):

        if change == self.ItemPositionHasChanged:

            self.scene().emitLabelsChanged()

            return QVariant()

        if change == self.ItemScenePositionHasChanged:
            print("Scene position changed to {}".format(value))

            return QVariant()

        return QGraphicsRectItem.itemChange(self, change, value)
Esempio n. 4
0
    def itemChange(self, change, value):
        if change == QGraphicsRectItem.ItemPositionChange:
            newPos = value  # new position in scene coordinates
            rect = self.scene().sceneRect()
            topLeftRectCoords = self.rect().topLeft()
            bottomRightRectCoords = self.rect().bottomRight()

            ntl = topLeftRectCoords + newPos
            nbr = bottomRightRectCoords + newPos

            if not rect.contains(ntl) or not rect.contains(nbr):
                ntl.setX(min(rect.right() - self.rect().width(), max(ntl.x(), rect.left())))
                ntl.setY(min(rect.bottom() - self.rect().height(), max(ntl.y(), rect.top())))
                return ntl - topLeftRectCoords

        return QGraphicsRectItem.itemChange(self, change, value)
Esempio n. 5
0
    def itemChange(self, change, value):
        """
        Enforce that the handle stays in the region of the scene

        """

        if change == QGraphicsRectItem.ItemPositionChange:
            newPos = value  # new position in rectangle coordinates
            nPosScene = self.parentItem().mapToScene(newPos)
            rect = self.parentItem().scene().sceneRect()
            if not rect.contains(nPosScene):
                nPosScene.setX(min(rect.right(), max(nPosScene.x(), rect.left())))
                nPosScene.setY(min(rect.bottom(), max(nPosScene.y(), rect.top())))
                return self.parentItem().mapFromScene(nPosScene)

        return QGraphicsRectItem.itemChange(self, change, value)
    def itemChange(self, change,value):
        """
        Enforce that the hadle stays in the region of the scene

        """

        if change==QGraphicsRectItem.ItemPositionChange:
            newPos=value #new position in rectangle coordinates
            nPosScene=self.parentItem().mapToScene(newPos)
            rect=self.parentItem().scene().sceneRect()
            if not rect.contains(nPosScene):
                nPosScene.setX(min(rect.right(), max(nPosScene.x(),rect.left())))
                nPosScene.setY(min(rect.bottom(), max(nPosScene.y(), rect.top())))
                return self.parentItem().mapFromScene(nPosScene)

        return QGraphicsRectItem.itemChange(self, change,value)
    def itemChange(self, change,value):
        if change==QGraphicsRectItem.ItemPositionChange:
            newPos=value #new position in scene coordinates
            rect=self.scene().sceneRect()
            topLeftRectCoords=self.rect().topLeft()
            bottomRightRectCoords=self.rect().bottomRight()

            ntl=topLeftRectCoords+newPos
            nbr=bottomRightRectCoords+newPos



            if not rect.contains(ntl) or not rect.contains(nbr):
                ntl.setX(min(rect.right()-self.rect().width(), max(ntl.x(),rect.left())))
                ntl.setY(min(rect.bottom()-self.rect().height(), max(ntl.y(), rect.top())));
                return ntl-topLeftRectCoords




        return QGraphicsRectItem.itemChange(self, change,value)
Esempio n. 8
0
    def itemChange(self, change, value):
        """
        Overwrite itemChange function
        Do this to restrict movement of the ROI to always be on top of the image
        """
        if (change == QGraphicsItem.ItemPositionChange and self.scene()
                and not self.resizeDirection.active()):
            # value is the new position.
            newPos = value
            rect = self.scene().sceneRect()

            allowed_position_rect = rect
            if not (allowed_position_rect.contains(self.boundingRect())):

                # Keep the item inside the scene rect.
                newPos.setX(
                    min(rect.right() - self.boundingRect().right(),
                        max(newPos.x(), rect.left())))
                newPos.setY(
                    min(rect.bottom() - self.boundingRect().bottom(),
                        max(newPos.y(), rect.top())))
                return newPos

        return QGraphicsRectItem.itemChange(self, change, value)
Esempio n. 9
0
 def itemChange(self, change, value):
     # Overrides the itemChange function of the RectItem in such a way that the edges are moved if the item itself is
     # moved
     if change == QGraphicsItem.ItemPositionChange:
         self.moveEdges(value)
     return QGraphicsRectItem.itemChange(self, change, value)
Esempio n. 10
0
 def itemChange(self, change, value):
     if change == QGraphicsRectItem.ItemPositionHasChanged:
         print("ChangeableItem", self.pos(), self.scenePos())
     return QGraphicsRectItem.itemChange(self, change, value)
Esempio n. 11
0
 def itemChange(self, change, value):
     if change == QGraphicsItem.ItemPositionChange and self.scene():
         command = CommandMoveItem(self, value)
         self.scene().undoStack.push(command)
     return QGraphicsRectItem.itemChange(self, change, value)
Esempio n. 12
0
 def itemChange(self, change, value):
     # type: (Any, QPointF) -> None
     if change == QGraphicsItem.ItemPositionChange:
         self.set_text_edge(value.x(), value.y())
     return QGraphicsRectItem.itemChange(self, change, value)