Salome HOME
style: black format
[tools/sat.git] / data / templates / PythonComponent8 / src / View / GraphicsView.py
index 6635e134747482dc111a372bfce1ae7b0dfee768..24a394ef9cd4047d551e17cfa363e613530bbc95 100755 (executable)
@@ -2,99 +2,104 @@ from Polyline import Polyline
 from Circle import Circle
 from qtsalome import *
 
-class GraphicsView( QGraphicsView ) :
 
-   moved    = pyqtSignal(QPointF)
-   released = pyqtSignal(QPointF)
+class GraphicsView(QGraphicsView):
 
-   def __init__( self, scene ) :
-       QGraphicsView.__init__( self, scene )
-       self.setMouseTracking( True )
-       self._selectedItem = None
-       self.moved[QPointF].connect(self.execMouseMoveEvent)
-       self.released[QPointF].connect(self.execMouseReleaseEvent)
-       pass
+    moved = pyqtSignal(QPointF)
+    released = pyqtSignal(QPointF)
 
-   def mousePressEvent( self, mouseEvent ) :
-       QGraphicsView.mousePressEvent( self, mouseEvent )
-       if self.scene() is None : return
-       self._selectedItem = self.scene().mouseGrabberItem()
-       pass
+    def __init__(self, scene):
+        QGraphicsView.__init__(self, scene)
+        self.setMouseTracking(True)
+        self._selectedItem = None
+        self.moved[QPointF].connect(self.execMouseMoveEvent)
+        self.released[QPointF].connect(self.execMouseReleaseEvent)
+        pass
 
-   def mouseMoveEvent( self, mouseEvent ) :
-       QGraphicsView.mouseMoveEvent( self, mouseEvent )
-       pt = mouseEvent.pos()
-       currentPos = self.mapToScene( pt )
-       self.moved.emit(currentPos)
-       pass
+    def mousePressEvent(self, mouseEvent):
+        QGraphicsView.mousePressEvent(self, mouseEvent)
+        if self.scene() is None:
+            return
+        self._selectedItem = self.scene().mouseGrabberItem()
+        pass
 
-   def mouseReleaseEvent( self, mouseEvent ) :
-       QGraphicsView.mouseReleaseEvent( self, mouseEvent )
-       if mouseEvent.button() == Qt.LeftButton :
-          pt = mouseEvent.pos()
-          newPos = self.mapToScene( pt )
-          self.released.emit(newPos)
-          self._selectedItem = None
-          pass
-       pass
+    def mouseMoveEvent(self, mouseEvent):
+        QGraphicsView.mouseMoveEvent(self, mouseEvent)
+        pt = mouseEvent.pos()
+        currentPos = self.mapToScene(pt)
+        self.moved.emit(currentPos)
+        pass
 
