-from PyQt5.QtCore import *
-from PyQt5.QtGui import *
+from PyQt5.QtCore import *
+from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from TreeWidget import TreeWidget
from GraphicsView import GraphicsView
from GraphicsScene import GraphicsScene
-class Desktop( QMainWindow ) :
-
- def __init__( self ) :
- """Constructor"""
-
- QMainWindow.__init__( self )
- self._controller = None
-
- # Creating a dockWidget which will contain globalTree
- self._globalTree= TreeWidget( self )
- self._globalTree.setHeaderLabel ( "Object browser" )
- dockGlobalTree = QDockWidget( "Tree view", self )
- dockGlobalTree.setAllowedAreas( Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea )
- dockGlobalTree.setWidget( self._globalTree )
- self.addDockWidget( Qt.LeftDockWidgetArea, dockGlobalTree )
-
- # Creating a central widget which contains the globalGraphicsView
- self._dockGlobalView = QDockWidget( "Graphics view", self )
- scene = GraphicsScene( self._controller )
- self._globalGraphicsView = GraphicsView( scene )
- self._dockGlobalView.setWidget( self._globalGraphicsView )
- self._globalGraphicsView.show()
- self.setCentralWidget( self._dockGlobalView )
-
- # Creating menus and toolbars
- self.createMenus()
- self.createToolBars()
- pass
-
- def getController( self ) :
- return self._controller
-
- def setController( self, controller ) :
- self._controller = controller
- pass
-
- def getGlobalTree( self ) :
- return self._globalTree
-
- def createMenus( self ) :
- # Creating menus
- curveMenu = self.menuBar().addMenu( "Curve" )
- toolsMenu = self.menuBar().addMenu( "Tools" )
- # Adding actions
- createPolylineAction = QAction( "Polyline", self )
- createCircleAction = QAction( "Circle", self )
- curveMenu.addAction( createPolylineAction )
- curveMenu.addAction( createCircleAction )
-
- deleteAllAction = QAction( "Delete all", self )
- toolsMenu.addAction( deleteAllAction )
- # Connecting slots
- createPolylineAction.triggered.connect(self.showCreatePolylineDialog)
- createCircleAction.triggered.connect(self.showCreateCircleDialog)
- deleteAllAction.triggered.connect(self.deleteAll)
- pass
-
- def createToolBars( self ) :
- # Creating toolBars
- createPolylineTB = self.addToolBar( "New polyline")
- createCircleTB = self.addToolBar( "New circle")
- createPolylineAction = QAction( "Polyline", self )
- createCircleAction = QAction( "Circle", self )
- # Adding actions
- createPolylineTB.addAction( createPolylineAction )
- createCircleTB.addAction( createCircleAction )
- # Connecting slots
- createPolylineAction.triggered.connect(self.showCreatePolylineDialog)
- createCircleAction.triggered.connect(self.showCreateCircleDialog)
- pass
-
- def showCreatePolylineDialog( self ) :
- from CreatePolylineDialog import CreatePolylineDialog
-
- widgetDialogBox = QDockWidget( "myDockWidget", self )
- myDialog = CreatePolylineDialog( "www.google.fr", self._controller, widgetDialogBox )
- widgetDialogBox.setAllowedAreas( Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea )
- widgetDialogBox.setWidget( myDialog )
- widgetDialogBox.setWindowTitle( "Polyline definition" )
- self.addDockWidget( Qt.LeftDockWidgetArea, widgetDialogBox )
- pass
-
- def showCreateCircleDialog( self ) :
- from CreateCircleDialog import CreateCircleDialog
-
- widgetDialogBox = QDockWidget( "myDockWidget", self )
- myDialog = CreateCircleDialog( "www.cea.fr", self._controller, widgetDialogBox )
- widgetDialogBox.setAllowedAreas( Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea )
- widgetDialogBox.setWidget( myDialog )
- widgetDialogBox.setWindowTitle( "Polyline definition" )
- self.addDockWidget( Qt.LeftDockWidgetArea, widgetDialogBox )
- pass
-
- def deleteAll( self ) :
- models = self.getController().getModels()
- if len( models ) == 0 : return
- answer = QMessageBox.question( self, 'Confirmation', 'Do you really want to delete all the existing objects ?' , QMessageBox.Yes | QMessageBox.No )
- if answer == QMessageBox.Yes :
- for model in models :
- self.getController().removeModel( model )
- pass
- pass
- pass
-
- def updateGlobalGraphicsView( self, scene ) :
- self._globalGraphicsView.setScene( scene )
- if scene is None :
- self._dockGlobalView.setWindowTitle( "Graphics view" )
- return
- self._dockGlobalView.setWindowTitle( "Graphics view : showing " + scene.getModel().getName() )
- #Resizing the globalGraphicView
- sceneRect = scene.getRect()
- topLeft = sceneRect.topLeft()
- viewRect = QRectF( topLeft.x(), topLeft.y(), 2*sceneRect.width(), 2*sceneRect.height() )
- self._globalGraphicsView.fitInView ( viewRect, Qt.IgnoreAspectRatio )
- pass
+
+class Desktop(QMainWindow):
+ def __init__(self):
+ """Constructor"""
+
+ QMainWindow.__init__(self)
+ self._controller = None
+
+ # Creating a dockWidget which will contain globalTree
+ self._globalTree = TreeWidget(self)
+ self._globalTree.setHeaderLabel("Object browser")
+ dockGlobalTree = QDockWidget("Tree view", self)
+ dockGlobalTree.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea)
+ dockGlobalTree.setWidget(self._globalTree)
+ self.addDockWidget(Qt.LeftDockWidgetArea, dockGlobalTree)
+
+ # Creating a central widget which contains the globalGraphicsView
+ self._dockGlobalView = QDockWidget("Graphics view", self)
+ scene = GraphicsScene(self._controller)
+ self._globalGraphicsView = GraphicsView(scene)
+ self._dockGlobalView.setWidget(self._globalGraphicsView)
+ self._globalGraphicsView.show()
+ self.setCentralWidget(self._dockGlobalView)
+
+ # Creating menus and toolbars
+ self.createMenus()
+ self.createToolBars()
+ pass
+
+ def getController(self):
+ return self._controller
+
+ def setController(self, controller):
+ self._controller = controller
+ pass
+
+ def getGlobalTree(self):
+ return self._globalTree
+
+ def createMenus(self):
+ # Creating menus
+ curveMenu = self.menuBar().addMenu("Curve")
+ toolsMenu = self.menuBar().addMenu("Tools")
+ # Adding actions
+ createPolylineAction = QAction("Polyline", self)
+ createCircleAction = QAction("Circle", self)
+ curveMenu.addAction(createPolylineAction)
+ curveMenu.addAction(createCircleAction)
+
+ deleteAllAction = QAction("Delete all", self)
+ toolsMenu.addAction(deleteAllAction)
+ # Connecting slots
+ createPolylineAction.triggered.connect(self.showCreatePolylineDialog)
+ createCircleAction.triggered.connect(self.showCreateCircleDialog)
+ deleteAllAction.triggered.connect(self.deleteAll)
+ pass
+
+ def createToolBars(self):
+ # Creating toolBars
+ createPolylineTB = self.addToolBar("New polyline")
+ createCircleTB = self.addToolBar("New circle")
+ createPolylineAction = QAction("Polyline", self)
+ createCircleAction = QAction("Circle", self)
+ # Adding actions
+ createPolylineTB.addAction(createPolylineAction)
+ createCircleTB.addAction(createCircleAction)
+ # Connecting slots
+ createPolylineAction.triggered.connect(self.showCreatePolylineDialog)
+ createCircleAction.triggered.connect(self.showCreateCircleDialog)
+ pass
+
+ def showCreatePolylineDialog(self):
+ from CreatePolylineDialog import CreatePolylineDialog
+
+ widgetDialogBox = QDockWidget("myDockWidget", self)
+ myDialog = CreatePolylineDialog(
+ "www.google.fr", self._controller, widgetDialogBox
+ )
+ widgetDialogBox.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea)
+ widgetDialogBox.setWidget(myDialog)
+ widgetDialogBox.setWindowTitle("Polyline definition")
+ self.addDockWidget(Qt.LeftDockWidgetArea, widgetDialogBox)
+ pass
+
+ def showCreateCircleDialog(self):
+ from CreateCircleDialog import CreateCircleDialog
+
+ widgetDialogBox = QDockWidget("myDockWidget", self)
+ myDialog = CreateCircleDialog("www.cea.fr", self._controller, widgetDialogBox)
+ widgetDialogBox.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea)
+ widgetDialogBox.setWidget(myDialog)
+ widgetDialogBox.setWindowTitle("Polyline definition")
+ self.addDockWidget(Qt.LeftDockWidgetArea, widgetDialogBox)
+ pass
+
+ def deleteAll(self):
+ models = self.getController().getModels()
+ if len(models) == 0:
+ return
+ answer = QMessageBox.question(
+ self,
+ "Confirmation",
+ "Do you really want to delete all the existing objects ?",
+ QMessageBox.Yes | QMessageBox.No,
+ )
+ if answer == QMessageBox.Yes:
+ for model in models:
+ self.getController().removeModel(model)
+ pass
+ pass
+ pass
+
+ def updateGlobalGraphicsView(self, scene):
+ self._globalGraphicsView.setScene(scene)
+ if scene is None:
+ self._dockGlobalView.setWindowTitle("Graphics view")
+ return
+ self._dockGlobalView.setWindowTitle(
+ "Graphics view : showing " + scene.getModel().getName()
+ )
+ # Resizing the globalGraphicView
+ sceneRect = scene.getRect()
+ topLeft = sceneRect.topLeft()
+ viewRect = QRectF(
+ topLeft.x(), topLeft.y(), 2 * sceneRect.width(), 2 * sceneRect.height()
+ )
+ self._globalGraphicsView.fitInView(viewRect, Qt.IgnoreAspectRatio)
+ pass
+
pass