Salome HOME
Merge commit 'refs/tags/V9_2_0^{}'
[modules/shaper.git] / src / XGUI / XGUI_ContextMenuMgr.h
index 1ce4bcb1bad95365a0f77d0571b93bce9cd7df5e..cc5dcf614996f9f1522201ca9a7ea56a5497b839 100644 (file)
@@ -1,4 +1,22 @@
-// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+// Copyright (C) 2014-2017  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<mailto:webmaster.salome@opencascade.com>
+//
 
 #ifndef XGUI_ContextMenuMgr_H
 #define XGUI_ContextMenuMgr_H
@@ -12,10 +30,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,7 +68,10 @@ Q_OBJECT
   /// Connect to viewer from workshop. Has to called at creation of viewer.
   void connectViewer();
 
+  /// 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
@@ -57,6 +79,9 @@ Q_OBJECT
   /// \return a list of group names
   QStringList actionObjectGroups(const QString& theName);
 
+  /// Updates menu for object browser
+  void updateObjectBrowserMenu();
+
   /// Updates menu for viewer
   void updateViewerMenu();
 
@@ -81,6 +106,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
@@ -89,8 +122,7 @@ signals:
    */
   void addAction(const QString& theId, QAction* theAction);
 
-  /// Updates menu for object browser
-  void updateObjectBrowserMenu();
+  void addFeatures(QMenu* theMenu) const;
 
   /// Creates menu for object browser
   void buildObjBrowserMenu();
@@ -108,7 +140,11 @@ signals:
   QMap<std::string, QActionsList> myObjBrowserMenus;
   QMap<std::string, QActionsList> myViewerMenu;
 
-   QAction* mySeparator;
+  //QActionGroup* mySelectActions;
+
+  QAction* mySeparator1;
+  QAction* mySeparator2;
+  QAction* mySeparator3;
 };
 
 #endif