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
00029
00030 #ifndef _CEGUIWindow_h_
00031 #define _CEGUIWindow_h_
00032
00033 #include "CEGUIBase.h"
00034 #include "CEGUIString.h"
00035 #include "CEGUIVector.h"
00036 #include "CEGUIRect.h"
00037 #include "CEGUISize.h"
00038 #include "CEGUIEventSet.h"
00039 #include "CEGUIPropertySet.h"
00040 #include "CEGUISystem.h"
00041 #include "CEGUIInputEvent.h"
00042 #include "CEGUIWindowProperties.h"
00043 #include "CEGUIUDim.h"
00044 #include "CEGUIRenderCache.h"
00045 #include "CEGUIWindowRenderer.h"
00046 #include <vector>
00047 #include <set>
00048
00049
00050 #if defined(_MSC_VER)
00051 # pragma warning(push)
00052 # pragma warning(disable : 4251)
00053 #endif
00054
00055
00056
00057 namespace CEGUI
00058 {
00063 enum VerticalAlignment
00064 {
00069 VA_TOP,
00074 VA_CENTRE,
00079 VA_BOTTOM
00080 };
00081
00086 enum HorizontalAlignment
00087 {
00092 HA_LEFT,
00097 HA_CENTRE,
00102 HA_RIGHT
00103 };
00104
00118 class CEGUIEXPORT Window : public PropertySet, public EventSet
00119 {
00120 public:
00121
00122
00123
00125 static const String EventNamespace;
00126
00127
00128 static const String EventWindowUpdated;
00129
00130 static const String EventParentSized;
00132 static const String EventSized;
00134 static const String EventMoved;
00136 static const String EventTextChanged;
00138 static const String EventFontChanged;
00140 static const String EventAlphaChanged;
00142 static const String EventIDChanged;
00144 static const String EventActivated;
00146 static const String EventDeactivated;
00148 static const String EventShown;
00150 static const String EventHidden;
00152 static const String EventEnabled;
00154 static const String EventDisabled;
00156 static const String EventClippedByParentChanged;
00158 static const String EventDestroyedByParentChanged;
00160 static const String EventInheritsAlphaChanged;
00162 static const String EventAlwaysOnTopChanged;
00164 static const String EventInputCaptureGained;
00166 static const String EventInputCaptureLost;
00168 static const String EventRenderingStarted;
00170 static const String EventRenderingEnded;
00172 static const String EventChildAdded;
00174 static const String EventChildRemoved;
00176 static const String EventDestructionStarted;
00178 static const String EventZOrderChanged;
00180 static const String EventDragDropItemEnters;
00182 static const String EventDragDropItemLeaves;
00184 static const String EventDragDropItemDropped;
00186 static const String EventVerticalAlignmentChanged;
00188 static const String EventHorizontalAlignmentChanged;
00190 static const String EventWindowRendererAttached;
00192 static const String EventWindowRendererDetached;
00193
00194
00196 static const String EventMouseEnters;
00198 static const String EventMouseLeaves;
00200 static const String EventMouseMove;
00202 static const String EventMouseWheel;
00204 static const String EventMouseButtonDown;
00206 static const String EventMouseButtonUp;
00208 static const String EventMouseClick;
00210 static const String EventMouseDoubleClick;
00212 static const String EventMouseTripleClick;
00214 static const String EventKeyDown;
00216 static const String EventKeyUp;
00218 static const String EventCharacterKey;
00219
00220
00221
00222
00224 static const String TooltipNameSuffix;
00226 static const String AutoWidgetNameSuffix;
00227
00228
00229
00230
00231
00242 Window(const String& type, const String& name);
00243
00248 virtual ~Window(void);
00249
00250
00251
00252
00260 const String& getType(void) const;
00261
00269 const String& getName(void) const {return d_name;}
00270
00275 const String& getPrefix(void) const {return d_windowPrefix;}
00276
00286 bool isDestroyedByParent(void) const {return d_destroyedByParent;}
00287
00297 bool isAlwaysOnTop(void) const {return d_alwaysOnTop;}
00298
00311 bool isDisabled(bool localOnly = false) const;
00312
00329 bool isVisible(bool localOnly = false) const;
00330
00345 bool isActive(void) const;
00346
00356 bool isClippedByParent(void) const {return d_clippedByParent;}
00357
00365 uint getID(void) const {return d_ID;}
00366
00376 size_t getChildCount(void) const {return d_children.size();}
00377
00390 bool isChild(const String& name) const;
00391
00408 bool isChild(uint ID) const;
00409
00430 bool isChildRecursive(uint ID) const;
00431
00443 bool isChild(const Window* window) const;
00444
00466 Window* getChild(const String& name) const;
00467
00468 Window* recursiveChildSearch(const String& name) const;
00469
00491 Window* getChild(uint ID) const;
00492
00514 Window* getChildRecursive(uint ID) const;
00515
00529 Window* getChildAtIdx(size_t idx) const {return d_children[idx];}
00530
00543 Window* getActiveChild(void);
00544 const Window* getActiveChild(void) const;
00545
00559 bool isAncestor(const String& name) const;
00560
00574 bool isAncestor(uint ID) const;
00575
00588 bool isAncestor(const Window* window) const;
00589
00603 Font* getFont(bool useDefault = true) const;
00604
00612 const String& getText(void) const {return d_text;}
00613
00622 bool inheritsAlpha(void) const {return d_inheritsAlpha;}
00623
00641 float getAlpha(void) const {return d_alpha;}
00642
00652 float getEffectiveAlpha(void) const;
00653
00667 Rect getPixelRect(void) const;
00668
00682 virtual Rect getPixelRect_impl(void) const;
00683
00692 Rect getInnerRect(void) const;
00693
00704 Rect getUnclippedPixelRect(void) const;
00705
00717 Rect getUnclippedInnerRect(void) const;
00718
00730 virtual Rect getUnclippedInnerRect_impl(void) const;
00731
00740 static Window* getCaptureWindow(void) {return d_captureWindow;}
00741
00750 bool isCapturedByThis(void) const {return getCaptureWindow() == this;}
00751
00761 bool isCapturedByAncestor(void) const
00762 {return isAncestor(getCaptureWindow());}
00763
00772 bool isCapturedByChild(void) const {return isChild(getCaptureWindow());}
00773
00786 virtual bool isHit(const Vector2& position) const;
00787
00800 Window* getChildAtPosition(const Vector2& position) const;
00801
00815 Window* getTargetChildAtPosition(const Vector2& position) const;
00816
00825 Window* getParent(void) const {return d_parent;}
00826
00841 const Image* getMouseCursor(bool useDefault = true) const;
00842
00850 Size getPixelSize(void) const { return d_pixelSize; }
00851
00863 void* getUserData(void) const {return d_userData;}
00864
00879 bool restoresOldCapture(void) const {return d_restoreOldCapture;}
00880
00891 bool isZOrderingEnabled(void) const;
00892
00903 bool wantsMultiClickEvents(void) const;
00904
00916 bool isMouseAutoRepeatEnabled(void) const;
00917
00926 float getAutoRepeatDelay(void) const;
00927
00937 float getAutoRepeatRate(void) const;
00938
00948 bool distributesCapturedInputs(void) const;
00949
00959 bool isUsingDefaultTooltip(void) const;
00960
00970 Tooltip* getTooltip(void) const;
00971
00980 String getTooltipType(void) const;
00981
00989 const String& getTooltipText(void) const;
00990
01002 bool inheritsTooltipText(void) const;
01003
01015 bool isRiseOnClickEnabled(void) const { return d_riseOnClick; }
01016
01028 bool testClassName(const String& class_name) const
01029 {return testClassName_impl(class_name);}
01030
01041 VerticalAlignment getVerticalAlignment() const {return d_vertAlign;}
01042
01053 HorizontalAlignment getHorizontalAlignment() const {return d_horzAlign;}
01054
01062 RenderCache& getRenderCache() { return d_renderCache; }
01063
01072 const String& getLookNFeel() const;
01073
01081 bool getModalState(void) const
01082 {return (System::getSingleton().getModalTarget() == this);}
01083
01097 const String& getUserString(const String& name) const;
01098
01110 bool isUserStringDefined(const String& name) const;
01111
01127 Window* getActiveSibling();
01128
01138 Size getParentPixelSize(void) const;
01139
01149 float getParentPixelWidth(void) const;
01150
01160 float getParentPixelHeight(void) const;
01161
01172 bool isMousePassThroughEnabled(void) const {return d_mousePassThroughEnabled;}
01173
01179 bool isAutoWindow(void) const {return d_autoWindow;}
01180
01185 bool isWritingXMLAllowed(void) const {return d_allowWriteXML;}
01186
01211 EventSet::Iterator getEventIterator() const;
01212
01233 PropertySet::Iterator getPropertyIterator() const;
01234
01244 bool isDragDropTarget() const;
01245
01246
01247
01248
01259 void rename(const String& new_name);
01260
01272 virtual void initialiseComponents(void) {}
01273
01287 void setDestroyedByParent(bool setting);
01288
01301 void setAlwaysOnTop(bool setting);
01302
01315 void setEnabled(bool setting);
01316
01324 void enable(void) {setEnabled(true);}
01325
01333 void disable(void) {setEnabled(false);}
01334
01352 void setVisible(bool setting);
01353
01366 void show(void) {setVisible(true);}
01367
01378 void hide(void) {setVisible(false);}
01379
01388 void activate(void);
01389
01399 void deactivate(void);
01400
01413 void setClippedByParent(bool setting);
01414
01426 void setID(uint ID);
01427
01432 void setPrefix(String prefix) { d_windowPrefix = prefix;}
01433
01444 void setText(const String& text);
01445
01459 void insertText(const String& text, const String::size_type position);
01460
01470 void appendText(const String& text);
01471
01483 void setFont(Font* font);
01484
01499 void setFont(const String& name);
01500
01519 void addChildWindow(const String& name);
01520
01537 void addChildWindow(Window* window);
01538
01550 void removeChildWindow(const String& name);
01551
01563 void removeChildWindow(Window* window);
01564
01578 void removeChildWindow(uint ID);
01579
01593 void moveToFront();
01594
01609 void moveToBack();
01610
01620 bool captureInput(void);
01621
01630 void releaseInput(void);
01631
01650 void setRestoreCapture(bool setting);
01651
01672 void setAlpha(float alpha);
01673
01685 void setInheritsAlpha(bool setting);
01686
01695 void requestRedraw(void) const;
01696
01708 void setMouseCursor(const Image* image) {d_mouseCursor = image;}
01709
01720 void setMouseCursor(MouseCursorImage image)
01721 {d_mouseCursor = (const Image*)image;}
01722
01742 void setMouseCursor(const String& imageset, const String& image_name);
01743
01758 void setUserData(void* user_data) {d_userData = user_data;}
01759
01773 void setZOrderingEnabled(bool setting);
01774
01788 void setWantsMultiClickEvents(bool setting);
01789
01802 void setMouseAutoRepeatEnabled(bool setting);
01803
01815 void setAutoRepeatDelay(float delay);
01816
01829 void setAutoRepeatRate(float rate);
01830
01840 void setDistributesCapturedInputs(bool setting);
01841
01847 void notifyDragDropItemEnters(DragContainer* item);
01848
01854 void notifyDragDropItemLeaves(DragContainer* item);
01855
01861 void notifyDragDropItemDropped(DragContainer* item);
01862
01876 virtual void destroy(void);
01877
01893 void setTooltip(Tooltip* tooltip);
01894
01913 void setTooltipType(const String& tooltipType);
01914
01926 void setTooltipText(const String& tip);
01927
01942 void setInheritsTooltipText(bool setting);
01943
01958 void setRiseOnClickEnabled(bool setting) { d_riseOnClick = setting; }
01959
01973 void setVerticalAlignment(const VerticalAlignment alignment);
01974
01988 void setHorizontalAlignment(const HorizontalAlignment alignment);
01989
02006 virtual void setLookNFeel(const String& look);
02007
02021 void setModalState(bool state);
02022
02033 virtual void performChildWindowLayout();
02034
02048 void setUserString(const String& name, const String& value);
02049
02076 void setArea(const UDim& xpos, const UDim& ypos, const UDim& width, const UDim& height);
02077
02099 void setArea(const UVector2& pos, const UVector2& size);
02100
02118 void setArea(const URect& area);
02119
02138 void setPosition(const UVector2& pos);
02139
02157 void setXPosition(const UDim& x);
02158
02176 void setYPosition(const UDim& y);
02177
02192 void setSize(const UVector2& size);
02193
02208 void setWidth(const UDim& width);
02209
02224 void setHeight(const UDim& height);
02225
02242 void setMaxSize(const UVector2& size);
02243
02260 void setMinSize(const UVector2& size);
02261
02279 const URect& getArea() const;
02280
02298 const UVector2& getPosition() const;
02299
02317 const UDim& getXPosition() const;
02318
02336 const UDim& getYPosition() const;
02337
02352 UVector2 getSize() const;
02353
02368 UDim getWidth() const;
02369
02384 UDim getHeight() const;
02385
02402 const UVector2& getMaxSize() const;
02403
02420 const UVector2& getMinSize() const;
02421
02430 void render(void);
02431
02450 void update(float elapsed);
02451
02462 virtual void writeXMLToStream(XMLSerializer& xml_stream) const;
02463
02472 virtual void beginInitialisation(void) {d_initialising=true;}
02473
02481 virtual void endInitialisation(void) {d_initialising=false;}
02482
02493 void setMousePassThroughEnabled(bool setting) {d_mousePassThroughEnabled = setting;}
02494
02506 void setWindowRenderer(const String& name);
02507
02516 WindowRenderer* getWindowRenderer(void) const;
02517
02527 String getWindowRendererName(void) const;
02528
02533 void setWritingXMLAllowed(bool allow) {d_allowWriteXML = allow;}
02534
02539 void notifyScreenAreaChanged(void);
02540
02552 void setFalagardType(const String& type, const String& rendererType = "");
02553
02563 void setDragDropTarget(bool setting);
02564
02565 protected:
02566
02567
02568
02569 friend class System;
02570
02571
02572
02573
02583 virtual void onSized(WindowEventArgs& e);
02584
02594 virtual void onMoved(WindowEventArgs& e);
02595
02605 virtual void onTextChanged(WindowEventArgs& e);
02606
02616 virtual void onFontChanged(WindowEventArgs& e);
02617
02627 virtual void onAlphaChanged(WindowEventArgs& e);
02628
02638 virtual void onIDChanged(WindowEventArgs& e);
02639
02649 virtual void onShown(WindowEventArgs& e);
02650
02660 virtual void onHidden(WindowEventArgs& e);
02661
02671 virtual void onEnabled(WindowEventArgs& e);
02672
02682 virtual void onDisabled(WindowEventArgs& e);
02683
02694 virtual void onClippingChanged(WindowEventArgs& e);
02695
02706 virtual void onParentDestroyChanged(WindowEventArgs& e);
02707
02718 virtual void onInheritsAlphaChanged(WindowEventArgs& e);
02719
02729 virtual void onAlwaysOnTopChanged(WindowEventArgs& e);
02730
02740 virtual void onCaptureGained(WindowEventArgs& e);
02741
02751 virtual void onCaptureLost(WindowEventArgs& e);
02752
02762 virtual void onRenderingStarted(WindowEventArgs& e);
02763
02773 virtual void onRenderingEnded(WindowEventArgs& e);
02774
02784 virtual void onZChanged(WindowEventArgs& e);
02785
02795 virtual void onDestructionStarted(WindowEventArgs& e);
02796
02805 virtual void onActivated(ActivationEventArgs& e);
02806
02816 virtual void onDeactivated(ActivationEventArgs& e);
02817
02829 virtual void onParentSized(WindowEventArgs& e);
02830
02839 virtual void onChildAdded(WindowEventArgs& e);
02840
02849 virtual void onChildRemoved(WindowEventArgs& e);
02850
02858 virtual void onMouseEnters(MouseEventArgs& e);
02859
02867 virtual void onMouseLeaves(MouseEventArgs& e);
02868
02877 virtual void onMouseMove(MouseEventArgs& e);
02878
02887 virtual void onMouseWheel(MouseEventArgs& e);
02888
02897 virtual void onMouseButtonDown(MouseEventArgs& e);
02898
02907 virtual void onMouseButtonUp(MouseEventArgs& e);
02908
02917 virtual void onMouseClicked(MouseEventArgs& e);
02918
02927 virtual void onMouseDoubleClicked(MouseEventArgs& e);
02928
02937 virtual void onMouseTripleClicked(MouseEventArgs& e);
02938
02950 virtual void onKeyDown(KeyEventArgs& e);
02951
02963 virtual void onKeyUp(KeyEventArgs& e);
02964
02976 virtual void onCharacter(KeyEventArgs& e);
02977
02988 virtual void onDragDropItemEnters(DragDropEventArgs& e);
02989
03000 virtual void onDragDropItemLeaves(DragDropEventArgs& e);
03001
03012 virtual void onDragDropItemDropped(DragDropEventArgs& e);
03013
03024 virtual void onVerticalAlignmentChanged(WindowEventArgs& e);
03025
03036 virtual void onHorizontalAlignmentChanged(WindowEventArgs& e);
03037
03047 virtual void onWindowRendererAttached(WindowEventArgs& e);
03048
03058 virtual void onWindowRendererDetached(WindowEventArgs& e);
03059
03060
03061
03062
03074 virtual void updateSelf(float elapsed);
03075
03087 virtual void drawSelf(float z);
03088
03096 virtual void populateRenderCache() {}
03097
03109 virtual bool testClassName_impl(const String& class_name) const
03110 {
03111 if (class_name=="Window") return true;
03112 return false;
03113 }
03114
03126 void setParent(Window* parent);
03127
03128 Size getSize_impl(const Window* window) const;
03129
03134 void generateAutoRepeatEvent(MouseButton button);
03135
03144 virtual bool validateWindowRenderer(const String& name) const;
03145
03150 void banPropertyFromXML(const Property* property);
03151
03156 bool isPropertyBannedFromXML(const Property* property) const;
03157
03164 bool isPropertyAtDefault(const Property* property) const;
03165
03171 void notifyClippingChanged(void);
03172
03173
03174
03175
03176
03177 typedef std::vector<Window*> ChildList;
03179 ChildList d_children;
03180
03182 ChildList d_drawList;
03183
03184
03186 static Window* d_captureWindow;
03187
03189 Window* d_oldCapture;
03190
03192 Window* d_parent;
03193
03195 Font* d_font;
03196
03198 String d_text;
03199
03201 uint d_ID;
03202
03204 float d_alpha;
03205
03207 URect d_area;
03208
03210 Size d_pixelSize;
03211
03213 const Image* d_mouseCursor;
03214
03215
03216 typedef std::map<String, String, String::FastLessCompare> UserStringMap;
03217
03219 UserStringMap d_userStrings;
03220
03222 void* d_userData;
03223
03224
03226 HorizontalAlignment d_horzAlign;
03227
03229 VerticalAlignment d_vertAlign;
03230
03231
03233 UVector2 d_minSize;
03234
03236 UVector2 d_maxSize;
03237
03238
03240 bool d_enabled;
03241
03247 bool d_visible;
03248
03250 bool d_active;
03251
03253 bool d_clippedByParent;
03254
03256 bool d_destroyedByParent;
03257
03259 bool d_alwaysOnTop;
03260
03262 bool d_inheritsAlpha;
03263
03269 bool d_restoreOldCapture;
03270
03272 bool d_zOrderingEnabled;
03273
03275 bool d_wantsMultiClicks;
03276
03282 bool d_distCapturedInputs;
03283
03289 bool d_riseOnClick;
03290
03291
03297 bool d_autoRepeat;
03298
03300 float d_repeatDelay;
03301
03303 float d_repeatRate;
03304
03306 bool d_repeating;
03307
03309 float d_repeatElapsed;
03310
03316 MouseButton d_repeatButton;
03317
03319 bool d_dragDropTarget;
03320
03321
03323 String d_tooltipText;
03325 Tooltip* d_customTip;
03327 bool d_weOwnTip;
03333 bool d_inheritsTipText;
03334
03335
03337 RenderCache d_renderCache;
03339 mutable bool d_needsRedraw;
03340
03341
03343 String d_lookName;
03345 WindowRenderer* d_windowRenderer;
03346
03348 bool d_initialising;
03350 bool d_destructionStarted;
03351
03352
03358 bool d_mousePassThroughEnabled;
03359
03361 bool d_autoWindow;
03362
03368 typedef std::set<String, String::FastLessCompare> BannedXMLPropertySet;
03369 BannedXMLPropertySet d_bannedXMLProperties;
03370
03372 bool d_allowWriteXML;
03373
03375 mutable Rect d_screenUnclippedRect;
03376 mutable bool d_screenUnclippedRectValid;
03378 mutable Rect d_screenUnclippedInnerRect;
03379 mutable bool d_screenUnclippedInnerRectValid;
03381 mutable Rect d_screenRect;
03382 mutable bool d_screenRectValid;
03384 mutable Rect d_screenInnerRect;
03385 mutable bool d_screenInnerRectValid;
03386
03387 protected:
03388
03389
03390
03391 static WindowProperties::Alpha d_alphaProperty;
03392 static WindowProperties::AlwaysOnTop d_alwaysOnTopProperty;
03393 static WindowProperties::ClippedByParent d_clippedByParentProperty;
03394 static WindowProperties::DestroyedByParent d_destroyedByParentProperty;
03395 static WindowProperties::Disabled d_disabledProperty;
03396 static WindowProperties::Font d_fontProperty;
03397 static WindowProperties::ID d_IDProperty;
03398 static WindowProperties::InheritsAlpha d_inheritsAlphaProperty;
03399 static WindowProperties::MouseCursorImage d_mouseCursorProperty;
03400 static WindowProperties::RestoreOldCapture d_restoreOldCaptureProperty;
03401 static WindowProperties::Text d_textProperty;
03402 static WindowProperties::Visible d_visibleProperty;
03403 static WindowProperties::ZOrderChangeEnabled d_zOrderChangeProperty;
03404 static WindowProperties::WantsMultiClickEvents d_wantsMultiClicksProperty;
03405 static WindowProperties::MouseButtonDownAutoRepeat d_autoRepeatProperty;
03406 static WindowProperties::AutoRepeatDelay d_autoRepeatDelayProperty;
03407 static WindowProperties::AutoRepeatRate d_autoRepeatRateProperty;
03408 static WindowProperties::DistributeCapturedInputs d_distInputsProperty;
03409 static WindowProperties::CustomTooltipType d_tooltipTypeProperty;
03410 static WindowProperties::Tooltip d_tooltipProperty;
03411 static WindowProperties::InheritsTooltipText d_inheritsTooltipProperty;
03412 static WindowProperties::RiseOnClick d_riseOnClickProperty;
03413 static WindowProperties::VerticalAlignment d_vertAlignProperty;
03414 static WindowProperties::HorizontalAlignment d_horzAlignProperty;
03415 static WindowProperties::UnifiedAreaRect d_unifiedAreaRectProperty;
03416 static WindowProperties::UnifiedPosition d_unifiedPositionProperty;
03417 static WindowProperties::UnifiedXPosition d_unifiedXPositionProperty;
03418 static WindowProperties::UnifiedYPosition d_unifiedYPositionProperty;
03419 static WindowProperties::UnifiedSize d_unifiedSizeProperty;
03420 static WindowProperties::UnifiedWidth d_unifiedWidthProperty;
03421 static WindowProperties::UnifiedHeight d_unifiedHeightProperty;
03422 static WindowProperties::UnifiedMinSize d_unifiedMinSizeProperty;
03423 static WindowProperties::UnifiedMaxSize d_unifiedMaxSizeProperty;
03424 static WindowProperties::MousePassThroughEnabled d_mousePassThroughEnabledProperty;
03425 static WindowProperties::WindowRenderer d_windowRendererProperty;
03426 static WindowProperties::LookNFeel d_lookNFeelProperty;
03427 static WindowProperties::DragDropTarget d_dragDropTargetProperty;
03428
03429
03430
03431
03436 virtual void cleanupChildren(void);
03437
03442 virtual void addChild_impl(Window* wnd);
03443
03448 virtual void removeChild_impl(Window* wnd);
03449
03454 virtual void onZChange_impl(void);
03455
03460 void addStandardProperties(void);
03461
03470 virtual bool moveToFront_impl(bool wasClicked);
03471
03479 bool doRiseOnClick(void);
03480
03511 void setArea_impl(const UVector2& pos, const UVector2& size, bool topLeftSizing = false, bool fireEvents = true);
03512
03532 void addWindowToDrawList(Window& wnd, bool at_back = false);
03533
03545 void removeWindowFromDrawList(const Window& wnd);
03546
03558 bool isTopOfZOrder() const;
03559
03560 virtual int writePropertiesXML(XMLSerializer& xml_stream) const;
03561 virtual int writeChildWindowsXML(XMLSerializer& xml_stream) const;
03562 virtual bool writeAutoChildWindowXML(XMLSerializer& xml_stream) const;
03563
03564
03565
03566
03567 Window(const Window& wnd) : PropertySet(), EventSet() {}
03568 Window& operator=(const Window& wnd) {return *this;}
03569
03570
03571
03572
03578 const String d_type;
03579
03581 String d_name;
03582
03584 String d_falagardType;
03585
03587 String d_windowPrefix;
03588
03589 friend class WindowManager;
03590 };
03591
03592 }
03593
03594
03595 #if defined(_MSC_VER)
03596 # pragma warning(pop)
03597 #endif
03598
03599 #endif // end of guard _CEGUIWindow_h_