Crazy Eddie's GUI System 0.8.7
Loading...
Searching...
No Matches
Window.h
1/***********************************************************************
2 created: 21/2/2004
3 author: Paul D Turner
4
5 purpose: Defines abstract base class for Window objects
6*************************************************************************/
7/***************************************************************************
8 * Copyright (C) 2004 - 2012 Paul D Turner & The CEGUI Development Team
9 *
10 * Permission is hereby granted, free of charge, to any person obtaining
11 * a copy of this software and associated documentation files (the
12 * "Software"), to deal in the Software without restriction, including
13 * without limitation the rights to use, copy, modify, merge, publish,
14 * distribute, sublicense, and/or sell copies of the Software, and to
15 * permit persons to whom the Software is furnished to do so, subject to
16 * the following conditions:
17 *
18 * The above copyright notice and this permission notice shall be
19 * included in all copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27 * OTHER DEALINGS IN THE SOFTWARE.
28 ***************************************************************************/
29
30#ifndef _CEGUIWindow_h_
31#define _CEGUIWindow_h_
32
33#include "CEGUI/Base.h"
34#include "CEGUI/NamedElement.h"
35#include "CEGUI/Vector.h"
36#include "CEGUI/Quaternion.h"
37#include "CEGUI/Rect.h"
38#include "CEGUI/Size.h"
39#include "CEGUI/EventSet.h"
40#include "CEGUI/PropertySet.h"
41#include "CEGUI/TplWindowProperty.h"
42#include "CEGUI/System.h"
43#include "CEGUI/GUIContext.h"
44#include "CEGUI/InputEvent.h"
45#include "CEGUI/UDim.h"
46#include "CEGUI/WindowRenderer.h"
47#include "CEGUI/TextUtils.h"
48#include "CEGUI/BasicRenderedStringParser.h"
49#include "CEGUI/DefaultRenderedStringParser.h"
50#include <vector>
51#include <set>
52
53#if defined(_MSC_VER)
54# pragma warning(push)
55# pragma warning(disable : 4251)
56#endif
57
58
59namespace CEGUI
60{
61
79
80template<>
82{
83public:
88
89 static const String& getDataTypeName()
90 {
91 static String type("WindowUpdateMode");
92
93 return type;
94 }
95
96 static return_type fromString(const String& str)
97 {
98
99 if (str == "Always")
100 {
101 return WUM_ALWAYS;
102 }
103 else if (str == "Never")
104 {
105 return WUM_NEVER;
106 }
107 else
108 {
109 return WUM_VISIBLE;
110 }
111 }
112
113 static string_return_type toString(pass_type val)
114 {
115 if (val == WUM_ALWAYS)
116 {
117 return "Always";
118 }
119 else if (val == WUM_NEVER)
120 {
121 return "Never";
122 }
123 else if (val == WUM_VISIBLE)
124 {
125 return "Visible";
126 }
127 else
128 {
129 assert(false && "Invalid Window Update Mode");
130 return "Always";
131 }
132 }
133};
134
135
149class CEGUIEXPORT Window :
150 public NamedElement
151{
152public:
153 /*************************************************************************
154 Property name constants
155 *************************************************************************/
169 static const String IDPropertyName;
218
219 /*************************************************************************
220 Event name constants
221 *************************************************************************/
223 static const String EventNamespace;
224
225 // generated internally by Window
229 static const String EventUpdated;
230
250 static const String EventIDChanged;
257 static const String EventActivated;
269 static const String EventShown;
274 static const String EventHidden;
279 static const String EventEnabled;
285 static const String EventDisabled;
403
404 // generated externally (inputs)
441 static const String EventMouseMove;
485 static const String EventKeyDown;
494 static const String EventKeyUp;
503
504 /*************************************************************************
505 Child Widget name suffix constants
506 *************************************************************************/
509
510 // XML element and attribute names that relate to Window.
511 static const String WindowXMLElementName;
512 static const String AutoWindowXMLElementName;
513 static const String UserStringXMLElementName;
514 static const String WindowTypeXMLAttributeName;
515 static const String WindowNameXMLAttributeName;
516 static const String AutoWindowNamePathXMLAttributeName;
517 static const String UserStringNameXMLAttributeName;
518 static const String UserStringValueXMLAttributeName;
519
530 Window(const String& type, const String& name);
531
536 virtual ~Window(void);
537
545 const String& getType(void) const;
546
556 bool isDestroyedByParent(void) const {return d_destroyedByParent;}
557
567 bool isAlwaysOnTop(void) const {return d_alwaysOnTop;}
568
581 bool isDisabled() const;
582
596
613 bool isVisible() const;
614
631 bool isEffectiveVisible() const;
632
647 bool isActive(void) const;
648
658 bool isClippedByParent(void) const {return d_clippedByParent;}
659
667 uint getID(void) const {return d_ID;}
668
669 using NamedElement::isChild;
686 bool isChild(uint ID) const;
687
708 bool isChildRecursive(uint ID) const;
709
710
725 inline Window* getChildAtIdx(size_t idx) const
726 {
727 return static_cast<Window*>(getChildElementAtIdx(idx));
728 }
729
753 inline Window* getChild(const String& name_path) const
754 {
755 return static_cast<Window*>(getChildElement(name_path));
756 }
757
779 inline Window* getChildRecursive(const String& name) const
780 {
781 return static_cast<Window*>(getChildElementRecursive(name));
782 }
783
805 Window* getChild(uint ID) const;
806
828 Window* getChildRecursive(uint ID) const;
829
843 const Window* getActiveChild(void) const;
844
845 using NamedElement::isAncestor;
859 bool isAncestor(uint ID) const;
860
880 const Font* getFont(bool useDefault = true) const;
881
889 const String& getText(void) const {return d_textLogical;}
890
892 const String& getTextVisual() const;
893
902 bool inheritsAlpha(void) const {return d_inheritsAlpha;}
903
921 float getAlpha(void) const {return d_alpha;}
922
932 float getEffectiveAlpha(void) const;
933
947
961
980 const Rectf& getClipRect(const bool non_client = false) const;
981
992 const Rectf& getHitTestRect() const;
993
1003 {return getGUIContext().getInputCaptureWindow();}
1004
1013 bool isCapturedByThis(void) const {return getCaptureWindow() == this;}
1014
1024 bool isCapturedByAncestor(void) const
1025 {return isAncestor(getCaptureWindow());}
1026
1035 bool isCapturedByChild(void) const {return isChild(getCaptureWindow());}
1036
1053 virtual bool isHit(const Vector2f& position,
1054 const bool allow_disabled = false) const;
1055
1068 Window* getChildAtPosition(const Vector2f& position) const;
1069
1088 const bool allow_disabled = false) const;
1089
1098 inline Window* getParent() const
1099 {
1100 return static_cast<Window*>(getParentElement());
1101 }
1102
1117 const Image* getMouseCursor(bool useDefault = true) const;
1118
1130 void* getUserData(void) const {return d_userData;}
1131
1146 bool restoresOldCapture(void) const {return d_restoreOldCapture;}
1147
1167 bool isZOrderingEnabled(void) const;
1168
1179 bool wantsMultiClickEvents(void) const;
1180
1193
1202 float getAutoRepeatDelay(void) const;
1203
1213 float getAutoRepeatRate(void) const;
1214
1225
1235 bool isUsingDefaultTooltip(void) const;
1236
1246 Tooltip* getTooltip(void) const;
1247
1257
1265 const String& getTooltipText(void) const;
1266
1278
1290 bool inheritsTooltipText(void) const;
1291
1312 bool isRiseOnClickEnabled(void) const { return d_riseOnClick; }
1313
1322
1331 const String& getLookNFeel() const;
1332
1340 bool getModalState(void) const
1341 {return(getGUIContext().getModalWindow() == this);}
1342
1356 const String& getUserString(const String& name) const;
1357
1369 bool isUserStringDefined(const String& name) const;
1370
1387
1398 bool isMousePassThroughEnabled(void) const {return d_mousePassThroughEnabled;}
1399
1407 bool isAutoWindow(void) const {return d_autoWindow;}
1408
1413 bool isWritingXMLAllowed(void) const {return d_allowWriteXML;}
1414
1424 bool isDragDropTarget() const;
1425
1432
1435
1442
1449
1462
1473 const Window* getRootWindow() const;
1474 Window* getRootWindow();
1475
1487 virtual void initialiseComponents(void) {}
1488
1502 void setDestroyedByParent(bool setting);
1503
1516 void setAlwaysOnTop(bool setting);
1517
1530 void setEnabled(bool setting);
1531
1544 void setDisabled(bool setting);
1545
1553 void enable(void) {setEnabled(true);}
1554
1562 void disable(void) {setEnabled(false);}
1563
1581 void setVisible(bool setting);
1582
1595 void show(void) {setVisible(true);}
1596
1607 void hide(void) {setVisible(false);}
1608
1627 void setActive(bool setting);
1628
1637 void activate(void);
1638
1648 void deactivate(void);
1649
1662 void setClippedByParent(bool setting);
1663
1675 void setID(uint ID);
1676
1687 void setText(const String& text);
1688
1702 void insertText(const String& text, const String::size_type position);
1703
1713 void appendText(const String& text);
1714
1726 void setFont(const Font* font);
1727
1742 void setFont(const String& name);
1743
1744 using NamedElement::removeChild;
1758 void removeChild(uint ID);
1759
1775 Window* createChild(const String& type, const String& name = "");
1776
1785
1793 void destroyChild(const String& name_path);
1794
1809
1825
1839 void moveInFront(const Window* const window);
1840
1855 void moveBehind(const Window* const window);
1856
1869 size_t getZIndex() const;
1870
1880 bool isInFront(const Window& wnd) const;
1881
1891 bool isBehind(const Window& wnd) const;
1892
1902 bool captureInput(void);
1903
1912 void releaseInput(void);
1913
1932 void setRestoreOldCapture(bool setting);
1933
1954 void setAlpha(const float alpha);
1955
1967 void setInheritsAlpha(bool setting);
1968
1980 void invalidate(void);
1981
1997 void invalidate(const bool recursive);
1998
2010 void setMouseCursor(const Image* image);
2011
2029 void setMouseCursor(const String& name);
2030
2045 void setUserData(void* user_data) {d_userData = user_data;}
2046
2069 void setZOrderingEnabled(bool setting);
2070
2084 void setWantsMultiClickEvents(bool setting);
2085
2098 void setMouseAutoRepeatEnabled(bool setting);
2099
2111 void setAutoRepeatDelay(float delay);
2112
2125 void setAutoRepeatRate(float rate);
2126
2137
2144
2151
2158
2172 virtual void destroy(void);
2173
2189 void setTooltip(Tooltip* tooltip);
2190
2209 void setTooltipType(const String& tooltipType);
2210
2222 void setTooltipText(const String& tip);
2223
2238 void setInheritsTooltipText(bool setting);
2239
2263 void setRiseOnClickEnabled(bool setting) { d_riseOnClick = setting; }
2264
2296 virtual void setLookNFeel(const String& look);
2297
2311 void setModalState(bool state);
2312
2342 virtual void performChildWindowLayout(bool nonclient_sized_hint = false,
2343 bool client_sized_hint = false);
2344
2358 void setUserString(const String& name, const String& value);
2359
2368 void render();
2369
2388 virtual void update(float elapsed);
2389
2400 virtual bool performCopy(Clipboard& clipboard);
2401
2412 virtual bool performCut(Clipboard& clipboard);
2413
2424 virtual bool performPaste(Clipboard& clipboard);
2425
2436 virtual void writeXMLToStream(XMLSerializer& xml_stream) const;
2437
2446 virtual void beginInitialisation(void) {d_initialising = true;}
2447
2455 virtual void endInitialisation(void) {d_initialising = false;}
2456
2467 void setMousePassThroughEnabled(bool setting) {d_mousePassThroughEnabled = setting;}
2468
2483 void setWindowRenderer(const String& name);
2484
2494
2505
2510 void setWritingXMLAllowed(bool allow) {d_allowWriteXML = allow;}
2511
2522 virtual void notifyScreenAreaChanged(bool recursive = true);
2523
2535 void setFalagardType(const String& type, const String& rendererType = "");
2536
2546 void setDragDropTarget(bool setting);
2547
2569
2577
2620
2632 void setTextParsingEnabled(const bool setting);
2633
2635 virtual void setMargin(const UBox& margin);
2637 const UBox& getMargin() const;
2638
2641
2644 {return d_bidiVisualMapping;}
2645
2658 void banPropertyFromXML(const String& property_name);
2659
2672 void banPropertyFromXMLRecursive(const String& property_name);
2673
2685 void unbanPropertyFromXML(const String& property_name);
2686
2698 void unbanPropertyFromXMLRecursive(const String& property_name);
2699
2700
2709 bool isPropertyBannedFromXML(const String& property_name) const;
2710
2712 void banPropertyFromXML(const Property* property);
2713
2715 void unbanPropertyFromXML(const Property* property);
2716
2725 bool isPropertyBannedFromXML(const Property* property) const;
2726
2745
2764
2775 void setMouseInputPropagationEnabled(const bool enabled);
2776
2788
2799 Window* clone(const bool deepCopy = true) const;
2800
2802 virtual void clonePropertiesTo(Window& target) const;
2804 virtual void cloneChildWidgetsTo(Window& target) const;
2805
2810
2813
2821 void setAutoWindow(bool is_auto);
2822
2834
2835 // overridden from Element
2837
2838protected:
2839 // friend classes for construction / initialisation purposes (for now)
2840 friend class System;
2841 friend class WindowManager;
2842 friend class GUIContext;
2843
2844 /*************************************************************************
2845 Event trigger methods
2846 *************************************************************************/
2856 virtual void onSized(ElementEventArgs& e);
2857
2867 virtual void onMoved(ElementEventArgs& e);
2868
2869 virtual void onRotated(ElementEventArgs& e);
2870
2881
2892
2903
2914
2924 virtual void onShown(WindowEventArgs& e);
2925
2935 virtual void onHidden(WindowEventArgs& e);
2936
2946 virtual void onEnabled(WindowEventArgs& e);
2947
2957 virtual void onDisabled(WindowEventArgs& e);
2958
2970
2982
2994
3005
3016
3027
3038
3049
3060
3070 virtual void onZChanged(WindowEventArgs& e);
3071
3082
3092
3103
3116
3126
3136
3145
3154
3170
3186
3195 virtual void onMouseMove(MouseEventArgs& e);
3196
3206
3216
3226
3236
3246
3256
3268 virtual void onKeyDown(KeyEventArgs& e);
3269
3281 virtual void onKeyUp(KeyEventArgs& e);
3282
3294 virtual void onCharacter(KeyEventArgs& e);
3295
3307
3319
3331
3342
3353
3365
3366 virtual void onMarginChanged(WindowEventArgs& e);
3367
3368 /*************************************************************************
3369 Implementation Functions
3370 *************************************************************************/
3382 virtual void updateSelf(float elapsed);
3383
3395 virtual void drawSelf(const RenderingContext& ctx);
3396
3408
3420
3427 virtual void populateGeometryBuffer() {}
3428
3440 virtual void setParent(Element* parent);
3441
3447
3459 virtual bool validateWindowRenderer(const WindowRenderer* renderer) const;
3460
3467 bool isPropertyAtDefault(const Property* property) const;
3468
3475
3478
3481
3484
3486 virtual void setArea_impl(const UVector2& pos, const USize& size, bool topLeftSizing = false, bool fireEvents = true);
3487
3492 virtual void cleanupChildren(void);
3493
3497 virtual void addChild_impl(Element* element);
3498
3502 virtual void removeChild_impl(Element* element);
3503
3508 virtual void onZChange_impl(void);
3509
3515
3524 virtual bool moveToFront_impl(bool wasClicked);
3525
3545 void addWindowToDrawList(Window& wnd, bool at_back = false);
3546
3559
3571 bool isTopOfZOrder() const;
3572
3579
3582
3584 Rectf getParentElementClipIntersection(const Rectf& unclipped_area) const;
3585
3587 void invalidate_impl(const bool recursive);
3588
3596
3597 virtual Rectf getUnclippedInnerRect_impl(bool skipAllPixelAlignment) const;
3604
3605 virtual int writePropertiesXML(XMLSerializer& xml_stream) const;
3606 virtual int writeChildWindowsXML(XMLSerializer& xml_stream) const;
3607 virtual bool writeAutoChildWindowXML(XMLSerializer& xml_stream) const;
3608
3609 virtual void banPropertiesForAutoWindow();
3610
3612 virtual bool handleFontRenderSizeChange(const EventArgs& args);
3613
3614 // mark the rect caches defined on Window invalid (does not affect Element)
3615 void markCachedWindowRectsInvalid();
3616 void layoutLookNFeelChildWidgets();
3617
3618 Window* getChildAtPosition(const Vector2f& position,
3619 bool (Window::*hittestfunc)(const Vector2f&, bool) const,
3620 bool allow_disabled = false) const;
3621
3622 bool isHitTargetWindow(const Vector2f& position, bool allow_disabled) const;
3623
3624 /*************************************************************************
3625 Properties for Window base class
3626 *************************************************************************/
3627
3639 static
3640 class WindowRendererProperty : public TplWindowProperty<Window, String>
3641 {
3642 public:
3645 XMLSerializer& xml_stream) const;
3646 } d_windowRendererProperty;
3647
3659 static
3660 class LookNFeelProperty : public TplWindowProperty<Window, String>
3661 {
3662 public:
3665 XMLSerializer& xml_stream) const;
3666 } d_lookNFeelProperty;
3667
3668 /*************************************************************************
3669 Implementation Data
3670 *************************************************************************/
3672 typedef std::vector<Window*
3673 CEGUI_VECTOR_ALLOC(Window*)> ChildDrawList;
3675 typedef std::map<String, String, StringFastLessCompare
3676 CEGUI_MAP_ALLOC(String, String)> UserStringMap;
3678 typedef std::set<String, StringFastLessCompare
3679 CEGUI_SET_ALLOC(String)> BannedXMLPropertySet;
3680
3687
3698
3703
3706
3716 mutable bool d_needsRedraw;
3719
3722
3724 float d_alpha;
3727
3734
3736 const Font* d_font;
3742 mutable bool d_bidiDataValid;
3755
3758
3760 uint d_ID;
3765
3772
3789
3792
3801
3806
3813
3814 mutable bool d_outerRectClipperValid;
3815 mutable bool d_innerRectClipperValid;
3816 mutable bool d_hitTestRectValid;
3817
3820
3823
3826
3829
3830private:
3831 /*************************************************************************
3832 May not copy or assign Window objects
3833 *************************************************************************/
3834 Window(const Window&): NamedElement() {}
3835 Window& operator=(const Window&) {return *this;}
3836
3838 const Font* property_getFont() const;
3840 const Image* property_getMouseCursor() const;
3841
3843 Event::ScopedConnection d_fontRenderSizeChangeConnection;
3844};
3845
3846} // End of CEGUI namespace section
3847
3848
3849#if defined(_MSC_VER)
3850# pragma warning(pop)
3851#endif
3852
3853#endif // end of guard _CEGUIWindow_h_
3854
EventArgs based class that is used for Activated and Deactivated window events.
Definition InputEvent.h:330
Basic RenderedStringParser class that offers support for the following tags:
Definition BasicRenderedStringParser.h:65
Abstract class to wrap a Bidi visual mapping of a text string.
Definition BidiVisualMapping.h:52
Defines a clipboard handling class.
Definition Clipboard.h:84
Effectively a 'null' parser that returns a RenderedString representation that will draw the input tex...
Definition DefaultRenderedStringParser.h:41
Generic drag & drop enabled window class.
Definition DragContainer.h:46
EventArgs based class used for certain drag/drop notifications.
Definition InputEvent.h:342
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition Element.h:211
A positioned and sized rectangular node in a tree graph.
Definition Element.h:246
Base class used as the argument to all subscribers Event object.
Definition EventArgs.h:51
Class that encapsulates a typeface.
Definition Font.h:62
Definition GUIContext.h:70
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition GeometryBuffer.h:44
Interface for Image.
Definition Image.h:161
EventArgs based class that is used for objects passed to input event handlers concerning keyboard inp...
Definition InputEvent.h:315
EventArgs based class that is used for objects passed to input event handlers concerning mouse input.
Definition InputEvent.h:281
Adds name to the Element class, including name path traversal.
Definition NamedElement.h:76
Helper class used to convert various data types to and from the format expected in Property strings.
Definition PropertyHelper.h:84
Dummy base class to ensure correct casting of receivers.
Definition Property.h:46
An abstract class that defines the interface to access object properties by name.
Definition Property.h:62
Specifies interface for classes that parse text into RenderedString objects.
Definition RenderedStringParser.h:39
Class representing a rendered string of entities.
Definition RenderedString.h:52
Class that represents a surface that can have geometry based imagery drawn to it.
Definition RenderingSurface.h:111
String class used within the GUI system.
Definition String.h:64
size_t size_type
Unsigned type used for size values and indices.
Definition String.h:70
The System class is the CEGUI class that provides access to all other elements in this system.
Definition System.h:69
Base class for Tooltip widgets.
Definition widgets/Tooltip.h:80
Definition TplWindowProperty.h:38
Class encapsulating the 'Unified Box' - this is usually used for margin.
Definition UDim.h:251
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition InputEvent.h:252
The WindowManager class describes an object that manages creation and lifetime of Window objects.
Definition WindowManager.h:63
Base-class for the assignable WindowRenderer object.
Definition WindowRenderer.h:52
Property to access/change the assigned look'n'feel.
Definition Window.h:3661
void writeXMLToStream(const PropertyReceiver *receiver, XMLSerializer &xml_stream) const
Writes out an XML representation of this class to the given stream.
Property to access/change the assigned window renderer object.
Definition Window.h:3641
void writeXMLToStream(const PropertyReceiver *receiver, XMLSerializer &xml_stream) const
Writes out an XML representation of this class to the given stream.
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition Window.h:151
void removeWindowFromDrawList(const Window &wnd)
Removes the window from the drawing list. If the window is not attached to the drawing list then noth...
void releaseRenderingWindow()
helper to clean up the auto RenderingWindow surface
virtual void onTextParsingChanged(WindowEventArgs &e)
Handler called when the window's setting for whether text parsing is enabled is changed.
static const String EventMouseEntersSurface
Definition Window.h:425
virtual void onInheritsAlphaChanged(WindowEventArgs &e)
Handler called when the window's setting for inheriting alpha-blending is changed.
virtual void onChildAdded(ElementEventArgs &e)
Handler called when a child window is added to this window.
void transferChildSurfaces()
transfer RenderingSurfaces to be owned by our target RenderingSurface.
Window * d_oldCapture
The Window that previously had capture (used for restoreOldCapture mode)
Definition Window.h:3729
float d_alpha
Alpha transparency setting for the Window.
Definition Window.h:3724
static const String EventActivated
Definition Window.h:257
bool d_autoRepeat
whether pressed mouse button will auto-repeat the down event.
Definition Window.h:3778
GeometryBuffer & getGeometryBuffer()
Return the GeometryBuffer object for this Window.
void releaseInput(void)
Releases input capture from this Window. If this Window does not have inputs captured,...
void invalidate(const bool recursive)
Invalidate this window and - dependant upon recursive - all child content, causing affected windows t...
virtual void update(float elapsed)
Cause window to update itself and any attached children. Client code does not need to call this metho...
Window * getTargetChildAtPosition(const Vector2f &position, const bool allow_disabled=false) const
return the child Window that is 'hit' by the given position, and is allowed to handle mouse events.
virtual void onRenderingStarted(WindowEventArgs &e)
Handler called when rendering for this window has started.
virtual void onTextChanged(WindowEventArgs &e)
Handler called when the window's text is changed.
static const String EventMouseButtonDown
Definition Window.h:452
bool isPropertyBannedFromXML(const Property *property) const
Return whether given property is banned from XML.
static DefaultRenderedStringParser d_defaultStringParser
Shared instance of a parser to be used when rendering text verbatim.
Definition Window.h:3750
void setWindowRenderer(const String &name)
Assign the WindowRenderer type to be used when rendering this window.
void notifyDragDropItemLeaves(DragContainer *item)
Internal support method for drag & drop. You do not normally call this directly from client code....
Rectf d_outerRectClipper
outer area clipping rect in screen pixels
Definition Window.h:3808
bool distributesCapturedInputs(void) const
Return whether the window wants inputs passed to its attached child windows when the window has input...
float d_repeatRate
seconds between further repeats after delay has expired.
Definition Window.h:3782
bool d_dragDropTarget
true if window will receive drag and drop related notifications
Definition Window.h:3791
static const String RiseOnClickEnabledPropertyName
Name of property to access for the window will come to the top of the Z-order when clicked.
Definition Window.h:201
virtual void populateGeometryBuffer()
Update the rendering cache.
Definition Window.h:3427
Window * getChildAtIdx(size_t idx) const
returns a pointer to the child window at the specified index. Idx is the index of the window in the c...
Definition Window.h:725
virtual void performChildWindowLayout(bool nonclient_sized_hint=false, bool client_sized_hint=false)
Layout child window content.
virtual void onCaptureLost(WindowEventArgs &e)
Handler called when this window loses capture of mouse inputs.
void queueGeometry(const RenderingContext &ctx)
Perform drawing operations concerned with positioning, clipping and queueing of window geometry to Re...
virtual void initialiseComponents(void)
Initialises the Window based object ready for use.
Definition Window.h:1487
virtual void onDisabled(WindowEventArgs &e)
Handler called when the window is disabled.
float getAlpha(void) const
return the current alpha value set for this Window
Definition Window.h:921
void banPropertyFromXMLRecursive(const String &property_name)
Adds the named property to the XML ban list for this window and all of its child windows....
void allocateRenderingWindow()
helper to create and setup the auto RenderingWindow surface
bool d_containsMouse
true when mouse is contained within this Window's area.
Definition Window.h:3828
Window * getChild(uint ID) const
return a pointer to the first attached child window with the specified ID value.
void setMousePassThroughEnabled(bool setting)
Sets whether this window should ignore mouse events and pass them through to any windows behind it....
Definition Window.h:2467
static const String EventInputCaptureLost
Definition Window.h:323
virtual bool performCut(Clipboard &clipboard)
Asks the widget to perform a clipboard cut to the provided clipboard.
Window * createChild(const String &type, const String &name="")
Creates a child window attached to this window.
void setUserString(const String &name, const String &value)
Sets the value a named user string, creating it as required.
static const String EventMouseLeavesArea
Definition Window.h:414
void setInheritsAlpha(bool setting)
Sets whether this Window will inherit alpha from its parent windows.
virtual void onDragDropItemLeaves(DragDropEventArgs &e)
Handler called when a DragContainer is dragged over this window.
static const String TooltipTypePropertyName
Name of property to access for the custom tooltip for the window.
Definition Window.h:195
void setWritingXMLAllowed(bool allow)
Sets whether this window is allowed to write XML.
Definition Window.h:2510
static const String EventAlwaysOnTopChanged
Definition Window.h:309
virtual void onZChange_impl(void)
Notify 'this' and all siblings of a ZOrder change event.
virtual void onRenderingEnded(WindowEventArgs &e)
Handler called when rendering for this window has ended.
virtual void onSized(ElementEventArgs &e)
Handler called when the window's size changes.
virtual void removeChild_impl(Element *element)
Remove given element from child list.
String getTooltipType(void) const
Return the custom tooltip type.
static const String EventNamespace
Namespace for global events.
Definition Window.h:223
bool isRiseOnClickEnabled(void) const
Return whether this window will rise to the top of the z-order when clicked with the left mouse butto...
Definition Window.h:1312
static const String IDPropertyName
Name of property to access for the ID value of the Window.
Definition Window.h:169
Window * getChildRecursive(const String &name) const
return a pointer to the first attached child window with the specified name. Children are traversed r...
Definition Window.h:779
virtual void onActivated(ActivationEventArgs &e)
Handler called when this window has become the active window.
void setUpdateMode(const WindowUpdateMode mode)
Set the window update mode. This mode controls the behaviour of the Window::update member function su...
RenderingSurface * d_surface
RenderingSurface owned by this window (may be 0)
Definition Window.h:3714
bool isCapturedByChild(void) const
return true if a child window has captured inputs.
Definition Window.h:1035
static const String TextParsingEnabledPropertyName
Name of property to access for the text parsing setting for the Window.
Definition Window.h:209
virtual void onMouseLeaves(MouseEventArgs &e)
Handler called when the mouse cursor is no longer over this window's surface area....
const String & getText(void) const
return the current text for the Window
Definition Window.h:889
static const String EventWindowRendererDetached
Definition Window.h:389
void setText(const String &text)
Set the current text string for the Window.
float getAutoRepeatDelay(void) const
Return the current auto-repeat delay setting for this window.
static const String EventInheritsAlphaChanged
Definition Window.h:303
std::map< String, String, StringFastLessCompare CEGUI_MAP_ALLOC(String, String)> UserStringMap
definition of type used for the UserString dictionary.
Definition Window.h:3676
virtual bool handleFontRenderSizeChange(const EventArgs &args)
handler function for when font render size changes.
bool captureInput(void)
Captures input to this window.
virtual void onEnabled(WindowEventArgs &e)
Handler called when the window is enabled.
void setUserData(void *user_data)
Set the user data set for this Window.
Definition Window.h:2045
bool d_allowWriteXML
true if this window is allowed to write XML, false if not
Definition Window.h:3803
static const String EventMouseMove
Definition Window.h:441
virtual void endInitialisation(void)
Sets the internal 'initialising' flag to false. This is called automatically by the layout XML handle...
Definition Window.h:2455
float d_repeatElapsed
implements repeating - tracks time elapsed.
Definition Window.h:3788
void setWantsMultiClickEvents(bool setting)
Set whether this window will receive multi-click events or multiple 'down' events instead.
bool isVisible() const
return true if the Window is currently visible.
bool d_active
true when Window is the active Window (receiving inputs).
Definition Window.h:3697
void setFont(const Font *font)
Set the font used by this Window.
static const String EventShown
Definition Window.h:269
virtual bool isHit(const Vector2f &position, const bool allow_disabled=false) const
check if the given pixel position would hit this window.
static const String ZOrderingEnabledPropertyName
Name of property to access for the 'z-order changing enabled' setting for the Window.
Definition Window.h:183
static const String EventDisabled
Definition Window.h:285
virtual Rectf getHitTestRect_impl() const
Default implementation of function to return Window hit-test area.
RenderedString d_renderedString
RenderedString representation of text string as ouput from a parser.
Definition Window.h:3744
void unbanPropertyFromXML(const String &property_name)
Removes the named property from the XML ban list for this window. Essentially a property that is bann...
void addWindowProperties(void)
Add standard CEGUI::Window properties.
WindowRenderer * getWindowRenderer(void) const
Get the currently assigned WindowRenderer. (Look'N'Feel specification).
virtual void onMoved(ElementEventArgs &e)
Handler called when the window's position changes.
static const String FontPropertyName
Name of property to access for the font for the Window.
Definition Window.h:167
virtual RenderedStringParser & getRenderedStringParser() const
return the active RenderedStringParser to be used
const BidiVisualMapping * getBidiVisualMapping() const
return the pointer to the BidiVisualMapping for this window, if any.
Definition Window.h:2643
virtual void cleanupChildren(void)
Cleanup child windows.
void setAlpha(const float alpha)
Set the current alpha value for this window.
static const String EventCharacterKey
Definition Window.h:502
const Window * getRootWindow() const
Returns the window at the root of the hierarchy starting at this Window. The root window is defined a...
bool d_alwaysOnTop
true if Window will be drawn on top of all other Windows
Definition Window.h:3767
const String & getUserString(const String &name) const
Returns a named user string.
Rectf d_hitTestRect
area rect used for hit-testing against this window
Definition Window.h:3812
void moveBehind(const Window *const window)
Move this window immediately behind it's sibling window in the z order.
static const String EventClippedByParentChanged
Definition Window.h:291
static const String EventMouseTripleClick
Definition Window.h:476
bool d_enabled
true when Window is enabled
Definition Window.h:3693
Rectf getParentElementClipIntersection(const Rectf &unclipped_area) const
helper function for calculating clipping rectangles.
bool inheritsTooltipText(void) const
Return whether this window inherits Tooltip text from its parent when its own tooltip text is not set...
static const String TooltipNameSuffix
Widget name suffix for automatically created tooltip widgets.
Definition Window.h:508
const String & getTooltipTextIncludingInheritance(void) const
Return the current tooltip text set for this Window or the inherited one. If the tooltip text of this...
void moveToBack()
Move the Window to the bottom of the Z order.
void appendText(const String &text)
Append the string text to the currect text string for the Window object.
static const String MouseInputPropagationEnabledPropertyName
Name of property to access whether unhandled mouse inputs should be propagated back to the Window's p...
Definition Window.h:215
const Image * getMouseCursor(bool useDefault=true) const
Return a pointer to the mouse cursor image to use when the mouse cursor is within this window's area.
virtual void onParentSized(ElementEventArgs &e)
Handler called when this window's parent window has been resized. If this window is the root / GUI Sh...
void setAutoRepeatRate(float rate)
Set the current auto-repeat rate setting for this window.
void setMouseCursor(const String &name)
Set the mouse cursor image to be used when the mouse enters this window.
virtual void onWindowRendererDetached(WindowEventArgs &e)
Handler called when the currently attached window renderer object is detached.
virtual void setLookNFeel(const String &look)
Set the LookNFeel that shoule be used for this window.
bool d_weOwnTip
true if this Window created the custom Tooltip.
Definition Window.h:3798
bool isUsingDefaultTooltip(void) const
Return whether this Window is using the system default Tooltip for its Tooltip window.
bool d_destroyedByParent
true when Window will be auto-destroyed by parent.
Definition Window.h:3702
ChildDrawList d_drawList
Child window objects arranged in rendering order.
Definition Window.h:3700
void moveInFront(const Window *const window)
Move this window immediately above it's sibling window in the z order.
virtual void onParentDestroyChanged(WindowEventArgs &e)
Handler called when the window's setting for being destroyed automatically be it's parent is changed.
virtual void onIDChanged(WindowEventArgs &e)
Handler called when the window's client assigned ID is changed.
void setDestroyedByParent(bool setting)
Set whether or not this Window will automatically be destroyed when its parent Window is destroyed.
String d_textLogical
Holds the text / label / caption for this Window.
Definition Window.h:3738
void setUsingAutoRenderingSurface(bool setting)
Sets whether automatic use of an imagery caching RenderingSurface (i.e. a RenderingWindow) is enabled...
static const String EventHidden
Definition Window.h:274
MouseButton d_repeatButton
button we're tracking for auto-repeat purposes.
Definition Window.h:3784
bool isAlwaysOnTop(void) const
returns whether or not this Window is an always on top Window. Also known as a top-most window.
Definition Window.h:567
bool d_clippedByParent
true when Window will be clipped by parent Window area Rect.
Definition Window.h:3705
bool isTextParsingEnabled() const
return whether text parsing is enabled for this window.
RenderedStringParser * d_customStringParser
Pointer to a custom (user assigned) RenderedStringParser object.
Definition Window.h:3752
virtual bool performPaste(Clipboard &clipboard)
Asks the widget to perform a clipboard paste from the provided clipboard.
virtual void onMouseWheel(MouseEventArgs &e)
Handler called when the mouse wheel (z-axis) position changes within this window's area.
const RenderedString & getRenderedString() const
Return the parsed RenderedString object for this window.
virtual void getRenderingContext_impl(RenderingContext &ctx) const
implementation of the default getRenderingContext logic.
const String & getTextVisual() const
return text string with visual ordering of glyphs.
void banPropertyFromXML(const String &property_name)
Adds the named property to the XML ban list for this window Essentially a property that is banned fro...
bool isCapturedByAncestor(void) const
return true if an ancestor window has captured inputs.
Definition Window.h:1024
uint getID(void) const
return the ID code currently assigned to this Window by client code.
Definition Window.h:667
void bufferGeometry(const RenderingContext &ctx)
Perform drawing operations concerned with generating and buffering window geometry.
void setActive(bool setting)
Set whether the Window is active or inactive.
static const String MousePassThroughEnabledPropertyName
Name of property to access for the window ignores mouse events and pass them through to any windows b...
Definition Window.h:203
static const String EventMarginChanged
Definition Window.h:402
static const String EventMouseEntersArea
Definition Window.h:409
static const String EventTextChanged
Definition Window.h:235
const Image * d_mouseCursor
Holds pointer to the Window objects current mouse cursor image.
Definition Window.h:3721
void setMouseAutoRepeatEnabled(bool setting)
Set whether mouse button down event autorepeat is enabled for this window.
static const String EventTextParsingChanged
Definition Window.h:396
static const String DistributeCapturedInputsPropertyName
Name of property to access for the whether captured inputs are passed to child windows.
Definition Window.h:193
bool d_textParsingEnabled
true if use of parser other than d_defaultStringParser is enabled
Definition Window.h:3754
static const String EventIDChanged
Definition Window.h:250
void unbanPropertyFromXMLRecursive(const String &property_name)
Removes the named property from the XML ban list for this window and all of its child windows....
const Rectf & getClipRect(const bool non_client=false) const
Return a Rect that describes the rendering clipping rect for the Window.
String d_tooltipText
Text string used as tip for this window.
Definition Window.h:3794
static const String DisabledPropertyName
Name of property to access for the 'disabled state' setting for the Window.
Definition Window.h:165
Window * getCaptureWindow() const
return the Window that currently has inputs captured.
Definition Window.h:1002
bool isEffectiveVisible() const
return true if the Window is currently visible.
static const String RestoreOldCapturePropertyName
Name of property to access for the 'restore old capture' setting for the Window.
Definition Window.h:179
bool inheritsAlpha(void) const
return true if the Window inherits alpha from its parent(s).
Definition Window.h:902
BannedXMLPropertySet d_bannedXMLProperties
collection of properties not to be written to XML for this window.
Definition Window.h:3805
void insertText(const String &text, const String::size_type position)
Insert the text string text into the current text string for the Window object at the position specif...
virtual void drawSelf(const RenderingContext &ctx)
Perform the actual rendering for this Window.
static const String EventDragDropItemEnters
Definition Window.h:362
static const String EventInputCaptureGained
Definition Window.h:314
virtual void onZChanged(WindowEventArgs &e)
Handler called when the z-order position of this window has changed.
bool d_renderedStringValid
true if d_renderedString is valid, false if needs re-parse.
Definition Window.h:3746
uint d_ID
User ID assigned to this Window.
Definition Window.h:3760
void setDistributesCapturedInputs(bool setting)
Set whether the window wants inputs passed to its attached child windows when the window has inputs c...
void destroyChild(const String &name_path)
Destroys a child window of this window.
UBox d_margin
Margin, only used when the Window is inside LayoutContainer class.
Definition Window.h:3757
static const String MouseAutoRepeatEnabledPropertyName
Name of property to access for whether the window will receive autorepeat mouse button down events.
Definition Window.h:187
bool isMouseInputPropagationEnabled() const
Return whether mouse input that is not directly handled by this Window (including it's event subscrib...
WindowUpdateMode d_updateMode
The mode to use for calling Window::update.
Definition Window.h:3819
void show(void)
show the Window.
Definition Window.h:1595
void setZOrderingEnabled(bool setting)
Set whether z-order changes are enabled or disabled for this Window.
static const String TextPropertyName
Name of property to access for the text / caption for the Window.
Definition Window.h:181
static const String EventKeyUp
Definition Window.h:494
virtual void onMouseMove(MouseEventArgs &e)
Handler called when the mouse cursor has been moved within this window's area.
static const String EventDragDropItemLeaves
Definition Window.h:370
void notifyDragDropItemDropped(DragContainer *item)
Internal support method for drag & drop. You do not normally call this directly from client code....
void destroyChild(Window *wnd)
Destroys a child window of this window.
void setDragDropTarget(bool setting)
Specifies whether this Window object will receive events generated by the drag and drop support in th...
void setTooltipType(const String &tooltipType)
Set the custom Tooltip to be used by this Window by specifying a Window type.
static const String WantsMultiClickEventsPropertyName
Name of property to access for whether the window will receive double-click and triple-click events.
Definition Window.h:185
static const String TooltipTextPropertyName
Name of property to access for the tooltip text for the window.
Definition Window.h:197
virtual void addChild_impl(Element *element)
Add given element to child list at an appropriate position.
bool isBehind(const Window &wnd) const
Return whether /a this Window is behind the given window.
void addWindowToDrawList(Window &wnd, bool at_back=false)
Add the given window to the drawing list at an appropriate position for it's settings and the require...
virtual void onDeactivated(ActivationEventArgs &e)
Handler called when this window has lost input focus and has been deactivated.
bool d_restoreOldCapture
Restore capture to the previous capture window when releasing capture.
Definition Window.h:3731
Rectf d_innerRectClipper
inner area clipping rect in screen pixels
Definition Window.h:3810
void setRestoreOldCapture(bool setting)
Set whether this window will remember and restore the previous window that had inputs captured.
static const String EventRenderingEnded
Definition Window.h:349
const Rectf & getHitTestRect() const
Return the Rect that descibes the clipped screen area that is used for determining whether this windo...
GUIContext & getGUIContext() const
return the GUIContext this window is associated with.
void notifyClippingChanged(void)
Recursively inform all children that the clipping has changed and screen rects needs to be recached.
void generateAutoRepeatEvent(MouseButton button)
Fires off a repeated mouse button down event for this window.
virtual void onCharacter(KeyEventArgs &e)
Handler called when a character-key has been pressed while this window has input focus.
void unbanPropertyFromXML(const Property *property)
Remove the given property from the XML ban list for this window.
void setRenderingSurface(RenderingSurface *surface)
Set the RenderingSurface to be associated with this Window, or 0 if none is required.
bool isMouseContainedInArea() const
Return whether Window thinks mouse is currently within its area.
bool isAutoWindow(void) const
Returns whether this window is an auto window.
Definition Window.h:1407
bool d_mousePassThroughEnabled
whether (most) mouse events pass through this window
Definition Window.h:3776
virtual void onDestructionStarted(WindowEventArgs &e)
Handler called when this window's destruction sequence has begun.
RenderingSurface & getTargetRenderingSurface() const
return the RenderingSurface that will be used by this window as the target for rendering.
virtual void onMouseDoubleClicked(MouseEventArgs &e)
Handler called when a mouse button has been double-clicked within this window's area.
bool isDestroyedByParent(void) const
returns whether or not this Window is set to be destroyed when its parent window is destroyed.
Definition Window.h:556
const UBox & getMargin() const
retrieves currently set margin
const String & getLookNFeel() const
Get the name of the LookNFeel assigned to this window.
bool isDragDropTarget() const
Returns whether this Window object will receive events generated by the drag and drop support in the ...
static const String EventRenderingStarted
Definition Window.h:341
bool d_propagateMouseInputs
specifies whether mouse inputs should be propagated to parent(s)
Definition Window.h:3822
void disable(void)
disable the Window to prevent interaction.
Definition Window.h:1562
virtual void cloneChildWidgetsTo(Window &target) const
copies this widget's child widgets to given target widget
const String d_type
type of Window (also the name of the WindowFactory that created us)
Definition Window.h:3682
virtual void onFontChanged(WindowEventArgs &e)
Handler called when the window's font is changed.
static const String DestroyedByParentPropertyName
Name of property to access for the 'destroyed by parent' setting for the Window.
Definition Window.h:163
bool isWritingXMLAllowed(void) const
Returns whether this window is allowed to write XML.
Definition Window.h:1413
virtual void writeXMLToStream(XMLSerializer &xml_stream) const
Writes an xml representation of this window object to out_stream.
float getEffectiveAlpha(void) const
return the effective alpha value that will be used when rendering this window, taking into account in...
void hide(void)
hide the Window.
Definition Window.h:1607
void setRiseOnClickEnabled(bool setting)
Set whether this window will rise to the top of the z-order when clicked with the left mouse button.
Definition Window.h:2263
static const String EventKeyDown
Definition Window.h:485
static const String EventWindowRendererAttached
Definition Window.h:383
void initialiseClippers(const RenderingContext &ctx)
Helper to intialise the needed clipping for geometry and render surface.
virtual void onWindowRendererAttached(WindowEventArgs &e)
Handler called when a new window renderer object is attached.
const Window * getWindowAttachedToCommonAncestor(const Window &wnd) const
Helper function to return the ancestor Window of /a wnd that is attached as a child to a window that ...
bool isPropertyBannedFromXML(const String &property_name) const
Return whether the named property is banned from XML.
void activate(void)
Activate the Window giving it input focus and bringing it to the top of all windows with the same alw...
static const String EventUpdated
Definition Window.h:229
bool isUserStringDefined(const String &name) const
Return whether a user string with the specified name exists.
Window * getActiveChild(void)
return a pointer to the Window that currently has input focus starting with this Window.
bool isUsingAutoRenderingSurface() const
Returns whether automatic use of an imagery caching RenderingSurface (i.e. a RenderingWindow) is enab...
static const String EventMouseWheel
Definition Window.h:447
static const String EventMouseButtonUp
Definition Window.h:457
virtual void onMouseLeavesArea(MouseEventArgs &e)
Handler called when the mouse cursor has left this window's area.
const Font * getFont(bool useDefault=true) const
return the active Font object for the Window.
static const String UpdateModePropertyName
Name of property to access for the window update mode setting.
Definition Window.h:213
virtual Rectf getOuterRectClipper_impl() const
Default implementation of function to return Window outer clipper area.
virtual void clonePropertiesTo(Window &target) const
copies this widget's properties to given target widget
virtual void onShown(WindowEventArgs &e)
Handler called when the window is shown (made visible).
Window * getChild(const String &name_path) const
return the attached child window that the given name path references.
Definition Window.h:753
bool wantsMultiClickEvents(void) const
Return whether this window will receive multi-click events or multiple 'down' events instead.
virtual void onCaptureGained(WindowEventArgs &e)
Handler called when this window gains capture of mouse inputs.
static const String AlwaysOnTopPropertyName
Name of property to access for the 'always on top' setting for the Window.
Definition Window.h:159
static const String EventAlphaChanged
Definition Window.h:245
virtual void onDragDropItemDropped(DragDropEventArgs &e)
Handler called when a DragContainer is dragged over this window.
void setTooltip(Tooltip *tooltip)
Set the custom Tooltip object for this Window. This value may be 0 to indicate that the Window should...
bool d_inheritsAlpha
true if the Window inherits alpha from the parent Window
Definition Window.h:3726
void * getUserData(void) const
Return the user data set for this Window.
Definition Window.h:1130
void setDisabled(bool setting)
Set whether this window is enabled or disabled. A disabled window normally can not be interacted with...
static const String ActivePropertyName
Name of property to access for the the 'active state' setting for the Window.
Definition Window.h:177
Tooltip * getTooltip(void) const
Return a pointer to the Tooltip object used by this Window. The value returned may point to the syste...
Window * getActiveSibling()
Returns the active sibling window.
bool isEffectiveDisabled() const
return whether the Window is currently disabled
float d_repeatDelay
seconds before first repeat event is fired
Definition Window.h:3780
virtual void onKeyUp(KeyEventArgs &e)
Handler called when a key as been released while this window has input focus.
bool d_wantsMultiClicks
true if the Window wishes to hear about multi-click mouse events.
Definition Window.h:3774
void invalidate_impl(const bool recursive)
helper function to invalidate window and optionally child windows.
bool d_needsRedraw
true if window geometry cache needs to be regenerated.
Definition Window.h:3716
const Font * d_font
Holds pointer to the Window objects current Font.
Definition Window.h:3736
void enable(void)
enable the Window to allow interaction.
Definition Window.h:1553
void render()
Causes the Window object to render itself and all of it's attached children.
static const String EventEnabled
Definition Window.h:279
virtual void onKeyDown(KeyEventArgs &e)
Handler called when a key as been depressed while this window has input focus.
void setAlwaysOnTop(bool setting)
Set whether this window is always on top, or not.
std::vector< Window *CEGUI_VECTOR_ALLOC(Window *)> ChildDrawList
definition of type used for the list of child windows to be drawn
Definition Window.h:3673
Window * clone(const bool deepCopy=true) const
Clones this Window and returns the result.
RenderedStringParser * getCustomRenderedStringParser() const
Return a pointer to any custom RenderedStringParser set, or 0 if none.
virtual void beginInitialisation(void)
Sets the internal 'initialising' flag to true. This can be use to optimize initialisation of some wid...
Definition Window.h:2446
void setVisible(bool setting)
Set whether the Window is visible or hidden.
void notifyDragDropItemEnters(DragContainer *item)
Internal support method for drag & drop. You do not normally call this directly from client code....
Tooltip * d_customTip
Possible custom Tooltip for this window.
Definition Window.h:3796
virtual void onMouseTripleClicked(MouseEventArgs &e)
Handler called when a mouse button has been triple-clicked within this window's area.
static const String AutoRepeatDelayPropertyName
Name of property to access for the autorepeat delay.
Definition Window.h:189
bool isAncestor(uint ID) const
return true if any Window with the given ID is some ancestor of this Window.
size_t getZIndex() const
Return the (visual) z index of the window on it's parent.
void setID(uint ID)
Set the current ID for the Window.
void banPropertyFromXML(const Property *property)
Add the given property to the XML ban list for this window.
bool d_bidiDataValid
whether bidi visual mapping has been updated since last text change.
Definition Window.h:3742
String d_falagardType
Type name of the window as defined in a Falagard mapping.
Definition Window.h:3684
static const String EventMouseLeavesSurface
Definition Window.h:436
static const String EventDragDropItemDropped
Definition Window.h:377
static const String InheritsAlphaPropertyName
Name of property to access for the get/set the 'inherits alpha' setting for the Window.
Definition Window.h:171
BidiVisualMapping * d_bidiVisualMapping
pointer to bidirection support object
Definition Window.h:3740
bool d_riseOnClick
whether window should rise in the z order when left clicked.
Definition Window.h:3769
virtual void onMouseButtonDown(MouseEventArgs &e)
Handler called when a mouse button has been depressed within this window's area.
virtual void onHidden(WindowEventArgs &e)
Handler called when the window is hidden.
bool isClippedByParent(void) const
return true if this Window is clipped so that its rendering will not pass outside of its parent Windo...
Definition Window.h:658
const String & getType(void) const
return a String object holding the type name for this Window.
Window * getParent() const
return the parent of this Window.
Definition Window.h:1098
static const String EventDestructionStarted
Definition Window.h:354
static const String EventInvalidated
Definition Window.h:333
virtual void onMouseButtonUp(MouseEventArgs &e)
Handler called when a mouse button has been released within this window's area.
virtual void setMargin(const UBox &margin)
set margin
bool isDisabled() const
return whether the Window is currently disabled
bool d_inheritsTipText
whether tooltip text may be inherited from parent.
Definition Window.h:3800
static const String InheritsTooltipTextPropertyName
Name of property to access for the window inherits its parents tooltip text when it has none of its o...
Definition Window.h:199
bool d_initialising
true when this window is currently being initialised (creating children etc)
Definition Window.h:3689
static const String MarginPropertyName
Name of property to access for the margin for the Window.
Definition Window.h:211
bool isInFront(const Window &wnd) const
Return whether /a this Window is in front of the given window.
virtual void onAlwaysOnTopChanged(WindowEventArgs &e)
Handler called when the window's always-on-top setting is changed.
bool isActive(void) const
return true if this is the active Window. An active window is a window that may receive user inputs.
static const String DragDropTargetPropertyName
Name of property to access for the Window will receive drag and drop related notifications.
Definition Window.h:205
static const String EventMouseClick
Definition Window.h:464
bool isPropertyAtDefault(const Property *property) const
Returns whether a property is at it's default value. This function is different from Property::isDefa...
virtual void onInvalidated(WindowEventArgs &e)
Handler called when this window gets invalidated.
GeometryBuffer * d_geometry
Object which acts as a cache of geometry drawn by this Window.
Definition Window.h:3712
virtual bool validateWindowRenderer(const WindowRenderer *renderer) const
Function used in checking if a WindowRenderer is valid for this window.
bool isCapturedByThis(void) const
return true if this Window has input captured.
Definition Window.h:1013
void setClippedByParent(bool setting)
Set whether this Window will be clipped by its parent window(s).
UserStringMap d_userStrings
Holds a collection of named user string values.
Definition Window.h:3764
void syncTargetSurface()
ensure that the window will be rendered to the correct target surface.
virtual bool performCopy(Clipboard &clipboard)
Asks the widget to perform a clipboard copy to the provided clipboard.
RenderingSurface * getRenderingSurface() const
return the RenderingSurface currently set for this window. May return 0.
virtual void onChildRemoved(ElementEventArgs &e)
Handler called when a child window is removed from this window.
String d_lookName
Name of the Look assigned to this window (if any).
Definition Window.h:3708
GUIContext * d_guiContext
GUIContext. Set when this window is used as a root window.
Definition Window.h:3825
static const String EventFontChanged
Definition Window.h:240
WindowRenderer * d_windowRenderer
The WindowRenderer module that implements the Look'N'Feel specification.
Definition Window.h:3710
static const String VisiblePropertyName
Name of property to access for the the 'visible state' setting for the Window.
Definition Window.h:175
static const String MouseCursorImagePropertyName
Name of property to access for the the mouse cursor image for the Window.
Definition Window.h:173
const Rectf & getOuterRectClipper() const
Return a Rect that describes the rendering clipping rect based upon the outer rect area of the window...
bool isTopOfZOrder() const
Return whether the window is at the top of the Z-Order. This will correctly take into account 'Always...
bool d_autoRenderingWindow
holds setting for automatic creation of of surface (RenderingWindow)
Definition Window.h:3718
void setCustomRenderedStringParser(RenderedStringParser *parser)
Set a custom RenderedStringParser, or 0 to remove an existing one.
bool isZOrderingEnabled(void) const
Return whether z-order changes are enabled or disabled for this Window.
void setTooltipText(const String &tip)
Set the tooltip text for this window.
void setMouseInputPropagationEnabled(const bool enabled)
Set whether mouse input that is not directly handled by this Window (including it's event subscribers...
virtual void onDragDropItemEnters(DragDropEventArgs &e)
Handler called when a DragContainer is dragged over this window.
void setFont(const String &name)
Set the font used by this Window.
virtual void onAlphaChanged(WindowEventArgs &e)
Handler called when the window's alpha blend value is changed.
virtual ~Window(void)
Destructor for Window base class.
virtual void onMouseEntersArea(MouseEventArgs &e)
Handler called when the mouse cursor has entered this window's area.
static const String ClippedByParentPropertyName
Name of property to access for the 'clipped by parent' setting for the Window.
Definition Window.h:161
bool d_zOrderingEnabled
true if the Window responds to z-order change requests.
Definition Window.h:3771
bool d_autoWindow
true when this window is an auto-window
Definition Window.h:3686
static BasicRenderedStringParser d_basicStringParser
Shared instance of a parser to be used in most instances.
Definition Window.h:3748
static const String EventMouseDoubleClick
Definition Window.h:470
virtual Rectf getUnclippedInnerRect_impl(bool skipAllPixelAlignment) const
Default implementation of function to return Element's inner rect area.
virtual void notifyScreenAreaChanged(bool recursive=true)
Inform the window, and optionally all children, that screen area rectangles have changed.
void getRenderingContext(RenderingContext &ctx) const
Fill in the RenderingContext ctx with details of the RenderingSurface where this Window object should...
virtual void onMouseEnters(MouseEventArgs &e)
Handler called when the mouse cursor has entered this window's area and is actually over some part of...
bool d_destructionStarted
true when this window is being destroyed.
Definition Window.h:3691
bool isChildRecursive(uint ID) const
returns whether at least one window with the given ID code is attached to this Window or any of it's ...
bool d_distCapturedInputs
Whether to distribute captured inputs to child windows.
Definition Window.h:3733
void deactivate(void)
Deactivate the window. No further inputs will be received by the window until it is re-activated eith...
std::set< String, StringFastLessCompare CEGUI_SET_ALLOC(String)> BannedXMLPropertySet
definition of type used to track properties banned from writing XML.
Definition Window.h:3679
void updateGeometryRenderSettings()
Update position and clip region on this Windows geometry / rendering surface.
static const String EventDestroyedByParentChanged
Definition Window.h:297
void setTextParsingEnabled(const bool setting)
set whether text parsing is enabled for this window.
const String & getWindowRendererName() const
Get the factory name of the currently assigned WindowRenderer. (Look'N'Feel specification).
void setAutoWindow(bool is_auto)
Set whether this window is marked as an auto window.
Window * getChildAtPosition(const Vector2f &position) const
return the child Window that is hit by the given pixel position
bool restoresOldCapture(void) const
Return whether this window is set to restore old input capture when it loses input capture.
Definition Window.h:1146
bool d_repeating
implements repeating - is true after delay has elapsed,
Definition Window.h:3786
bool getModalState(void) const
Get whether or not this Window is the modal target.
Definition Window.h:1340
void setGUIContext(GUIContext *context)
function used internally. Do not call this from client code.
virtual Rectf getInnerRectClipper_impl() const
Default implementation of function to return Window inner clipper area.
void invalidate(void)
Invalidate this window causing at least this window to be redrawn during the next rendering pass.
WindowUpdateMode getUpdateMode() const
Return the current window update mode that is set for this Window. This mode controls the behaviour o...
void removeChild(uint ID)
Remove the first child Window with the specified ID. If there is more than one attached Window object...
virtual void setParent(Element *parent)
Set the parent window for this window object.
bool isMouseAutoRepeatEnabled(void) const
Return whether mouse button down event autorepeat is enabled for this window.
const Rectf & getInnerRectClipper() const
Return a Rect that describes the rendering clipping rect based upon the inner rect area of the window...
void invalidateRenderingSurface()
Invalidate the chain of rendering surfaces from this window backwards to ensure they get properly red...
virtual void destroy(void)
Internal destroy method which actually just adds the window and any parent destructed child windows t...
Window(const String &type, const String &name)
Constructor for Window base class.
Window * getChildRecursive(uint ID) const
return a pointer to the first attached child window with the specified ID value. Children are travers...
static const String EventDeactivated
Definition Window.h:264
virtual void setArea_impl(const UVector2 &pos, const USize &size, bool topLeftSizing=false, bool fireEvents=true)
Implementation method to modify element area while correctly applying min / max size processing,...
virtual bool moveToFront_impl(bool wasClicked)
Implements move to front behavior.
virtual void onMouseClicked(MouseEventArgs &e)
Handler called when a mouse button has been clicked (that is depressed and then released,...
void setInheritsTooltipText(bool setting)
Set whether this window inherits Tooltip text from its parent when its own tooltip text is not set.
void setAutoRepeatDelay(float delay)
Set the current auto-repeat delay setting for this window.
static const String AlphaPropertyName
Name of property to access for the alpha value of the Window.
Definition Window.h:157
bool d_visible
is window visible (i.e. it will be rendered, but may still be obscured)
Definition Window.h:3695
void * d_userData
Holds pointer to some user assigned data.
Definition Window.h:3762
void setModalState(bool state)
Set the modal state for this Window.
bool isChild(uint ID) const
returns whether at least one window with the given ID code is attached to this Window as a child.
const Sizef & getRootContainerSize() const
Return the size of the root container (such as screen size).
void setEnabled(bool setting)
Set whether this window is enabled or disabled. A disabled window normally can not be interacted with...
const String & getTooltipText(void) const
Return the current tooltip text set for this Window.
static const String AutoWindowPropertyName
Name of property to access whether the system considers this window to be an automatically created su...
Definition Window.h:217
virtual void onRotated(ElementEventArgs &e)
Handler called when the element's rotation is changed.
virtual void updateSelf(float elapsed)
Perform actual update processing for this Window.
float getAutoRepeatRate(void) const
Return the current auto-repeat rate setting for this window.
void setFalagardType(const String &type, const String &rendererType="")
Changes the widget's falagard type, thus changing its look'n'feel and optionally its renderer in the ...
bool isMousePassThroughEnabled(void) const
Returns whether this window should ignore mouse event and pass them through to and other windows behi...
Definition Window.h:1398
virtual void onClippingChanged(WindowEventArgs &e)
Handler called when the window's setting for being clipped by it's parent is changed.
void moveToFront()
Move the Window to the top of the z order.
static const String AutoRenderingSurfacePropertyName
Name of property to access for the Window will automatically attempt to use a full imagery caching Re...
Definition Window.h:207
void setMouseCursor(const Image *image)
Set the mouse cursor image to be used when the mouse enters this window.
static const String AutoRepeatRatePropertyName
Name of property to access for the autorepeat rate.
Definition Window.h:191
Vector2f getUnprojectedPosition(const Vector2f &pos) const
return Vector2 pos after being fully unprojected for this Window.
Class used to create XML Document.
Definition XMLSerializer.h:87
Main namespace for Crazy Eddie's GUI Library.
Definition arch_overview.dox:1
WindowUpdateMode
Enumerated type used for specifying Window::update mode to be used. Note that the setting specified w...
Definition Window.h:71
@ WUM_ALWAYS
Always call the Window::update function for this window.
Definition Window.h:73
@ WUM_VISIBLE
Only call the Window::update function for this window if it is visible.
Definition Window.h:77
@ WUM_NEVER
Never call the Window::update function for this window.
Definition Window.h:75
MouseButton
Enumeration of mouse buttons.
Definition InputEvent.h:210
struct that holds some context relating to a RenderingSurface object.
Definition RenderingContext.h:41
Functor that can be used as comparator in a std::map with String keys. It's faster than using the def...
Definition String.h:5580