-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021 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
: 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 FALSE if application can not be closed (because of non saved data for example).
- This method called by SUIT_Session whin closing of application was requested.
+ \return \c false if application can not be closed (because of non saved data for example).
+ This method called by SUIT_Session when closing of application was requested.
*/
bool SUIT_Application::isPossibleToClose( bool& )
{
myDesktop = desk;
if ( myDesktop ) {
connect( myDesktop, SIGNAL( activated() ), this, SLOT( onDesktopActivated() ) );
+// connect( myDesktop, SIGNAL( moved() ), this, SLOT( onDesktopMoved() ) );
// Force desktop activation (NPAL16628)
QApplication::postEvent(myDesktop, new QEvent(QEvent::WindowActivate));
}
/*!
Creates new toolbar
\return identificator of new toolbar in tool manager
- \param name - name of new toolbar
+ \param title - title of new toolbar
+ \param name - name (identifier) of new toolbar
*/
-int SUIT_Application::createTool( const QString& name )
+int SUIT_Application::createTool( const QString& title, const QString& name )
{
if ( !desktop() || !desktop()->toolMgr() )
return -1;
- return desktop()->toolMgr()->createToolBar( name );
+ return desktop()->toolMgr()->createToolBar( title, name );
}
/*!
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
/*!
Show/hide menu item corresponding to action
\param a - action
- \param on - if it is true, the item will be shown, otherwise it will be hidden
+ \param on - if it is \c true, the item will be shown, otherwise it will be hidden
*/
void SUIT_Application::setMenuShown( QAction* a, const bool on )
{
/*!
Show/hide menu item corresponding to action
\param id - identificator of action in menu manager
- \param on - if it is true, the item will be shown, otherwise it will be hidden
+ \param on - if it is \c true, the item will be shown, otherwise it will be hidden
*/
void SUIT_Application::setMenuShown( const int id, const bool on )
{
/*!
Show/hide tool button corresponding to action
\param a - action
- \param on - if it is true, the button will be shown, otherwise it will be hidden
+ \param on - if it is \c true, the button will be shown, otherwise it will be hidden
*/
void SUIT_Application::setToolShown( QAction* a, const bool on )
{
/*!
Show/hide menu item corresponding to action
\param id - identificator of action in tool manager
- \param on - if it is true, the button will be shown, otherwise it will be hidden
+ \param on - if it is \c true, the button will be shown, otherwise it will be hidden
*/
void SUIT_Application::setToolShown( const int id, const bool on )
{
/*!
Show/hide both menu item and tool button corresponding to action
\param a - action
- \param on - if it is true, the item will be shown, otherwise it will be hidden
+ \param on - if it is \c true, the item will be shown, otherwise it will be hidden
*/
void SUIT_Application::setActionShown( QAction* a, const bool on )
{
/*!
Show/hide both menu item and tool button corresponding to action
\param id - identificator in both menu manager and tool manager
- \param on - if it is true, the item will be shown, otherwise it will be hidden
+ \param on - if it is \c true, the item will be shown, otherwise it will be hidden
*/
void SUIT_Application::setActionShown( const int id, const bool on )
{
\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 toggle - if it is \c 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
*/
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;
emit activated( this );
}
+/*!
+ SLOT: it is called when desktop is moved
+*/
+/*void SUIT_Application::onDesktopMoved()
+{
+ emit moving();
+}*/
/*!
SLOT: is used for Help browsing
*/
const QString& /*theContext*/ )
{
}
+
+void SUIT_Application::addPostRoutine( PostRoutine theRoutine )
+{
+ if ( !myPostRoutines.contains( theRoutine ) )
+ myPostRoutines << theRoutine;
+}