logger = Logger(moduleName(), color=termcolor.RED_FG)
+import salome
+
################################################
# GUI context class
# Used to store actions, menus, toolbars, etc...
# Global variables
################################################
-# study-to-context map
-__study2context__ = {}
-# current context
-__current_context__ = None
# object counter
__objectid__ = 0
# 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:
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
###
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
# 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 )
# 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
# 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")
# 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:
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
# 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:
# 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",
if not ok or not name: return
attr = builder.FindOrCreateAttribute( sobj, "AttributeName" )
attr.SetValue( name )
- sg.updateObjBrowser( True )
+ sg.updateObjBrowser()
pass
pass
pass