X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FCAM%2FCAM_Module.cxx;h=6a8e49f3628e2d33e76c4d7c649c7ad2d534792a;hb=refs%2Fheads%2Fngr%2Fpython3_dev_pv5.4;hp=0f0d55708f40b0bd585532f6f594eac72d7d4012;hpb=627194285d9b5354291d3a442b68b8740f114eda;p=modules%2Fgui.git diff --git a/src/CAM/CAM_Module.cxx b/src/CAM/CAM_Module.cxx index 0f0d55708..6a8e49f36 100755 --- a/src/CAM/CAM_Module.cxx +++ b/src/CAM/CAM_Module.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 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 @@ -232,6 +232,14 @@ bool CAM_Module::isSelectionCompatible() */ bool CAM_Module::activateModule( SUIT_Study* /*study*/ ) { + // IMN 05/03/2015: we copied myActionMap for reset/unset actions accelerator keys + // after activate/deactivate modules + for ( QMap::Iterator it = myActionShortcutMap.begin(); it != myActionShortcutMap.end(); ++it ) + { + // Reset actions accelerator keys + it.key()->setShortcut( it.value() ); + } + myActionShortcutMap.clear(); return true; } @@ -249,6 +257,14 @@ bool CAM_Module::activateModule( SUIT_Study* /*study*/ ) */ bool CAM_Module::deactivateModule( SUIT_Study* ) { + // IMN 05/03/2015: we copied myActionMap for reset/unset actions accelerator keys + // after activate/deactivate modules + myActionShortcutMap.clear(); + for ( QMap::Iterator it = myActionMap.begin(); it != myActionMap.end(); ++it ) + { + myActionShortcutMap.insert( it.value(), it.value()->shortcut() ); + it.value()->setShortcut( QKeySequence() ); + } return true; } @@ -396,17 +412,18 @@ QtxActionToolMgr* CAM_Module::toolMgr() const If the toolbar has been already created, its ID is just returned. - \param name toolbar name + \param title toolbar title + \param name toolbar name (identifier) \return toolbar ID or -1 if toolbar could not be created */ -int CAM_Module::createTool( const QString& name ) +int CAM_Module::createTool( const QString& title, const QString& name ) { if ( !toolMgr() ) return -1; ActionMgrLocker lock( toolMgr(), !myToolShown ); - return toolMgr()->createToolBar( name, myToolShown ); + return toolMgr()->createToolBar( title, name ); } /*! @@ -571,12 +588,12 @@ int CAM_Module::createTool( const int id, const QString& tBar, const int idx ) \return menu item ID or -1 if menu item could not be added */ int CAM_Module::createMenu( const QString& subMenu, const int menu, - const int id, const int group, const int idx ) + const int id, const int group, const int idx, QMenu * menuObj ) { if ( !menuMgr() ) return -1; - return menuMgr()->insert( subMenu, menu, group, id, idx ); + return menuMgr()->insert( subMenu, menu, group, id, idx, menuObj ); } /*! @@ -923,6 +940,33 @@ QAction* CAM_Module::createAction( const int id, const QString& text, const QIco 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 ); +} + +/*! + \brief Create new instance of QtxAction and register action with specified \a id. + + Resulting action ID may differ from the requested one. This can happen if + requested ID is already in use. + + If \a id < 0, the action ID is generated automatically. + + \param id required action ID + \param text tooltip text + \param icon action icon + \param menu menu text + \param tip status bar tip + \param key keyboard accelerator + \param parent parent object + \param toggle if \c true, the action will be toggled + \param reciever action activation signal receiver object + \param member action activation signal receiver slot +*/ +QAction* CAM_Module::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 ); @@ -1116,3 +1160,9 @@ void CAM_Module::connectToStudy( CAM_Study* camStudy ) \fn void CAM_Module::updateCommandsStatus(); \brief Update menu/toolbar actions. */ + + +bool CAM_Module::abortAllOperations() +{ + return true; +}