X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ContextMenuMgr.h;h=a48bd79c770d442bab75cf086aa5a2d108f73b44;hb=e6aea428c7da7751e753eac36b99e16b7e3166e4;hp=3ce0051fda314ed9624d02be22465e2b5750df58;hpb=dd23f15e4794d927de843b135eb7a2032fa06ea0;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ContextMenuMgr.h b/src/XGUI/XGUI_ContextMenuMgr.h index 3ce0051fd..a48bd79c7 100644 --- a/src/XGUI/XGUI_ContextMenuMgr.h +++ b/src/XGUI/XGUI_ContextMenuMgr.h @@ -12,6 +12,9 @@ class QAction; class QContextMenuEvent; class QMenu; +/** +* A claas wihich provides manement of context menu +*/ class XGUI_EXPORT XGUI_ContextMenuMgr: public QObject { Q_OBJECT @@ -19,18 +22,27 @@ public: XGUI_ContextMenuMgr(XGUI_Workshop* theParent); virtual ~XGUI_ContextMenuMgr(); + /// Create all actions for context menus. It is called on creation of application void createActions(); - void addAction(const QString& theId, QAction* theAction); - + /// Returns action according to the given ID QAction* action(const QString& theId) const; + /// Returns list of registered actions Ids QStringList actionIds() const; + /// update state of internal commands void updateCommandsStatus(); + /// Connect to object browser from workshop. Has to called at creation of viewer. void connectObjectBrowser() const; + /// Connect to viewer from workshop. Has to called at creation of viewer. + void connectViewer() const; + + /// Add menu atems for viewer into the given menu (used in SALOME mode) + void addViewerItems(QMenu* theMenu) const; + signals: void actionTriggered(const QString& theId, bool isChecked); @@ -40,7 +52,16 @@ private slots: void onContextMenuRequest(QContextMenuEvent* theEvent); private: + /** + * Add action + * \param theId - string ID of the item + * \param theAction - action to add + */ + void addAction(const QString& theId, QAction* theAction); + + QMenu* objectBrowserMenu() const; + QMenu* viewerMenu() const; QMap myActions;