Crazy Eddies GUI System
0.7.6
|
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_