Salome HOME
Mise à jour du template PythonComponent:
[tools/sat.git] / data / templates / PythonComponent / src / PYCMPGUI / PYCMPDesktop.py
1 from qtsalome import *
2 from TreeWidget import TreeWidget
3 from GraphicsView import GraphicsView
4 from GraphicsScene import GraphicsScene
5
6 class :sat:{PYCMP}Desktop( QMainWindow ) :
7
8    def __init__( self, sgPyQt, sg  ) :
9        """Constructor"""
10
11        QMainWindow.__init__( self )
12        self._controller = None
13        self._sgPyQt = sgPyQt
14        self._sg = sg
15        self._sgDesktop = self._sgPyQt.getDesktop()
16
17        # Menus IDs
18        self._curveMenuID = 1000
19        self._advancedMenuID = 1001
20
21        # Actions IDs
22        self._polylineID = 1002
23        self._circleID = 1003
24        self._deleteAllID = 1004
25
26        self.createTreeView()
27        self.createGraphicsView()
28        pass
29
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 )
38        pass
39
40    def createGraphicsView( self ) :
41        scene = GraphicsScene( self._controller )
42        self._globalGraphicsView = GraphicsView( scene )
43        self._globalGraphicsViewID = self._sgPyQt.createView( "ViewCurve", self._globalGraphicsView )
44        pass
45
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" )
50        pass
51
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() )
55
56        self._sgPyQt.createMenu( self.createPolylineAction, curveMenu )
57        self._sgPyQt.createMenu( self.createCircleAction, curveMenu )
58        self._sgPyQt.createMenu( self.deleteAllAction, advancedMenu )
59        pass
60
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")
65
66        self._sgPyQt.createTool( self.createPolylineAction, createPolylineTB )
67        self._sgPyQt.createTool( self.createCircleAction, createCircleTB )
68        self._sgPyQt.createTool( self.deleteAllAction, deleteAllTB )
69        pass
70
71    def createPopups( self ) :
72        pass
73
74    def getController( self ) :
75        return self._controller
76
77    def setController( self, controller ) :
78        self._controller = controller
79        pass
80
81    def getGlobalTree( self ) :
82        return self._globalTree
83
84    def getGlobalGraphicsView( self ) :
85        return self._globalGraphicsView
86
87    def getGlobalGraphicsViewID( self ) :
88        return self._globalGraphicsViewID
89
90    def getDockGlobalTree( self ) :
91        return self._dockGlobalTree
92
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 )
99        pass
100
101 pass