27 #ifndef _CEGUIFalWidgetLookFeel_h_ 28 #define _CEGUIFalWidgetLookFeel_h_ 30 #include "./StateImagery.h" 31 #include "./WidgetComponent.h" 32 #include "./ImagerySection.h" 33 #include "./PropertyInitialiser.h" 34 #include "./PropertyDefinition.h" 35 #include "./PropertyLinkDefinition.h" 36 #include "./EventLinkDefinition.h" 37 #include "./NamedArea.h" 38 #include "./NamedDefinitionCollator.h" 42 # pragma warning(push) 43 # pragma warning(disable : 4251) 55 class CEGUIEXPORT WidgetLookFeel :
56 public AllocatedObject<WidgetLookFeel>
59 WidgetLookFeel(
const String& name,
const String& inherits);
61 WidgetLookFeel(
const WidgetLookFeel& other);
62 WidgetLookFeel& operator=(
const WidgetLookFeel& other);
64 virtual ~WidgetLookFeel();
73 const StateImagery& getStateImagery(
const CEGUI::String& state)
const;
83 const ImagerySection& getImagerySection(
const CEGUI::String& section)
const;
92 const String& getName()
const;
104 void addImagerySection(
const ImagerySection& section);
105 void renameImagerySection(
const String& oldName,
const String& newName);
117 void addWidgetComponent(
const WidgetComponent& widget);
129 void addStateSpecification(
const StateImagery& state);
141 void addPropertyInitialiser(
const PropertyInitialiser& initialiser);
150 void clearImagerySections();
159 void clearWidgetComponents();
168 void clearStateSpecifications();
177 void clearPropertyInitialisers();
190 void initialiseWidget(Window& widget)
const;
203 void cleanUpWidget(Window& widget)
const;
216 bool isStateImageryPresent(
const String& state)
const;
228 void addNamedArea(
const NamedArea& area);
237 void clearNamedAreas();
249 const NamedArea& getNamedArea(
const String& name)
const;
251 void renameNamedArea(
const String& oldName,
const String& newName);
265 bool isNamedAreaDefined(
const String& name)
const;
278 void layoutChildWidgets(
const Window& owner)
const;
290 void addPropertyDefinition(PropertyDefinitionBase* propdef);
302 void addPropertyLinkDefinition(PropertyDefinitionBase* propdef);
311 void clearPropertyDefinitions();
320 void clearPropertyLinkDefinitions();
331 void addAnimationName(
const String& anim_name);
334 void addEventLinkDefinition(
const EventLinkDefinition& evtdef);
337 void clearEventLinkDefinitions();
349 void writeXMLToStream(XMLSerializer& xml_stream)
const;
360 const PropertyInitialiser* findPropertyInitialiser(
const String& propertyName)
const;
370 const WidgetComponent* findWidgetComponent(
const String& name)
const;
373 typedef std::vector<PropertyInitialiser
387 return d_propertyDefinitions;
397 return d_propertyLinkDefinitions;
410 bool handleFontRenderSizeChange(
Window& window,
const Font* font)
const;
414 CEGUI_MAP_ALLOC(String, StateImagery)> StateList;
416 CEGUI_MAP_ALLOC(String, ImagerySection)> ImageryList;
418 CEGUI_MAP_ALLOC(String, NamedArea)> NamedAreaList;
421 typedef std::vector<String
422 CEGUI_VECTOR_ALLOC(String)> AnimationList;
424 > AnimationInstanceMap;
433 ImageryList d_imagerySections;
435 WidgetList d_childWidgets;
437 StateList d_stateImagery;
441 NamedAreaList d_namedAreas;
443 mutable PropertyDefinitionList d_propertyDefinitions;
445 mutable PropertyLinkDefinitionList d_propertyLinkDefinitions;
447 AnimationList d_animations;
449 mutable AnimationInstanceMap d_animationInstances;
451 EventLinkDefinitionList d_eventLinkDefinitions;
461 CEGUI_SET_ALLOC(String)> AnimationNameSet;
465 void appendChildWidgetComponents(WidgetComponentCollator& col,
bool inherits =
true)
const;
466 void appendPropertyDefinitions(PropertyDefinitionCollator& col,
bool inherits =
true)
const;
467 void appendPropertyLinkDefinitions(PropertyLinkDefinitionCollator& col,
bool inherits =
true)
const;
468 void appendPropertyInitialisers(PropertyInitialiserCollator& col,
bool inherits =
true)
const;
469 void appendEventLinkDefinitions(EventLinkDefinitionCollator& col,
bool inherits =
true)
const;
470 void appendAnimationNames(AnimationNameSet&
set,
bool inherits =
true)
const;
479 CEGUI_SET_ALLOC(String)> StringSet;
491 StringSet getStateNames(
bool inherits =
false)
const;
492 StringSet getImageryNames(
bool inherits =
false)
const;
493 StringSet getNamedAreaNames(
bool inherits =
false)
const;
495 StringSet getWidgetNames(
bool inherits =
false)
const;
496 StringSet getPropertyDefinitionNames(
bool inherits =
false)
const;
497 StringSet getPropertyLinkDefinitionNames(
bool inherits =
false)
const;
498 StringSet getPropertyInitialiserNames(
bool inherits =
false)
const;
499 StringSet getEventLinkDefinitionNames(
bool inherits =
false)
const;
500 StringSet getAnimationNames(
bool inherits =
false)
const;
502 StateIterator getStateIterator(
bool inherits =
false)
const;
503 ImageryIterator getImageryIterator(
bool inherits =
false)
const;
504 NamedAreaIterator getNamedAreaIterator(
bool inherits =
false)
const;
505 WidgetComponentIterator getWidgetComponentIterator(
bool inherits =
false)
const;
506 PropertyDefinitionIterator getPropertyDefinitionIterator(
bool inherits =
false)
const;
507 PropertyLinkDefinitionIterator getPropertyLinkDefinitionIterator(
bool inherits =
false)
const;
508 PropertyInitialiserIterator getPropertyInitialiserIterator(
bool inherits =
false)
const;
509 EventLinkDefinitionIterator getEventLinkDefinitionIterator(
bool inherits =
false)
const;
510 AnimationNameIterator getAnimationNameIterator(
bool inherits =
false)
const;
516 #if defined(_MSC_VER) 517 # pragma warning(pop) 520 #endif // end of guard _CEGUIFalWidgetLookFeel_h_ Functor that can be used as comparator in a std::map with String keys. It's faster than using the def...
Definition: cegui/include/CEGUI/String.h:5579
void CEGUIEXPORT swap(String &str1, String &str2)
Swap the contents for two String objects.
Definition: cegui/src/String.cpp:446
common base class used for types representing a new property to be available on all widgets that use ...
Definition: cegui/include/CEGUI/falagard/PropertyDefinitionBase.h:42
Main namespace for Crazy Eddie's GUI Library.
Definition: cegui/include/CEGUI/Affector.h:42
iterator for vectors
Definition: cegui/include/CEGUI/IteratorBase.h:287
NamedArea defines an area for a component which may later be obtained and referenced by a name unique...
Definition: cegui/include/CEGUI/falagard/NamedArea.h:40
Class the encapsulates imagery for a given widget state.
Definition: cegui/include/CEGUI/falagard/StateImagery.h:46
Class that holds information about a property and it's required initial value.
Definition: cegui/include/CEGUI/falagard/PropertyInitialiser.h:40
Class that encapsulates a typeface.
Definition: cegui/include/CEGUI/Font.h:58
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: cegui/include/CEGUI/Window.h:149
Helper container used to implement inherited collections of component definitions specified in a Widg...
Definition: cegui/include/CEGUI/falagard/NamedDefinitionCollator.h:47
iterator class for maps
Definition: cegui/include/CEGUI/IteratorBase.h:196
Class that encapsulates a re-usable collection of imagery specifications.
Definition: cegui/include/CEGUI/falagard/ImagerySection.h:47
Definition: cegui/include/CEGUI/falagard/EventLinkDefinition.h:43
Defines an 'animation instance' class.
Definition: cegui/include/CEGUI/AnimationInstance.h:73
String class used within the GUI system.
Definition: cegui/include/CEGUI/String.h:62