1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /*
- GWEN
- Copyright (c) 2010 Facepunch Studios
- See license in Gwen.h
- */
- #pragma once
- #ifndef GWEN_CONTROLS_PROPERTIES_H
- #define GWEN_CONTROLS_PROPERTIES_H
- #include "Gwen/Controls/Base.h"
- #include "Gwen/Controls/Label.h"
- #include "Gwen/Controls/Property/BaseProperty.h"
- #include "Gwen/Controls/Property/Text.h"
- #include "Gwen/Controls/SplitterBar.h"
- #include "Gwen/Gwen.h"
- #include "Gwen/Skin.h"
- namespace Gwen
- {
- namespace Controls
- {
- class PropertyRow;
- class GWEN_EXPORT Properties : public Base
- {
- public:
- GWEN_CONTROL( Properties, Base );
- virtual void PostLayout( Gwen::Skin::Base* skin );
- PropertyRow* Add( const UnicodeString& text, const UnicodeString& value = L"" );
- PropertyRow* Add( const String& text, const String& value = "" );
- PropertyRow* Add( const UnicodeString& text, Property::Base* pProp );
- PropertyRow* Add( const String& text, Property::Base* pProp );
- virtual int GetSplitWidth();
- virtual void Clear();
- protected:
- virtual void OnSplitterMoved( Controls::Base * control );
- Controls::SplitterBar* m_SplitterBar;
- };
- class GWEN_EXPORT PropertyRow : public Base
- {
- public:
- GWEN_CONTROL( PropertyRow, Base );
- virtual Label* GetLabel(){ return m_Label; }
- virtual void SetProperty( Property::Base* prop );
- virtual Property::Base* GetProperty(){ return m_Property; }
- virtual void Layout( Gwen::Skin::Base* skin );
- virtual void Render( Gwen::Skin::Base* skin );
- Event::Caller onChange;
- protected:
- void OnPropertyValueChanged( Gwen::Controls::Base* control );
- Label* m_Label;
- Property::Base* m_Property;
- };
- }
- }
- #endif
|