00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef OST_GUI_PERSPECTIVE_HH
00020 #define OST_GUI_PERSPECTIVE_HH
00021
00022 #include <QObject>
00023 #include <QMenuBar>
00024 #include <QMap>
00025 #include <QString>
00026 #include <QMenu>
00027 #include <QStatusBar>
00028
00029 class QMainWindow;
00030 class QTextEdit;
00031
00032 #include <ost/gui/panels/panel_manager.hh>
00033 #include <ost/gui/panels/button_bar.hh>
00034 #include <ost/gui/panels/panel_bar.hh>
00035 #include <ost/gui/module_config.hh>
00036
00037
00038
00039
00040
00041 namespace ost { namespace gui {
00042
00043 class SideBar;
00044 class ThinSplitter;
00045 class MainArea;
00046
00049 class DLLEXPORT_OST_GUI Perspective : public QObject {
00050 Q_OBJECT
00051 public:
00052 Perspective(QMainWindow* parent);
00053 ~Perspective();
00054
00057 QMenuBar* GetMenuBar();
00058
00061 QMenu* GetMenu(const QString& name);
00062
00065 PanelManager* GetPanels();
00066
00069 MainArea* GetMainArea();
00070
00073 void HideAllBars();
00074
00077 bool Restore();
00078
00081 bool Save();
00082
00083 private slots:
00084 void AddSideBarWidget();
00085
00086 public slots:
00089 void StatusMessage(const String& m);
00090
00091 private:
00092 void SetupQuickAccessBar();
00093 QWidget* central_;
00094 QMenuBar* menu_bar_;
00095 QMap<QString,QMenu*> menus_;
00096 MainArea* main_area_;
00097 PanelManager* panels_;
00098 QWidget* quick_access_bar_;
00099 QStatusBar* status_bar_;
00100 };
00101
00102 }}
00103
00104
00105 #endif