Crazy Eddies GUI System  0.7.6
CEGUIWindowProperties.h
00001 /***********************************************************************
00002         filename:       CEGUIWindowProperties.h
00003         created:        5/7/2004
00004         author:         Paul D Turner
00005 
00006         purpose:        Interface to available window base class properties
00007 *************************************************************************/
00008 /***************************************************************************
00009  *   Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team
00010  *
00011  *   Permission is hereby granted, free of charge, to any person obtaining
00012  *   a copy of this software and associated documentation files (the
00013  *   "Software"), to deal in the Software without restriction, including
00014  *   without limitation the rights to use, copy, modify, merge, publish,
00015  *   distribute, sublicense, and/or sell copies of the Software, and to
00016  *   permit persons to whom the Software is furnished to do so, subject to
00017  *   the following conditions:
00018  *
00019  *   The above copyright notice and this permission notice shall be
00020  *   included in all copies or substantial portions of the Software.
00021  *
00022  *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00023  *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00024  *   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00025  *   IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
00026  *   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
00027  *   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
00028  *   OTHER DEALINGS IN THE SOFTWARE.
00029  ***************************************************************************/
00030 #ifndef _CEGUIWindowProperties_h_
00031 #define _CEGUIWindowProperties_h_
00032 
00033 #include "CEGUIProperty.h"
00034 #include "CEGUIXMLSerializer.h"
00035 
00036 // Start of CEGUI namespace section
00037 namespace CEGUI
00038 {
00039 
00040 // Start of WindowProperties namespace section
00045 namespace WindowProperties
00046 {
00060 class ID : public Property
00061 {
00062 public:
00063         ID() : Property(
00064                 "ID",
00065                 "Property to get/set the ID value of the Window.  Value is an unsigned integer number.",
00066                 "0")
00067         {}
00068 
00069         String  get(const PropertyReceiver* receiver) const;
00070         void    set(PropertyReceiver* receiver, const String& value);
00071 };
00072 
00073 
00087 class Alpha : public Property
00088 {
00089 public:
00090         Alpha() : Property(
00091                 "Alpha",
00092                 "Property to get/set the alpha value of the Window.  Value is floating point number.",
00093                 "1")
00094         {}
00095 
00096         String  get(const PropertyReceiver* receiver) const;
00097         void    set(PropertyReceiver* receiver, const String& value);
00098 };
00099 
00100 
00114 class Font : public Property
00115 {
00116 public:
00117         Font() : Property(
00118                 "Font",
00119                 "Property to get/set the font for the Window.  Value is the name of the font to use (must be loaded already).",
00120                 "")
00121         {}
00122 
00123         String  get(const PropertyReceiver* receiver) const;
00124         void    set(PropertyReceiver* receiver, const String& value);
00125         bool    isDefault(const PropertyReceiver* receiver) const;
00126 };
00127 
00128 
00142 class Text : public Property
00143 {
00144 public:
00145         Text() : Property(
00146                 "Text",
00147                 "Property to get/set the text / caption for the Window.  Value is the text string to use.",
00148                 "")
00149         {}
00150 
00151         String  get(const PropertyReceiver* receiver) const;
00152         void    set(PropertyReceiver* receiver, const String& value);
00153 };
00154 
00155 
00170 class MouseCursorImage : public Property
00171 {
00172 public:
00173         MouseCursorImage() : Property(
00174                 "MouseCursorImage",
00175                 "Property to get/set the mouse cursor image for the Window.  Value should be \"set:<imageset name> image:<image name>\".",
00176                 "")
00177         {}
00178 
00179         String  get(const PropertyReceiver* receiver) const;
00180         void    set(PropertyReceiver* receiver, const String& value);
00181         bool    isDefault(const PropertyReceiver* receiver) const;
00182 };
00183 
00184 
00199 class ClippedByParent : public Property
00200 {
00201 public:
00202         ClippedByParent() : Property(
00203                 "ClippedByParent",
00204                 "Property to get/set the 'clipped by parent' setting for the Window.  Value is either \"True\" or \"False\".",
00205                 "True")
00206         {}
00207 
00208         String  get(const PropertyReceiver* receiver) const;
00209         void    set(PropertyReceiver* receiver, const String& value);
00210 };
00211 
00212 
00227 class InheritsAlpha : public Property
00228 {
00229 public:
00230         InheritsAlpha() : Property(
00231                 "InheritsAlpha",
00232                 "Property to get/set the 'inherits alpha' setting for the Window.  Value is either \"True\" or \"False\".",
00233                 "True")
00234         {}
00235 
00236         String  get(const PropertyReceiver* receiver) const;
00237         void    set(PropertyReceiver* receiver, const String& value);
00238 };
00239 
00240 
00255 class AlwaysOnTop : public Property
00256 {
00257 public:
00258         AlwaysOnTop() : Property(
00259                 "AlwaysOnTop",
00260                 "Property to get/set the 'always on top' setting for the Window.  Value is either \"True\" or \"False\".",
00261                 "False")
00262         {}
00263 
00264         String  get(const PropertyReceiver* receiver) const;
00265         void    set(PropertyReceiver* receiver, const String& value);
00266 };
00267 
00268 
00283 class Disabled : public Property
00284 {
00285 public:
00286         Disabled() : Property(
00287                 "Disabled",
00288                 "Property to get/set the 'disabled state' setting for the Window.  Value is either \"True\" or \"False\".",
00289                 "False")
00290         {}
00291 
00292         String  get(const PropertyReceiver* receiver) const;
00293         void    set(PropertyReceiver* receiver, const String& value);
00294         bool    isDefault(const PropertyReceiver* receiver) const;
00295 };
00296 
00297 
00312 class Visible : public Property
00313 {
00314 public:
00315         Visible() : Property(
00316                 "Visible",
00317                 "Property to get/set the 'visible state' setting for the Window.  Value is either \"True\" or \"False\".",
00318                 "True")
00319         {}
00320 
00321         String  get(const PropertyReceiver* receiver) const;
00322         void    set(PropertyReceiver* receiver, const String& value);
00323         bool    isDefault(const PropertyReceiver* receiver) const;
00324 };
00325 
00326 
00342 class RestoreOldCapture : public Property
00343 {
00344 public:
00345         RestoreOldCapture() : Property(
00346                 "RestoreOldCapture",
00347                 "Property to get/set the 'restore old capture' setting for the Window.  Value is either \"True\" or \"False\".",
00348                 "False")
00349         {}
00350 
00351         String  get(const PropertyReceiver* receiver) const;
00352         void    set(PropertyReceiver* receiver, const String& value);
00353 };
00354 
00355 
00370 class DestroyedByParent : public Property
00371 {
00372 public:
00373         DestroyedByParent() : Property(
00374                 "DestroyedByParent",
00375                 "Property to get/set the 'destroyed by parent' setting for the Window.  Value is either \"True\" or \"False\".",
00376                 "True")
00377         {}
00378 
00379         String  get(const PropertyReceiver* receiver) const;
00380         void    set(PropertyReceiver* receiver, const String& value);
00381 };
00382 
00383 
00398 class ZOrderChangeEnabled : public Property
00399 {
00400 public:
00401         ZOrderChangeEnabled() : Property(
00402                 "ZOrderChangeEnabled",
00403                 "Property to get/set the 'z-order changing enabled' setting for the Window.  Value is either \"True\" or \"False\".",
00404                 "True")
00405         {}
00406 
00407         String  get(const PropertyReceiver* receiver) const;
00408         void    set(PropertyReceiver* receiver, const String& value);
00409 };
00410 
00411 
00427 class WantsMultiClickEvents : public Property
00428 {
00429 public:
00430     WantsMultiClickEvents() : Property(
00431         "WantsMultiClickEvents",
00432         "Property to get/set whether the window will receive double-click and triple-click events.  Value is either \"True\" or \"False\".",
00433         "True")
00434     {}
00435 
00436     String      get(const PropertyReceiver* receiver) const;
00437     void        set(PropertyReceiver* receiver, const String& value);
00438 };
00439 
00440 
00456 class MouseButtonDownAutoRepeat : public Property
00457 {
00458 public:
00459     MouseButtonDownAutoRepeat() : Property(
00460         "MouseButtonDownAutoRepeat",
00461         "Property to get/set whether the window will receive autorepeat mouse button down events.  Value is either \"True\" or \"False\".",
00462         "False")
00463     {}
00464 
00465     String  get(const PropertyReceiver* receiver) const;
00466     void    set(PropertyReceiver* receiver, const String& value);
00467 };
00468 
00469 
00483 class AutoRepeatDelay : public Property
00484 {
00485 public:
00486     AutoRepeatDelay() : Property(
00487         "AutoRepeatDelay",
00488         "Property to get/set the autorepeat delay.  Value is a floating point number indicating the delay required in seconds.",
00489         "0.3")
00490     {}
00491 
00492     String  get(const PropertyReceiver* receiver) const;
00493     void    set(PropertyReceiver* receiver, const String& value);
00494 };
00495 
00496 
00510 class AutoRepeatRate : public Property
00511 {
00512 public:
00513     AutoRepeatRate() : Property(
00514         "AutoRepeatRate",
00515         "Property to get/set the autorepeat rate.  Value is a floating point number indicating the rate required in seconds.",
00516         "0.06")
00517     {}
00518 
00519     String  get(const PropertyReceiver* receiver) const;
00520     void    set(PropertyReceiver* receiver, const String& value);
00521 };
00522 
00536 class DistributeCapturedInputs : public Property
00537 {
00538 public:
00539         DistributeCapturedInputs() : Property(
00540                 "DistributeCapturedInputs",
00541                 "Property to get/set whether captured inputs are passed to child windows.  Value is either \"True\" or \"False\".",
00542                 "False")
00543         {}
00544 
00545         String  get(const PropertyReceiver* receiver) const;
00546         void    set(PropertyReceiver* receiver, const String& value);
00547 };
00548 
00560 class CustomTooltipType : public Property
00561 {
00562 public:
00563     CustomTooltipType() : Property(
00564     "CustomTooltipType",
00565     "Property to get/set the custom tooltip for the window.  Value is the type name of the custom tooltip.",
00566     "")
00567     {}
00568 
00569     String  get(const PropertyReceiver* receiver) const;
00570     void    set(PropertyReceiver* receiver, const String& value);
00571 };
00572 
00584 class Tooltip : public Property
00585 {
00586 public:
00587     Tooltip() : Property(
00588     "Tooltip",
00589     "Property to get/set the tooltip text for the window.  Value is the tooltip text for the window.",
00590     "")
00591     {}
00592 
00593     String  get(const PropertyReceiver* receiver) const;
00594     void    set(PropertyReceiver* receiver, const String& value);
00595 };
00596 
00611 class InheritsTooltipText : public Property
00612 {
00613 public:
00614     InheritsTooltipText() : Property(
00615         "InheritsTooltipText",
00616         "Property to get/set whether the window inherits its parents tooltip text when it has none of its own.  Value is either \"True\" or \"False\".",
00617         "True")
00618     {}
00619 
00620     String  get(const PropertyReceiver* receiver) const;
00621     void    set(PropertyReceiver* receiver, const String& value);
00622 };
00623 
00624 
00637 class RiseOnClick : public Property
00638 {
00639 public:
00640     RiseOnClick() : Property(
00641                 "RiseOnClick",
00642                 "Property to get/set whether the window will come tot he top of the z order hwn clicked.  Value is either \"True\" or \"False\".",
00643                 "True")
00644         {}
00645 
00646         String  get(const PropertyReceiver* receiver) const;
00647         void    set(PropertyReceiver* receiver, const String& value);
00648 };
00649 
00650 
00664 class VerticalAlignment : public Property
00665 {
00666     public:
00667         VerticalAlignment() : Property(
00668         "VerticalAlignment",
00669         "Property to get/set the windows vertical alignment.  Value is one of \"Top\", \"Centre\" or \"Bottom\".",
00670         "Top")
00671         {}
00672 
00673         String  get(const PropertyReceiver* receiver) const;
00674         void    set(PropertyReceiver* receiver, const String& value);
00675 };
00676 
00677 
00691 class HorizontalAlignment : public Property
00692 {
00693     public:
00694         HorizontalAlignment() : Property(
00695         "HorizontalAlignment",
00696         "Property to get/set the windows horizontal alignment.  Value is one of \"Left\", \"Centre\" or \"Right\".",
00697         "Left")
00698         {}
00699 
00700         String  get(const PropertyReceiver* receiver) const;
00701         void    set(PropertyReceiver* receiver, const String& value);
00702 };
00703 
00704 
00723 class UnifiedAreaRect : public Property
00724 {
00725         public:
00726                 UnifiedAreaRect() : Property(
00727                 "UnifiedAreaRect",
00728                 "Property to get/set the windows unified area rectangle.  Value is a \"URect\".",
00729                 "{{0,0},{0,0},{0,0},{0,0}}")
00730                 {}
00731 
00732                 String  get(const PropertyReceiver* receiver) const;
00733                 void    set(PropertyReceiver* receiver, const String& value);
00734 };
00735 
00736 
00751 class UnifiedPosition : public Property
00752 {
00753         public:
00754                 UnifiedPosition() : Property(
00755                 "UnifiedPosition",
00756                 "Property to get/set the windows unified position.  Value is a \"UVector2\".",
00757                 "{{0,0},{0,0}}", false)
00758                 {}
00759 
00760                 String  get(const PropertyReceiver* receiver) const;
00761                 void    set(PropertyReceiver* receiver, const String& value);
00762 };
00763 
00764 
00777 class UnifiedXPosition : public Property
00778 {
00779         public:
00780                 UnifiedXPosition() : Property(
00781                 "UnifiedXPosition",
00782                 "Property to get/set the windows unified position x-coordinate.  Value is a \"UDim\".",
00783                 "{0,0}", false)
00784                 {}
00785 
00786                 String  get(const PropertyReceiver* receiver) const;
00787                 void    set(PropertyReceiver* receiver, const String& value);
00788 };
00789 
00790 
00803 class UnifiedYPosition : public Property
00804 {
00805         public:
00806                 UnifiedYPosition() : Property(
00807                 "UnifiedYPosition",
00808                 "Property to get/set the windows unified position y-coordinate.  Value is a \"UDim\".",
00809                 "{0,0}", false)
00810                 {}
00811 
00812                 String  get(const PropertyReceiver* receiver) const;
00813                 void    set(PropertyReceiver* receiver, const String& value);
00814 };
00815 
00816 
00831 class UnifiedSize : public Property
00832 {
00833         public:
00834                 UnifiedSize() : Property(
00835                 "UnifiedSize",
00836                 "Property to get/set the windows unified size.  Value is a \"UVector2\".",
00837                 "{{0,0},{0,0}}", false)
00838                 {}
00839 
00840                 String  get(const PropertyReceiver* receiver) const;
00841                 void    set(PropertyReceiver* receiver, const String& value);
00842 };
00843 
00844 
00857 class UnifiedWidth : public Property
00858 {
00859         public:
00860                 UnifiedWidth() : Property(
00861                 "UnifiedWidth",
00862                 "Property to get/set the windows unified width.  Value is a \"UDim\".",
00863                 "{0,0}", false)
00864                 {}
00865 
00866                 String  get(const PropertyReceiver* receiver) const;
00867                 void    set(PropertyReceiver* receiver, const String& value);
00868 };
00869 
00870 
00883 class UnifiedHeight : public Property
00884 {
00885         public:
00886                 UnifiedHeight() : Property(
00887                 "UnifiedHeight",
00888                 "Property to get/set the windows unified height.  Value is a \"UDim\".",
00889                 "{0,0}", false)
00890                 {}
00891 
00892                 String  get(const PropertyReceiver* receiver) const;
00893                 void    set(PropertyReceiver* receiver, const String& value);
00894 };
00895 
00896 
00911 class UnifiedMinSize : public Property
00912 {
00913         public:
00914                 UnifiedMinSize() : Property(
00915                 "UnifiedMinSize",
00916                 "Property to get/set the windows unified minimum size.  Value is a \"UVector2\".",
00917                 "{{0,0},{0,0}}")
00918                 {}
00919 
00920                 String  get(const PropertyReceiver* receiver) const;
00921                 void    set(PropertyReceiver* receiver, const String& value);
00922 };
00923 
00924 
00939 class UnifiedMaxSize : public Property
00940 {
00941         public:
00942                 UnifiedMaxSize() : Property(
00943                 "UnifiedMaxSize",
00944                 "Property to get/set the windows unified maximum size.  Value is a \"UVector2\".",
00945                 "{{1,0},{1,0}}")
00946                 {}
00947 
00948                 String  get(const PropertyReceiver* receiver) const;
00949                 void    set(PropertyReceiver* receiver, const String& value);
00950 };
00951 
00952 
00965 class MousePassThroughEnabled : public Property
00966 {
00967     public:
00968         MousePassThroughEnabled() : Property(
00969         "MousePassThroughEnabled",
00970         "Property to get/set whether the window ignores mouse events and pass them through to any windows behind it. Value is either \"True\" or \"False\".",
00971         "False")
00972         {}
00973 
00974         String  get(const PropertyReceiver* receiver) const;
00975         void    set(PropertyReceiver* receiver, const String& value);
00976 };
00977 
00978 
00989 class WindowRenderer : public Property
00990 {
00991     public:
00992         WindowRenderer() : Property(
00993         "WindowRenderer",
00994         "Property to get/set the windows assigned window renderer objects name.  Value is a string.",
00995         "")
00996         {}
00997 
00998         String  get(const PropertyReceiver* receiver) const;
00999         void    set(PropertyReceiver* receiver, const String& value);
01000 
01001         void writeXMLToStream(const PropertyReceiver* receiver, XMLSerializer& xml_stream) const;
01002 };
01003 
01004 
01015 class LookNFeel : public Property
01016 {
01017     public:
01018         LookNFeel() : Property(
01019         "LookNFeel",
01020         "Property to get/set the windows assigned look'n'feel.  Value is a string.",
01021         "")
01022         {}
01023 
01024         String  get(const PropertyReceiver* receiver) const;
01025         void    set(PropertyReceiver* receiver, const String& value);
01026 
01027         void writeXMLToStream(const PropertyReceiver* receiver, XMLSerializer& xml_stream) const;
01028 };
01029 
01043 class DragDropTarget : public Property
01044 {
01045 public:
01046     DragDropTarget() : Property(
01047         "DragDropTarget",
01048         "Property to get/set whether the Window will receive drag and drop related notifications.  Value is either \"True\" or \"False\".",
01049         "True")
01050     {}
01051 
01052     String get(const PropertyReceiver* receiver) const;
01053     void set(PropertyReceiver* receiver, const String& value);
01054 };
01055 
01073 class AutoRenderingSurface : public Property
01074 {
01075 public:
01076     AutoRenderingSurface() : Property(
01077         "AutoRenderingSurface",
01078         "Property to get/set whether the Window will automatically attempt to "
01079         "use a full imagery caching RenderingSurface (if supported by the "
01080         "renderer).  Here, full imagery caching usually will mean caching a "
01081         "window's representation onto a texture (although no such "
01082         "implementation requirement is specified.)"
01083         "  Value is either \"True\" or \"False\".",
01084         "False")
01085     {}
01086 
01087     String get(const PropertyReceiver* receiver) const;
01088     void set(PropertyReceiver* receiver, const String& value);
01089 };
01090 
01107 class Rotation : public Property
01108 {
01109     public:
01110         Rotation() : Property(
01111         "Rotation",
01112         "Property to get/set the windows rotation factors.  Value is "
01113         "\"x:[x_float] y:[y_float] z:[z_float]\".",
01114         "x:0 y:0 z:0")
01115         {}
01116 
01117         String  get(const PropertyReceiver* receiver) const;
01118         void    set(PropertyReceiver* receiver, const String& value);
01119 };
01120 
01133 class XRotation : public Property
01134 {
01135     public:
01136         XRotation() : Property(
01137         "XRotation",
01138         "Property to get/set the window's x axis rotation factor.  Value is "
01139         "\"[float]\".",
01140         "0", false)
01141         {}
01142 
01143         String  get(const PropertyReceiver* receiver) const;
01144         void    set(PropertyReceiver* receiver, const String& value);
01145 };
01146 
01159 class YRotation : public Property
01160 {
01161     public:
01162         YRotation() : Property(
01163         "YRotation",
01164         "Property to get/set the window's y axis rotation factor.  Value is "
01165         "\"[float]\".",
01166         "0", false)
01167         {}
01168 
01169         String  get(const PropertyReceiver* receiver) const;
01170         void    set(PropertyReceiver* receiver, const String& value);
01171 };
01172 
01185 class ZRotation : public Property
01186 {
01187     public:
01188         ZRotation() : Property(
01189         "ZRotation",
01190         "Property to get/set the window's z axis rotation factor.  Value is "
01191         "\"[float]\".",
01192         "0", false)
01193         {}
01194 
01195         String  get(const PropertyReceiver* receiver) const;
01196         void    set(PropertyReceiver* receiver, const String& value);
01197 };
01198 
01213 class NonClient : public Property
01214 {
01215 public:
01216     NonClient() : Property(
01217         "NonClient",
01218         "Property to get/set the 'non-client' setting for the Window.  "
01219         "Value is either \"True\" or \"False\".",
01220         "False")
01221     {}
01222 
01223     String  get(const PropertyReceiver* receiver) const;
01224     void    set(PropertyReceiver* receiver, const String& value);
01225 };
01226 
01244 class TextParsingEnabled : public Property
01245 {
01246 public:
01247     TextParsingEnabled() : Property(
01248         "TextParsingEnabled",
01249         "Property to get/set the text parsing setting for the Window.  "
01250         "Value is either \"True\" or \"False\".",
01251         "True")
01252     {}
01253 
01254     String  get(const PropertyReceiver* receiver) const;
01255     void    set(PropertyReceiver* receiver, const String& value);
01256 };
01257 
01280 class Margin : public Property
01281 {
01282 public:
01283     Margin() : Property(
01284         "Margin",
01285                 "Property to get/set margin for the Window. Value format:"
01286         "{top:{[tops],[topo]},left:{[lefts],[lefto]},bottom:{[bottoms],[bottomo]},right:{[rights],[righto]}}.",
01287         "{top:{0,0},left:{0,0},bottom:{0,0},right:{0,0}}")
01288     {}
01289 
01290     String  get(const PropertyReceiver* receiver) const;
01291     void    set(PropertyReceiver* receiver, const String& value);
01292 };
01293 
01308 class UpdateMode : public Property
01309 {
01310     public:
01311         UpdateMode() : Property(
01312         "UpdateMode",
01313         "Property to get/set the window update mode setting.  "
01314         "Value is one of \"Always\", \"Never\" or \"Visible\".",
01315         "Visible")
01316         {}
01317 
01318         String get(const PropertyReceiver* receiver) const;
01319         void set(PropertyReceiver* receiver, const String& value);
01320 };
01321 
01337 class MouseInputPropagationEnabled : public Property
01338 {
01339 public:
01340     MouseInputPropagationEnabled() : Property(
01341         "MouseInputPropagationEnabled",
01342         "Property to get/set whether unhandled mouse inputs should be "
01343         "propagated back to the Window's parent.  "
01344         "Value is either \"True\" or \"False\".",
01345         "False")
01346     {}
01347 
01348     String  get(const PropertyReceiver* receiver) const;
01349     void    set(PropertyReceiver* receiver, const String& value);
01350 };
01351 
01352 } // End of  WindowProperties namespace section
01353 
01354 
01355 } // End of  CEGUI namespace section
01356 
01357 #endif  // end of guard _CEGUIWindowProperties_h_