Salome HOME
Issue #2998: Add help description for automatic creation of constraints
[modules/shaper.git] / src / XGUI / XGUI_ContextMenuMgr.h
index 254baf198169cff0f603300662c548539fc91439..247cb6889c1471acf21c59c0d060f1ef97877cc2 100644 (file)
@@ -1,4 +1,21 @@
-// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+// Copyright (C) 2014-2019  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
 #ifndef XGUI_ContextMenuMgr_H
 #define XGUI_ContextMenuMgr_H
@@ -12,10 +29,11 @@ class XGUI_Workshop;
 class QAction;
 class QContextMenuEvent;
 class QMenu;
+class QActionGroup;
 
 /**
  * \ingroup GUI
- * A claas wihich provides manement of context menu
+ * A class wihich provides managent of context menu
  */
 class XGUI_EXPORT XGUI_ContextMenuMgr : public QObject
 {
@@ -49,14 +67,23 @@ Q_OBJECT
   /// Connect to viewer from workshop. Has to called at creation of viewer.
   void connectViewer();
 
-  QMenu* objBrowserMenu() const;
-  QMenu* viewerMenu() const;
+  /// Add menu items for Object browser pop-up
+  void addObjBrowserMenu(QMenu*) const;
+
+  /// Add menu items for Viewer pop-up
+  void addViewerMenu(QMenu*) const;
 
   /// Returns a list of object group names of the action
   /// \param theName a name of the action
   /// \return a list of group names
   QStringList actionObjectGroups(const QString& theName);
 
+  /// Updates menu for object browser
+  void updateObjectBrowserMenu();
+
+  /// Updates menu for viewer
+  void updateViewerMenu();
+
 signals:
   /// Signal aabout triggered action
   /// \param theId an id of triggered action
@@ -78,6 +105,14 @@ signals:
   /// \param theEvent a context menu event
   void onContextMenuRequest(QContextMenuEvent* theEvent);
 
+  void onRename();
+
+  /// Slot called on Result selection menu press
+  void onResultSelection(bool theChecked);
+
+  /// Slot called on any shape selection menu press
+  void onShapeSelection(bool theChecked);
+
  private:
   /** 
    * Add action
@@ -86,11 +121,7 @@ signals:
    */
   void addAction(const QString& theId, QAction* theAction);
 
-  /// Updates menu for object browser
-  void updateObjectBrowserMenu();
-
-  /// Updates menu for viewer
-  void updateViewerMenu();
+  void addFeatures(QMenu* theMenu) const;
 
   /// Creates menu for object browser
   void buildObjBrowserMenu();
@@ -108,7 +139,11 @@ signals:
   QMap<std::string, QActionsList> myObjBrowserMenus;
   QMap<std::string, QActionsList> myViewerMenu;
 
-   QAction* mySeparator;
+  //QActionGroup* mySelectActions;
+
+  QAction* mySeparator1;
+  QAction* mySeparator2;
+  QAction* mySeparator3;
 };
 
 #endif