-   def execMouseMoveEvent( self, currentPos ) :
-       if self._selectedItem is None : return
-       selectedIndex = self._selectedItem.getIndex()
-       newX = currentPos.x()
-       newY = currentPos.y()
-       newPoint = newX, newY
-       model = self.scene().getModel()
-       pen = QPen( QColor("red") )
-       if isinstance( model, Polyline ) :
-          #Previsualisation
-          if selectedIndex == 0 :
-             nextPoint = model.getPoints()[ selectedIndex+1 ]
-             xNext = nextPoint[0]
-             yNext = nextPoint[1]
-             self.scene().addLine( newX, newY, xNext, yNext, pen )
-             pass
-          elif selectedIndex == len( model.getPoints()) - 1 :
-             previousPoint = model.getPoints()[ selectedIndex-1 ]
-             xPrevious = previousPoint[0]
-             yPrevious = previousPoint[1]
-             self.scene().addLine( xPrevious, yPrevious, newX, newY, pen )
-             pass
-          else :
-             previousPoint = model.getPoints()[ selectedIndex-1 ]
-             xPrevious = previousPoint[0]
-             yPrevious = previousPoint[1]
-             self.scene().addLine( xPrevious, yPrevious, newX, newY, pen )
-             nextPoint = model.getPoints()[ selectedIndex+1 ]
-             xNext = nextPoint[0]
-             yNext = nextPoint[1]
-             self.scene().addLine( newX, newY, xNext, yNext, pen )
-             pass
-          pass
-       elif isinstance( model, Circle ) :
-          #Previsualisation
-          radius = float( model.getRadius() )
-          rect = QRectF( newX-radius, newY-radius, 2*radius, 2*radius )
-          circleItem = QGraphicsEllipseItem()
-          circleItem.setPen( pen )
-          circleItem.setRect( rect )
-          self.scene().addItem( circleItem )
-          pass
-       pass
+    def mouseReleaseEvent(self, mouseEvent):
+        QGraphicsView.mouseReleaseEvent(self, mouseEvent)
+        if mouseEvent.button() == Qt.LeftButton:
+            pt = mouseEvent.pos()
+            newPos = self.mapToScene(pt)
+            self.released.emit(newPos)
+            self._selectedItem = None
+            pass
+        pass
+
+    def execMouseMoveEvent(self, currentPos):
+        if self._selectedItem is None:
+            return
+        selectedIndex = self._selectedItem.getIndex()
+        newX = currentPos.x()
+        newY = currentPos.y()
+        newPoint = newX, newY
+        model = self.scene().getModel()
+        pen = QPen(QColor("red"))
+        if isinstance(model, Polyline):
+            # Previsualisation
+            if selectedIndex == 0:
+                nextPoint = model.getPoints()[selectedIndex + 1]
+                xNext = nextPoint[0]
+                yNext = nextPoint[1]
+                self.scene().addLine(newX, newY, xNext, yNext, pen)
+                pass
+            elif selectedIndex == len(model.getPoints()) - 1:
+                previousPoint = model.getPoints()[selectedIndex - 1]
+                xPrevious = previousPoint[0]
+                yPrevious = previousPoint[1]
+                self.scene().addLine(xPrevious, yPrevious, newX, newY, pen)
+                pass
+            else:
+                previousPoint = model.getPoints()[selectedIndex - 1]
+                xPrevious = previousPoint[0]
+                yPrevious = previousPoint[1]
+                self.scene().addLine(xPrevious, yPrevious, newX, newY, pen)
+                nextPoint = model.getPoints()[selectedIndex + 1]
+                xNext = nextPoint[0]
+                yNext = nextPoint[1]
+                self.scene().addLine(newX, newY, xNext, yNext, pen)
+                pass
+            pass
+        elif isinstance(model, Circle):
+            # Previsualisation
+            radius = float(model.getRadius())
+            rect = QRectF(newX - radius, newY - radius, 2 * radius, 2 * radius)
+            circleItem = QGraphicsEllipseItem()
+            circleItem.setPen(pen)
+            circleItem.setRect(rect)
+            self.scene().addItem(circleItem)
+            pass
+        pass
+
+    def execMouseReleaseEvent(self, newPos):
+        if self._selectedItem is None:
+            return
+        selectedIndex = self._selectedItem.getIndex()
+        newX = newPos.x()
+        newY = newPos.y()
+        newPoint = newX, newY
+        model = self.scene().getModel()
+        if isinstance(model, Polyline):
+            self.scene().getController().editPoint(model, newPoint, selectedIndex)
+            pass
+        elif isinstance(model, Circle):
+            self.scene().getController().editCenter(model, newPoint)
+            pass
+        pass
 
-   def execMouseReleaseEvent( self, newPos ) :
-       if self._selectedItem is None : return
-       selectedIndex = self._selectedItem.getIndex()
-       newX = newPos.x()
-       newY = newPos.y()
-       newPoint = newX, newY
-       model = self.scene().getModel()
-       if isinstance( model, Polyline ) :
-          self.scene().getController().editPoint( model, newPoint, selectedIndex )
-          pass
-       elif isinstance( model, Circle ) :
-          self.scene().getController().editCenter( model, newPoint )
-          pass
-       pass
 
 pass