# CEGUIMultiLineEditboxProperties.h

    00001 /************************************************************************
    00002         filename:       CEGUIMultiLineEditboxProperties.h
    00003         created:        10/7/2004
    00004         author:         Paul D Turner
    00005
    00006         purpose:        Interface to properties for the MultiLineEditbox 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 _CEGUIMultiLineEditboxProperties_h_
    00027 #define _CEGUIMultiLineEditboxProperties_h_
    00028
    00029 #include "CEGUIProperty.h"
    00030
    00031
    00032 // Start of CEGUI namespace section
    00033 namespace CEGUI
    00034 {
    00035
    00036 // Start of MultiLineEditboxProperties namespace section
    00041 namespace MultiLineEditboxProperties
    00042 {
    00055 class ReadOnly : public Property
    00056 {
    00057 public:
    00058         ReadOnly() : Property(
    00059                 "ReadOnly",
    00060                 "Property to get/set the read-only setting for the edit box.  Value is either \"True\" or \"False\".",
    00061                 "False")
    00062         {}
    00063
    00064         String  get(const PropertyReceiver* receiver) const;
    00065         void    set(PropertyReceiver* receiver, const String& value);
    00066 };
    00067
    00068
    00081 class WordWrap : public Property
    00082 {
    00083 public:
    00084         WordWrap() : Property(
    00085                 "WordWrap",
    00086                 "Property to get/set the word-wrap setting of the edit box.  Value is either \"True\" or \"False\".",
    00087                 "True")
    00088         {}
    00089
    00090         String  get(const PropertyReceiver* receiver) const;
    00091         void    set(PropertyReceiver* receiver, const String& value);
    00092 };
    00093
    00094
    00106 class CaratIndex : public Property
    00107 {
    00108 public:
    00109         CaratIndex() : Property(
    00110                 "CaratIndex",
    00111                 "Property to get/set the current carat index.  Value is \"[uint]\".",
    00112                 "0")
    00113         {}
    00114
    00115         String  get(const PropertyReceiver* receiver) const;
    00116         void    set(PropertyReceiver* receiver, const String& value);
    00117 };
    00118
    00119
    00131 class SelectionStart : public Property
    00132 {
    00133 public:
    00134         SelectionStart() : Property(
    00135                 "SelectionStart",
    00136                 "Property to get/set the zero based index of the selection start position within the text.  Value is \"[uint]\".",
    00137                 "0")
    00138         {}
    00139
    00140         String  get(const PropertyReceiver* receiver) const;
    00141         void    set(PropertyReceiver* receiver, const String& value);
    00142 };
    00143
    00144
    00156 class SelectionLength : public Property
    00157 {
    00158 public:
    00159         SelectionLength() : Property(
    00160                 "SelectionLength",
    00161                 "Property to get/set the length of the selection (as a count of the number of code points selected).  Value is \"[uint]\".",
    00162                 "0")
    00163         {}
    00164
    00165         String  get(const PropertyReceiver* receiver) const;
    00166         void    set(PropertyReceiver* receiver, const String& value);
    00167 };
    00168
    00169
    00181 class MaxTextLength : public Property
    00182 {
    00183 public:
    00184         MaxTextLength() : Property(
    00185                 "MaxTextLength",
    00186                 "Property to get/set the the maximum allowed text length (as a count of code points).  Value is \"[uint]\".",
    00187                 "1073741824")
    00188         {}
    00189
    00190         String  get(const PropertyReceiver* receiver) const;
    00191         void    set(PropertyReceiver* receiver, const String& value);
    00192 };
    00193
    00194
    00206 class NormalTextColour : public Property
    00207 {
    00208 public:
    00209         NormalTextColour() : Property(
    00210                 "NormalTextColour",
    00211                 "Property to get/set the normal, unselected, text colour used for rendering text.  Value is \"aarrggbb\" (hex).",
    00212                 "FFFFFFFF")
    00213         {}
    00214
    00215         String  get(const PropertyReceiver* receiver) const;
    00216         void    set(PropertyReceiver* receiver, const String& value);
    00217 };
    00218
    00219
    00231 class SelectedTextColour : public Property
    00232 {
    00233 public:
    00234         SelectedTextColour() : Property(
    00235                 "SelectedTextColour",
    00236                 "Property to get/set the colour used for rendering text within the selection area.  Value is \"aarrggbb\" (hex).",
    00237                 "FF000000")
    00238         {}
    00239
    00240         String  get(const PropertyReceiver* receiver) const;
    00241         void    set(PropertyReceiver* receiver, const String& value);
    00242 };
    00243
    00244
    00256 class ActiveSelectionColour : public Property
    00257 {
    00258 public:
    00259         ActiveSelectionColour() : Property(
    00260                 "ActiveSelectionColour",
    00261                 "Property to get/set the colour used for rendering the selection highlight when the edit box is active.  Value is \"aarrggbb\" (hex).",
    00262                 "FF6060FF")
    00263         {}
    00264
    00265         String  get(const PropertyReceiver* receiver) const;
    00266         void    set(PropertyReceiver* receiver, const String& value);
    00267 };
    00268
    00269
    00281 class InactiveSelectionColour : public Property
    00282 {
    00283 public:
    00284         InactiveSelectionColour() : Property(
    00285                 "InactiveSelectionColour",
    00286                 "Property to get/set the colour used for rendering the selection highlight when the edit box is inactive.  Value is \"aarrggbb\" (hex).",
    00287                 "FF808080")
    00288         {}
    00289
    00290         String  get(const PropertyReceiver* receiver) const;
    00291         void    set(PropertyReceiver* receiver, const String& value);
    00292 };
    00293
    00294
    00295 } // End of  MultiLineEditboxProperties namespace section
    00296
    00297 } // End of  CEGUI namespace section
    00298
    00299
    00300 #endif  // end of guard _CEGUIMultiLineEditboxProperties_h_