Salome HOME
updated copyright message
[modules/gui.git] / src / SUIT / SUIT_Application.cxx
old mode 100755 (executable)
new mode 100644 (file)
index 67ecd17..331f0fb
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -58,7 +58,8 @@ SUIT_Application::SUIT_Application()
 : QObject( 0 ),
   myStudy( 0 ),
   myDesktop( 0 ),
-  myStatusLabel( 0 )
+  myStatusLabel( 0 ),
+  myPostRoutines( QList<PostRoutine>() )
 {
   if ( SUIT_Session::session() )
     SUIT_Session::session()->insertApplication( this );
@@ -74,6 +75,9 @@ SUIT_Application::~SUIT_Application()
   delete s;
 
   setDesktop( 0 );
+
+  foreach ( PostRoutine routine, myPostRoutines )
+    routine();
 }
 
 /*!
@@ -395,6 +399,16 @@ int SUIT_Application::createTool( const int id, const QString& tBar, const int i
   return intId != -1 ? id : -1;
 }
 
+/*!
+  Clears given toolbar.
+  \param title - title of toolbar
+*/
+void SUIT_Application::clearTool( const QString& title )
+{
+  if ( desktop() && desktop()->toolMgr() )
+    desktop()->toolMgr()->clear( title );
+}
+
 /*!
   Creates new menu item
   \return identificator of new action in menu manager
@@ -689,7 +703,8 @@ int SUIT_Application::registerAction( const int id, QAction* a )
   if ( desktop() && desktop()->toolMgr() )
     desktop()->toolMgr()->registerAction( a );
 
-  if ( desktop() )
+  if ( desktop() && a->shortcutContext() != Qt::WidgetShortcut &&
+       a->shortcutContext() != Qt::WidgetWithChildrenShortcut )
     desktop()->addAction( a );
 
   return ident;
@@ -727,3 +742,9 @@ void SUIT_Application::onHelpContextModule( const QString& /*theComponentName*/,
                                             const QString& /*theContext*/ )
 {
 }
+
+void SUIT_Application::addPostRoutine( PostRoutine theRoutine )
+{
+  if ( !myPostRoutines.contains( theRoutine ) )
+    myPostRoutines << theRoutine;
+}