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): """ 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)
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)
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
def itemChange(self, change, value): # print change, value return QGraphicsRectItem.itemChange(self, change, value)