27 #ifndef _CEGUIFalWidgetComponent_h_
28 #define _CEGUIFalWidgetComponent_h_
30 #include "CEGUI/falagard/Dimensions.h"
31 #include "CEGUI/falagard/PropertyInitialiser.h"
32 #include "CEGUI/falagard/EventAction.h"
33 #include "CEGUI/Window.h"
36 # pragma warning(push)
37 # pragma warning(disable : 4251)
50 class CEGUIEXPORT WidgetComponent :
51 public AllocatedObject<WidgetComponent>
55 WidgetComponent(
const String& type,
58 const String& renderer,
66 void create(Window& parent)
const;
73 void cleanup(Window& parent)
const;
75 const ComponentArea& getComponentArea()
const;
76 void setComponentArea(
const ComponentArea& area);
78 const String& getBaseWidgetType()
const;
79 void setBaseWidgetType(
const String& type);
81 const String& getWidgetLookName()
const;
82 void setWidgetLookName(
const String& look);
84 const String& getWidgetName()
const;
85 void setWidgetName(
const String& name);
87 const String& getWindowRendererType()
const;
88 void setWindowRendererType(
const String& type);
96 void addPropertyInitialiser(
const PropertyInitialiser& initialiser);
97 void removePropertyInitialiser(
const String& name);
98 void clearPropertyInitialisers();
100 void setAutoWindow(
bool is_auto);
101 bool isAutoWindow()
const;
103 void addEventAction(
const EventAction& event_action);
104 void clearEventActions();
106 void layout(
const Window& owner)
const;
119 void writeXMLToStream(XMLSerializer& xml_stream)
const;
130 const PropertyInitialiser* findPropertyInitialiser(
const String& propertyName)
const;
133 bool handleFontRenderSizeChange(Window& window,
const Font* font)
const;
141 typedef std::vector<PropertyInitialiser
142 CEGUI_VECTOR_ALLOC(PropertyInitialiser)> PropertiesList;
143 typedef std::vector<EventAction
144 CEGUI_VECTOR_ALLOC(EventAction)> EventActionList;
150 typedef ConstVectorIterator<PropertiesList> PropertyIterator;
151 typedef ConstVectorIterator<EventActionList> EventActionIterator;
157 PropertyIterator getPropertyIterator()
const;
163 EventActionIterator getEventActionIterator()
const;
166 ComponentArea d_area;
168 String d_imageryName;
170 String d_rendererType;
174 PropertiesList d_properties;
175 EventActionList d_eventActions;
182 #if defined(_MSC_VER)
183 # pragma warning(pop)
186 #endif // end of guard _CEGUIFalWidgetComponent_h_
Main namespace for Crazy Eddie's GUI Library.
Definition: cegui/include/CEGUI/Affector.h:42
VerticalAlignment
Enumerated type used when specifying vertical alignments for Element.
Definition: cegui/include/CEGUI/Element.h:130
HorizontalAlignment
Enumerated type used when specifying horizontal alignments for Element.
Definition: cegui/include/CEGUI/Element.h:52