00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "elements/CEGUIMultiColumnListProperties.h"
00027 #include "elements/CEGUIMultiColumnList.h"
00028 #include "CEGUIPropertyHelper.h"
00029
00030
00031
00032 namespace CEGUI
00033 {
00034
00035
00036 namespace MultiColumnListProperties
00037 {
00038 String ColumnsSizable::get(const PropertyReceiver* receiver) const
00039 {
00040 return PropertyHelper::boolToString(static_cast<const MultiColumnList*>(receiver)->isUserColumnSizingEnabled());
00041 }
00042
00043
00044 void ColumnsSizable::set(PropertyReceiver* receiver, const String& value)
00045 {
00046 static_cast<MultiColumnList*>(receiver)->setUserColumnSizingEnabled(PropertyHelper::stringToBool(value));
00047 }
00048
00049
00050 String ColumnsMovable::get(const PropertyReceiver* receiver) const
00051 {
00052 return PropertyHelper::boolToString(static_cast<const MultiColumnList*>(receiver)->isUserColumnDraggingEnabled());
00053 }
00054
00055
00056 void ColumnsMovable::set(PropertyReceiver* receiver, const String& value)
00057 {
00058 static_cast<MultiColumnList*>(receiver)->setUserColumnDraggingEnabled(PropertyHelper::stringToBool(value));
00059 }
00060
00061
00062 String SortSettingEnabled::get(const PropertyReceiver* receiver) const
00063 {
00064 return PropertyHelper::boolToString(static_cast<const MultiColumnList*>(receiver)->isUserSortControlEnabled());
00065 }
00066
00067
00068 void SortSettingEnabled::set(PropertyReceiver* receiver, const String& value)
00069 {
00070 static_cast<MultiColumnList*>(receiver)->setUserSortControlEnabled(PropertyHelper::stringToBool(value));
00071 }
00072
00073
00074 String SortColumnID::get(const PropertyReceiver* receiver) const
00075 {
00076 const MultiColumnList* mcl = static_cast<const MultiColumnList*>(receiver);
00077 return PropertyHelper::uintToString(mcl->getColumnID(mcl->getSortColumn()));
00078 }
00079
00080
00081 void SortColumnID::set(PropertyReceiver* receiver, const String& value)
00082 {
00083 static_cast<MultiColumnList*>(receiver)->setSortColumnByID(PropertyHelper::stringToUint(value));
00084 }
00085
00086
00087 String SortDirection::get(const PropertyReceiver* receiver) const
00088 {
00089 switch(static_cast<const MultiColumnList*>(receiver)->getSortDirection())
00090 {
00091 case ListHeaderSegment::Ascending:
00092 return String((utf8*)"Ascending");
00093 break;
00094
00095 case ListHeaderSegment::Descending:
00096 return String((utf8*)"Descending");
00097 break;
00098
00099 default:
00100 return String((utf8*)"None");
00101 break;
00102 }
00103
00104 }
00105
00106
00107 void SortDirection::set(PropertyReceiver* receiver, const String& value)
00108 {
00109 ListHeaderSegment::SortDirection dir;
00110
00111 if (value == (utf8*)"Ascending")
00112 {
00113 dir = ListHeaderSegment::Ascending;
00114 }
00115 else if (value == (utf8*)"Descending")
00116 {
00117 dir = ListHeaderSegment::Descending;
00118 }
00119 else
00120 {
00121 dir = ListHeaderSegment::None;
00122 }
00123
00124 static_cast<MultiColumnList*>(receiver)->setSortDirection(dir);
00125 }
00126
00127
00128 String NominatedSelectionColumnID::get(const PropertyReceiver* receiver) const
00129 {
00130 return PropertyHelper::uintToString(static_cast<const MultiColumnList*>(receiver)->getNominatedSelectionColumnID());
00131 }
00132
00133
00134 void NominatedSelectionColumnID::set(PropertyReceiver* receiver, const String& value)
00135 {
00136 static_cast<MultiColumnList*>(receiver)->setNominatedSelectionColumn(PropertyHelper::stringToUint(value));
00137 }
00138
00139
00140 String NominatedSelectionRow::get(const PropertyReceiver* receiver) const
00141 {
00142 return PropertyHelper::uintToString(static_cast<const MultiColumnList*>(receiver)->getNominatedSelectionRow());
00143 }
00144
00145
00146 void NominatedSelectionRow::set(PropertyReceiver* receiver, const String& value)
00147 {
00148 static_cast<MultiColumnList*>(receiver)->setNominatedSelectionRow(PropertyHelper::stringToUint(value));
00149 }
00150
00151
00152 String ForceVertScrollbar::get(const PropertyReceiver* receiver) const
00153 {
00154 return PropertyHelper::boolToString(static_cast<const MultiColumnList*>(receiver)->isVertScrollbarAlwaysShown());
00155 }
00156
00157
00158 void ForceVertScrollbar::set(PropertyReceiver* receiver, const String& value)
00159 {
00160 static_cast<MultiColumnList*>(receiver)->setShowVertScrollbar(PropertyHelper::stringToBool(value));
00161 }
00162
00163
00164 String ForceHorzScrollbar::get(const PropertyReceiver* receiver) const
00165 {
00166 return PropertyHelper::boolToString(static_cast<const MultiColumnList*>(receiver)->isHorzScrollbarAlwaysShown());
00167 }
00168
00169
00170 void ForceHorzScrollbar::set(PropertyReceiver* receiver, const String& value)
00171 {
00172 static_cast<MultiColumnList*>(receiver)->setShowHorzScrollbar(PropertyHelper::stringToBool(value));
00173 }
00174
00175
00176 String SelectionMode::get(const PropertyReceiver* receiver) const
00177 {
00178 switch(static_cast<const MultiColumnList*>(receiver)->getSelectionMode())
00179 {
00180 case MultiColumnList::RowMultiple:
00181 return String((utf8*)"RowMultiple");
00182 break;
00183
00184 case MultiColumnList::ColumnSingle:
00185 return String((utf8*)"ColumnSingle");
00186 break;
00187
00188 case MultiColumnList::ColumnMultiple:
00189 return String((utf8*)"ColumnMultiple");
00190 break;
00191
00192 case MultiColumnList::CellSingle:
00193 return String((utf8*)"CellSingle");
00194 break;
00195
00196 case MultiColumnList::CellMultiple:
00197 return String((utf8*)"CellMultiple");
00198 break;
00199
00200 case MultiColumnList::NominatedColumnSingle:
00201 return String((utf8*)"NominatedColumnSingle");
00202 break;
00203
00204 case MultiColumnList::NominatedColumnMultiple:
00205 return String((utf8*)"NominatedColumnMultiple");
00206 break;
00207
00208 case MultiColumnList::NominatedRowSingle:
00209 return String((utf8*)"NominatedRowSingle");
00210 break;
00211
00212 case MultiColumnList::NominatedRowMultiple:
00213 return String((utf8*)"NominatedRowMultiple");
00214 break;
00215
00216 default:
00217 return String((utf8*)"RowSingle");
00218 break;
00219 }
00220 }
00221
00222
00223 void SelectionMode::set(PropertyReceiver* receiver, const String& value)
00224 {
00225 MultiColumnList::SelectionMode mode;
00226
00227 if (value == (utf8*)"RowMultiple")
00228 {
00229 mode = MultiColumnList::RowMultiple;
00230 }
00231 else if (value == (utf8*)"ColumnSingle")
00232 {
00233 mode = MultiColumnList::ColumnSingle;
00234 }
00235 else if (value == (utf8*)"ColumnMultiple")
00236 {
00237 mode = MultiColumnList::ColumnMultiple;
00238 }
00239 else if (value == (utf8*)"CellSingle")
00240 {
00241 mode = MultiColumnList::CellSingle;
00242 }
00243 else if (value == (utf8*)"CellMultiple")
00244 {
00245 mode = MultiColumnList::CellMultiple;
00246 }
00247 else if (value == (utf8*)"NominatedColumnSingle")
00248 {
00249 mode = MultiColumnList::NominatedColumnSingle;
00250 }
00251 else if (value == (utf8*)"NominatedColumnMultiple")
00252 {
00253 mode = MultiColumnList::NominatedColumnMultiple;
00254 }
00255 else if (value == (utf8*)"NominatedRowSingle")
00256 {
00257 mode = MultiColumnList::NominatedRowSingle;
00258 }
00259 else if (value == (utf8*)"NominatedRowMultiple")
00260 {
00261 mode = MultiColumnList::NominatedRowMultiple;
00262 }
00263 else
00264 {
00265 mode = MultiColumnList::RowSingle;
00266 }
00267
00268 static_cast<MultiColumnList*>(receiver)->setSelectionMode(mode);
00269 }
00270
00271 }
00272
00273 }