3 from RenameDialog import RenameDialog
4 from EditPointDialog import EditPointDialog
5 from EditCenterDialog import EditCenterDialog
6 from EditRadiusDialog import EditRadiusDialog
7 from Polyline import Polyline
8 from Circle import Circle
9 from SalomePyQt import SalomePyQt
10 from libSALOME_Swig import SALOMEGUI_Swig
12 #########################################
14 #########################################
18 sgDesktop = sgPyQt.getDesktop()
20 #########################################
22 class TreeWidget( QTreeWidget ) :
24 def __init__( self, desktop ) :
27 QTreeWidget.__init__( self )
28 self._desktop = desktop
31 self.setContextMenuPolicy( Qt.CustomContextMenu )
32 self.customContextMenuRequested[QPoint].connect(self.createPopups)
35 def createPopups( self, point ) :
36 item = self.itemAt( point )
37 if item is None : return
38 self.menu = Menu( item )
39 for action in item.getActionsList():
41 self.menu.addAction(action).triggered.connect(self.show)
43 elif action == 'Rename' :
44 self.menu.addAction(action).triggered.connect(self.showRenameDialog)
46 elif action == 'Delete' :
47 self.menu.addAction(action).triggered.connect(self.delete)
50 self.menu.addAction(action).triggered.connect(self.showEditDialog)
53 self. menu.exec_( QCursor.pos() )
57 model = self.menu.getItem().getModel()
58 controller = self._desktop.getController()
59 controller.showModel( model )
62 def showRenameDialog( self ) :
63 model = self.menu.getItem().getModel()
64 oldName = model.getName()
65 widgetDialogBox = QDockWidget( sgDesktop )
66 myDialog = RenameDialog( "www.google.fr", self._desktop.getController(), widgetDialogBox, model, oldName )
67 widgetDialogBox.setAllowedAreas( Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea )
68 widgetDialogBox.setWidget( myDialog )
69 widgetDialogBox.setWindowTitle( "Object renaming" )
70 sgDesktop.addDockWidget( Qt.LeftDockWidgetArea, widgetDialogBox )
74 answer = QMessageBox.question( self, 'Confirmation', 'Do you really want to remove the selected curve ?' , QMessageBox.Yes | QMessageBox.No )
75 if answer == QMessageBox.Yes :
76 model = self.menu.getItem().getModel()
77 controller = self._desktop.getController()
78 controller.removeModel( model )
82 def showEditDialog( self ) :
83 item = self.menu.getItem()
84 parentItem = item.parent()
85 parentModel = parentItem.getModel()
86 widgetDialogBox = QDockWidget( sgDesktop )
87 if isinstance( parentModel, Polyline ) :
88 pointRange = parentItem.indexOfChild( item )
89 oldPoint = item.text( 0 )
90 myDialog = EditPointDialog( "www.google.fr", self._desktop.getController(), widgetDialogBox, parentModel, oldPoint, pointRange )
92 elif isinstance( parentModel, Circle ) :
93 selectedRange = parentItem.indexOfChild( item )
94 oldSelected = item.text( 0 )
95 if selectedRange == 0 : myDialog = EditCenterDialog( "www.google.fr", self._desktop.getController(), widgetDialogBox, parentModel, oldSelected )
96 elif selectedRange == 1 : myDialog = EditRadiusDialog("www.google.fr",self._desktop.getController(),widgetDialogBox,parentModel,oldSelected)
101 widgetDialogBox.setAllowedAreas( Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea )
102 widgetDialogBox.setWidget( myDialog )
103 widgetDialogBox.setWindowTitle( "Object edition" )
104 sgDesktop.addDockWidget( Qt.LeftDockWidgetArea, widgetDialogBox )