]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
0000059: Activate module by default
authordmv <dmv@opencascade.com>
Fri, 12 Nov 2010 08:03:15 +0000 (08:03 +0000)
committerdmv <dmv@opencascade.com>
Fri, 12 Nov 2010 08:03:15 +0000 (08:03 +0000)
src/LightApp/LightApp_Application.cxx
src/LightApp/LightApp_Application.h
src/LightApp/resources/LightApp.xml
src/LightApp/resources/LightApp_msg_en.ts

index 9c0206afa16637da62143867e8340b5fc6397b42..363bb9dbe5a08b970e8181ad65218535a5997148 100644 (file)
@@ -734,6 +734,8 @@ void LightApp_Application::onNewDoc()
   saveDockWindowsState();
 
   CAM_Application::onNewDoc();
+
+  activateDefaultModule();
 }
 
 /*!
@@ -751,6 +753,8 @@ void LightApp_Application::onOpenDoc()
     updateWindows();
     updateViewManagers();
   }
+
+  activateDefaultModule();
 }
 
 /*!
@@ -2092,6 +2096,16 @@ void LightApp_Application::createPreferences( LightApp_Preferences* pref )
   pref->setItemProperty( "strings", aValuesList,   mruLinkType );
   pref->setItemProperty( "indexes", anIndicesList, mruLinkType );
 
+  // Default Module Preferences
+  int moduleGroup = pref->addPreference( tr( "PREF_DEFAULT_MODULE" ), genTab );
+  int moduleNameCombo = pref->addPreference( tr( "PREF_DEF_MODULE_NAME" ), moduleGroup, LightApp_Preferences::Selector, "Activate", "def_module" );
+  aValuesList.clear();
+  anIndicesList.clear();
+  aValuesList   << tr("PREF_DEF_MODULE_NONE") << tr("PREF_DEF_MODULE_CATHARE") << tr("PREF_DEF_MODULE_DIAGRAM");
+  anIndicesList << 0                        << 1                         << 2                       ;
+  pref->setItemProperty( "strings", aValuesList,   moduleNameCombo );
+  pref->setItemProperty( "indexes", anIndicesList, moduleNameCombo );
+
   // theme values
   Style_Model* aSModel = 0;
   QStyle* style = qApp->style();
@@ -3203,3 +3217,22 @@ bool LightApp_Application::openAction( const int choice, const QString& aName )
 
   return res;
 }
+
+void LightApp_Application::activateDefaultModule()
+{
+  QString defModName("");
+  SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
+  int sel = resMgr->integerValue( "Activate", "def_module" );
+  if ( sel > 0 ) {
+    LightApp_ModuleAction* moduleAction =
+      qobject_cast<LightApp_ModuleAction*>( action( ModulesListId ) );
+    if ( moduleAction && moduleAction->activeModule() == "" )
+    {
+      switch( sel ) {
+      case 1: defModName = "CATHARE GUI"; break;
+      case 2: defModName = "DIAGRAMS"; break;
+      }
+      activateModule( defModName );
+    }
+  }
+}
\ No newline at end of file
index ae6522855878fa83609761e52823651b3749fabc..b2bb19510c93cb152e29acf48ff93a887d1573de 100644 (file)
@@ -222,6 +222,8 @@ protected:
   void                                loadDockWindowsState();
   void                                saveDockWindowsState();
 
+  void                                activateDefaultModule();
+
   virtual void                        studyOpened( SUIT_Study* );
   virtual void                        studyCreated( SUIT_Study* );
 
index 71894f13f4031ade1a183a8ba5d308314c89ec2c..79f876d83113d5b18a969d78bc39d450d5c1900d 100644 (file)
     <!-- General study settings -->
     <parameter name="store_positions" value="true" />
   </section>
+  <section name="Activate">
+    <!-- StartUp settings -->
+    <parameter name="def_module" value="0" />
+  </section>
   <section name="OCCViewer" >
     <!-- OCC viewer preferences -->
     <parameter name="background"     value="35, 136, 145" />
index 1a18fac4d385474a44d2f7d27a6489084c00b71d..97a13a8bfd2aa5056ad434bd156efdafbf5505a7 100644 (file)
@@ -578,6 +578,26 @@ File does not exist</translation>
         <source>PREF_MRU_LINK_FULL</source>
         <translation>Full</translation>
     </message>
+    <message>
+        <source>PREF_DEFAULT_MODULE</source>
+        <translation>Start Options</translation>
+    </message>
+    <message>
+        <source>PREF_DEF_MODULE_NAME</source>
+        <translation>Activate module by default:</translation>
+    </message>
+    <message>
+        <source>PREF_DEF_MODULE_NONE</source>
+        <translation>Activate nothing</translation>
+    </message>
+    <message>
+        <source>PREF_DEF_MODULE_CATHARE</source>
+        <translation>Cathare module</translation>
+    </message>
+    <message>
+        <source>PREF_DEF_MODULE_DIAGRAM</source>
+        <translation>Diagram module</translation>
+    </message>
     <message>
         <source></source>
         <translation></translation>