00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _CEGUIFalWidgetComponent_h_
00025 #define _CEGUIFalWidgetComponent_h_
00026
00027 #include "falagard/CEGUIFalDimensions.h"
00028 #include "falagard/CEGUIFalPropertyInitialiser.h"
00029 #include "CEGUIWindow.h"
00030
00031 #if defined(_MSC_VER)
00032 # pragma warning(push)
00033 # pragma warning(disable : 4251)
00034 #endif
00035
00036
00037 namespace CEGUI
00038 {
00046 class CEGUIEXPORT WidgetComponent
00047 {
00048 public:
00049 WidgetComponent() {}
00050 WidgetComponent(const String& type, const String& look, const String& suffix);
00051
00056 void create(Window& parent) const;
00057
00058 const ComponentArea& getComponentArea() const;
00059 void setComponentArea(const ComponentArea& area);
00060
00061 const String& getBaseWidgetType() const;
00062 void setBaseWidgetType(const String& type);
00063
00064 const String& getWidgetLookName() const;
00065 void setWidgetLookName(const String& look);
00066
00067 const String& getWidgetNameSuffix() const;
00068 void setWidgetNameSuffix(const String& suffix);
00069
00070 VerticalAlignment getVerticalWidgetAlignemnt() const;
00071 void setVerticalWidgetAlignment(VerticalAlignment alignment);
00072
00073 HorizontalAlignment getHorizontalWidgetAlignemnt() const;
00074 void setHorizontalWidgetAlignemnt(HorizontalAlignment alignment);
00075
00076 void addPropertyInitialiser(const PropertyInitialiser& initialiser);
00077 void clearPropertyInitialisers();
00078
00079 void layout(const Window& owner) const;
00080
00091 void writeXMLToStream(OutStream& out_stream) const;
00092
00093 private:
00094 typedef std::vector<PropertyInitialiser> PropertiesList;
00095
00096 ComponentArea d_area;
00097 String d_baseType;
00098 String d_imageryName;
00099 String d_nameSuffix;
00100 VerticalAlignment d_vertAlign;
00101 HorizontalAlignment d_horzAlign;
00102 PropertiesList d_properties;
00103 };
00104
00105 }
00106
00107
00108 #if defined(_MSC_VER)
00109 # pragma warning(pop)
00110 #endif
00111
00112 #endif // end of guard _CEGUIFalWidgetComponent_h_