123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /*
- GWEN
- Copyright (c) 2010 Facepunch Studios
- See license in Gwen.h
- */
- #pragma once
- #ifndef GWEN_CONTROLS_WINDOWCONTROL_H
- #define GWEN_CONTROLS_WINDOWCONTROL_H
- #include "Gwen/Gwen.h"
- #include "Gwen/Controls/Base.h"
- #include "Gwen/Controls/Label.h"
- #include "Gwen/Controls/Button.h"
- #include "Gwen/Controls/Dragger.h"
- #include "Gwen/Controls/Label.h"
- #include "Gwen/Controls/ResizableControl.h"
- #include "Gwen/Controls/Modal.h"
- #include "Gwen/Skin.h"
- namespace Gwen
- {
- namespace Controls
- {
- class GWEN_EXPORT WindowControl : public ResizableControl
- {
- public:
- GWEN_CONTROL( WindowControl, ResizableControl );
- virtual ~WindowControl();
- virtual void Render( Skin::Base* skin );
- virtual void RenderUnder( Skin::Base* skin );
- virtual void SetTitle( Gwen::UnicodeString title );
- virtual void SetTitle( Gwen::String title ){ SetTitle( Gwen::Utility::StringToUnicode( title ) ); }
- virtual void SetClosable(bool closeable);
- virtual void Touch();
- bool IsOnTop();
- virtual void SetHidden(bool hidden);
- void CloseButtonPressed( Gwen::Controls::Base* pFromPanel );
- void RenderFocus( Gwen::Skin::Base* skin );
- void SetDeleteOnClose( bool b ){ m_bDeleteOnClose = b; }
- void MakeModal(bool invisible = false);
- protected:
- ControlsInternal::Dragger* m_TitleBar;
- Label* m_Title;
- Button* m_CloseButton;
- bool m_bInFocus;
- bool m_bDeleteOnClose;
- ControlsInternal::Modal* m_Modal;
- };
- }
- }
- #endif
|