]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
*** empty log message ***
authorstv <stv@opencascade.com>
Fri, 20 Apr 2007 09:01:01 +0000 (09:01 +0000)
committerstv <stv@opencascade.com>
Fri, 20 Apr 2007 09:01:01 +0000 (09:01 +0000)
src/Qtx/QtxWorkstack.cxx
src/Qtx/QtxWorkstack.h

index e1e7cbd186b63e1d91debabb4ec77df4aa1e27c0..e98cd5123880bbd52ebbced142435167b3497df7 100644 (file)
@@ -458,6 +458,20 @@ int QtxWorkstack::accel( const int id ) const
   return res;
 }
 
+bool QtxWorkstack::isActionEnabled( const int id ) const
+{
+  bool res = false;
+  if ( myActionsMap.contains( id ) )
+    res = myActionsMap[id]->isEnabled();
+  return res;
+}
+
+void QtxWorkstack::setActionEnabled( const int id, const bool on )
+{
+  if ( myActionsMap.contains( id ) )
+    myActionsMap[id]->setEnabled( on );
+}
+
 static int positionSimple (QIntList& szList, const int nb, const int splitter_size,
                            const int item_ind, const int item_rel_pos,
                            const int need_pos, const int splitter_pos)
@@ -932,15 +946,19 @@ void QtxWorkstack::onContextMenuRequested( QWidget* w, QPoint p )
   
   if ( lst.count() > 1 )
   {
-    pm->addAction( myActionsMap[SplitVertical] );
-    pm->addAction( myActionsMap[SplitHorizontal] );
+    if ( myActionsMap[SplitVertical]->isEnabled() )
+      pm->addAction( myActionsMap[SplitVertical] );
+    if ( myActionsMap[SplitHorizontal]->isEnabled() )
+      pm->addAction( myActionsMap[SplitHorizontal] );
     pm->addSeparator();
   }
 
   if ( w )
   {
-    pm->addAction( myActionsMap[Close] );
-    pm->addAction( myActionsMap[Rename] );
+    if ( myActionsMap[Close]->isEnabled() )
+      pm->addAction( myActionsMap[Close] );
+    if ( myActionsMap[Rename]->isEnabled() )
+      pm->addAction( myActionsMap[Rename] );
   }
 
   Qtx::simplifySeparators( pm );
index 7ad6221eaa52398286f4f330b734e93b2fde10d9..767127530069288e75945c37591bd27208e69c45 100644 (file)
@@ -72,6 +72,9 @@ public:
   int                 accel( const int ) const;
   void                setAccel( const int, const int );
 
+  bool                isActionEnabled( const int ) const;
+  void                setActionEnabled( const int, const bool );
+
   void                split( const int );
 
   QWidget*            addWindow( QWidget*, Qt::WindowFlags = 0 );