X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_MainMenu.h;h=48d97459135f78be9f26e3f2b6a6d7450e10f833;hb=d6325cea33b6269c055ab12849fc835df28b05ec;hp=3a00d4c667c66f7c54f953b085918417540e1963;hpb=e607e2c793a83dc30d483e1819f44c3497a08555;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_MainMenu.h b/src/XGUI/XGUI_MainMenu.h index 3a00d4c66..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,23 +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 +Q_OBJECT public: - XGUI_MainMenu(XGUI_MainWindow *parent); - virtual ~XGUI_MainMenu(); + 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; } - XGUI_Workbench* addWorkbench(const QString& theId, - const QString& theText = ""); - XGUI_Workbench* findWorkbench(const QString& theId); + //! 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_MainWindow* myDesktop; + QList myMenuTabs; + XGUI_Workbench* myGeneralPage; + + QMap myCommandState; }; #endif