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
00476 Window* recursiveChildSearch(const String& name) const;
00477
00499 Window* getChild(uint ID) const;
00500
00524 Window* getChildRecursive(const String& name) const;
00525
00547 Window* getChildRecursive(uint ID) const;
00548
00562 Window* getChildAtIdx(size_t idx) const {return d_children[idx];}
00563
00576 Window* getActiveChild(void);
00577 const Window* getActiveChild(void) const;
00578
00592 bool isAncestor(const String& name) const;
00593
00607 bool isAncestor(uint ID) const;
00608
00621 bool isAncestor(const Window* window) const;
00622
00636 Font* getFont(bool useDefault = true) const;
00637
00645 const String& getText(void) const {return d_text;}
00646
00655 bool inheritsAlpha(void) const {return d_inheritsAlpha;}
00656
00674 float getAlpha(void) const {return d_alpha;}
00675
00685 float getEffectiveAlpha(void) const;
00686
00700 Rect getPixelRect(void) const;
00701
00715 virtual Rect getPixelRect_impl(void) const;
00716
00725 Rect getInnerRect(void) const;
00726
00737 Rect getUnclippedPixelRect(void) const;
00738
00750 Rect getUnclippedInnerRect(void) const;
00751
00763 virtual Rect getUnclippedInnerRect_impl(void) const;
00764
00773 static Window* getCaptureWindow(void) {return d_captureWindow;}
00774
00783 bool isCapturedByThis(void) const {return getCaptureWindow() == this;}
00784
00794 bool isCapturedByAncestor(void) const
00795 {return isAncestor(getCaptureWindow());}
00796
00805 bool isCapturedByChild(void) const {return isChild(getCaptureWindow());}
00806
00819 virtual bool isHit(const Vector2& position) const;
00820
00833 Window* getChildAtPosition(const Vector2& position) const;
00834
00848 Window* getTargetChildAtPosition(const Vector2& position) const;
00849
00858 Window* getParent(void) const {return d_parent;}
00859
00874 const Image* getMouseCursor(bool useDefault = true) const;
00875
00883 Size getPixelSize(void) const { return d_pixelSize; }
00884
00896 void* getUserData(void) const {return d_userData;}
00897
00912 bool restoresOldCapture(void) const {return d_restoreOldCapture;}
00913
00933 bool isZOrderingEnabled(void) const;
00934
00945 bool wantsMultiClickEvents(void) const;
00946
00958 bool isMouseAutoRepeatEnabled(void) const;
00959
00968 float getAutoRepeatDelay(void) const;
00969
00979 float getAutoRepeatRate(void) const;
00980
00990 bool distributesCapturedInputs(void) const;
00991
01001 bool isUsingDefaultTooltip(void) const;
01002
01012 Tooltip* getTooltip(void) const;
01013
01022 String getTooltipType(void) const;
01023
01031 const String& getTooltipText(void) const;
01032
01044 bool inheritsTooltipText(void) const;
01045
01066 bool isRiseOnClickEnabled(void) const { return d_riseOnClick; }
01067
01079 bool testClassName(const String& class_name) const
01080 {return testClassName_impl(class_name);}
01081
01092 VerticalAlignment getVerticalAlignment() const {return d_vertAlign;}
01093
01104 HorizontalAlignment getHorizontalAlignment() const {return d_horzAlign;}
01105
01113 RenderCache& getRenderCache() { return d_renderCache; }
01114
01123 const String& getLookNFeel() const;
01124
01132 bool getModalState(void) const
01133 {return (System::getSingleton().getModalTarget() == this);}
01134
01148 const String& getUserString(const String& name) const;
01149
01161 bool isUserStringDefined(const String& name) const;
01162
01178 Window* getActiveSibling();
01179
01189 Size getParentPixelSize(void) const;
01190
01200 float getParentPixelWidth(void) const;
01201
01211 float getParentPixelHeight(void) const;
01212
01223 bool isMousePassThroughEnabled(void) const {return d_mousePassThroughEnabled;}
01224
01230 bool isAutoWindow(void) const {return d_autoWindow;}
01231
01236 bool isWritingXMLAllowed(void) const {return d_allowWriteXML;}
01237
01262 EventSet::Iterator getEventIterator() const;
01263
01284 PropertySet::Iterator getPropertyIterator() const;
01285
01295 bool isDragDropTarget() const;
01296
01297
01298
01299
01310 void rename(const String& new_name);
01311
01323 virtual void initialiseComponents(void) {}
01324
01338 void setDestroyedByParent(bool setting);
01339
01352 void setAlwaysOnTop(bool setting);
01353
01366 void setEnabled(bool setting);
01367
01375 void enable(void) {setEnabled(true);}
01376
01384 void disable(void) {setEnabled(false);}
01385
01403 void setVisible(bool setting);
01404
01417 void show(void) {setVisible(true);}
01418
01429 void hide(void) {setVisible(false);}
01430
01439 void activate(void);
01440
01450 void deactivate(void);
01451
01464 void setClippedByParent(bool setting);
01465
01477 void setID(uint ID);
01478
01483 void setPrefix(String prefix) { d_windowPrefix = prefix;}
01484
01495 void setText(const String& text);
01496
01510 void insertText(const String& text, const String::size_type position);
01511
01521 void appendText(const String& text);
01522
01534 void setFont(Font* font);
01535
01550 void setFont(const String& name);
01551
01570 void addChildWindow(const String& name);
01571
01588 void addChildWindow(Window* window);
01589
01601 void removeChildWindow(const String& name);
01602
01614 void removeChildWindow(Window* window);
01615
01629 void removeChildWindow(uint ID);
01630
01644 void moveToFront();
01645
01660 void moveToBack();
01661
01671 bool captureInput(void);
01672
01681 void releaseInput(void);
01682
01701 void setRestoreCapture(bool setting);
01702
01723 void setAlpha(float alpha);
01724
01736 void setInheritsAlpha(bool setting);
01737
01746 void requestRedraw(void) const;
01747
01759 void setMouseCursor(const Image* image) {d_mouseCursor = image;}
01760
01771 void setMouseCursor(MouseCursorImage image)
01772 {d_mouseCursor = (const Image*)image;}
01773
01793 void setMouseCursor(const String& imageset, const String& image_name);
01794
01809 void setUserData(void* user_data) {d_userData = user_data;}
01810
01833 void setZOrderingEnabled(bool setting);
01834
01848 void setWantsMultiClickEvents(bool setting);
01849
01862 void setMouseAutoRepeatEnabled(bool setting);
01863
01875 void setAutoRepeatDelay(float delay);
01876
01889 void setAutoRepeatRate(float rate);
01890
01900 void setDistributesCapturedInputs(bool setting);
01901
01907 void notifyDragDropItemEnters(DragContainer* item);
01908
01914 void notifyDragDropItemLeaves(DragContainer* item);
01915
01921 void notifyDragDropItemDropped(DragContainer* item);
01922
01936 virtual void destroy(void);
01937
01953 void setTooltip(Tooltip* tooltip);
01954
01973 void setTooltipType(const String& tooltipType);
01974
01986 void setTooltipText(const String& tip);
01987
02002 void setInheritsTooltipText(bool setting);
02003
02027 void setRiseOnClickEnabled(bool setting) { d_riseOnClick = setting; }
02028
02042 void setVerticalAlignment(const VerticalAlignment alignment);
02043
02057 void setHorizontalAlignment(const HorizontalAlignment alignment);
02058
02075 virtual void setLookNFeel(const String& look);
02076
02090 void setModalState(bool state);
02091
02102 virtual void performChildWindowLayout();
02103
02117 void setUserString(const String& name, const String& value);
02118
02145 void setArea(const UDim& xpos, const UDim& ypos, const UDim& width, const UDim& height);
02146
02168 void setArea(const UVector2& pos, const UVector2& size);
02169
02187 void setArea(const URect& area);
02188
02207 void setPosition(const UVector2& pos);
02208
02226 void setXPosition(const UDim& x);
02227
02245 void setYPosition(const UDim& y);
02246
02261 void setSize(const UVector2& size);
02262
02277 void setWidth(const UDim& width);
02278
02293 void setHeight(const UDim& height);
02294
02311 void setMaxSize(const UVector2& size);
02312
02329 void setMinSize(const UVector2& size);
02330
02348 const URect& getArea() const;
02349
02367 const UVector2& getPosition() const;
02368
02386 const UDim& getXPosition() const;
02387
02405 const UDim& getYPosition() const;
02406
02421 UVector2 getSize() const;
02422
02437 UDim getWidth() const;
02438
02453 UDim getHeight() const;
02454
02471 const UVector2& getMaxSize() const;
02472
02489 const UVector2& getMinSize() const;
02490
02499 void render(void);
02500
02519 void update(float elapsed);
02520
02531 virtual void writeXMLToStream(XMLSerializer& xml_stream) const;
02532
02541 virtual void beginInitialisation(void) {d_initialising=true;}
02542
02550 virtual void endInitialisation(void) {d_initialising=false;}
02551
02562 void setMousePassThroughEnabled(bool setting) {d_mousePassThroughEnabled = setting;}
02563
02575 void setWindowRenderer(const String& name);
02576
02585 WindowRenderer* getWindowRenderer(void) const;
02586
02596 String getWindowRendererName(void) const;
02597
02602 void setWritingXMLAllowed(bool allow) {d_allowWriteXML = allow;}
02603
02608 void notifyScreenAreaChanged(void);
02609
02621 void setFalagardType(const String& type, const String& rendererType = "");
02622
02632 void setDragDropTarget(bool setting);
02633
02634 protected:
02635
02636
02637
02638 friend class System;
02639
02640
02641
02642
02652 virtual void onSized(WindowEventArgs& e);
02653
02663 virtual void onMoved(WindowEventArgs& e);
02664
02674 virtual void onTextChanged(WindowEventArgs& e);
02675
02685 virtual void onFontChanged(WindowEventArgs& e);
02686
02696 virtual void onAlphaChanged(WindowEventArgs& e);
02697
02707 virtual void onIDChanged(WindowEventArgs& e);
02708
02718 virtual void onShown(WindowEventArgs& e);
02719
02729 virtual void onHidden(WindowEventArgs& e);
02730
02740 virtual void onEnabled(WindowEventArgs& e);
02741
02751 virtual void onDisabled(WindowEventArgs& e);
02752
02763 virtual void onClippingChanged(WindowEventArgs& e);
02764
02775 virtual void onParentDestroyChanged(WindowEventArgs& e);
02776
02787 virtual void onInheritsAlphaChanged(WindowEventArgs& e);
02788
02798 virtual void onAlwaysOnTopChanged(WindowEventArgs& e);
02799
02809 virtual void onCaptureGained(WindowEventArgs& e);
02810
02820 virtual void onCaptureLost(WindowEventArgs& e);
02821
02831 virtual void onRenderingStarted(WindowEventArgs& e);
02832
02842 virtual void onRenderingEnded(WindowEventArgs& e);
02843
02853 virtual void onZChanged(WindowEventArgs& e);
02854
02864 virtual void onDestructionStarted(WindowEventArgs& e);
02865
02874 virtual void onActivated(ActivationEventArgs& e);
02875
02885 virtual void onDeactivated(ActivationEventArgs& e);
02886
02898 virtual void onParentSized(WindowEventArgs& e);
02899
02908 virtual void onChildAdded(WindowEventArgs& e);
02909
02918 virtual void onChildRemoved(WindowEventArgs& e);
02919
02927 virtual void onMouseEnters(MouseEventArgs& e);
02928
02936 virtual void onMouseLeaves(MouseEventArgs& e);
02937
02946 virtual void onMouseMove(MouseEventArgs& e);
02947
02956 virtual void onMouseWheel(MouseEventArgs& e);
02957
02966 virtual void onMouseButtonDown(MouseEventArgs& e);
02967
02976 virtual void onMouseButtonUp(MouseEventArgs& e);
02977
02986 virtual void onMouseClicked(MouseEventArgs& e);
02987
02996 virtual void onMouseDoubleClicked(MouseEventArgs& e);
02997
03006 virtual void onMouseTripleClicked(MouseEventArgs& e);
03007
03019 virtual void onKeyDown(KeyEventArgs& e);
03020
03032 virtual void onKeyUp(KeyEventArgs& e);
03033
03045 virtual void onCharacter(KeyEventArgs& e);
03046
03057 virtual void onDragDropItemEnters(DragDropEventArgs& e);
03058
03069 virtual void onDragDropItemLeaves(DragDropEventArgs& e);
03070
03081 virtual void onDragDropItemDropped(DragDropEventArgs& e);
03082
03093 virtual void onVerticalAlignmentChanged(WindowEventArgs& e);
03094
03105 virtual void onHorizontalAlignmentChanged(WindowEventArgs& e);
03106
03116 virtual void onWindowRendererAttached(WindowEventArgs& e);
03117
03127 virtual void onWindowRendererDetached(WindowEventArgs& e);
03128
03129
03130
03131
03143 virtual void updateSelf(float elapsed);
03144
03156 virtual void drawSelf(float z);
03157
03165 virtual void populateRenderCache() {}
03166
03178 virtual bool testClassName_impl(const String& class_name) const
03179 {
03180 if (class_name=="Window") return true;
03181 return false;
03182 }
03183
03195 void setParent(Window* parent);
03196
03197 Size getSize_impl(const Window* window) const;
03198
03203 void generateAutoRepeatEvent(MouseButton button);
03204
03213 virtual bool validateWindowRenderer(const String& name) const;
03214
03219 void banPropertyFromXML(const Property* property);
03220
03225 bool isPropertyBannedFromXML(const Property* property) const;
03226
03233 bool isPropertyAtDefault(const Property* property) const;
03234
03240 void notifyClippingChanged(void);
03241
03242
03243
03244
03245
03246 typedef std::vector<Window*> ChildList;
03248 ChildList d_children;
03249
03251 ChildList d_drawList;
03252
03253
03255 static Window* d_captureWindow;
03256
03258 Window* d_oldCapture;
03259
03261 Window* d_parent;
03262
03264 Font* d_font;
03265
03267 String d_text;
03268
03270 uint d_ID;
03271
03273 float d_alpha;
03274
03276 URect d_area;
03277
03279 Size d_pixelSize;
03280
03282 const Image* d_mouseCursor;
03283
03284
03285 typedef std::map<String, String, String::FastLessCompare> UserStringMap;
03286
03288 UserStringMap d_userStrings;
03289
03291 void* d_userData;
03292
03293
03295 HorizontalAlignment d_horzAlign;
03296
03298 VerticalAlignment d_vertAlign;
03299
03300
03302 UVector2 d_minSize;
03303
03305 UVector2 d_maxSize;
03306
03307
03309 bool d_enabled;
03310
03316 bool d_visible;
03317
03319 bool d_active;
03320
03322 bool d_clippedByParent;
03323
03325 bool d_destroyedByParent;
03326
03328 bool d_alwaysOnTop;
03329
03331 bool d_inheritsAlpha;
03332
03338 bool d_restoreOldCapture;
03339
03341 bool d_zOrderingEnabled;
03342
03344 bool d_wantsMultiClicks;
03345
03351 bool d_distCapturedInputs;
03352
03358 bool d_riseOnClick;
03359
03360
03366 bool d_autoRepeat;
03367
03369 float d_repeatDelay;
03370
03372 float d_repeatRate;
03373
03375 bool d_repeating;
03376
03378 float d_repeatElapsed;
03379
03385 MouseButton d_repeatButton;
03386
03388 bool d_dragDropTarget;
03389
03390
03392 String d_tooltipText;
03394 Tooltip* d_customTip;
03396 bool d_weOwnTip;
03402 bool d_inheritsTipText;
03403
03404
03406 RenderCache d_renderCache;
03408 mutable bool d_needsRedraw;
03409
03410
03412 String d_lookName;
03414 WindowRenderer* d_windowRenderer;
03415
03417 bool d_initialising;
03419 bool d_destructionStarted;
03420
03421
03427 bool d_mousePassThroughEnabled;
03428
03430 bool d_autoWindow;
03431
03437 typedef std::set<String, String::FastLessCompare> BannedXMLPropertySet;
03438 BannedXMLPropertySet d_bannedXMLProperties;
03439
03441 bool d_allowWriteXML;
03442
03444 mutable Rect d_screenUnclippedRect;
03445 mutable bool d_screenUnclippedRectValid;
03447 mutable Rect d_screenUnclippedInnerRect;
03448 mutable bool d_screenUnclippedInnerRectValid;
03450 mutable Rect d_screenRect;
03451 mutable bool d_screenRectValid;
03453 mutable Rect d_screenInnerRect;
03454 mutable bool d_screenInnerRectValid;
03455
03456 protected:
03457
03458
03459
03460 static WindowProperties::Alpha d_alphaProperty;
03461 static WindowProperties::AlwaysOnTop d_alwaysOnTopProperty;
03462 static WindowProperties::ClippedByParent d_clippedByParentProperty;
03463 static WindowProperties::DestroyedByParent d_destroyedByParentProperty;
03464 static WindowProperties::Disabled d_disabledProperty;
03465 static WindowProperties::Font d_fontProperty;
03466 static WindowProperties::ID d_IDProperty;
03467 static WindowProperties::InheritsAlpha d_inheritsAlphaProperty;
03468 static WindowProperties::MouseCursorImage d_mouseCursorProperty;
03469 static WindowProperties::RestoreOldCapture d_restoreOldCaptureProperty;
03470 static WindowProperties::Text d_textProperty;
03471 static WindowProperties::Visible d_visibleProperty;
03472 static WindowProperties::ZOrderChangeEnabled d_zOrderChangeProperty;
03473 static WindowProperties::WantsMultiClickEvents d_wantsMultiClicksProperty;
03474 static WindowProperties::MouseButtonDownAutoRepeat d_autoRepeatProperty;
03475 static WindowProperties::AutoRepeatDelay d_autoRepeatDelayProperty;
03476 static WindowProperties::AutoRepeatRate d_autoRepeatRateProperty;
03477 static WindowProperties::DistributeCapturedInputs d_distInputsProperty;
03478 static WindowProperties::CustomTooltipType d_tooltipTypeProperty;
03479 static WindowProperties::Tooltip d_tooltipProperty;
03480 static WindowProperties::InheritsTooltipText d_inheritsTooltipProperty;
03481 static WindowProperties::RiseOnClick d_riseOnClickProperty;
03482 static WindowProperties::VerticalAlignment d_vertAlignProperty;
03483 static WindowProperties::HorizontalAlignment d_horzAlignProperty;
03484 static WindowProperties::UnifiedAreaRect d_unifiedAreaRectProperty;
03485 static WindowProperties::UnifiedPosition d_unifiedPositionProperty;
03486 static WindowProperties::UnifiedXPosition d_unifiedXPositionProperty;
03487 static WindowProperties::UnifiedYPosition d_unifiedYPositionProperty;
03488 static WindowProperties::UnifiedSize d_unifiedSizeProperty;
03489 static WindowProperties::UnifiedWidth d_unifiedWidthProperty;
03490 static WindowProperties::UnifiedHeight d_unifiedHeightProperty;
03491 static WindowProperties::UnifiedMinSize d_unifiedMinSizeProperty;
03492 static WindowProperties::UnifiedMaxSize d_unifiedMaxSizeProperty;
03493 static WindowProperties::MousePassThroughEnabled d_mousePassThroughEnabledProperty;
03494 static WindowProperties::WindowRenderer d_windowRendererProperty;
03495 static WindowProperties::LookNFeel d_lookNFeelProperty;
03496 static WindowProperties::DragDropTarget d_dragDropTargetProperty;
03497
03498
03499
03500
03505 virtual void cleanupChildren(void);
03506
03511 virtual void addChild_impl(Window* wnd);
03512
03517 virtual void removeChild_impl(Window* wnd);
03518
03523 virtual void onZChange_impl(void);
03524
03529 void addStandardProperties(void);
03530
03539 virtual bool moveToFront_impl(bool wasClicked);
03540
03553 bool doRiseOnClick(void);
03554
03585 void setArea_impl(const UVector2& pos, const UVector2& size, bool topLeftSizing = false, bool fireEvents = true);
03586
03606 void addWindowToDrawList(Window& wnd, bool at_back = false);
03607
03619 void removeWindowFromDrawList(const Window& wnd);
03620
03632 bool isTopOfZOrder() const;
03633
03634 virtual int writePropertiesXML(XMLSerializer& xml_stream) const;
03635 virtual int writeChildWindowsXML(XMLSerializer& xml_stream) const;
03636 virtual bool writeAutoChildWindowXML(XMLSerializer& xml_stream) const;
03637
03638
03639
03640
03641 Window(const Window& wnd) : PropertySet(), EventSet() {}
03642 Window& operator=(const Window& wnd) {return *this;}
03643
03644
03645
03646
03652 const String d_type;
03653
03655 String d_name;
03656
03658 String d_falagardType;
03659
03661 String d_windowPrefix;
03662
03663 friend class WindowManager;
03664 };
03665
03666 }
03667
03668
03669 #if defined(_MSC_VER)
03670 # pragma warning(pop)
03671 #endif
03672
03673 #endif // end of guard _CEGUIWindow_h_