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

        """

        if change==QGraphicsRectItem.ItemPositionChange:
            newPos=value.toPointF() #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)
Esempio n. 2
0
    def itemChange(self, change, value):
        """
        Enforce that the hadle stays in the region of the scene

        """

        if change == QGraphicsRectItem.ItemPositionChange:
            newPos = value.toPointF()  #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.toPointF()
            rect = self.scene().sceneRect()

#             if not rect.contains(newPos):
#                 newPos.setX(min(rect.right(), max(newPos.x(), rect.left())))
#                 newPos.setY(min(rect.bottom(), max(newPos.y(), rect.top())))
#                 return newPos
#             
            #if not rect.contains(newPos2):
            #    newPos.setX(min(rect.right()-self.width, max(newPos.x()-self.width, rect.left())));
            #    newPos.setY(min(rect.bottom()-self.height, max(newPos.y()-self.height, rect.top())));
            #    return newPos
            if not rect.contains(value.toRectF()) :
                newPos.setX(min(rect.right()-self.width, max(newPos.x(), rect.left())));
                newPos.setY(min(rect.bottom()-self.height, max(newPos.y(), rect.top())));
                return newPos
            
        return QGraphicsRectItem.itemChange(self, change,value)
Esempio n. 4
0
    def itemChange(self, change, value):
        if change == QGraphicsRectItem.ItemPositionChange:
            newPos = value.toPointF()  #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)
    def itemChange(self, change,value):
        if change==QGraphicsRectItem.ItemPositionChange:
            newPos=value.toPointF() #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)
    def itemChange(self, change, value):
        if change == QGraphicsRectItem.ItemPositionChange:
            newPos = value.toPointF()
            rect = self.scene().sceneRect()

            #             if not rect.contains(newPos):
            #                 newPos.setX(min(rect.right(), max(newPos.x(), rect.left())))
            #                 newPos.setY(min(rect.bottom(), max(newPos.y(), rect.top())))
            #                 return newPos
            #
            #if not rect.contains(newPos2):
            #    newPos.setX(min(rect.right()-self.width, max(newPos.x()-self.width, rect.left())));
            #    newPos.setY(min(rect.bottom()-self.height, max(newPos.y()-self.height, rect.top())));
            #    return newPos
            if not rect.contains(value.toRectF()):
                newPos.setX(
                    min(rect.right() - self.width, max(newPos.x(),
                                                       rect.left())))
                newPos.setY(
                    min(rect.bottom() - self.height,
                        max(newPos.y(), rect.top())))
                return newPos

        return QGraphicsRectItem.itemChange(self, change, value)
Esempio n. 7
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=self.isSelected())
     return valnew
Esempio n. 8
0
 def itemChange(self, change, value):
     # print change, value
     return QGraphicsRectItem.itemChange(self, change, value)