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 _CEGUIFalWidgetComponent_h_
00029 #define _CEGUIFalWidgetComponent_h_
00030
00031 #include "falagard/CEGUIFalDimensions.h"
00032 #include "falagard/CEGUIFalPropertyInitialiser.h"
00033 #include "CEGUIWindow.h"
00034
00035 #if defined(_MSC_VER)
00036 # pragma warning(push)
00037 # pragma warning(disable : 4251)
00038 #endif
00039
00040
00041 namespace CEGUI
00042 {
00050 class CEGUIEXPORT WidgetComponent
00051 {
00052 public:
00053 WidgetComponent() {}
00054 WidgetComponent(const String& type, const String& look, const String& suffix, const String& renderer);
00055
00060 void create(Window& parent) const;
00061
00062 const ComponentArea& getComponentArea() const;
00063 void setComponentArea(const ComponentArea& area);
00064
00065 const String& getBaseWidgetType() const;
00066 void setBaseWidgetType(const String& type);
00067
00068 const String& getWidgetLookName() const;
00069 void setWidgetLookName(const String& look);
00070
00071 const String& getWidgetNameSuffix() const;
00072 void setWidgetNameSuffix(const String& suffix);
00073
00074 const String& getWindowRendererType() const;
00075 void setWindowRendererType(const String& type);
00076
00077 VerticalAlignment getVerticalWidgetAlignment() const;
00078 void setVerticalWidgetAlignment(VerticalAlignment alignment);
00079
00080 HorizontalAlignment getHorizontalWidgetAlignment() const;
00081 void setHorizontalWidgetAlignment(HorizontalAlignment alignment);
00082
00083 void addPropertyInitialiser(const PropertyInitialiser& initialiser);
00084 void clearPropertyInitialisers();
00085
00086 void layout(const Window& owner) const;
00087
00099 void writeXMLToStream(XMLSerializer& xml_stream) const;
00100
00110 const PropertyInitialiser* findPropertyInitialiser(const String& propertyName) const;
00111
00112 private:
00113 typedef std::vector<PropertyInitialiser> PropertiesList;
00114
00115 ComponentArea d_area;
00116 String d_baseType;
00117 String d_imageryName;
00118 String d_nameSuffix;
00119 String d_rendererType;
00120 VerticalAlignment d_vertAlign;
00121 HorizontalAlignment d_horzAlign;
00122 PropertiesList d_properties;
00123 };
00124
00125 }
00126
00127
00128 #if defined(_MSC_VER)
00129 # pragma warning(pop)
00130 #endif
00131
00132 #endif // end of guard _CEGUIFalWidgetComponent_h_