# CEGUIMultiColumnListProperties.h

    00001 /************************************************************************
    00002         filename:       CEGUIMultiColumnListProperties.h
    00003         created:        11/7/2004
    00004         author:         Paul D Turner
    00005
    00006         purpose:        Interface to multi-column list properties.
    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 _CEGUIMultiColumnListProperties_h_
    00027 #define _CEGUIMultiColumnListProperties_h_
    00028
    00029 #include "CEGUIProperty.h"
    00030
    00031
    00032 // Start of CEGUI namespace section
    00033 namespace CEGUI
    00034 {
    00035
    00036 // Start of MultiColumnListProperties namespace section
    00041 namespace MultiColumnListProperties
    00042 {
    00055 class ColumnsSizable : public Property
    00056 {
    00057 public:
    00058         ColumnsSizable() : Property(
    00059                 "ColumnsSizable",
    00060                 "Property to get/set the setting for user sizing of the column headers.  Value is either \"True\" or \"False\".",
    00061                 "True")
    00062         {}
    00063
    00064         String  get(const PropertyReceiver* receiver) const;
    00065         void    set(PropertyReceiver* receiver, const String& value);
    00066 };
    00067
    00068
    00081 class ColumnsMovable : public Property
    00082 {
    00083 public:
    00084         ColumnsMovable() : Property(
    00085                 "ColumnsMovable",
    00086                 "Property to get/set the setting for user moving of the column headers.  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
    00107 class SortSettingEnabled : public Property
    00108 {
    00109 public:
    00110         SortSettingEnabled() : Property(
    00111                 "SortSettingEnabled",
    00112                 "Property to get/set the setting for for user modification of the sort column & direction.  Value is either \"True\" or \"False\".",
    00113                 "True")
    00114         {}
    00115
    00116         String  get(const PropertyReceiver* receiver) const;
    00117         void    set(PropertyReceiver* receiver, const String& value);
    00118 };
    00119
    00120
    00134 class SortDirection : public Property
    00135 {
    00136 public:
    00137         SortDirection() : Property(
    00138                 "SortDirection",
    00139                 "Property to get/set the sort direction setting of the list.  Value is the text of one of the SortDirection enumerated value names.",
    00140                 "None")
    00141         {}
    00142
    00143         String  get(const PropertyReceiver* receiver) const;
    00144         void    set(PropertyReceiver* receiver, const String& value);
    00145 };
    00146
    00147
    00159 class SortColumnID : public Property
    00160 {
    00161 public:
    00162         SortColumnID() : Property(
    00163                 "SortColumnID",
    00164                 "Property to get/set the current sort column (via ID code).  Value is an unsigned integer number.",
    00165                 "0", false)
    00166         {}
    00167
    00168         String  get(const PropertyReceiver* receiver) const;
    00169         void    set(PropertyReceiver* receiver, const String& value);
    00170 };
    00171
    00172
    00184 class NominatedSelectionColumnID : public Property
    00185 {
    00186 public:
    00187         NominatedSelectionColumnID() : Property(
    00188                 "NominatedSelectionColumnID",
    00189                 "Property to get/set the nominated selection column (via ID).  Value is an unsigned integer number.",
    00190                 "0")
    00191         {}
    00192
    00193         String  get(const PropertyReceiver* receiver) const;
    00194         void    set(PropertyReceiver* receiver, const String& value);
    00195 };
    00196
    00197
    00209 class NominatedSelectionRow : public Property
    00210 {
    00211 public:
    00212         NominatedSelectionRow() : Property(
    00213                 "NominatedSelectionRow",
    00214                 "Property to get/set the nominated selection row.  Value is an unsigned integer number.",
    00215                 "0")
    00216         {}
    00217
    00218         String  get(const PropertyReceiver* receiver) const;
    00219         void    set(PropertyReceiver* receiver, const String& value);
    00220 };
    00221
    00222
    00235 class ForceVertScrollbar : public Property
    00236 {
    00237 public:
    00238         ForceVertScrollbar() : Property(
    00239                 "ForceVertScrollbar",
    00240                 "Property to get/set the 'always show' setting for the vertical scroll bar of the list box.  Value is either \"True\" or \"False\".",
    00241                 "False")
    00242         {}
    00243
    00244         String  get(const PropertyReceiver* receiver) const;
    00245         void    set(PropertyReceiver* receiver, const String& value);
    00246 };
    00247
    00248
    00261 class ForceHorzScrollbar : public Property
    00262 {
    00263 public:
    00264         ForceHorzScrollbar() : Property(
    00265                 "ForceHorzScrollbar",
    00266                 "Property to get/set the 'always show' setting for the horizontal scroll bar of the list box.  Value is either \"True\" or \"False\".",
    00267                 "False")
    00268         {}
    00269
    00270         String  get(const PropertyReceiver* receiver) const;
    00271         void    set(PropertyReceiver* receiver, const String& value);
    00272 };
    00273
    00274
    00295 class SelectionMode : public Property
    00296 {
    00297 public:
    00298         SelectionMode() : Property(
    00299                 "SelectionMode",
    00300                 "Property to get/set the selection mode setting of the list.  Value is the text of one of the SelectionMode enumerated value names.",
    00301                 "RowSingle")
    00302         {}
    00303
    00304         String  get(const PropertyReceiver* receiver) const;
    00305         void    set(PropertyReceiver* receiver, const String& value);
    00306 };
    00307
    00308
    00322 class ColumnHeader : public Property
    00323 {
    00324 public:
    00325         ColumnHeader() : Property(
    00326                 "ColumnHeader",
    00327                 "Property to set up a column (there is no getter for this property)",
    00328                 "", false)
    00329         {}
    00330
    00331         String  get(const PropertyReceiver* receiver) const;
    00332         void    set(PropertyReceiver* receiver, const String& value);
    00333 };
    00334
    00343 class RowCount : public Property
    00344 {
    00345 public:
    00346         RowCount() : Property(
    00347                 "RowCount",
    00348                 "Property to access the number of rows in the list (read only)",
    00349                 "", false)
    00350         {}
    00351
    00352         String  get(const PropertyReceiver* receiver) const;
    00353         void    set(PropertyReceiver* receiver, const String& value);
    00354 };
    00355
    00356
    00357 } // End of  MultiColumnListProperties namespace section
    00358
    00359 } // End of  CEGUI namespace section
    00360
    00361
    00362 #endif  // end of guard _CEGUIMultiColumnListProperties_h_