# CEGUITabControlProperties.h

    00001 /************************************************************************
    00002         filename:       CEGUITabControlProperties.h
    00003         created:        08/08/2004
    00004         author:         Steve Streeting
    00005
    00006         purpose:        Interface to TabControl property classes
    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 _CEGUITabControlProperties_h_
    00027 #define _CEGUITabControlProperties_h_
    00028
    00029 #include "CEGUIProperty.h"
    00030
    00031
    00032 // Start of CEGUI namespace section
    00033 namespace CEGUI
    00034 {
    00035
    00036 // Start of TabControlProperties namespace section
    00041 namespace TabControlProperties
    00042 {
    00052 class TabHeight : public Property
    00053 {
    00054 public:
    00055         TabHeight() : Property(
    00056                 "TabHeight",
    00057                 "Property to get/set the height of the tabs.",
    00058                 "")
    00059         {}
    00060
    00061         String  get(const PropertyReceiver* receiver) const;
    00062         void    set(PropertyReceiver* receiver, const String& value);
    00063
    00064         // default depends upon current metrics mode
    00065         bool    isDefault(const PropertyReceiver* receiver) const;
    00066         String  getDefault(const PropertyReceiver* receiver) const;
    00067 };
    00068
    00078 class AbsoluteTabHeight : public Property
    00079 {
    00080 public:
    00081     AbsoluteTabHeight() : Property(
    00082                 "AbsoluteTabHeight",
    00083                 "Property to get/set the absolute height of the tabs.",
    00084                 "", false)
    00085         {}
    00086
    00087     String      get(const PropertyReceiver* receiver) const;
    00088     void        set(PropertyReceiver* receiver, const String& value);
    00089
    00090         // default depends upon size of parent
    00091         bool    isDefault(const PropertyReceiver* receiver) const;
    00092         String  getDefault(const PropertyReceiver* receiver) const;
    00093 };
    00094
    00104 class RelativeTabHeight : public Property
    00105 {
    00106 public:
    00107     RelativeTabHeight() : Property(
    00108                 "RelativeTabHeight",
    00109                 "Property to get/set the relative height of the tabs.",
    00110                 "0.050000", false)
    00111         {}
    00112
    00113     String      get(const PropertyReceiver* receiver) const;
    00114     void        set(PropertyReceiver* receiver, const String& value);
    00115 };
    00116
    00126 class TabTextPadding : public Property
    00127 {
    00128 public:
    00129     TabTextPadding() : Property(
    00130                 "TabTextPadding",
    00131                 "Property to get/set the padding either side of the tab buttons.",
    00132                 "")
    00133         {}
    00134
    00135     String      get(const PropertyReceiver* receiver) const;
    00136     void        set(PropertyReceiver* receiver, const String& value);
    00137
    00138         // default depends upon current metrics mode
    00139         bool    isDefault(const PropertyReceiver* receiver) const;
    00140         String  getDefault(const PropertyReceiver* receiver) const;
    00141 };
    00142
    00152 class AbsoluteTabTextPadding : public Property
    00153 {
    00154 public:
    00155     AbsoluteTabTextPadding() : Property(
    00156                 "AbsoluteTabTextPadding",
    00157                 "Property to get/set the absolute padding either side of the tab buttons.",
    00158                 "5", false)
    00159         {}
    00160
    00161     String      get(const PropertyReceiver* receiver) const;
    00162     void        set(PropertyReceiver* receiver, const String& value);
    00163 };
    00164
    00174 class RelativeTabTextPadding : public Property
    00175 {
    00176 public:
    00177     RelativeTabTextPadding() : Property(
    00178                 "RelativeTabTextPadding",
    00179                 "Property to get/set the relative padding either side of the tab buttons.",
    00180                 "", false)
    00181         {}
    00182
    00183     String      get(const PropertyReceiver* receiver) const;
    00184     void        set(PropertyReceiver* receiver, const String& value);
    00185
    00186         // default depends upon size of parent
    00187         bool    isDefault(const PropertyReceiver* receiver) const;
    00188         String  getDefault(const PropertyReceiver* receiver) const;
    00189 };
    00190
    00191
    00192
    00193
    00194
    00195 } // End of  TabControlProperties namespace section
    00196
    00197 } // End of  CEGUI namespace section
    00198
    00199
    00200 #endif  // end of guard _CEGUIListboxProperties_h_