-
#ifndef XGUI_Workbench_H
#define XGUI_Workbench_H
-#include "XGUI_Interfaces.h"
-
+#include "XGUI.h"
#include <QWidget>
#include <QScrollArea>
#include <QList>
-class QHBoxLayout;
+class XGUI_Command;
class XGUI_MenuGroupPanel;
-class QPushButton;
class CommandsArea;
-class XGUI_Command;
+class QHBoxLayout;
+class QPushButton;
-class XGUI_Workbench : public QWidget, public IWorkbench
+class XGUI_EXPORT XGUI_Workbench: public QWidget
{
- Q_OBJECT
+Q_OBJECT
public:
- XGUI_Workbench(QWidget* theParent);
+ XGUI_Workbench(QWidget* theParent);
+
+ XGUI_MenuGroupPanel* addGroup(const QString& theId);
+ XGUI_MenuGroupPanel* findGroup(const QString& theName);
- virtual IMenuGroup* addGroup(const QString& theName = "");
- virtual IMenuGroup* findGroup(const QString& theName);
+ //! Returns already created command by its ID
+ XGUI_Command* feature(const QString& theId) const;
+
+ //! Returns list of created commands
+ QList<XGUI_Command*> features() const;
private slots:
- void onLeftScroll();
- void onRightScroll();
+ void onLeftScroll();
+ void onRightScroll();
protected:
- virtual void resizeEvent(QResizeEvent * theEvent);
+ virtual void resizeEvent(QResizeEvent * theEvent);
+ virtual bool eventFilter(QObject *theObj, QEvent *theEvent);
-private:
- void addSeparator();
- bool isExceedsLeft();
- bool isExceedsRight();
+private:
+ void addSeparator();
+ bool isExceedsLeft();
+ bool isExceedsRight();
- QWidget* myChildWidget;
- QHBoxLayout* myLayout;
- QList<XGUI_MenuGroupPanel*> myGroups;
+ QWidget* myChildWidget;
+ QHBoxLayout* myLayout;
+ QList<XGUI_MenuGroupPanel*> myGroups;
- CommandsArea* myCommandsArea;
- QPushButton* myRightButton;
- QPushButton* myLeftButton;
+ CommandsArea* myCommandsArea;
+ QPushButton* myRightButton;
+ QPushButton* myLeftButton;
};
-#endif;
+#endif