]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Correct methods: action(), actionId()
authorvsr <vsr@opencascade.com>
Wed, 28 Sep 2005 06:14:09 +0000 (06:14 +0000)
committervsr <vsr@opencascade.com>
Wed, 28 Sep 2005 06:14:09 +0000 (06:14 +0000)
src/SALOME_PYQT/SALOME_PYQT_GUI/SALOME_PYQT_Module.cxx

index 7ee66fef3d3e0304af5a21d9443d1168a849cb22..8267e67a1de2ad222a68c5e2ff226c8f32a4622e 100644 (file)
@@ -993,11 +993,25 @@ QAction* SALOME_PYQT_Module::createSeparator()
 }
 QAction* SALOME_PYQT_Module::action( const int id ) const
 {
-  return SalomeApp_Module::action( id );
+  QAction* a = SalomeApp_Module::action( id );
+  if ( !a ) // try own action map for menu items
+    a = SalomeApp_Module::action( id + PYQT_ACTION_MENU );
+  if ( !a ) // try own action map for toolbar items
+    a = SalomeApp_Module::action( id + PYQT_ACTION_TOOLBAL );
+  if ( !a ) // try own action map for popup items
+    a = SalomeApp_Module::action( id + PYQT_ACTION_POPUP );
+  return a;
 }
 int SALOME_PYQT_Module::actionId( const QAction* a ) const
 {
-  return SalomeApp_Module::actionId( a );
+  int id = SalomeApp_Module::actionId( a );
+  if ( myMenuActionList.contains( a ) )    // check own action map for menu items
+    id -= PYQT_ACTION_MENU;
+  if ( myToolbarActionList.contains( a ) ) // check own action map for toolbar items
+    id -= PYQT_ACTION_TOOLBAL;
+  if ( myPopupActionList.contains( a ) )   // check own action map for popup items
+    id -= PYQT_ACTION_POPUP;
+  return id;
 }
 QAction* SALOME_PYQT_Module::createAction( const int id, const QString& text, const QString& icon, 
                                           const QString& menu, const QString& tip, const int key,