X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_MainMenu.h;h=48d97459135f78be9f26e3f2b6a6d7450e10f833;hb=d6325cea33b6269c055ab12849fc835df28b05ec;hp=c5837e757d0d50f9a87f05334a83ae4807ba7c61;hpb=499d70af8b5a0301b1d1260dc19455dc4fab7978;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_MainMenu.h b/src/XGUI/XGUI_MainMenu.h index c5837e757..48d974591 100644 --- a/src/XGUI/XGUI_MainMenu.h +++ b/src/XGUI/XGUI_MainMenu.h @@ -1,8 +1,10 @@ #ifndef XGUI_MainMenu_H #define XGUI_MainMenu_H +#include "XGUI.h" #include #include +#include class XGUI_Command; class XGUI_MainWindow; @@ -13,25 +15,46 @@ class QTabWidget; class QLabel; class QAction; class QDockWidget; +class QEvent; -class XGUI_MainMenu: public QObject + +/**\class XGUI_MainMenu + * \ingroup GUI + * \brief Class for creation of main menu (set of workbenches) + */ +class XGUI_EXPORT XGUI_MainMenu: public QObject { Q_OBJECT public: XGUI_MainMenu(XGUI_MainWindow *parent); virtual ~XGUI_MainMenu(); + //! Creates and adds a new workbench (menu group) with the given name and returns it. XGUI_Workbench* addWorkbench(const QString& theId, const QString& theText = ""); + + //! Returns workbench (menu group) by the given name. XGUI_Workbench* findWorkbench(const QString& theId); + //! Returns General page (predefined workbench) XGUI_Workbench* generalPage() const { return myGeneralPage; } + //! Rerturns last created workbench in dock widget container QDockWidget* getLastDockWindow() const { return myMenuTabs.last(); } + //! Returns already created command by its ID + XGUI_Command* feature(const QString& theId) const; + + //! Returns list of created commands + QList features() const; + + virtual bool eventFilter(QObject *theWatched, QEvent *theEvent); + private: XGUI_MainWindow* myDesktop; QList myMenuTabs; XGUI_Workbench* myGeneralPage; + + QMap myCommandState; }; #endif