Crazy Eddies GUI System  0.6.0
CEGUIWindow.h
1 /***********************************************************************
2  filename: CEGUIWindow.h
3  created: 21/2/2004
4  author: Paul D Turner
5 
6  purpose: Defines abstract base class for Window objects
7 *************************************************************************/
8 /***************************************************************************
9  * Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining
12  * a copy of this software and associated documentation files (the
13  * "Software"), to deal in the Software without restriction, including
14  * without limitation the rights to use, copy, modify, merge, publish,
15  * distribute, sublicense, and/or sell copies of the Software, and to
16  * permit persons to whom the Software is furnished to do so, subject to
17  * the following conditions:
18  *
19  * The above copyright notice and this permission notice shall be
20  * included in all copies or substantial portions of the Software.
21  *
22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25  * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
26  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
27  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
28  * OTHER DEALINGS IN THE SOFTWARE.
29  ***************************************************************************/
30 #ifndef _CEGUIWindow_h_
31 #define _CEGUIWindow_h_
32 
33 #include "CEGUIBase.h"
34 #include "CEGUIString.h"
35 #include "CEGUIVector.h"
36 #include "CEGUIRect.h"
37 #include "CEGUISize.h"
38 #include "CEGUIEventSet.h"
39 #include "CEGUIPropertySet.h"
40 #include "CEGUISystem.h"
41 #include "CEGUIInputEvent.h"
42 #include "CEGUIWindowProperties.h"
43 #include "CEGUIUDim.h"
44 #include "CEGUIRenderCache.h"
45 #include "CEGUIWindowRenderer.h"
46 #include <vector>
47 #include <set>
48 
49 
50 #if defined(_MSC_VER)
51 # pragma warning(push)
52 # pragma warning(disable : 4251)
53 #endif
54 
55 
56 // Start of CEGUI namespace section
57 namespace CEGUI
58 {
64 {
80 };
81 
87 {
103 };
104 
118 class CEGUIEXPORT Window : public PropertySet, public EventSet
119 {
120 public:
121  /*************************************************************************
122  Event name constants
123  *************************************************************************/
125  static const String EventNamespace;
126 
127  // generated internally by Window
128  static const String EventWindowUpdated;
129 
130  static const String EventParentSized;
132  static const String EventSized;
134  static const String EventMoved;
136  static const String EventTextChanged;
138  static const String EventFontChanged;
140  static const String EventAlphaChanged;
142  static const String EventIDChanged;
144  static const String EventActivated;
146  static const String EventDeactivated;
148  static const String EventShown;
150  static const String EventHidden;
152  static const String EventEnabled;
154  static const String EventDisabled;
172  static const String EventChildAdded;
174  static const String EventChildRemoved;
193 
194  // generated externally (inputs)
196  static const String EventMouseEnters;
198  static const String EventMouseLeaves;
200  static const String EventMouseMove;
202  static const String EventMouseWheel;
208  static const String EventMouseClick;
214  static const String EventKeyDown;
216  static const String EventKeyUp;
218  static const String EventCharacterKey;
219 
220  /*************************************************************************
221  Child Widget name suffix constants
222  *************************************************************************/
224  static const String TooltipNameSuffix;
227 
228 
229  /*************************************************************************
230  Construction and Destruction
231  *************************************************************************/
242  Window(const String& type, const String& name);
243 
248  virtual ~Window(void);
249 
250  /*************************************************************************
251  Accessor functions
252  *************************************************************************/
260  const String& getType(void) const;
261 
269  const String& getName(void) const {return d_name;}
270 
275  const String& getPrefix(void) const {return d_windowPrefix;}
276 
286  bool isDestroyedByParent(void) const {return d_destroyedByParent;}
287 
297  bool isAlwaysOnTop(void) const {return d_alwaysOnTop;}
298 
311  bool isDisabled(bool localOnly = false) const;
312 
329  bool isVisible(bool localOnly = false) const;
330 
345  bool isActive(void) const;
346 
356  bool isClippedByParent(void) const {return d_clippedByParent;}
357 
365  uint getID(void) const {return d_ID;}
366 
376  size_t getChildCount(void) const {return d_children.size();}
377 
390  bool isChild(const String& name) const;
391 
408  bool isChild(uint ID) const;
409 
430  bool isChildRecursive(uint ID) const;
431 
443  bool isChild(const Window* window) const;
444 
466  Window* getChild(const String& name) const;
467 
468  Window* recursiveChildSearch(const String& name) const;
469 
491  Window* getChild(uint ID) const;
492 
514  Window* getChildRecursive(uint ID) const;
515 
529  Window* getChildAtIdx(size_t idx) const {return d_children[idx];}
530 
543  Window* getActiveChild(void);
544  const Window* getActiveChild(void) const;
545 
559  bool isAncestor(const String& name) const;
560 
574  bool isAncestor(uint ID) const;
575 
588  bool isAncestor(const Window* window) const;
589 
603  Font* getFont(bool useDefault = true) const;
604 
612  const String& getText(void) const {return d_text;}
613 
622  bool inheritsAlpha(void) const {return d_inheritsAlpha;}
623 
641  float getAlpha(void) const {return d_alpha;}
642 
652  float getEffectiveAlpha(void) const;
653 
667  Rect getPixelRect(void) const;
668 
682  virtual Rect getPixelRect_impl(void) const;
683 
692  Rect getInnerRect(void) const;
693 
704  Rect getUnclippedPixelRect(void) const;
705 
717  Rect getUnclippedInnerRect(void) const;
718 
730  virtual Rect getUnclippedInnerRect_impl(void) const;
731 
740  static Window* getCaptureWindow(void) {return d_captureWindow;}
741 
750  bool isCapturedByThis(void) const {return getCaptureWindow() == this;}
751 
761  bool isCapturedByAncestor(void) const
762  {return isAncestor(getCaptureWindow());}
763 
772  bool isCapturedByChild(void) const {return isChild(getCaptureWindow());}
773 
786  virtual bool isHit(const Vector2& position) const;
787 
800  Window* getChildAtPosition(const Vector2& position) const;
801 
815  Window* getTargetChildAtPosition(const Vector2& position) const;
816 
825  Window* getParent(void) const {return d_parent;}
826 
841  const Image* getMouseCursor(bool useDefault = true) const;
842 
850  Size getPixelSize(void) const { return d_pixelSize; }
851 
863  void* getUserData(void) const {return d_userData;}
864 
879  bool restoresOldCapture(void) const {return d_restoreOldCapture;}
880 
891  bool isZOrderingEnabled(void) const;
892 
903  bool wantsMultiClickEvents(void) const;
904 
916  bool isMouseAutoRepeatEnabled(void) const;
917 
926  float getAutoRepeatDelay(void) const;
927 
937  float getAutoRepeatRate(void) const;
938 
948  bool distributesCapturedInputs(void) const;
949 
959  bool isUsingDefaultTooltip(void) const;
960 
970  Tooltip* getTooltip(void) const;
971 
980  String getTooltipType(void) const;
981 
989  const String& getTooltipText(void) const;
990 
1002  bool inheritsTooltipText(void) const;
1003 
1015  bool isRiseOnClickEnabled(void) const { return d_riseOnClick; }
1016 
1028  bool testClassName(const String& class_name) const
1029  {return testClassName_impl(class_name);}
1030 
1041  VerticalAlignment getVerticalAlignment() const {return d_vertAlign;}
1042 
1053  HorizontalAlignment getHorizontalAlignment() const {return d_horzAlign;}
1054 
1062  RenderCache& getRenderCache() { return d_renderCache; }
1063 
1072  const String& getLookNFeel() const;
1073 
1081  bool getModalState(void) const
1082  {return (System::getSingleton().getModalTarget() == this);}
1083 
1097  const String& getUserString(const String& name) const;
1098 
1110  bool isUserStringDefined(const String& name) const;
1111 
1127  Window* getActiveSibling();
1128 
1138  Size getParentPixelSize(void) const;
1139 
1149  float getParentPixelWidth(void) const;
1150 
1160  float getParentPixelHeight(void) const;
1161 
1172  bool isMousePassThroughEnabled(void) const {return d_mousePassThroughEnabled;}
1173 
1179  bool isAutoWindow(void) const {return d_autoWindow;}
1180 
1185  bool isWritingXMLAllowed(void) const {return d_allowWriteXML;}
1186 
1211  EventSet::Iterator getEventIterator() const;
1212 
1233  PropertySet::Iterator getPropertyIterator() const;
1234 
1244  bool isDragDropTarget() const;
1245 
1246  /*************************************************************************
1247  Manipulator functions
1248  *************************************************************************/
1259  void rename(const String& new_name);
1260 
1272  virtual void initialiseComponents(void) {}
1273 
1287  void setDestroyedByParent(bool setting);
1288 
1301  void setAlwaysOnTop(bool setting);
1302 
1315  void setEnabled(bool setting);
1316 
1324  void enable(void) {setEnabled(true);}
1325 
1333  void disable(void) {setEnabled(false);}
1334 
1352  void setVisible(bool setting);
1353 
1366  void show(void) {setVisible(true);}
1367 
1378  void hide(void) {setVisible(false);}
1379 
1388  void activate(void);
1389 
1399  void deactivate(void);
1400 
1413  void setClippedByParent(bool setting);
1414 
1426  void setID(uint ID);
1427 
1432  void setPrefix(String prefix) { d_windowPrefix = prefix;}
1433 
1444  void setText(const String& text);
1445 
1459  void insertText(const String& text, const String::size_type position);
1460 
1470  void appendText(const String& text);
1471 
1483  void setFont(Font* font);
1484 
1499  void setFont(const String& name);
1500 
1519  void addChildWindow(const String& name);
1520 
1537  void addChildWindow(Window* window);
1538 
1550  void removeChildWindow(const String& name);
1551 
1563  void removeChildWindow(Window* window);
1564 
1578  void removeChildWindow(uint ID);
1579 
1593  void moveToFront();
1594 
1609  void moveToBack();
1610 
1620  bool captureInput(void);
1621 
1630  void releaseInput(void);
1631 
1650  void setRestoreCapture(bool setting);
1651 
1672  void setAlpha(float alpha);
1673 
1685  void setInheritsAlpha(bool setting);
1686 
1695  void requestRedraw(void) const;
1696 
1708  void setMouseCursor(const Image* image) {d_mouseCursor = image;}
1709 
1720  void setMouseCursor(MouseCursorImage image)
1721  {d_mouseCursor = (const Image*)image;}
1722 
1742  void setMouseCursor(const String& imageset, const String& image_name);
1743 
1758  void setUserData(void* user_data) {d_userData = user_data;}
1759 
1773  void setZOrderingEnabled(bool setting);
1774 
1788  void setWantsMultiClickEvents(bool setting);
1789 
1802  void setMouseAutoRepeatEnabled(bool setting);
1803 
1815  void setAutoRepeatDelay(float delay);
1816 
1829  void setAutoRepeatRate(float rate);
1830 
1840  void setDistributesCapturedInputs(bool setting);
1841 
1847  void notifyDragDropItemEnters(DragContainer* item);
1848 
1854  void notifyDragDropItemLeaves(DragContainer* item);
1855 
1861  void notifyDragDropItemDropped(DragContainer* item);
1862 
1876  virtual void destroy(void);
1877 
1893  void setTooltip(Tooltip* tooltip);
1894 
1913  void setTooltipType(const String& tooltipType);
1914 
1926  void setTooltipText(const String& tip);
1927 
1942  void setInheritsTooltipText(bool setting);
1943 
1958  void setRiseOnClickEnabled(bool setting) { d_riseOnClick = setting; }
1959 
1973  void setVerticalAlignment(const VerticalAlignment alignment);
1974 
1988  void setHorizontalAlignment(const HorizontalAlignment alignment);
1989 
2006  virtual void setLookNFeel(const String& look);
2007 
2021  void setModalState(bool state);
2022 
2033  virtual void performChildWindowLayout();
2034 
2048  void setUserString(const String& name, const String& value);
2049 
2076  void setArea(const UDim& xpos, const UDim& ypos, const UDim& width, const UDim& height);
2077 
2099  void setArea(const UVector2& pos, const UVector2& size);
2100 
2118  void setArea(const URect& area);
2119 
2138  void setPosition(const UVector2& pos);
2139 
2157  void setXPosition(const UDim& x);
2158 
2176  void setYPosition(const UDim& y);
2177 
2192  void setSize(const UVector2& size);
2193 
2208  void setWidth(const UDim& width);
2209 
2224  void setHeight(const UDim& height);
2225 
2242  void setMaxSize(const UVector2& size);
2243 
2260  void setMinSize(const UVector2& size);
2261 
2279  const URect& getArea() const;
2280 
2298  const UVector2& getPosition() const;
2299 
2317  const UDim& getXPosition() const;
2318 
2336  const UDim& getYPosition() const;
2337 
2352  UVector2 getSize() const;
2353 
2368  UDim getWidth() const;
2369 
2384  UDim getHeight() const;
2385 
2402  const UVector2& getMaxSize() const;
2403 
2420  const UVector2& getMinSize() const;
2421 
2430  void render(void);
2431 
2450  void update(float elapsed);
2451 
2462  virtual void writeXMLToStream(XMLSerializer& xml_stream) const;
2463 
2472  virtual void beginInitialisation(void) {d_initialising=true;}
2473 
2481  virtual void endInitialisation(void) {d_initialising=false;}
2482 
2493  void setMousePassThroughEnabled(bool setting) {d_mousePassThroughEnabled = setting;}
2494 
2506  void setWindowRenderer(const String& name);
2507 
2516  WindowRenderer* getWindowRenderer(void) const;
2517 
2527  String getWindowRendererName(void) const;
2528 
2533  void setWritingXMLAllowed(bool allow) {d_allowWriteXML = allow;}
2534 
2539  void notifyScreenAreaChanged(void);
2540 
2552  void setFalagardType(const String& type, const String& rendererType = "");
2553 
2563  void setDragDropTarget(bool setting);
2564 
2565 protected:
2566  /*************************************************************************
2567  System object can trigger events directly
2568  *************************************************************************/
2569  friend class System;
2570 
2571  /*************************************************************************
2572  Event trigger methods
2573  *************************************************************************/
2583  virtual void onSized(WindowEventArgs& e);
2584 
2594  virtual void onMoved(WindowEventArgs& e);
2595 
2605  virtual void onTextChanged(WindowEventArgs& e);
2606 
2616  virtual void onFontChanged(WindowEventArgs& e);
2617 
2627  virtual void onAlphaChanged(WindowEventArgs& e);
2628 
2638  virtual void onIDChanged(WindowEventArgs& e);
2639 
2649  virtual void onShown(WindowEventArgs& e);
2650 
2660  virtual void onHidden(WindowEventArgs& e);
2661 
2671  virtual void onEnabled(WindowEventArgs& e);
2672 
2682  virtual void onDisabled(WindowEventArgs& e);
2683 
2694  virtual void onClippingChanged(WindowEventArgs& e);
2695 
2706  virtual void onParentDestroyChanged(WindowEventArgs& e);
2707 
2718  virtual void onInheritsAlphaChanged(WindowEventArgs& e);
2719 
2729  virtual void onAlwaysOnTopChanged(WindowEventArgs& e);
2730 
2740  virtual void onCaptureGained(WindowEventArgs& e);
2741 
2751  virtual void onCaptureLost(WindowEventArgs& e);
2752 
2762  virtual void onRenderingStarted(WindowEventArgs& e);
2763 
2773  virtual void onRenderingEnded(WindowEventArgs& e);
2774 
2784  virtual void onZChanged(WindowEventArgs& e);
2785 
2795  virtual void onDestructionStarted(WindowEventArgs& e);
2796 
2805  virtual void onActivated(ActivationEventArgs& e);
2806 
2816  virtual void onDeactivated(ActivationEventArgs& e);
2817 
2829  virtual void onParentSized(WindowEventArgs& e);
2830 
2839  virtual void onChildAdded(WindowEventArgs& e);
2840 
2849  virtual void onChildRemoved(WindowEventArgs& e);
2850 
2858  virtual void onMouseEnters(MouseEventArgs& e);
2859 
2867  virtual void onMouseLeaves(MouseEventArgs& e);
2868 
2877  virtual void onMouseMove(MouseEventArgs& e);
2878 
2887  virtual void onMouseWheel(MouseEventArgs& e);
2888 
2897  virtual void onMouseButtonDown(MouseEventArgs& e);
2898 
2907  virtual void onMouseButtonUp(MouseEventArgs& e);
2908 
2917  virtual void onMouseClicked(MouseEventArgs& e);
2918 
2927  virtual void onMouseDoubleClicked(MouseEventArgs& e);
2928 
2937  virtual void onMouseTripleClicked(MouseEventArgs& e);
2938 
2950  virtual void onKeyDown(KeyEventArgs& e);
2951 
2963  virtual void onKeyUp(KeyEventArgs& e);
2964 
2976  virtual void onCharacter(KeyEventArgs& e);
2977 
2988  virtual void onDragDropItemEnters(DragDropEventArgs& e);
2989 
3000  virtual void onDragDropItemLeaves(DragDropEventArgs& e);
3001 
3012  virtual void onDragDropItemDropped(DragDropEventArgs& e);
3013 
3024  virtual void onVerticalAlignmentChanged(WindowEventArgs& e);
3025 
3036  virtual void onHorizontalAlignmentChanged(WindowEventArgs& e);
3037 
3047  virtual void onWindowRendererAttached(WindowEventArgs& e);
3048 
3058  virtual void onWindowRendererDetached(WindowEventArgs& e);
3059 
3060  /*************************************************************************
3061  Implementation Functions
3062  *************************************************************************/
3074  virtual void updateSelf(float elapsed);
3075 
3087  virtual void drawSelf(float z);
3088 
3096  virtual void populateRenderCache() {}
3097 
3109  virtual bool testClassName_impl(const String& class_name) const
3110  {
3111  if (class_name=="Window") return true;
3112  return false;
3113  }
3114 
3126  void setParent(Window* parent);
3127 
3128  Size getSize_impl(const Window* window) const;
3129 
3134  void generateAutoRepeatEvent(MouseButton button);
3135 
3144  virtual bool validateWindowRenderer(const String& name) const;
3145 
3150  void banPropertyFromXML(const Property* property);
3151 
3156  bool isPropertyBannedFromXML(const Property* property) const;
3157 
3164  bool isPropertyAtDefault(const Property* property) const;
3165 
3171  void notifyClippingChanged(void);
3172 
3173  /*************************************************************************
3174  Implementation Data
3175  *************************************************************************/
3176  // child stuff
3177  typedef std::vector<Window*> ChildList;
3179  ChildList d_children;
3180 
3182  ChildList d_drawList;
3183 
3184  // general data
3187 
3190 
3193 
3196 
3199 
3201  uint d_ID;
3202 
3204  float d_alpha;
3205 
3208 
3211 
3214 
3215  // user data
3216  typedef std::map<String, String, String::FastLessCompare> UserStringMap;
3217 
3219  UserStringMap d_userStrings;
3220 
3222  void* d_userData;
3223 
3224  // positional alignments
3227 
3230 
3231  // maximum and minimum sizes
3234 
3237 
3238  // settings
3241 
3248 
3250  bool d_active;
3251 
3254 
3257 
3260 
3263 
3270 
3273 
3276 
3283 
3290 
3291  // mouse button autorepeat data
3298 
3301 
3304 
3307 
3310 
3317 
3320 
3321  // Tooltip stuff
3334 
3335  // rendering
3339  mutable bool d_needsRedraw;
3340 
3341  // Look'N'Feel stuff
3346 
3351 
3352  // Event pass through
3359 
3362 
3368  typedef std::set<String, String::FastLessCompare> BannedXMLPropertySet;
3369  BannedXMLPropertySet d_bannedXMLProperties;
3370 
3373 
3376  mutable bool d_screenUnclippedRectValid;
3379  mutable bool d_screenUnclippedInnerRectValid;
3382  mutable bool d_screenRectValid;
3385  mutable bool d_screenInnerRectValid;
3386 
3387 protected:
3388  /*************************************************************************
3389  Properties for Window base class
3390  *************************************************************************/
3391  static WindowProperties::Alpha d_alphaProperty;
3392  static WindowProperties::AlwaysOnTop d_alwaysOnTopProperty;
3393  static WindowProperties::ClippedByParent d_clippedByParentProperty;
3394  static WindowProperties::DestroyedByParent d_destroyedByParentProperty;
3395  static WindowProperties::Disabled d_disabledProperty;
3396  static WindowProperties::Font d_fontProperty;
3397  static WindowProperties::ID d_IDProperty;
3398  static WindowProperties::InheritsAlpha d_inheritsAlphaProperty;
3399  static WindowProperties::MouseCursorImage d_mouseCursorProperty;
3400  static WindowProperties::RestoreOldCapture d_restoreOldCaptureProperty;
3401  static WindowProperties::Text d_textProperty;
3402  static WindowProperties::Visible d_visibleProperty;
3403  static WindowProperties::ZOrderChangeEnabled d_zOrderChangeProperty;
3404  static WindowProperties::WantsMultiClickEvents d_wantsMultiClicksProperty;
3405  static WindowProperties::MouseButtonDownAutoRepeat d_autoRepeatProperty;
3406  static WindowProperties::AutoRepeatDelay d_autoRepeatDelayProperty;
3407  static WindowProperties::AutoRepeatRate d_autoRepeatRateProperty;
3408  static WindowProperties::DistributeCapturedInputs d_distInputsProperty;
3409  static WindowProperties::CustomTooltipType d_tooltipTypeProperty;
3410  static WindowProperties::Tooltip d_tooltipProperty;
3411  static WindowProperties::InheritsTooltipText d_inheritsTooltipProperty;
3412  static WindowProperties::RiseOnClick d_riseOnClickProperty;
3413  static WindowProperties::VerticalAlignment d_vertAlignProperty;
3414  static WindowProperties::HorizontalAlignment d_horzAlignProperty;
3415  static WindowProperties::UnifiedAreaRect d_unifiedAreaRectProperty;
3416  static WindowProperties::UnifiedPosition d_unifiedPositionProperty;
3417  static WindowProperties::UnifiedXPosition d_unifiedXPositionProperty;
3418  static WindowProperties::UnifiedYPosition d_unifiedYPositionProperty;
3419  static WindowProperties::UnifiedSize d_unifiedSizeProperty;
3420  static WindowProperties::UnifiedWidth d_unifiedWidthProperty;
3421  static WindowProperties::UnifiedHeight d_unifiedHeightProperty;
3422  static WindowProperties::UnifiedMinSize d_unifiedMinSizeProperty;
3423  static WindowProperties::UnifiedMaxSize d_unifiedMaxSizeProperty;
3424  static WindowProperties::MousePassThroughEnabled d_mousePassThroughEnabledProperty;
3425  static WindowProperties::WindowRenderer d_windowRendererProperty;
3426  static WindowProperties::LookNFeel d_lookNFeelProperty;
3427  static WindowProperties::DragDropTarget d_dragDropTargetProperty;
3428 
3429  /*************************************************************************
3430  implementation functions
3431  *************************************************************************/
3436  virtual void cleanupChildren(void);
3437 
3442  virtual void addChild_impl(Window* wnd);
3443 
3448  virtual void removeChild_impl(Window* wnd);
3449 
3454  virtual void onZChange_impl(void);
3455 
3460  void addStandardProperties(void);
3461 
3470  virtual bool moveToFront_impl(bool wasClicked);
3471 
3479  bool doRiseOnClick(void);
3480 
3511  void setArea_impl(const UVector2& pos, const UVector2& size, bool topLeftSizing = false, bool fireEvents = true);
3512 
3532  void addWindowToDrawList(Window& wnd, bool at_back = false);
3533 
3545  void removeWindowFromDrawList(const Window& wnd);
3546 
3558  bool isTopOfZOrder() const;
3559 
3560  virtual int writePropertiesXML(XMLSerializer& xml_stream) const;
3561  virtual int writeChildWindowsXML(XMLSerializer& xml_stream) const;
3562  virtual bool writeAutoChildWindowXML(XMLSerializer& xml_stream) const;
3563 
3564  /*************************************************************************
3565  May not copy or assign Window objects
3566  *************************************************************************/
3567  Window(const Window& wnd) : PropertySet(), EventSet() {}
3568  Window& operator=(const Window& wnd) {return *this;}
3569 
3570  /*************************************************************************
3571  Private implementation Data
3572  *************************************************************************/
3579 
3582 
3585 
3588 
3589  friend class WindowManager;
3590 };
3591 
3592 } // End of CEGUI namespace section
3593 
3594 
3595 #if defined(_MSC_VER)
3596 # pragma warning(pop)
3597 #endif
3598 
3599 #endif // end of guard _CEGUIWindow_h_