+################################################
+# GUI context class
+# Used to store actions, menus, toolbars, etc...
+################################################
+
+class GUIcontext:
+
+ # constructor
+ def __init__( self ):
+ # Load File action
+ sgPyQt.createAction(dict_actions["loadfile"], "Load text File", "Load text file")
+ # Save File action
+ sgPyQt.createAction(dict_actions["savefile"], "Save text File", "Save text file")
+ # Insert Line action
+ sgPyQt.createAction(dict_actions["insertLine"], "Insert Line", "Insert new text line")
+ # Insert new line action
+ sgPyQt.createAction(dict_actions["insertLine"], "Insert Line", "Insert new line")
+ # Edit selected line action
+ sgPyQt.createAction(dict_actions["editLine"], "Edit Line", "Edit selected line")
+ # Remove selected line action
+ sgPyQt.createAction(dict_actions["removeLine"], "Remove Lines", "Remove selected lines")
+ # Clear all paragraphs
+ sgPyQt.createAction(dict_actions["clearAll"], "Clear All", "Clear all paragraphs")
+ # Display line
+ sgPyQt.createAction(dict_actions["displayLine"], "Display Line", "Display selected line")
+ # Erase line
+ sgPyQt.createAction(dict_actions["eraseLine"], "Erase Line", "Erase selected line")
+ # Separator
+ separator = sgPyQt.createSeparator()
+
+ # Get Menu 'File'
+ menuFile = sgPyQt.createMenu( "File", -1, -1 )
+ # Add actions in the menu 'File'
+ sgPyQt.createMenu( separator, menuFile, -1, 10)
+ sgPyQt.createMenu( dict_actions["loadfile"], menuFile, 10 );
+ sgPyQt.createMenu( dict_actions["savefile"], menuFile, 10 );
+ sgPyQt.createMenu( separator, menuFile, -1, 10)
+ # Create 'PyLight' menu
+ menuPyLight = sgPyQt.createMenu( "PyLight", -1, -1, 50)
+ # Add actions in the menu 'PyLight'
+ sgPyQt.createMenu( dict_actions["insertLine"], menuPyLight, 10 );
+ sgPyQt.createMenu( dict_actions["editLine"], menuPyLight, 10 );
+ sgPyQt.createMenu( dict_actions["removeLine"], menuPyLight, 10 );
+ sgPyQt.createMenu( separator, menuPyLight, -1, 10);
+ sgPyQt.createMenu( dict_actions["clearAll"], menuPyLight, 10 );
+ sgPyQt.createMenu( separator, menuPyLight, -1, 10);
+ sgPyQt.createMenu( dict_actions["displayLine"], menuPyLight, 10 );
+ sgPyQt.createMenu( dict_actions["eraseLine"], menuPyLight, 10 );
+
+ # Create DataModel
+ self.DM = PYLIGHT_DataModel.PYLIGHT_DataModel()
+
+ pass # def __init__( self )
+
+ pass # class GUIcontext
+
+################################################
+# Global variables and functions
+################################################
+
+###
+# get active study ID
+###
+def _getStudyId():
+ return sgPyQt.getStudyId()
+
+# verbosity level
+__verbose__ = None
+
+###
+# Get verbose level
+###
+def verbose():
+ global __verbose__
+ if __verbose__ is None:
+ try:
+ __verbose__ = int( os.getenv( 'SALOME_VERBOSE', 0 ) )
+ except:
+ __verbose__ = 0
+ pass
+ pass
+ return __verbose__
+
+# study-to-context map
+__study2context__ = {}
+# current context
+__current_context__ = None
+
+###
+# 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 not __study2context__.has_key(studyID):
+ __study2context__[studyID] = GUIcontext()
+ pass
+ __current_context__ = __study2context__[studyID]
+ return __current_context__
+
+################################################