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/CEGUIListHeaderProperties.h"
00027 #include "elements/CEGUIListHeader.h"
00028 #include "CEGUIPropertyHelper.h"
00029
00030
00031
00032 namespace CEGUI
00033 {
00034
00035
00036 namespace ListHeaderProperties
00037 {
00038 String SortSettingEnabled::get(const PropertyReceiver* receiver) const
00039 {
00040 return PropertyHelper::boolToString(static_cast<const ListHeader*>(receiver)->isSortingEnabled());
00041 }
00042
00043
00044 void SortSettingEnabled::set(PropertyReceiver* receiver, const String& value)
00045 {
00046 static_cast<ListHeader*>(receiver)->setSortingEnabled(PropertyHelper::stringToBool(value));
00047 }
00048
00049
00050 String ColumnsSizable::get(const PropertyReceiver* receiver) const
00051 {
00052 return PropertyHelper::boolToString(static_cast<const ListHeader*>(receiver)->isColumnSizingEnabled());
00053 }
00054
00055
00056 void ColumnsSizable::set(PropertyReceiver* receiver, const String& value)
00057 {
00058 static_cast<ListHeader*>(receiver)->setColumnSizingEnabled(PropertyHelper::stringToBool(value));
00059 }
00060
00061
00062 String ColumnsMovable::get(const PropertyReceiver* receiver) const
00063 {
00064 return PropertyHelper::boolToString(static_cast<const ListHeader*>(receiver)->isColumnDraggingEnabled());
00065 }
00066
00067
00068 void ColumnsMovable::set(PropertyReceiver* receiver, const String& value)
00069 {
00070 static_cast<ListHeader*>(receiver)->setColumnDraggingEnabled(PropertyHelper::stringToBool(value));
00071 }
00072
00073
00074 String SortColumnID::get(const PropertyReceiver* receiver) const
00075 {
00076 return PropertyHelper::uintToString(static_cast<const ListHeader*>(receiver)->getSortSegment().getID());
00077 }
00078
00079
00080 void SortColumnID::set(PropertyReceiver* receiver, const String& value)
00081 {
00082 static_cast<ListHeader*>(receiver)->setSortColumnFromID(PropertyHelper::stringToUint(value));
00083 }
00084
00085
00086 String SortDirection::get(const PropertyReceiver* receiver) const
00087 {
00088 switch(static_cast<const ListHeader*>(receiver)->getSortDirection())
00089 {
00090 case ListHeaderSegment::Ascending:
00091 return String((utf8*)"Ascending");
00092 break;
00093
00094 case ListHeaderSegment::Descending:
00095 return String((utf8*)"Descending");
00096 break;
00097
00098 default:
00099 return String((utf8*)"None");
00100 break;
00101 }
00102
00103 }
00104
00105
00106 void SortDirection::set(PropertyReceiver* receiver, const String& value)
00107 {
00108 ListHeaderSegment::SortDirection dir;
00109
00110 if (value == (utf8*)"Ascending")
00111 {
00112 dir = ListHeaderSegment::Ascending;
00113 }
00114 else if (value == (utf8*)"Descending")
00115 {
00116 dir = ListHeaderSegment::Descending;
00117 }
00118 else
00119 {
00120 dir = ListHeaderSegment::None;
00121 }
00122
00123 static_cast<ListHeader*>(receiver)->setSortDirection(dir);
00124 }
00125
00126 }
00127
00128 }