X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPYHELLOGUI%2FPYHELLOGUI.py;fp=src%2FPYHELLOGUI%2FPYHELLOGUI.py;h=9ded024f0c4499faff5c3bd3740dac7288654d99;hb=07c0897d109f195fb52301a591e59dad594bc93c;hp=69b1f5343c77a893e2c6e2b346cc7dda46d52af8;hpb=5a9ad1e6bc011c829a03168dfc70900835e887b5;p=samples%2Fpyhello.git diff --git a/src/PYHELLOGUI/PYHELLOGUI.py b/src/PYHELLOGUI/PYHELLOGUI.py index 69b1f53..9ded024 100644 --- a/src/PYHELLOGUI/PYHELLOGUI.py +++ b/src/PYHELLOGUI/PYHELLOGUI.py @@ -40,6 +40,8 @@ import libSALOME_Swig logger = Logger(moduleName(), color=termcolor.RED_FG) +import salome + ################################################ # GUI context class # Used to store actions, menus, toolbars, etc... @@ -116,10 +118,6 @@ class GUIcontext: # Global variables ################################################ -# study-to-context map -__study2context__ = {} -# current context -__current_context__ = None # object counter __objectid__ = 0 @@ -137,27 +135,12 @@ sg = libSALOME_Swig.SALOMEGUI_Swig() # Internal methods ################################################ -### -# get active study ID -### -def _getStudyId(): - return sgPyQt.getStudyId() - -### -# get active study -### -def _getStudy(): - studyId = _getStudyId() - study = getStudyManager().GetStudyByID( studyId ) - return study - ### # returns True if object has children ### def _hasChildren( sobj ): if sobj: - study = _getStudy() - iter = study.NewChildIterator( sobj ) + iter = salome.myStudy.NewChildIterator( sobj ) while iter.More(): name = iter.Value().GetName() if name: @@ -167,25 +150,6 @@ def _hasChildren( sobj ): pass return False -### -# get current GUI context -### -def _getContext(): - global __current_context__ - return __current_context__ - -### -# set and return current GUI context -# study ID is passed as parameter -### -def _setContext( studyID ): - global __study2context__, __current_context__ - if studyID not in __study2context__: - __study2context__[studyID] = GUIcontext() - pass - __current_context__ = __study2context__[studyID] - return __current_context__ - ### # increment object counter in the map ### @@ -201,7 +165,7 @@ def _getSelection(): selcount = sg.SelectedCount() seltypes = {} for i in range( selcount ): - _incObjToMap( seltypes, getObjectID( _getStudy(), sg.getSelected( i ) ) ) + _incObjToMap( seltypes, getObjectID( sg.getSelected( i ) ) ) pass return selcount, seltypes @@ -212,7 +176,7 @@ def _getSelection(): # called when module is initialized # perform initialization actions def initialize(): - if verbose() : print("PYHELLOGUI.initialize() : study : %d" % _getStudyId()) + if verbose() : print("PYHELLOGUI.initialize()") # set default preferences values if not sgPyQt.hasSetting( "PYHELLO", "def_obj_name"): sgPyQt.addSetting( "PYHELLO", "def_obj_name", GUIcontext.DEFAULT_NAME ) @@ -225,7 +189,7 @@ def initialize(): # called when module is initialized # return map of popup windows to be used by the module def windows(): - if verbose() : print("PYHELLOGUI.windows() : study : %d" % _getStudyId()) + if verbose() : print("PYHELLOGUI.windows()") wm = {} wm[WT_ObjectBrowser] = Qt.LeftDockWidgetArea wm[WT_PyConsole] = Qt.BottomDockWidgetArea @@ -234,14 +198,14 @@ def windows(): # called when module is initialized # return list of 2d/3d views to be used ny the module def views(): - if verbose() : print("PYHELLOGUI.views() : study : %d" % _getStudyId()) + if verbose() : print("PYHELLOGUI.views()") return [] # called when module is initialized # export module's preferences def createPreferences(): if verbose(): - print("PYHELLOGUI.createPreferences() : study : %d" % _getStudyId()) + print("PYHELLOGUI.createPreferences()") gid = sgPyQt.addPreference("General") gid = sgPyQt.addPreference("Object creation", gid) sgPyQt.addPreference("Default name", gid, PT_String, "PYHELLO", "def_obj_name") @@ -257,28 +221,19 @@ def createPreferences(): # called when module is activated # returns True if activating is successfull and False otherwise def activate(): - if verbose() : print("PYHELLOGUI.activate() : study : %d" % _getStudyId()) - ctx = _setContext( _getStudyId() ) + if verbose() : print("PYHELLOGUI.activate()") + GUIcontext() return True # called when module is deactivated def deactivate(): - if verbose() : print("PYHELLOGUI.deactivate() : study : %d" % _getStudyId()) - pass - -# called when active study is changed -# active study ID is passed as parameter -def activeStudyChanged( studyID ): - if verbose() : print("PYHELLOGUI.activeStudyChanged(): study : %d" % studyID) - ctx = _setContext( _getStudyId() ) + if verbose() : print("PYHELLOGUI.deactivate()") pass # called when popup menu is invoked # popup menu and menu context are passed as parameters def createPopupMenu( popup, context ): if verbose() : print("PYHELLOGUI.createPopupMenu(): context = %s" % context) - ctx = _setContext( _getStudyId() ) - study = _getStudy() selcount, selected = _getSelection() if verbose() : print(selcount, selected) if selcount == 1: @@ -478,25 +433,24 @@ def CreateObject(): pass if not name: return - getEngine().createObject(_getStudy(), name) - sg.updateObjBrowser(True) + getEngine().createObject( name) + sg.updateObjBrowser() pass ### # Delete all objects ### def DeleteAll(): - study = _getStudy() - father = study.FindComponent( moduleName() ) + father = salome.myStudy.FindComponent( moduleName() ) if father: - iter = study.NewChildIterator( father ) - builder = study.NewBuilder() + iter = salome.myStudy.NewChildIterator( father ) + builder = salome.myStudy.NewBuilder() while iter.More(): sobj = iter.Value() iter.Next() builder.RemoveObjectWithChildren( sobj ) pass - sg.updateObjBrowser( True ) + sg.updateObjBrowser() pass pass @@ -504,10 +458,9 @@ def DeleteAll(): # Show object's name ### def ShowMe(): - study = _getStudy() entry = sg.getSelected( 0 ) if entry != '': - sobj = study.FindObjectID( entry ) + sobj = salome.myStudy.FindObjectID( entry ) if ( sobj ): test, attr = sobj.FindAttribute( "AttributeName" ) if test: @@ -521,30 +474,28 @@ def ShowMe(): # Delete selected object(s) ### def Delete(): - study = _getStudy() - builder = study.NewBuilder() + builder = salome.myStudy.NewBuilder() if sg.SelectedCount() <= 0: return for i in range( sg.SelectedCount() ): entry = sg.getSelected( i ) if entry != '': - sobj = study.FindObjectID( entry ) + sobj = salome.myStudy.FindObjectID( entry ) if ( sobj ): builder.RemoveObject( sobj ) pass pass pass - sg.updateObjBrowser( True ) + sg.updateObjBrowser() pass ### # Rename selected object ### def Rename(): - study = _getStudy() - builder = study.NewBuilder() + builder = salome.myStudy.NewBuilder() entry = sg.getSelected( 0 ) if entry != '': - sobj = study.FindObjectID( entry ) + sobj = salome.myStudy.FindObjectID( entry ) if ( sobj ): name, ok = QInputDialog.getText( sgPyQt.getDesktop(), "Object name", @@ -555,7 +506,7 @@ def Rename(): if not ok or not name: return attr = builder.FindOrCreateAttribute( sobj, "AttributeName" ) attr.SetValue( name ) - sg.updateObjBrowser( True ) + sg.updateObjBrowser() pass pass pass