# CEGUIEditboxProperties.h

    00001 /************************************************************************
    00002         filename:       CEGUIEditboxProperties.h
    00003         created:        9/7/2004
    00004         author:         Paul D Turner
    00005
    00006         purpose:        Interface to Properties for Editbox class
    00007 *************************************************************************/
    00008 /*************************************************************************
    00009     Crazy Eddie's GUI System (http://www.cegui.org.uk)
    00010     Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
    00011
    00012     This library is free software; you can redistribute it and/or
    00013     modify it under the terms of the GNU Lesser General Public
    00014     License as published by the Free Software Foundation; either
    00015     version 2.1 of the License, or (at your option) any later version.
    00016
    00017     This library is distributed in the hope that it will be useful,
    00018     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00019     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00020     Lesser General Public License for more details.
    00021
    00022     You should have received a copy of the GNU Lesser General Public
    00023     License along with this library; if not, write to the Free Software
    00024     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    00025 *************************************************************************/
    00026 #ifndef _CEGUIEditboxProperties_h_
    00027 #define _CEGUIEditboxProperties_h_
    00028
    00029 #include "CEGUIProperty.h"
    00030
    00031
    00032 // Start of CEGUI namespace section
    00033 namespace CEGUI
    00034 {
    00035
    00036 // Start of EditboxProperties namespace section
    00041 namespace EditboxProperties
    00042 {
    00057 class ReadOnly : public Property
    00058 {
    00059 public:
    00060         ReadOnly() : Property(
    00061                 "ReadOnly",
    00062                 "Property to get/set the read-only setting for the Editbox.  Value is either \"True\" or \"False\".",
    00063                 "False")
    00064         {}
    00065
    00066         String  get(const PropertyReceiver* receiver) const;
    00067         void    set(PropertyReceiver* receiver, const String& value);
    00068 };
    00069
    00070
    00085 class MaskText : public Property
    00086 {
    00087 public:
    00088         MaskText() : Property(
    00089                 "MaskText",
    00090                 "Property to get/set the mask text setting for the Editbox.  Value is either \"True\" or \"False\".",
    00091                 "False")
    00092         {}
    00093
    00094         String  get(const PropertyReceiver* receiver) const;
    00095         void    set(PropertyReceiver* receiver, const String& value);
    00096 };
    00097
    00098
    00112 class MaskCodepoint : public Property
    00113 {
    00114 public:
    00115         MaskCodepoint() : Property(
    00116                 "MaskCodepoint",
    00117                 "Property to get/set the utf32 codepoint value used for masking text.  Value is \"[uint]\".",
    00118                 "42")
    00119         {}
    00120
    00121         String  get(const PropertyReceiver* receiver) const;
    00122         void    set(PropertyReceiver* receiver, const String& value);
    00123 };
    00124
    00125
    00137 class ValidationString : public Property
    00138 {
    00139 public:
    00140         ValidationString() : Property(
    00141                 "ValidationString",
    00142                 "Property to get/set the validation string Editbox.  Value is a text string.",
    00143                 ".*")
    00144         {}
    00145
    00146         String  get(const PropertyReceiver* receiver) const;
    00147         void    set(PropertyReceiver* receiver, const String& value);
    00148 };
    00149
    00150
    00162 class CaratIndex : public Property
    00163 {
    00164 public:
    00165         CaratIndex() : Property(
    00166                 "CaratIndex",
    00167                 "Property to get/set the current carat index.  Value is \"[uint]\".",
    00168                 "0")
    00169         {}
    00170
    00171         String  get(const PropertyReceiver* receiver) const;
    00172         void    set(PropertyReceiver* receiver, const String& value);
    00173 };
    00174
    00175
    00187 class SelectionStart : public Property
    00188 {
    00189 public:
    00190         SelectionStart() : Property(
    00191                 "SelectionStart",
    00192                 "Property to get/set the zero based index of the selection start position within the text.  Value is \"[uint]\".",
    00193                 "0")
    00194         {}
    00195
    00196         String  get(const PropertyReceiver* receiver) const;
    00197         void    set(PropertyReceiver* receiver, const String& value);
    00198 };
    00199
    00200
    00212 class SelectionLength : public Property
    00213 {
    00214 public:
    00215         SelectionLength() : Property(
    00216                 "SelectionLength",
    00217                 "Property to get/set the length of the selection (as a count of the number of code points selected).  Value is \"[uint]\".",
    00218                 "0")
    00219         {}
    00220
    00221         String  get(const PropertyReceiver* receiver) const;
    00222         void    set(PropertyReceiver* receiver, const String& value);
    00223 };
    00224
    00225
    00237 class MaxTextLength : public Property
    00238 {
    00239 public:
    00240         MaxTextLength() : Property(
    00241                 "MaxTextLength",
    00242                 "Property to get/set the the maximum allowed text length (as a count of code points).  Value is \"[uint]\".",
    00243                 "1073741824")
    00244         {}
    00245
    00246         String  get(const PropertyReceiver* receiver) const;
    00247         void    set(PropertyReceiver* receiver, const String& value);
    00248 };
    00249
    00250
    00262 class NormalTextColour : public Property
    00263 {
    00264 public:
    00265         NormalTextColour() : Property(
    00266                 "NormalTextColour",
    00267                 "Property to get/set the normal, unselected, text colour used for rendering text.  Value is \"aarrggbb\" (hex).",
    00268                 "FFFFFFFF")
    00269         {}
    00270
    00271         String  get(const PropertyReceiver* receiver) const;
    00272         void    set(PropertyReceiver* receiver, const String& value);
    00273 };
    00274
    00275
    00287 class SelectedTextColour : public Property
    00288 {
    00289 public:
    00290         SelectedTextColour() : Property(
    00291                 "SelectedTextColour",
    00292                 "Property to get/set the colour used for rendering text within the selection area.  Value is \"aarrggbb\" (hex).",
    00293                 "FF000000")
    00294         {}
    00295
    00296         String  get(const PropertyReceiver* receiver) const;
    00297         void    set(PropertyReceiver* receiver, const String& value);
    00298 };
    00299
    00300
    00312 class ActiveSelectionColour : public Property
    00313 {
    00314 public:
    00315         ActiveSelectionColour() : Property(
    00316                 "ActiveSelectionColour",
    00317                 "Property to get/set the colour used for rendering the selection highlight when the edit box is active.  Value is \"aarrggbb\" (hex).",
    00318                 "FF6060FF")
    00319         {}
    00320
    00321         String  get(const PropertyReceiver* receiver) const;
    00322         void    set(PropertyReceiver* receiver, const String& value);
    00323 };
    00324
    00325
    00337 class InactiveSelectionColour : public Property
    00338 {
    00339 public:
    00340         InactiveSelectionColour() : Property(
    00341                 "InactiveSelectionColour",
    00342                 "Property to get/set the colour used for rendering the selection highlight when the edit box is inactive.  Value is \"aarrggbb\" (hex).",
    00343                 "FF808080")
    00344         {}
    00345
    00346         String  get(const PropertyReceiver* receiver) const;
    00347         void    set(PropertyReceiver* receiver, const String& value);
    00348 };
    00349
    00350 } // End of  EditboxProperties namespace section
    00351
    00352 } // End of  CEGUI namespace section
    00353
    00354
    00355 #endif  // end of guard _CEGUIEditboxProperties_h_