Crazy Eddies GUI System
0.7.6
|
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 * 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 _CEGUIMultiColumnListProperties_h_ 00031 #define _CEGUIMultiColumnListProperties_h_ 00032 00033 #include "../CEGUIProperty.h" 00034 00035 00036 // Start of CEGUI namespace section 00037 namespace CEGUI 00038 { 00039 00040 // Start of MultiColumnListProperties namespace section 00045 namespace MultiColumnListProperties 00046 { 00059 class ColumnsSizable : public Property 00060 { 00061 public: 00062 ColumnsSizable() : Property( 00063 "ColumnsSizable", 00064 "Property to get/set the setting for user sizing of the column headers. Value is either \"True\" or \"False\".", 00065 "True") 00066 {} 00067 00068 String get(const PropertyReceiver* receiver) const; 00069 void set(PropertyReceiver* receiver, const String& value); 00070 }; 00071 00072 00085 class ColumnsMovable : public Property 00086 { 00087 public: 00088 ColumnsMovable() : Property( 00089 "ColumnsMovable", 00090 "Property to get/set the setting for user moving of the column headers. Value is either \"True\" or \"False\".", 00091 "True") 00092 {} 00093 00094 String get(const PropertyReceiver* receiver) const; 00095 void set(PropertyReceiver* receiver, const String& value); 00096 }; 00097 00098 00111 class SortSettingEnabled : public Property 00112 { 00113 public: 00114 SortSettingEnabled() : Property( 00115 "SortSettingEnabled", 00116 "Property to get/set the setting for for user modification of the sort column & direction. Value is either \"True\" or \"False\".", 00117 "True") 00118 {} 00119 00120 String get(const PropertyReceiver* receiver) const; 00121 void set(PropertyReceiver* receiver, const String& value); 00122 }; 00123 00124 00138 class SortDirection : public Property 00139 { 00140 public: 00141 SortDirection() : Property( 00142 "SortDirection", 00143 "Property to get/set the sort direction setting of the list. Value is the text of one of the SortDirection enumerated value names.", 00144 "None") 00145 {} 00146 00147 String get(const PropertyReceiver* receiver) const; 00148 void set(PropertyReceiver* receiver, const String& value); 00149 }; 00150 00151 00163 class SortColumnID : public Property 00164 { 00165 public: 00166 SortColumnID() : Property( 00167 "SortColumnID", 00168 "Property to get/set the current sort column (via ID code). Value is an unsigned integer number.", 00169 "0", false) 00170 {} 00171 00172 String get(const PropertyReceiver* receiver) const; 00173 void set(PropertyReceiver* receiver, const String& value); 00174 }; 00175 00176 00188 class NominatedSelectionColumnID : public Property 00189 { 00190 public: 00191 NominatedSelectionColumnID() : Property( 00192 "NominatedSelectionColumnID", 00193 "Property to get/set the nominated selection column (via ID). Value is an unsigned integer number.", 00194 "0") 00195 {} 00196 00197 String get(const PropertyReceiver* receiver) const; 00198 void set(PropertyReceiver* receiver, const String& value); 00199 }; 00200 00201 00213 class NominatedSelectionRow : public Property 00214 { 00215 public: 00216 NominatedSelectionRow() : Property( 00217 "NominatedSelectionRow", 00218 "Property to get/set the nominated selection row. Value is an unsigned integer number.", 00219 "0") 00220 {} 00221 00222 String get(const PropertyReceiver* receiver) const; 00223 void set(PropertyReceiver* receiver, const String& value); 00224 }; 00225 00226 00239 class ForceVertScrollbar : public Property 00240 { 00241 public: 00242 ForceVertScrollbar() : Property( 00243 "ForceVertScrollbar", 00244 "Property to get/set the 'always show' setting for the vertical scroll bar of the list box. Value is either \"True\" or \"False\".", 00245 "False") 00246 {} 00247 00248 String get(const PropertyReceiver* receiver) const; 00249 void set(PropertyReceiver* receiver, const String& value); 00250 }; 00251 00252 00265 class ForceHorzScrollbar : public Property 00266 { 00267 public: 00268 ForceHorzScrollbar() : Property( 00269 "ForceHorzScrollbar", 00270 "Property to get/set the 'always show' setting for the horizontal scroll bar of the list box. Value is either \"True\" or \"False\".", 00271 "False") 00272 {} 00273 00274 String get(const PropertyReceiver* receiver) const; 00275 void set(PropertyReceiver* receiver, const String& value); 00276 }; 00277 00278 00299 class SelectionMode : public Property 00300 { 00301 public: 00302 SelectionMode() : Property( 00303 "SelectionMode", 00304 "Property to get/set the selection mode setting of the list. Value is the text of one of the SelectionMode enumerated value names.", 00305 "RowSingle") 00306 {} 00307 00308 String get(const PropertyReceiver* receiver) const; 00309 void set(PropertyReceiver* receiver, const String& value); 00310 }; 00311 00312 00326 class ColumnHeader : public Property 00327 { 00328 public: 00329 ColumnHeader() : Property( 00330 "ColumnHeader", 00331 "Property to set up a column (there is no getter for this property)", 00332 "", false) 00333 {} 00334 00335 String get(const PropertyReceiver* receiver) const; 00336 void set(PropertyReceiver* receiver, const String& value); 00337 }; 00338 00347 class RowCount : public Property 00348 { 00349 public: 00350 RowCount() : Property( 00351 "RowCount", 00352 "Property to access the number of rows in the list (read only)", 00353 "", false) 00354 {} 00355 00356 String get(const PropertyReceiver* receiver) const; 00357 void set(PropertyReceiver* receiver, const String& value); 00358 }; 00359 00360 00361 } // End of MultiColumnListProperties namespace section 00362 00363 } // End of CEGUI namespace section 00364 00365 00366 #endif // end of guard _CEGUIMultiColumnListProperties_h_