2 from TreeWidget import TreeWidget
3 from GraphicsView import GraphicsView
4 from GraphicsScene import GraphicsScene
6 class :sat:{PYCMP}Desktop( QMainWindow ) :
8 def __init__( self, sgPyQt, sg ) :
11 QMainWindow.__init__( self )
12 self._controller = None
15 self._sgDesktop = self._sgPyQt.getDesktop()
18 self._curveMenuID = 1000
19 self._advancedMenuID = 1001
22 self._polylineID = 1002
24 self._deleteAllID = 1004
27 self.createGraphicsView()
30 def createTreeView( self ) :
31 self._globalTree= TreeWidget( self )
32 self._globalTree.setHeaderLabel ( "Tree view" )
33 self._dockGlobalTree = QDockWidget( self._sgDesktop )
34 self._dockGlobalTree.setFeatures( QDockWidget.NoDockWidgetFeatures )
35 self._dockGlobalTree.setAllowedAreas( Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea )
36 self._dockGlobalTree.setWidget( self._globalTree )
37 self._sgDesktop.addDockWidget( Qt.LeftDockWidgetArea, self._dockGlobalTree )
40 def createGraphicsView( self ) :
41 scene = GraphicsScene( self._controller )
42 self._globalGraphicsView = GraphicsView( scene )
43 self._globalGraphicsViewID = self._sgPyQt.createView( "ViewCurve", self._globalGraphicsView )
46 def createActions( self ) :
47 self.createPolylineAction = self._sgPyQt.createAction( self._polylineID, "Polyline", "Create Polyline", "Show Polyline dialog box", "ExecPolyline.png" )
48 self.createCircleAction = self._sgPyQt.createAction( self._circleID, "Circle", "Create Circle", "Show Circle dialog box", "ExecCircle.png" )
49 self.deleteAllAction = self._sgPyQt.createAction( self._deleteAllID, "Delete all", "Delete all", "Delete all objects", "ExecDelAll.png" )
52 def createMenus( self ) :
53 curveMenu = self._sgPyQt.createMenu( " Curve", -1, self._curveMenuID, self._sgPyQt.defaultMenuGroup() )
54 advancedMenu = self._sgPyQt.createMenu( " Advanced", -1, self._advancedMenuID, self._sgPyQt.defaultMenuGroup() )
56 self._sgPyQt.createMenu( self.createPolylineAction, curveMenu )
57 self._sgPyQt.createMenu( self.createCircleAction, curveMenu )
58 self._sgPyQt.createMenu( self.deleteAllAction, advancedMenu )
61 def createToolBars( self ) :
62 createPolylineTB = self._sgPyQt.createTool("New polyline")
63 createCircleTB = self._sgPyQt.createTool("New circle")
64 deleteAllTB = self._sgPyQt.createTool("Delete all")
66 self._sgPyQt.createTool( self.createPolylineAction, createPolylineTB )
67 self._sgPyQt.createTool( self.createCircleAction, createCircleTB )
68 self._sgPyQt.createTool( self.deleteAllAction, deleteAllTB )
71 def createPopups( self ) :
74 def getController( self ) :
75 return self._controller
77 def setController( self, controller ) :
78 self._controller = controller
81 def getGlobalTree( self ) :
82 return self._globalTree
84 def getGlobalGraphicsView( self ) :
85 return self._globalGraphicsView
87 def getGlobalGraphicsViewID( self ) :
88 return self._globalGraphicsViewID
90 def getDockGlobalTree( self ) :
91 return self._dockGlobalTree
93 def updateGlobalGraphicsView( self, scene ) :
94 self._globalGraphicsView.setScene( scene )
95 if scene is None : return
96 #Resizing the globalGraphicView
97 sceneRect = scene.getRect()
98 self._globalGraphicsView.fitInView ( sceneRect, Qt.KeepAspectRatio )