-// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+// Copyright (C) 2014-2023 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
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
{
/// 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
/// \return a list of group names
QStringList actionObjectGroups(const QString& theName);
+ /// Updates menu for object browser
+ void updateObjectBrowserMenu();
+
/// Updates menu for viewer
void updateViewerMenu();
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
*/
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();
QMap<std::string, QActionsList> myObjBrowserMenus;
QMap<std::string, QActionsList> myViewerMenu;
- QAction* mySeparator;
+ //QActionGroup* mySelectActions;
+
+ QAction* mySeparator1;
+ QAction* mySeparator2;
+ QAction* mySeparator3;
+ QAction* mySeparator4;
};
#endif