OpenMW
apps/openmw/mwgui/windowbase.hpp
Go to the documentation of this file.
00001 #ifndef MWGUI_WINDOW_BASE_H
00002 #define MWGUI_WINDOW_BASE_H
00003 
00004 #include <openengine/gui/layout.hpp>
00005 
00006 namespace MWBase
00007 {
00008     class WindowManager;
00009 }
00010 
00011 namespace MWGui
00012 {
00013     class WindowManager;
00014 
00015     class WindowBase: public OEngine::GUI::Layout
00016     {
00017         public:
00018         WindowBase(const std::string& parLayout);
00019 
00020         // Events
00021         typedef MyGUI::delegates::CMultiDelegate1<WindowBase*> EventHandle_WindowBase;
00022 
00023         virtual void open() {}
00024         virtual void close () {}
00025         virtual void setVisible(bool visible);
00026         void center();
00027 
00031         EventHandle_WindowBase eventDone;
00032     };
00033 
00034 
00035     /*
00036      * "Modal" windows cause the rest of the interface to be unaccessible while they are visible
00037      */
00038     class WindowModal : public WindowBase
00039     {
00040     public:
00041         WindowModal(const std::string& parLayout);
00042         virtual void open();
00043         virtual void close();
00044     };
00045 }
00046 
00047 #endif