Salome HOME
Merge from BR_hydro 30/10/2013
[modules/gui.git] / src / Qtx / QtxWorkstack.cxx
index 74aefc0553fb886e680756788a25aa8f117be587..505d9f80deaecdbf482a6c535f856b63d2f7bc5a 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -1794,6 +1794,16 @@ QWidget* QtxWorkstack::activeWindow() const
   return myWin;
 }
 
+/*!
+  \brief Set active widget
+  \param wid widget to activate
+*/
+void QtxWorkstack::setActiveWindow( QWidget* wid )
+{
+  if ( activeArea() )
+    activeArea()->setActiveWidget( wid );
+}
+
 /*!
   \brief Split workstack.
 
@@ -2729,10 +2739,12 @@ void QtxWorkstack::onContextMenuRequested( QWidget* w, QPoint p )
 
   if ( lst.count() > 1 )
   {
-    if ( myActionsMap[SplitVertical]->isEnabled() )
-      pm->addAction( myActionsMap[SplitVertical] );
-    if ( myActionsMap[SplitHorizontal]->isEnabled() )
-      pm->addAction( myActionsMap[SplitHorizontal] );
+    if ( !myActionsMap[SplitVertical]->isEnabled() )
+      myActionsMap[SplitVertical]->setEnabled(true);
+    pm->addAction( myActionsMap[SplitVertical] );
+    if ( !myActionsMap[SplitHorizontal]->isEnabled() )
+      myActionsMap[SplitHorizontal]->setEnabled(true);
+    pm->addAction( myActionsMap[SplitHorizontal] );
     pm->addSeparator();
   }
 
@@ -3223,6 +3235,7 @@ bool QtxWorkstack::move( QWidget* wid, QWidget* wid_to, const bool before )
           idx++;
         area_src->removeWidget( wid, true );
         area_to->insertWidget( wid, idx );
+        wid->showMaximized();
         return true;
       }
     }