]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
*** empty log message ***
authorvsr <vsr@opencascade.com>
Mon, 9 Jul 2007 09:16:44 +0000 (09:16 +0000)
committervsr <vsr@opencascade.com>
Mon, 9 Jul 2007 09:16:44 +0000 (09:16 +0000)
src/LightApp/LightApp_Application.cxx
src/LightApp/LightApp_Application.h

index 9ab7d1317998edd5e5b4053100bae0cce37425e1..1c8061d3e12e2d8070d9a2ae3fd4df12684892c3 100644 (file)
@@ -545,14 +545,12 @@ void LightApp_Application::createActions()
   QStringList modList;
   modules( modList, false );
 
-  if( modList.count()>1 )
+  if( modList.count() > 1 )
   {
-    QToolBar* modTBar = new QtxToolBar( true, desk );
-    modTBar->setObjectName( "ModuleToolBar" );
-    modTBar->setWindowTitle( tr( "INF_TOOLBAR_MODULES" ) );
-    desktop()->addToolBar( Qt::TopToolBarArea, modTBar );
+    int modTBar = createTool( tr( "INF_TOOLBAR_MODULES" ) );
 
-    myModuleAction = new LightApp_ModuleAction( tr( "APP_NAME" ), defIcon, desk );
+    LightApp_ModuleAction* moduleAction = 
+      new LightApp_ModuleAction( tr( "APP_NAME" ), defIcon, desk );
 
     QMap<QString, QString> iconMap;
     moduleIconNames( iconMap );
@@ -581,11 +579,11 @@ void LightApp_Application::createActions()
 
       icon.fromImage( icon.toImage().scaled( iconSize, iconSize, Qt::KeepAspectRatio, Qt::SmoothTransformation ) );
       
-      myModuleAction->insertModule( *it, icon );
+      moduleAction->insertModule( *it, icon );
     }
 
-    connect( myModuleAction, SIGNAL( moduleActivated( const QString& ) ), this, SLOT( onModuleActivation( const QString& ) ) );
-    modTBar->addAction( myModuleAction );
+    connect( moduleAction, SIGNAL( moduleActivated( const QString& ) ), this, SLOT( onModuleActivation( const QString& ) ) );
+    createTool( registerAction( ModulesListId, moduleAction ), modTBar );
   }
 
   // New window
@@ -652,8 +650,11 @@ void LightApp_Application::onModuleActivation( const QString& modName )
     case 0:
     default:
       putInfo( tr("INF_CANCELLED") );
-      if ( myModuleAction )
-       myModuleAction->setActiveModule( QString() );
+      
+      LightApp_ModuleAction* moduleAction = 
+       qobject_cast<LightApp_ModuleAction*>( action( ModulesListId ) );
+      if ( moduleAction )
+       moduleAction->setActiveModule( QString() );
       cancelled = true;
     }
   }
@@ -2145,8 +2146,10 @@ void LightApp_Application::updateModuleActions()
   if ( activeModule() )
     modName = activeModule()->moduleName();
   
-  if ( myModuleAction )
-    myModuleAction->setActiveModule( modName );
+  LightApp_ModuleAction* moduleAction = 
+    qobject_cast<LightApp_ModuleAction*>( action( ModulesListId ) );
+  if ( moduleAction )
+    moduleAction->setActiveModule( modName );
 }
 
 /*!
index 7338fafffe212ffc3d2964639f1bea894ea38478..df47d8ff6bb398b04a6ae678b37dd55364a592e7 100644 (file)
@@ -41,7 +41,6 @@ class LightApp_WidgetContainer;
 class LightApp_Preferences;
 class LightApp_SelectionMgr;
 class LightApp_DataObject;
-class LightApp_ModuleAction;
 class SUIT_Study;
 class SUIT_Accel;
 class CAM_Module;
@@ -96,7 +95,7 @@ public:
          NewQxGraphViewId,
 #endif
 
-         PreferencesId, MRUId, UserID };
+         PreferencesId, MRUId, ModulesListId, UserID };
 public:
   LightApp_Application();
   virtual ~LightApp_Application();
@@ -249,7 +248,6 @@ protected:
 protected:
   LightApp_Preferences*               myPrefs;
   LightApp_SelectionMgr*              mySelMgr;
-  LightApp_ModuleAction*              myModuleAction;
   WindowMap                           myWindows;
   WindowVisibilityMap                 myWindowsVisible;