]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Dynamic menus in Python:
authorvsr <vsr@opencascade.com>
Mon, 27 Feb 2006 14:50:17 +0000 (14:50 +0000)
committervsr <vsr@opencascade.com>
Mon, 27 Feb 2006 14:50:17 +0000 (14:50 +0000)
* add methods to check if action is already used in menu/toolbars

src/Qtx/QtxActionMenuMgr.cxx
src/Qtx/QtxActionMenuMgr.h
src/Qtx/QtxActionToolMgr.cxx
src/Qtx/QtxActionToolMgr.h

index 58604de7bb90f5b8a34a726357eb03e75936f62e..e570f7365f36741a54a310c23cc5eb09e07d2ded 100644 (file)
@@ -680,12 +680,12 @@ bool QtxActionMenuMgr::load( const QString& fname, QtxActionMgr::Reader& r )
   return r.read( fname, cr );
 }
 
-bool QtxActionMenuMgr::contains( const QString& title, const int id, const int pid )
+bool QtxActionMenuMgr::contains( const QString& title, const int id, const int pid ) const
 {
   return (bool)find( title, id, pid );
 }
 
-bool QtxActionMenuMgr::contains( const int id, const int pid )
+bool QtxActionMenuMgr::contains( const int id, const int pid ) const
 {
   return (bool)find( id, pid );
 }
index 77470d5be4e7fe5c89325cb528b06c896d5faa77..bb10da10f0d7215b6aa7a1c84cf5695b6d7013a8 100644 (file)
@@ -103,8 +103,8 @@ public:
 
   virtual bool load( const QString&, QtxActionMgr::Reader& );
 
-  bool         contains( const QString&, const int, const int );
-  bool         contains( const int, const int );
+  bool         contains( const QString&, const int, const int ) const;
+  bool         contains( const int, const int ) const;
 
 
 private slots:
index f797306f0506c96c5afd1079214e53cc3d70d192..33fff160709208cb9f6570c8883039bb4cfd3ef8 100644 (file)
@@ -227,6 +227,20 @@ bool QtxActionToolMgr::hasToolBar( const QString& tname ) const
   return find( tname ) != -1;
 }
 
+bool QtxActionToolMgr::contains( const int id, const int tid ) const
+{
+  for ( ToolBarMap::ConstIterator it = myToolBars.begin(); it != myToolBars.end(); ++it )
+  {
+    if ( tid == -1 || it.key() == tid ) {
+      const NodeList& list = it.data().nodes;
+      for ( NodeList::const_iterator nit = list.begin(); nit != list.end(); ++nit )
+       if ( (*nit).id == id )
+         return true;
+    }
+  }
+  return false;
+}
+
 void QtxActionToolMgr::onToolBarDestroyed()
 {
   myToolBars.remove( find( (QToolBar*)sender() ) );
index 31c02209d0d2d8fb28fdb500a65c6bea3a788caf..e9d6e4e40d6dbd09456150b4a2b86f5c830b1a56 100644 (file)
@@ -95,6 +95,8 @@ public:
   bool            hasToolBar( const int ) const;
   bool            hasToolBar( const QString& ) const;
 
+  bool            contains( const int, const int = -1 ) const;
+
   virtual bool    load( const QString&, QtxActionMgr::Reader& );
 
 protected slots: