Salome HOME
Upgrade to paraview 5.4
[modules/gui.git] / src / CAM / CAM_Module.cxx
index 8dea53da89c07bcb0f0176fa4c8fdc617fa9f1c4..6a8e49f3628e2d33e76c4d7c649c7ad2d534792a 100755 (executable)
@@ -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<QAction*, QKeySequence>::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<int, QAction*>::Iterator it = myActionMap.begin(); it != myActionMap.end(); ++it )
+  {
+    myActionShortcutMap.insert( it.value(), it.value()->shortcut() );
+    it.value()->setShortcut( QKeySequence() );
+  }
   return true;
 }
 
@@ -924,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 );
@@ -1117,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;
+}