ElementFormControlInput.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef ROCKETCONTROLSELEMENTFORMCONTROLINPUT_H
00029 #define ROCKETCONTROLSELEMENTFORMCONTROLINPUT_H
00030
00031 #include <Rocket/Controls/Header.h>
00032 #include <Rocket/Controls/ElementFormControl.h>
00033
00034 namespace Rocket {
00035 namespace Controls {
00036
00037 class InputType;
00038
00045 class ROCKETCONTROLS_API ElementFormControlInput : public ElementFormControl
00046 {
00047 public:
00051 ElementFormControlInput(const Rocket::Core::String& tag);
00052 virtual ~ElementFormControlInput();
00053
00056 virtual Rocket::Core::String GetValue() const;
00059 virtual void SetValue(const Rocket::Core::String& value);
00062 virtual bool IsSubmitted();
00063
00064 protected:
00066 virtual void OnUpdate();
00068 virtual void OnRender();
00069
00072 virtual void OnAttributeChange(const Core::AttributeNameList& changed_attributes);
00075 virtual void OnPropertyChange(const Core::PropertyNameList& changed_properties);
00076
00079 virtual void OnChildAdd(Rocket::Core::Element* child);
00082 virtual void OnChildRemove(Rocket::Core::Element* child);
00083
00086 virtual void ProcessEvent(Core::Event& event);
00087
00090 virtual bool GetIntrinsicDimensions(Rocket::Core::Vector2f& dimensions);
00091
00092 private:
00093 InputType* type;
00094 Rocket::Core::String type_name;
00095 };
00096
00097 }
00098 }
00099
00100 #endif