-// Copyright (C) 2007-2016 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
: QObject( 0 ),
myStudy( 0 ),
myDesktop( 0 ),
- myStatusLabel( 0 )
+ myStatusLabel( 0 ),
+ myPostRoutines( QList<PostRoutine>() )
{
if ( SUIT_Session::session() )
SUIT_Session::session()->insertApplication( this );
delete s;
setDesktop( 0 );
+
+ foreach ( PostRoutine routine, myPostRoutines )
+ routine();
}
/*!
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
const QString& menu, const QString& tip, const int key,
QObject* parent, const bool toggle, QObject* reciever,
const char* member, const QString& shortcutAction )
+{
+ return createAction( id, text, icon, menu, tip, QKeySequence(key), parent, toggle, reciever, member, shortcutAction );
+}
+
+/*!
+ Creates action and registers it both in menu manager and tool manager
+ \return new instance of action
+ \param id - proposed SUIT identificator
+ \param text - description
+ \param icon - icon for toolbar
+ \param menu - menu text
+ \param tip - tool tip
+ \param key - shortcut
+ \param parent - parent object
+ \param toggle - if it is TRUE the action will be a toggle action, otherwise it will be a command action
+ \param reciever - object that contains slot
+ \param member - slot to be called when action is activated
+*/
+QAction* SUIT_Application::createAction( const int id, const QString& text, const QIcon& icon,
+ const QString& menu, const QString& tip, const QKeySequence& key,
+ QObject* parent, const bool toggle, QObject* reciever,
+ const char* member, const QString& shortcutAction )
{
QtxAction* a = new QtxAction( text, icon, menu, key, parent, toggle, shortcutAction );
a->setStatusTip( tip );
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;
const QString& /*theContext*/ )
{
}
+
+void SUIT_Application::addPostRoutine( PostRoutine theRoutine )
+{
+ if ( !myPostRoutines.contains( theRoutine ) )
+ myPostRoutines << theRoutine;
+}