]> SALOME platform Git repositories - modules/gui.git/blobdiff - src/STD/STD_TabDesktop.cxx
Salome HOME
Copyright update 2022
[modules/gui.git] / src / STD / STD_TabDesktop.cxx
index 3690d8b1c03d00e48149df669ec388d751692450..a955fb42d7a5d5646dd54de8af9d1b269978b6f6 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022  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
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -97,6 +97,18 @@ SUIT_ViewWindow* STD_TabDesktop::activeWindow() const
   return wnd;
 }
 
+/*!
+  Set active window
+  \param wnd - view window
+*/
+void STD_TabDesktop::setActiveWindow(SUIT_ViewWindow* wnd)
+{
+  if (wnd) {
+    myWorkstack->setActiveWindow(wnd);
+    wnd->setFocus();
+  }
+}
+
 /*!
   \retval QPtrList<SUIT_ViewWindow> - return const active window list.
 */
@@ -213,15 +225,29 @@ void STD_TabDesktop::createActions()
   myWorkstackAction->setStatusTip( QtxWorkstackAction::SplitVertical, tr( "PRP_DESK_WINDOW_VSPLIT" ) );
   myWorkstackAction->setAccel( QtxWorkstackAction::SplitVertical,   Qt::ALT + Qt::SHIFT + Qt::Key_V );
 
+  QAction* anArrangeViewsAction = myWorkstackAction->getArrangeViewsAction();
+  if( anArrangeViewsAction )
+    connect( anArrangeViewsAction, SIGNAL( triggered() ), this, SLOT( onArrangeViews() ) );
+
   QtxActionMenuMgr* mMgr = menuMgr();
   if ( !mMgr )
     return;
 
   int winMenuId = mMgr->insert( tr( "MEN_DESK_WINDOW" ), -1, 100 );
+  mMgr->insert( anArrangeViewsAction, winMenuId, -1 );
   mMgr->insert( myWorkstackAction, winMenuId, -1 );
   mMgr->insert( QtxActionMenuMgr::separator(), winMenuId, -1 );
 }
 
+/*!
+  Emit Arrange Views menu activated.
+*/
+void STD_TabDesktop::onArrangeViews()
+{
+  QtxSplitDlg ArrangeViewsDlg( this, workstack(), ArrangeViews );
+  ArrangeViewsDlg.exec();
+}
+
 /*!
   Convert STD_TabDesktop enumerations to QtxWorkstackAction
 */