Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CEGUIListHeaderProperties.cpp

Go to the documentation of this file.
00001 /************************************************************************
00002         filename:       CEGUIListHeaderProperties.cpp
00003         created:        11/7/2004
00004         author:         Paul D Turner
00005         
00006         purpose:        Implements the properties for the ListHeader class
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 #include "elements/CEGUIListHeaderProperties.h"
00027 #include "elements/CEGUIListHeader.h"
00028 #include "CEGUIPropertyHelper.h"
00029 
00030 
00031 // Start of CEGUI namespace section
00032 namespace CEGUI
00033 {
00034 
00035 // Start of ListHeaderProperties namespace section
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 } // End of  ListHeaderProperties namespace section
00127 
00128 } // End of  CEGUI namespace section

Generated on Wed Sep 7 09:56:32 2005 for Crazy Eddies GUI System by  doxygen 1.4.3