/* client/mainwindow.h This file is part of the Osirion project and is distributed under the terms and conditions of the GNU General Public License version 2 */ #ifndef __INCLUDED_CLIENT_MAINWINDOW_H__ #define __INCLUDED_CLIENT_MAINWINDOW_H__ #include "ui/window.h" #include "client/gamewindow.h" #include "client/infowidget.h" #include "client/mainmenu.h" #include "client/notifications.h" namespace client { /// the world view when connected class MainWindow : public ui::Widget { public: MainWindow(ui::Widget *parent = 0); virtual ~MainWindow(); void clear(); void event_text(const std::string & text); inline GameWindow *gamewindow() { return mainwindow_gamewindow; } inline Notifications *notificationswidget() { return mainwindow_notificationswidget; } inline MainMenu *mainmenu() { return mainwindow_mainmenu; } protected: virtual void draw(); virtual void resize(); private: DevInfoWidget *mainwindow_devinfowidget; StatsInfoWidget *mainwindow_statsinfowidget; KeyInfoWidget *mainwindow_keyinfowidget; ClockInfoWidget *mainwindow_clockwidget; Notifications *mainwindow_notificationswidget; GameWindow *mainwindow_gamewindow; MainMenu *mainwindow_mainmenu; }; } #endif // __INCLUDED_CLIENT_MAINWINDOW_H__