#ifndef __Dialog__
#define __Dialog__

#ifndef GUI_DLL 
    #ifdef GUI_BUILD
	    #define GUI_DLL __declspec(dllexport)
    #else
	    #define GUI_DLL __declspec(dllimport)
        #pragma comment(lib, "WindowManager.lib")
    #endif
#endif

#include "Window.h"

class GUI_DLL Dialog : public Window {
public:
    Dialog(Window* parent = 0);
    virtual ~Dialog();

    virtual void setSize(Size& size);

    virtual Text* getCaption();
    virtual void setCaption(const wchar_t* caption);

protected:
    void onGainFocus(Event& event);
    void onLoseFocus(Event& event);

    class Tray;
    class VerticalFrame;
    class HorizontalFrame;

    Tray*               _tray;
    VerticalFrame*      _leftFrame;
    VerticalFrame*      _rightFrame;
    HorizontalFrame*    _bottomFrame;
};

#endif