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_

Generated on Sat Nov 26 10:09:54 2005 for Crazy Eddies GUI System by  doxygen 1.4.5