Crazy Eddie's GUI System  ${CEGUI_VERSION}
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
python_CEGUI.h
1 #include <vector>
2 #include <string>
3 #include <map>
4 #include <iostream>
5 
6 #include "CEGUI/CEGUI.h"
7 #include "CEGUI/falagard/XMLEnumHelper.h"
8 #include "CEGUI/falagard/PropertyDefinition.h"
9 #include "CEGUI/falagard/PropertyLinkDefinition.h"
10 
11 namespace boost
12 {
13  /*
14  * Workaround that allows users to inherit CEGUI classes with methods
15  * that deal with strings (almost all classes)
16  *
17  * The situation:
18  * boost python can't recognize boost::ref(const CEGUI::String&) and doesn't
19  * auto convert it to python unicode string. This works for all types that are
20  * registered normally (CEGUI::String is always converted, the class is unknown
21  * in python).
22  *
23  * The solution:
24  * Make an overloaded version of boost::ref that just returns what it gets.
25  *
26  * Is this horrible?
27  * YES!
28  */
29  inline const CEGUI::String& ref(const CEGUI::String& v)
30  {
31  return v;
32  }
33 }
34 
35 namespace CEGUI
36 {
37 
39 {
40 public:
41  static float stringToFloat(const String& str)
42  {
44  }
45  static unsigned int stringToUint(const String& str)
46  {
48  }
49  static bool stringToBool(const String& str)
50  {
52  }
53  static Sizef stringToSize(const String& str)
54  {
56  }
57  static Vector2f stringToVector2(const String& str)
58  {
60  }
61  static Rectf stringToRect(const String& str)
62  {
64  }
65  static const Image* stringToImage(const String& str)
66  {
68  }
69  static Colour stringToColour(const String& str)
70  {
72  }
73  static ColourRect stringToColourRect(const String& str)
74  {
76  }
77  static UDim stringToUDim(const String& str)
78  {
80  }
81  static UVector2 stringToUVector2(const String& str)
82  {
84  }
85  static URect stringToURect(const String& str)
86  {
88  }
89  static USize stringToUSize(const String& str)
90  {
92  }
93  static UBox stringToUBox(const String& str)
94  {
96  }
97  static VerticalTextFormatting stringToVerticalTextFormatting(const String& str)
98  {
100  }
101  static HorizontalTextFormatting stringToHorizontalTextFormatting(const String& str)
102  {
104  }
105  static VerticalFormatting stringToVerticalFormatting(const String& str)
106  {
108  }
109  static HorizontalFormatting stringToHorizontalFormatting(const String& str)
110  {
112  }
113  static HorizontalAlignment stringToHorizontalAlignment(const String& str)
114  {
116  }
117  static VerticalAlignment stringToVerticalAlignment(const String& str)
118  {
120  }
121  static const Font* stringToFont(const String& str)
122  {
124  }
125  static AspectMode stringToAspectMode(const String& str)
126  {
128  }
129 
130  static String floatToString(float val)
131  {
133  }
134  static String uintToString(unsigned int val)
135  {
136  return PropertyHelper<uint>::toString(val);
137  }
138  static String boolToString(bool val)
139  {
140  return PropertyHelper<bool>::toString(val);
141  }
142  static String sizeToString(const Sizef& val)
143  {
145  }
146  static String vector2ToString(const Vector2f& val)
147  {
149  }
150  static String rectToString(const Rectf& val)
151  {
153  }
154  static String imageToString(const Image* val)
155  {
157  }
158  static String colourToString(const Colour& val)
159  {
161  }
162  static String colourRectToString(const ColourRect& val)
163  {
165  }
166  static String udimToString(const UDim& val)
167  {
168  return PropertyHelper<UDim>::toString(val);
169  }
170  static String uvector2ToString(const UVector2& val)
171  {
173  }
174  static String urectToString(const URect& val)
175  {
177  }
178  static String usizeToString(const USize& val)
179  {
181  }
182  static String uboxToString(const UBox& val)
183  {
184  return PropertyHelper<UBox>::toString(val);
185  }
186  static String verticalTextFormattingToString(VerticalTextFormatting val)
187  {
189  }
190  static String horizontalTextFormattingToString(HorizontalTextFormatting val)
191  {
193  }
194  static String verticalFormattingToString(VerticalFormatting val)
195  {
197  }
198  static String horizontalFormattingToString(HorizontalFormatting val)
199  {
201  }
202  static String verticalAlignmentToString(VerticalAlignment val)
203  {
205  }
206  static String horizontalAlignmentToString(HorizontalAlignment val)
207  {
209  }
210  static String fontToString(const Font* val)
211  {
213  }
214  static String aspectmodeToString(AspectMode val)
215  {
217  }
218 
219 };
220 
221 
223 {
224 public:
225  static VerticalFormatting stringToVertFormat(const String& str)
226  {
228  }
229  static HorizontalFormatting stringToHorzFormat(const String& str)
230  {
232  }
233  static VerticalAlignment stringToVertAlignment(const String& str)
234  {
236  }
237  static HorizontalAlignment stringToHorzAlignment(const String& str)
238  {
240  }
241  static DimensionType stringToDimensionType(const String& str)
242  {
244  }
245  static VerticalTextFormatting stringToVertTextFormat(const String& str)
246  {
248  }
249  static HorizontalTextFormatting stringToHorzTextFormat(const String& str)
250  {
252  }
253  static FontMetricType stringToFontMetricType(const String& str)
254  {
256  }
257  static DimensionOperator stringToDimensionOperator(const String& str)
258  {
260  }
261  static FrameImageComponent stringToFrameImageComponent(const String& str)
262  {
264  }
265  static ChildEventAction stringToChildEventAction(const String& str)
266  {
268  }
269 
270  static String vertFormatToString(VerticalFormatting val)
271  {
273  }
274  static String horzFormatToString(HorizontalFormatting val)
275  {
277  }
278  static String vertAlignmentToString(VerticalAlignment val)
279  {
281  }
282  static String horzAlignmentToString(HorizontalAlignment val)
283  {
285  }
286  static String dimensionTypeToString(DimensionType val)
287  {
289  }
290  static String vertTextFormatToString(VerticalTextFormatting val)
291  {
293  }
294  static String horzTextFormatToString(HorizontalTextFormatting val)
295  {
297  }
298  static String fontMetricTypeToString(FontMetricType val)
299  {
301  }
302  static String dimensionOperatorToString(DimensionOperator val)
303  {
305  }
306  static String frameImageComponentToString(FrameImageComponent val)
307  {
309  }
310  static String childEventActionToStringn(ChildEventAction val)
311  {
313  }
314 };
315 
317 {
318  public:
319  static PropertyDefinitionBase* PropertyDefinitionBaseMapGet(WidgetLookFeel::PropertyDefinitionBasePointerMap& map, const WidgetLookFeel::PropertyDefinitionBasePointerMap::key_type& key)
320  {
321  return map[key];
322  }
323 
324  static PropertyInitialiser* PropertyInitialiserMapGet(WidgetLookFeel::PropertyInitialiserPointerMap& map, const WidgetLookFeel::PropertyInitialiserPointerMap::key_type& key)
325  {
326  return map[key];
327  }
328 
329  static WidgetComponent* WidgetComponentMapGet(WidgetLookFeel::WidgetComponentPointerMap& map, const WidgetLookFeel::WidgetComponentPointerMap::key_type& key)
330  {
331  return map[key];
332  }
333 
334  static ImagerySection* ImagerySectionMapGet(WidgetLookFeel::ImagerySectionPointerMap& map, const WidgetLookFeel::ImagerySectionPointerMap::key_type& key)
335  {
336  return map[key];
337  }
338 
339  static NamedArea* NamedAreaMapGet(WidgetLookFeel::NamedAreaPointerMap& map, const WidgetLookFeel::NamedAreaPointerMap::key_type& key)
340  {
341  return map[key];
342  }
343 
344  static StateImagery* StateImageryMapGet(WidgetLookFeel::StateImageryPointerMap& map, const WidgetLookFeel::StateImageryPointerMap::key_type& key)
345  {
346  return map[key];
347  }
348 
349  static EventLinkDefinition* EventLinkDefinitionMapGet(WidgetLookFeel::EventLinkDefinitionPointerMap& map, const WidgetLookFeel::EventLinkDefinitionPointerMap::key_type& key)
350  {
351  return map[key];
352  }
353 
354  static WidgetLookFeel* WidgetLookFeelMapGet(WidgetLookManager::WidgetLookPointerMap& map, const WidgetLookManager::WidgetLookPointerMap::key_type& key)
355  {
356  return map[key];
357  }
358 };
359 
360 }
361 
362 // First we create a magic namespace to hold all our aliases
363 namespace pyplusplus
364 {
365  namespace aliases
366  {
367  typedef ::CEGUI::RefCounted< CEGUI::FormattedRenderedString > RefCountedFormattedRenderedString;
368 
369  typedef ::CEGUI::NamedXMLResourceManager<CEGUI::Font, CEGUI::Font_xmlHandler> NamedXMLResourceManagerFont;
370  typedef ::CEGUI::NamedXMLResourceManager<CEGUI::Scheme, CEGUI::Scheme_xmlHandler> NamedXMLResourceManagerScheme;
371 
372  typedef ::CEGUI::Vector2<float> Vector2;
373  typedef ::CEGUI::Vector3<float> Vector3;
374  typedef ::CEGUI::Size<float> Size;
375  typedef ::CEGUI::Rect<float> Rect;
376  typedef ::CEGUI::Vector2<CEGUI::UDim> UVector2;
377  typedef ::CEGUI::Rect<CEGUI::UDim> URect;
378  typedef ::CEGUI::Size<CEGUI::UDim> USize;
379 
380  typedef std::vector<CEGUI::ListboxItem*
381  CEGUI_VECTOR_ALLOC(CEGUI::ListboxItem*)> ListBoxItemPtrVector;
382  // typedef std::vector<CEGUI::Scheme::AliasMapping> AliasMappingVector;
383  typedef std::vector<CEGUI::PropertyInitialiser
384  CEGUI_VECTOR_ALLOC(CEGUI::PropertyInitialiser)> PropertyInitialiserVector;
385  // typedef std::vector<CEGUI::Scheme::FalagardMapping> FalagardMappingVector;
386  // typedef std::vector<CEGUI::Scheme::LoadableUIElement> LoadableUIElementVector;
387  // typedef std::vector<CEGUI::Scheme::UIElementFactory> UIElementFactoryVector;
388  // typedef std::vector<CEGUI::Scheme::UIModule> UIModuleVector;
389 
390  typedef std::vector<CEGUI::TextComponent* CEGUI_VECTOR_ALLOC(CEGUI::TextComponent*)> TextComponentVector;
391  typedef std::vector<CEGUI::ImageryComponent* CEGUI_VECTOR_ALLOC(CEGUI::ImageryComponent*)> ImageryComponentVector;
392  typedef std::vector<CEGUI::FrameComponent* CEGUI_VECTOR_ALLOC(CEGUI::FrameComponent*)> FrameComponentVector;
393  typedef std::vector<CEGUI::LayerSpecification* CEGUI_VECTOR_ALLOC(CEGUI::LayerSpecification*)> LayerSpecificationVector;
394  typedef std::vector<CEGUI::SectionSpecification* CEGUI_VECTOR_ALLOC(CEGUI::SectionSpecification*)> SectionSpecificationVector;
395 
396  typedef ::CEGUI::Event::Connection Connection;
397  typedef ::CEGUI::Event::Subscriber Subscriber;
398  typedef ::CEGUI::EventSet::EventIterator EventIterator;
399 
400  typedef ::CEGUI::FontManager::FontIterator FontIterator;
401  typedef ::CEGUI::ImageManager::ImageIterator ImageIterator;
402  typedef ::CEGUI::PropertySet::PropertyIterator PropertyIterator;
403  typedef ::CEGUI::Scheme::LoadableUIElementIterator LoadableUIElementIterator;
404  typedef ::CEGUI::SchemeManager::SchemeIterator SchemeIterator;
405  typedef ::CEGUI::WindowFactoryManager::WindowFactoryIterator WindowFactoryIterator;
406  typedef ::CEGUI::WindowFactoryManager::TypeAliasIterator TypeAliasIterator;
407  typedef ::CEGUI::WindowFactoryManager::FalagardMappingIterator FalagardMappingIterator;
408  typedef ::CEGUI::WindowManager::WindowIterator WindowIterator;
409  typedef ::CEGUI::WidgetLookFeel::PropertyDefinitionIterator PropertyDefinitionIterator;
410 
411  typedef std::pair<float, float> StdPairFloatFloat;
412  typedef std::pair<CEGUI::String, CEGUI::String> StdPairCEGUIStringString;
413  typedef std::pair<CEGUI::Image*, CEGUI::ImageFactory*> StdPairCEGUIImageImageFactory;
414 
415  typedef std::map<std::string, std::string
416  CEGUI_MAP_ALLOC(std::string, std::string)> StringMap;
417  typedef std::vector<std::string
418  CEGUI_VECTOR_ALLOC(std::string)> StringVector;
419 
420  typedef CEGUI::Singleton<CEGUI::AnimationManager> SingletonAnimationManager;
421  typedef CEGUI::Singleton<CEGUI::Logger> SingletonLogger;
422  typedef CEGUI::Singleton<CEGUI::FontManager> SingletonFontManager;
423  typedef CEGUI::Singleton<CEGUI::GlobalEventSet> SingletonGlobalEventSet;
424  typedef CEGUI::Singleton<CEGUI::ImageManager> SingletonImageManager;
425  typedef CEGUI::Singleton<CEGUI::MouseCursor> SingletonMouseCursor;
426  typedef CEGUI::Singleton<CEGUI::RenderEffectManager> SingletonRenderEffectManager;
427  typedef CEGUI::Singleton<CEGUI::SchemeManager> SingletonSchemeManager;
428  typedef CEGUI::Singleton<CEGUI::System> SingletonSystem;
429  typedef CEGUI::Singleton<CEGUI::WidgetLookManager> SingletonWidgetLookManager;
430  typedef CEGUI::Singleton<CEGUI::WindowFactoryManager> SingletonWindowFactoryManager;
431  typedef CEGUI::Singleton<CEGUI::WindowManager> SingletonWindowManager;
432  typedef CEGUI::Singleton<CEGUI::WindowRendererManager> SingletonWindowRendererManager;
433 
434  typedef unsigned int Group;
435  typedef std::map<CEGUI::String, CEGUI::String, CEGUI::StringFastLessCompare
436  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::String)> ResourceGroupMap;
437  typedef CEGUI::RefCounted<CEGUI::BoundSlot> Connection;
438  typedef CEGUI::SubscriberSlot Subscriber;
439  typedef std::multimap<Group, Connection
440  CEGUI_MULTIMAP_ALLOC(Group, Connection)> SlotContainer;
441  typedef std::map<CEGUI::String, CEGUI::Event*, CEGUI::StringFastLessCompare
442  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::String)> EventMap;
443  typedef std::map<CEGUI::String, CEGUI::Font*, CEGUI::StringFastLessCompare
444  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::Font*)> FontRegistry;
445  typedef std::pair<CEGUI::Window*, bool> WindowStackEntry;
446  typedef std::vector<WindowStackEntry
447  CEGUI_VECTOR_ALLOC(WindowStackEntry)> WindowStack;
448  typedef std::map<CEGUI::String, CEGUI::Property*, CEGUI::StringFastLessCompare
449  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::Property*)> PropertyRegistry;
450  typedef std::map<CEGUI::String, CEGUI::String, CEGUI::StringFastLessCompare
451  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::String)> UserStringMap;
452  typedef std::set<CEGUI::String, CEGUI::StringFastLessCompare> StringSet;
453  typedef std::vector<CEGUI::String
454  CEGUI_VECTOR_ALLOC(CEGUI::String)> TargetTypeStack;
455  typedef std::map<CEGUI::String, CEGUI::Window*, CEGUI::StringFastLessCompare
456  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::Window*)> WindowRegistry;
457  typedef std::vector<CEGUI::Window*
458  CEGUI_VECTOR_ALLOC(CEGUI::Window*)> WindowVector;
459  typedef std::vector<CEGUI::Property*
460  CEGUI_VECTOR_ALLOC(CEGUI::Property*)> PropertyList;
461  typedef std::map<CEGUI::String, CEGUI::WindowRendererFactory*, CEGUI::StringFastLessCompare
462  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::WindowRendererFactory*)> WR_Registry;
463  typedef std::map<CEGUI::String, CEGUI::String, CEGUI::StringFastLessCompare
464  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::String)> AttributeMap;
465 
466 
467  typedef std::map<CEGUI::String, CEGUI::EventLinkDefinition*, CEGUI::StringFastLessCompare
468  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::EventLinkDefinition*)> EventLinkDefinitionMap;
469  typedef std::map<CEGUI::String, CEGUI::ImagerySection*, CEGUI::StringFastLessCompare
470  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::ImagerySection*)> ImagerySectionMap;
471  typedef std::map<CEGUI::String, CEGUI::NamedArea*, CEGUI::StringFastLessCompare
472  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::NamedArea*)> NamedAreaMap;
473  typedef std::map<CEGUI::String, CEGUI::PropertyDefinitionBase*, CEGUI::StringFastLessCompare
474  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::PropertyDefinitionBase*)> PropertyDefinitionBaseMap;
475  typedef std::map<CEGUI::String, CEGUI::PropertyInitialiser*, CEGUI::StringFastLessCompare
476  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::PropertyInitialiser*)> PropertyInitialiserMap;
477  typedef std::map<CEGUI::String, CEGUI::StateImagery*, CEGUI::StringFastLessCompare
478  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::StateImagery*)> StateImageryMap;
479  typedef std::map<CEGUI::String, CEGUI::WidgetComponent*, CEGUI::StringFastLessCompare
480  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::WidgetComponent*)> WidgetComponentMap;
481  typedef std::map<CEGUI::String, CEGUI::WidgetLookFeel*, CEGUI::StringFastLessCompare
482  CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::WidgetLookFeel*)> WidgetLookFeelMap;
483 
484  typedef CEGUI::ConstVectorIterator<std::vector<CEGUI::PropertyInitialiser
485  CEGUI_VECTOR_ALLOC(CEGUI::PropertyInitialiser)> > PropertyInitialiserVectorIterator;
486 
487  typedef CEGUI::TypedProperty<float> TypedPropertyFloat;
488  typedef CEGUI::FalagardPropertyBase<float> FalagardPropertyBaseFloat;
489  typedef CEGUI::PropertyDefinition<float> PropertyDefinitionFloat;
490  typedef CEGUI::PropertyLinkDefinition<float> PropertyLinkDefinitionFloat;
491 
492  typedef CEGUI::TypedProperty<unsigned int> TypedPropertyUint;
493  typedef CEGUI::FalagardPropertyBase<unsigned int> FalagardPropertyBaseUint;
494  typedef CEGUI::PropertyDefinition<unsigned int> PropertyDefinitionUint;
495  typedef CEGUI::PropertyLinkDefinition<unsigned int> PropertyLinkDefinitionUint;
496 
497  typedef CEGUI::TypedProperty<bool> TypedPropertyBool;
498  typedef CEGUI::FalagardPropertyBase<bool> FalagardPropertyBaseBool;
499  typedef CEGUI::PropertyDefinition<bool> PropertyDefinitionBool;
500  typedef CEGUI::PropertyLinkDefinition<bool> PropertyLinkDefinitionBool;
501 
502  typedef CEGUI::TypedProperty<CEGUI::Sizef> TypedPropertySizef;
503  typedef CEGUI::FalagardPropertyBase<CEGUI::Sizef> FalagardPropertyBaseSizef;
504  typedef CEGUI::PropertyDefinition<CEGUI::Sizef> PropertyDefinitionSizef;
505  typedef CEGUI::PropertyLinkDefinition<CEGUI::Sizef> PropertyLinkDefinitionSizef;
506 
507  typedef CEGUI::TypedProperty<CEGUI::Vector2f> TypedPropertyVector2f;
508  typedef CEGUI::FalagardPropertyBase<CEGUI::Vector2f> FalagardPropertyBaseVector2f;
509  typedef CEGUI::PropertyDefinition<CEGUI::Vector2f> PropertyDefinitionVector2f;
510  typedef CEGUI::PropertyLinkDefinition<CEGUI::Vector2f> PropertyLinkDefinitionVector2f;
511 
512  typedef CEGUI::TypedProperty<CEGUI::Rectf> TypedPropertyRectf;
513  typedef CEGUI::FalagardPropertyBase<CEGUI::Rectf> FalagardPropertyBaseRectf;
514  typedef CEGUI::PropertyDefinition<CEGUI::Rectf> PropertyDefinitionRectf;
515  typedef CEGUI::PropertyLinkDefinition<CEGUI::Rectf> PropertyLinkDefinitionRectf;
516 
517  typedef CEGUI::TypedProperty<CEGUI::Image*> TypedPropertyImage;
518  typedef CEGUI::FalagardPropertyBase<CEGUI::Image*> FalagardPropertyBaseImage;
519  typedef CEGUI::PropertyDefinition<CEGUI::Image*> PropertyDefinitionImage;
520  typedef CEGUI::PropertyLinkDefinition<CEGUI::Image*> PropertyLinkDefinitionImage;
521 
522  typedef CEGUI::TypedProperty<CEGUI::Colour> TypedPropertyColour;
523  typedef CEGUI::FalagardPropertyBase<CEGUI::Colour> FalagardPropertyBaseColour;
524  typedef CEGUI::PropertyDefinition<CEGUI::Colour> PropertyDefinitionColour;
525  typedef CEGUI::PropertyLinkDefinition<CEGUI::Colour> PropertyLinkDefinitionColour;
526 
527  typedef CEGUI::TypedProperty<CEGUI::ColourRect> TypedPropertyColourRect;
528  typedef CEGUI::FalagardPropertyBase<CEGUI::ColourRect> FalagardPropertyBaseColourRect;
529  typedef CEGUI::PropertyDefinition<CEGUI::ColourRect> PropertyDefinitionColourRect;
530  typedef CEGUI::PropertyLinkDefinition<CEGUI::ColourRect> PropertyLinkDefinitionColourRect;
531 
532  typedef CEGUI::TypedProperty<CEGUI::UDim> TypedPropertyColourUDim;
533  typedef CEGUI::FalagardPropertyBase<CEGUI::UDim> FalagardPropertyBaseColourUDim;
534  typedef CEGUI::PropertyDefinition<CEGUI::UDim> PropertyDefinitionColourUDim;
535  typedef CEGUI::PropertyLinkDefinition<CEGUI::UDim> PropertyLinkDefinitionColourUDim;
536 
537  typedef CEGUI::TypedProperty<CEGUI::UVector2> TypedPropertyColourUVector2;
538  typedef CEGUI::FalagardPropertyBase<CEGUI::UVector2> FalagardPropertyBaseColourUVector2;
539  typedef CEGUI::PropertyDefinition<CEGUI::UVector2> PropertyDefinitionColourUVector2;
540  typedef CEGUI::PropertyLinkDefinition<CEGUI::UVector2> PropertyLinkDefinitionColourUVector2;
541 
542  typedef CEGUI::TypedProperty<CEGUI::URect> TypedPropertyColourURect;
543  typedef CEGUI::FalagardPropertyBase<CEGUI::URect> FalagardPropertyBaseColourURect;
544  typedef CEGUI::PropertyDefinition<CEGUI::URect> PropertyDefinitionColourURect;
545  typedef CEGUI::PropertyLinkDefinition<CEGUI::URect> PropertyLinkDefinitionColourURect;
546 
547  typedef CEGUI::TypedProperty<CEGUI::UBox> TypedPropertyColourUBox;
548  typedef CEGUI::FalagardPropertyBase<CEGUI::UBox> FalagardPropertyBaseColourUBox;
549  typedef CEGUI::PropertyDefinition<CEGUI::UBox> PropertyDefinitionColourUBox;
550  typedef CEGUI::PropertyLinkDefinition<CEGUI::UBox> PropertyLinkDefinitionColourUBox;
551 
552  typedef CEGUI::TypedProperty<CEGUI::String> TypedPropertyString;
553  typedef CEGUI::FalagardPropertyBase<CEGUI::String> FalagardPropertyBaseString;
554  typedef CEGUI::PropertyDefinition<CEGUI::String> PropertyDefinitionString;
555  typedef CEGUI::PropertyLinkDefinition<CEGUI::String> PropertyLinkDefinitionString;
556 
557  typedef CEGUI::TypedProperty<CEGUI::VerticalTextFormatting> TypedPropertyVerticalTextFormatting;
558  typedef CEGUI::FalagardPropertyBase<CEGUI::VerticalTextFormatting> FalagardPropertyBaseVerticalTextFormatting;
559  typedef CEGUI::PropertyDefinition<CEGUI::VerticalTextFormatting> PropertyDefinitionVerticalTextFormatting;
560  typedef CEGUI::PropertyLinkDefinition<CEGUI::VerticalTextFormatting> PropertyLinkDefinitionVerticalTextFormatting;
561 
562  typedef CEGUI::TypedProperty<CEGUI::HorizontalTextFormatting> TypedPropertyHorizontalTextFormatting;
563  typedef CEGUI::FalagardPropertyBase<CEGUI::HorizontalTextFormatting> FalagardPropertyBaseHorizontalTextFormatting;
564  typedef CEGUI::PropertyDefinition<CEGUI::HorizontalTextFormatting> PropertyDefinitionHorizontalTextFormatting;
565  typedef CEGUI::PropertyLinkDefinition<CEGUI::HorizontalTextFormatting> PropertyLinkDefinitionHorizontalTextFormatting;
566 
567  typedef CEGUI::TypedProperty<CEGUI::VerticalFormatting> TypedPropertyVerticalFormatting;
568  typedef CEGUI::FalagardPropertyBase<CEGUI::VerticalFormatting> FalagardPropertyBaseVerticalFormatting;
569  typedef CEGUI::PropertyDefinition<CEGUI::VerticalFormatting> PropertyDefinitionVerticalFormatting;
570  typedef CEGUI::PropertyLinkDefinition<CEGUI::VerticalFormatting> PropertyLinkDefinitionVerticalFormatting;
571 
572  typedef CEGUI::TypedProperty<CEGUI::HorizontalFormatting> TypedPropertyHorizontalFormatting;
573  typedef CEGUI::FalagardPropertyBase<CEGUI::HorizontalFormatting> FalagardPropertyBaseHorizontalFormatting;
574  typedef CEGUI::PropertyDefinition<CEGUI::HorizontalFormatting> PropertyDefinitionHorizontalFormatting;
575  typedef CEGUI::PropertyLinkDefinition<CEGUI::HorizontalFormatting> PropertyLinkDefinitionHorizontalFormatting;
576 
577  typedef CEGUI::TypedProperty<CEGUI::Font*> TypedPropertyFont;
578  typedef CEGUI::FalagardPropertyBase<CEGUI::Font*> FalagardPropertyBaseFont;
579  typedef CEGUI::PropertyDefinition<CEGUI::Font*> PropertyDefinitionFont;
580  typedef CEGUI::PropertyLinkDefinition<CEGUI::Font*> PropertyLinkDefinitionFont;
581  }
582 }
583 
584 // then we exposed everything needed (and more) to ensure GCCXML makes them visible to Py++
585 //
586 
587 // this is a gcc-only workaround, don't do this at build time
588 #ifdef __GCCXML__
589 
590 namespace python_CEGUI
591 {
592  namespace details
593  {
594  inline void instantiate()
595  {
596  sizeof( ::std::pair<float, float>);
599 
610  sizeof( ::CEGUI::String::iterator );
611  sizeof( ::CEGUI::Vector2< float > );
612  sizeof( ::CEGUI::Vector3< float > );
613  sizeof( ::CEGUI::Size< float > );
614  sizeof( ::CEGUI::Rect< float > );
618 
619  sizeof( ::std::pair<float, float> );
620  sizeof( ::std::pair<CEGUI::String, CEGUI::String> );
621  sizeof( ::std::pair<CEGUI::Image*, CEGUI::ImageFactory*> );
622 
623  // seems that doing an sizeof ( ::CEGUI::EventSet::Iterator ); doesn't expose the class :(
626  //sizeof( CEGUI::ConstMapIterator<std::map<CEGUI::String, CEGUI::Window*, CEGUI::StringFastLessCompare CEGUI_MAP_ALLOC(CEGUI::String, CEGUI::Window*) > > );
641  //sizeof( CEGUI::ConstVectorIterator<std::vector<CEGUI::PropertyInitialiser CEGUI_VECTOR_ALLOC(CEGUI::PropertyInitialiser) > > );
649 
650  sizeof( CEGUI::TypedProperty<float> );
654 
659 
660  sizeof( CEGUI::TypedProperty<bool> );
664 
669 
674 
679 
684 
689 
694 
699 
704 
709 
714 
719 
724 
729 
734 
739 
744  }
745  }
746 }
747 
748 #endif
749 
Definition: cegui/include/CEGUI/falagard/XMLEnumHelper.h:37
AspectMode
How aspect ratio should be maintained.
Definition: cegui/include/CEGUI/Size.h:45
Definition: python_CEGUI.h:38
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
std::map< String, WidgetLookFeel *, StringFastLessCompare CEGUI_MAP_ALLOC(String, WidgetLookFeel *)> WidgetLookPointerMap
Typedef for a map of Strings to WidgetLookFeel objects.
Definition: cegui/include/CEGUI/falagard/WidgetLookManager.h:90
Definition: python_CEGUI.h:222
Class that encapsulates a single layer of imagery.
Definition: cegui/include/CEGUI/falagard/LayerSpecification.h:45
Base-class for WindowRendererFactory.
Definition: cegui/include/CEGUI/WindowRenderer.h:237
Definition: python_CEGUI.h:11
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
regular iterator for String.
Definition: cegui/include/CEGUI/String.h:98
VerticalFormatting
Enumeration of possible values to indicate the vertical formatting to be used for an image component...
Definition: cegui/include/CEGUI/falagard/Enums.h:58
Interface for Image.
Definition: cegui/include/CEGUI/Image.h:158
Main namespace for Crazy Eddie's GUI Library.
Definition: cegui/include/CEGUI/Affector.h:42
std::map< String, NamedArea *, StringFastLessCompare CEGUI_MAP_ALLOC(String, NamedArea *)> NamedAreaPointerMap
Map of Strings to NamedArea pointers.
Definition: cegui/include/CEGUI/falagard/WidgetLookFeel.h:492
std::map< String, EventLinkDefinition *, StringFastLessCompare CEGUI_MAP_ALLOC(String, EventLinkDefinition *)> EventLinkDefinitionPointerMap
Map of Strings to EventLinkDefinition pointers.
Definition: cegui/include/CEGUI/falagard/WidgetLookFeel.h:501
std::map< String, WidgetComponent *, StringFastLessCompare CEGUI_MAP_ALLOC(String, WidgetComponent *)> WidgetComponentPointerMap
Map of Strings to WidgetComponent pointers.
Definition: cegui/include/CEGUI/falagard/WidgetLookFeel.h:495
ConstMapIterator< ImageMap > ImageIterator
ConstBaseIterator type definition.
Definition: cegui/include/CEGUI/ImageManager.h:198
DimensionOperator
Enumeration of values representing mathematical operations on dimensions.
Definition: cegui/include/CEGUI/falagard/Enums.h:122
ConstMapIterator< ObjectRegistry > SchemeIterator
Definition of SchemeIterator type.
Definition: cegui/include/CEGUI/SchemeManager.h:64
iterator for vectors
Definition: cegui/include/CEGUI/IteratorBase.h:287
Class that holds details of colours for the four corners of a rectangle.
Definition: cegui/include/CEGUI/ColourRect.h:43
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
SubscriberSlot class which is used when subscribing to events.
Definition: cegui/include/CEGUI/SubscriberSlot.h:51
Class the encapsulates imagery for a given widget state.
Definition: cegui/include/CEGUI/falagard/StateImagery.h:46
HorizontalTextFormatting
Enumeration of possible values to indicate the horizontal formatting to be used for a text component...
Definition: cegui/include/CEGUI/falagard/Enums.h:95
Class that holds information about a property and it's required initial value.
Definition: cegui/include/CEGUI/falagard/PropertyInitialiser.h:40
CEGUI::SubscriberSlot Subscriber
Subscriber object type. This is now just a typedef to SubscriberSlot, the use of the name Event::Subs...
Definition: cegui/include/CEGUI/Event.h:76
std::map< String, PropertyInitialiser *, StringFastLessCompare CEGUI_MAP_ALLOC(String, PropertyInitialiser *)> PropertyInitialiserPointerMap
Map of Strings to PropertyInitialiser pointers.
Definition: cegui/include/CEGUI/falagard/WidgetLookFeel.h:506
Class that encapsulates information regarding a sub-widget required for a widget. ...
Definition: cegui/include/CEGUI/falagard/WidgetComponent.h:50
Class encapsulating the 'Unified Box' - this is usually used for margin.
Definition: cegui/include/CEGUI/UDim.h:247
Definition: cegui/include/CEGUI/Singleton.h:55
Class that encapsulates a typeface.
Definition: cegui/include/CEGUI/Font.h:58
RefCounted< BoundSlot > Connection
Connection object. This is a thin 'smart pointer' wrapper around the actual BoundSlot that represents...
Definition: cegui/include/CEGUI/Event.h:68
DimensionType
Enumeration of possible values to indicate what a given dimension represents.
Definition: cegui/include/CEGUI/falagard/Enums.h:39
Helper class used to convert various data types to and from the format expected in Property strings...
Definition: cegui/include/CEGUI/ForwardRefs.h:84
Definition: python_CEGUI.h:316
VerticalTextFormatting
Enumeration of possible values to indicate the vertical formatting to be used for a text component...
Definition: cegui/include/CEGUI/falagard/Enums.h:84
HorizontalFormatting
Enumeration of possible values to indicate the horizontal formatting to be used for an image componen...
Definition: cegui/include/CEGUI/falagard/Enums.h:71
FrameImageComponent
Enumeration of values referencing available images forming a frame component.
Definition: cegui/include/CEGUI/falagard/Enums.h:135
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: cegui/include/CEGUI/Window.h:149
Base class for list box items.
Definition: cegui/include/CEGUI/widgets/ListboxItem.h:51
std::map< String, ImagerySection *, StringFastLessCompare CEGUI_MAP_ALLOC(String, ImagerySection *)> ImagerySectionPointerMap
Map of Strings to ImagerySection pointers.
Definition: cegui/include/CEGUI/falagard/WidgetLookFeel.h:489
Class representing colour values within the system.
Definition: cegui/include/CEGUI/Colour.h:44
iterator class for maps
Definition: cegui/include/CEGUI/IteratorBase.h:196
Class that encapsulates Look N' Feel information for a widget.
Definition: cegui/include/CEGUI/falagard/WidgetLookFeel.h:54
ChildEventAction
Enumeration of actions a WidgetLook can take in response to some event firing on a child WidgetCompon...
Definition: cegui/include/CEGUI/falagard/Enums.h:154
Definition: python_CEGUI.h:363
Defines an 'event' which can be subscribed to by interested parties.
Definition: cegui/include/CEGUI/Event.h:57
Dimension that has both a relative 'scale' portion and and absolute 'offset' portion.
Definition: cegui/include/CEGUI/UDim.h:92
An abstract class that defines the interface to access object properties by name. ...
Definition: cegui/include/CEGUI/Property.h:60
Class that encapsulates a re-usable collection of imagery specifications.
Definition: cegui/include/CEGUI/falagard/ImagerySection.h:47
VerticalAlignment
Enumerated type used when specifying vertical alignments for Element.
Definition: cegui/include/CEGUI/Element.h:130
Definition: cegui/include/CEGUI/falagard/EventLinkDefinition.h:43
std::map< String, PropertyDefinitionBase *, StringFastLessCompare CEGUI_MAP_ALLOC(String, PropertyDefinitionBase *)> PropertyDefinitionBasePointerMap
Map of Strings to PropertyDefinitionBase pointers.
Definition: cegui/include/CEGUI/falagard/WidgetLookFeel.h:509
ConstMapIterator< ObjectRegistry > FontIterator
ConstBaseIterator type definition.
Definition: cegui/include/CEGUI/FontManager.h:189
FontMetricType
Enumeration of possible values to indicate a particular font metric.
Definition: cegui/include/CEGUI/falagard/Enums.h:111
std::map< String, StateImagery *, StringFastLessCompare CEGUI_MAP_ALLOC(String, StateImagery *)> StateImageryPointerMap
Map of Strings to StateImagery pointers.
Definition: cegui/include/CEGUI/falagard/WidgetLookFeel.h:486
HorizontalAlignment
Enumerated type used when specifying horizontal alignments for Element.
Definition: cegui/include/CEGUI/Element.h:52
String class used within the GUI system.
Definition: cegui/include/CEGUI/String.h:62