28 #ifndef _CEGUIFalagard_xmlHandler_h_
29 #define _CEGUIFalagard_xmlHandler_h_
31 #include "../ChainedXMLHandler.h"
32 #include "./Dimensions.h"
33 #include "../Window.h"
40 class WidgetLookManager;
42 class WidgetComponent;
45 class LayerSpecification;
46 class SectionSpecification;
47 class ImageryComponent;
53 class PropertyDefinitionBase;
54 class EventLinkDefinition;
95 typedef std::map<String, ElementStartHandler, StringFastLessCompare> ElementStartHandlerMap;
97 typedef std::map<String, ElementEndHandler, StringFastLessCompare> ElementEndHandlerMap;
103 static const String FalagardElement;
104 static const String WidgetLookElement;
105 static const String ChildElement;
106 static const String ImagerySectionElement;
107 static const String StateImageryElement;
108 static const String LayerElement;
109 static const String SectionElement;
110 static const String ImageryComponentElement;
111 static const String TextComponentElement;
112 static const String FrameComponentElement;
113 static const String AreaElement;
114 static const String ImageElement;
115 static const String ColoursElement;
116 static const String VertFormatElement;
117 static const String HorzFormatElement;
118 static const String VertAlignmentElement;
119 static const String HorzAlignmentElement;
120 static const String PropertyElement;
121 static const String DimElement;
122 static const String UnifiedDimElement;
123 static const String AbsoluteDimElement;
124 static const String ImageDimElement;
125 static const String ImagePropertyDimElement;
126 static const String WidgetDimElement;
127 static const String FontDimElement;
128 static const String PropertyDimElement;
129 static const String TextElement;
130 static const String ColourPropertyElement;
131 static const String ColourRectPropertyElement;
132 static const String NamedAreaElement;
133 static const String PropertyDefinitionElement;
134 static const String PropertyLinkDefinitionElement;
135 static const String PropertyLinkTargetElement;
136 static const String OperatorDimElement;
137 static const String VertFormatPropertyElement;
138 static const String HorzFormatPropertyElement;
139 static const String AreaPropertyElement;
140 static const String ImagePropertyElement;
141 static const String TextPropertyElement;
142 static const String FontPropertyElement;
143 static const String ColourElement;
144 static const String EventLinkDefinitionElement;
145 static const String EventLinkTargetElement;
147 static const String NamedAreaSourceElement;
149 static const String EventActionElement;
151 static const String TopLeftAttribute;
152 static const String TopRightAttribute;
153 static const String BottomLeftAttribute;
154 static const String BottomRightAttribute;
155 static const String TypeAttribute;
156 static const String NameAttribute;
157 static const String PriorityAttribute;
158 static const String SectionNameAttribute;
159 static const String NameSuffixAttribute;
160 static const String RendererAttribute;
161 static const String LookAttribute;
162 static const String ScaleAttribute;
163 static const String OffsetAttribute;
164 static const String ValueAttribute;
165 static const String DimensionAttribute;
166 static const String WidgetAttribute;
167 static const String StringAttribute;
168 static const String FontAttribute;
169 static const String InitialValueAttribute;
170 static const String ClippedAttribute;
171 static const String OperatorAttribute;
172 static const String PaddingAttribute;
173 static const String LayoutOnWriteAttribute;
174 static const String RedrawOnWriteAttribute;
175 static const String TargetPropertyAttribute;
176 static const String ControlPropertyAttribute;
177 static const String ColourAttribute;
178 static const String PropertyAttribute;
179 static const String ControlValueAttribute;
180 static const String ControlWidgetAttribute;
182 static const String HelpStringAttribute;
184 static const String EventAttribute;
186 static const String InheritsAttribute;
188 static const String AutoWindowAttribute;
190 static const String FireEventAttribute;
192 static const String ActionAttribute;
194 static const String ComponentAttribute;
204 void assignAreaDimension(
Dimension& dim);
205 void assignColours(
const ColourRect& colours);
211 void doBaseDimStart(
const BaseDim* dim);
223 void elementWidgetLookStart(
const XMLAttributes& attributes);
235 void elementImagerySectionStart(
const XMLAttributes& attributes);
241 void elementStateImageryStart(
const XMLAttributes& attributes);
259 void elementImageryComponentStart(
const XMLAttributes& attributes);
265 void elementTextComponentStart(
const XMLAttributes& attributes);
271 void elementFrameComponentStart(
const XMLAttributes& attributes);
295 void elementVertFormatStart(
const XMLAttributes& attributes);
301 void elementHorzFormatStart(
const XMLAttributes& attributes);
307 void elementVertAlignmentStart(
const XMLAttributes& attributes);
313 void elementHorzAlignmentStart(
const XMLAttributes& attributes);
331 void elementUnifiedDimStart(
const XMLAttributes& attributes);
337 void elementAbsoluteDimStart(
const XMLAttributes& attributes);
349 void elementImagePropertyDimStart(
const XMLAttributes& attributes);
367 void elementPropertyDimStart(
const XMLAttributes& attributes);
379 void elementColourRectPropertyStart(
const XMLAttributes& attributes);
391 void elementPropertyDefinitionStart(
const XMLAttributes& attributes);
397 void elementPropertyLinkDefinitionStart(
const XMLAttributes& attributes);
403 void elementOperatorDimStart(
const XMLAttributes& attributes);
409 void elementVertFormatPropertyStart(
const XMLAttributes& attributes);
415 void elementHorzFormatPropertyStart(
const XMLAttributes& attributes);
421 void elementAreaPropertyStart(
const XMLAttributes& attributes);
427 void elementImagePropertyStart(
const XMLAttributes& attributes);
433 void elementTextPropertyStart(
const XMLAttributes& attributes);
439 void elementFontPropertyStart(
const XMLAttributes& attributes);
448 void elementPropertyLinkTargetStart(
const XMLAttributes& attributes);
451 void elementAnimationDefinitionStart(
const XMLAttributes& attributes);
454 void elementEventLinkDefinitionStart(
const XMLAttributes& attributes);
457 void elementEventLinkTargetStart(
const XMLAttributes& attributes);
460 void elementNamedAreaSourceStart(
const XMLAttributes& attributes);
462 void elementEventActionStart(
const XMLAttributes& attributes);
468 void elementFalagardEnd();
474 void elementWidgetLookEnd();
480 void elementChildEnd();
486 void elementImagerySectionEnd();
492 void elementStateImageryEnd();
498 void elementLayerEnd();
504 void elementSectionEnd();
510 void elementImageryComponentEnd();
516 void elementTextComponentEnd();
522 void elementFrameComponentEnd();
528 void elementAreaEnd();
534 void elementNamedAreaEnd();
540 void elementAnyDimEnd();
543 void elementPropertyLinkDefinitionEnd();
546 void elementEventLinkDefinitionEnd();
552 void registerElementStartHandler(
const String& element, ElementStartHandler handler);
558 void registerElementEndHandler(
const String& element, ElementEndHandler handler);
561 void processEventLinkTarget(
const String& widget,
const String& event);
572 ElementStartHandlerMap d_startHandlersMap;
573 ElementEndHandlerMap d_endHandlersMap;
590 CEGUI_VECTOR_ALLOC(
BaseDim*)> d_dimStack;
599 #endif // end of guard _CEGUIFalagard_xmlHandler_h_