//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module tdecore  version KDE 3.5.3


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


%If ( KDE_3_2_0 -  )

class TDEConfigSkeletonItem
{
%TypeHeaderCode
#include <typeinfo>
#include <tdeconfigskeleton.h>
%End


public:
    typedef TQValueList<TDEConfigSkeletonItem*> List;
//ig     typedef TQDict<TDEConfigSkeletonItem> Dict;
//ig     typedef TQDictIterator<TDEConfigSkeletonItem> DictIterator;
                         TDEConfigSkeletonItem (const TQString&, const TQString&);
    void                 setGroup (const TQString&);
    TQString              group () const;
    void                 setKey (const TQString&);
    TQString              key () const;
    void                 setName (const TQString&);
    TQString              name () const;
    void                 setLabel (const TQString&);
    TQString              label () const;
    void                 setWhatsThis (const TQString&);
    TQString              whatsThis () const;
    virtual void         readConfig (TDEConfig*)  = 0;
    virtual void         writeConfig (TDEConfig*)  = 0;
    virtual void         readDefault (TDEConfig*)  = 0;
    virtual void         setProperty (const TQVariant&)  = 0;
    virtual TQVariant     property () const = 0;
    virtual TQVariant     minValue () const;
    virtual TQVariant     maxValue () const;
    virtual void         setDefault ()  = 0;
    virtual void         swapDefault ()  = 0;
    bool                 isImmutable () const;

protected:
    void                 readImmutability (TDEConfig*);

//force
%ConvertToSubClassCode
    if (dynamic_cast<TDEConfigSkeleton::ItemBool*>(sipCpp))
        sipClass =  sipClass_TDEConfigSkeleton_ItemBool;
    else if (dynamic_cast<TDEConfigSkeleton::ItemColor*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemColor;
    else if (dynamic_cast<TDEConfigSkeleton::ItemDateTime*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemDateTime;
    else if (dynamic_cast<TDEConfigSkeleton::ItemDouble*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemDouble;
    else if (dynamic_cast<TDEConfigSkeleton::ItemEnum*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemEnum;
    else if (dynamic_cast<TDEConfigSkeleton::ItemFont*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemFont;
    else if (dynamic_cast<TDEConfigSkeleton::ItemInt*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemInt;
    else if (dynamic_cast<TDEConfigSkeleton::ItemInt64*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemInt64;
    else if (dynamic_cast<TDEConfigSkeleton::ItemIntList*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemIntList;
    else if (dynamic_cast<TDEConfigSkeleton::ItemLong*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemLong;
    else if (dynamic_cast<TDEConfigSkeleton::ItemPassword*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemPassword;
    else if (dynamic_cast<TDEConfigSkeleton::ItemPath*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemPath;
    else if (dynamic_cast<TDEConfigSkeleton::ItemPoint*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemPoint;
    else if (dynamic_cast<TDEConfigSkeleton::ItemProperty*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemProperty;
    else if (dynamic_cast<TDEConfigSkeleton::ItemRect*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemRect;
    else if (dynamic_cast<TDEConfigSkeleton::ItemSize*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemSize;
    else if (dynamic_cast<TDEConfigSkeleton::ItemString*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemString;
    else if (dynamic_cast<TDEConfigSkeleton::ItemStringList*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemStringList;
    else if (dynamic_cast<TDEConfigSkeleton::ItemUInt*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemUInt;
    else if (dynamic_cast<TDEConfigSkeleton::ItemUInt64*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemUInt64;
    else if (dynamic_cast<TDEConfigSkeleton::ItemULong*>(sipCpp))
        sipClass = sipClass_TDEConfigSkeleton_ItemULong;
    else
        sipClass = NULL;
%End
//end

};  // class TDEConfigSkeletonItem

%End


%If ( KDE_3_2_0 -  )

class TDEConfigSkeleton
{
%TypeHeaderCode
#include <tdeconfigskeleton.h>
typedef TQValueList<int> IntList;
%End


public:

    class ItemPassword : TDEConfigSkeleton::ItemString
    {

    public:
                             ItemPassword (const TQString&, const TQString&, TQString&, const TQString& = TQString ::fromLatin1 ("" ));

    };  // class ItemPassword


public:

    class ItemPath : TDEConfigSkeleton::ItemString
    {

    public:
                             ItemPath (const TQString&, const TQString&, TQString&, const TQString& = TQString ::null );

    };  // class ItemPath


public:

    class ItemEnum : TDEConfigSkeleton::ItemInt
    {

    public:

        class Choice
        {

        public:
            TQString              name;
            TQString              label;
            TQString              whatsThis;

        };  // class Choice


    public:
                             ItemEnum (const TQString&, const TQString&, int, const TQValueList<TDEConfigSkeleton::ItemEnum::Choice>&, int = 0) [(const TQString&, const TQString&, int&, const TQValueList<TDEConfigSkeleton::ItemEnum::Choice>&, int = 0)];
%MethodCode
//takes group | (TQString) | key | (TQString) | reference | (int) | choices | (TQValueList<TDEConfigSkeleton::ItemEnum::Choice>) |defaultValue | (int = 1)

    class PyItemEnum : public TDEConfigSkeleton::ItemEnum
    {
    public:
        PyItemEnum (const TQString& group, const TQString& key, int& val, const TQValueList<TDEConfigSkeleton::ItemEnum::Choice>& choices, int defaultValue = 0) :
            TDEConfigSkeleton::ItemEnum(group, key, this->value, choices, defaultValue)
        {
            value = val;
        };

    private:
        int value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipCpp = (sipTDEConfigSkeleton_ItemEnum *) new PyItemEnum (*a0, *a1, a2, *a3, a4);
    Py_END_ALLOW_THREADS
%End

        TQValueList<TDEConfigSkeleton::ItemEnum::Choice> choices () const;
        void                 readConfig (TDEConfig*);
        void                 writeConfig (TDEConfig*);

    public:
//force
        void                 setValue (const int&);
        int                  value ();
        virtual void         setDefaultValue (const int&);
        virtual void         setDefault ();
        void                 swapDefault ();
//end

    };  // class ItemEnum


public:

%If ( KDE_3_4_0 -  )

    class ItemPathList : TDEConfigSkeleton::ItemStringList
    {

    public:
                             ItemPathList (const TQString&, const TQString&, TQStringList&, const TQStringList& = TQStringList ());
        void                 readConfig (TDEConfig*);
        void                 writeConfig (TDEConfig*);

    };  // class ItemPathList


public:
%End


public:
                         TDEConfigSkeleton (const TQString& = TQString ::null );
                         TDEConfigSkeleton (KSharedConfig::Ptr);
    void                 setDefaults ();
    void                 readConfig ();
    void                 writeConfig ();
    void                 setCurrentGroup (const TQString&);
    TQString              currentGroup ();
    void                 addItem (TDEConfigSkeletonItem*, const TQString& = TQString ::null );
    ItemString*          addItemString (const TQString&, TQString&, const TQString& = TQString ::fromLatin1 ("" ), const TQString& = TQString ::null );
    TDEConfigSkeleton::ItemPassword* addItemPassword (const TQString&, TQString&, const TQString& = TQString ::fromLatin1 ("" ), const TQString& = TQString ::null );
    TDEConfigSkeleton::ItemPath* addItemPath (const TQString&, TQString&, const TQString& = TQString ::fromLatin1 ("" ), const TQString& = TQString ::null );
    ItemProperty*        addItemProperty (const TQString&, TQVariant&, const TQVariant& = TQVariant (), const TQString& = TQString ::null );
    ItemBool*            addItemBool (const TQString&, bool&, bool = 0, const TQString& = TQString ::null );
%MethodCode
//takes name | (TQString) | value | (bool) | defaultValue | (bool) | key | (TQString = TQString::null)

    class PyItemBool : public TDEConfigSkeleton::ItemBool
    {
    public:
        PyItemBool (const TQString &group, const TQString &key, bool val, bool defaultValue = 0) :
            TDEConfigSkeleton::ItemBool (group, key, this->value, defaultValue)
        {
            value = val;
        }

    private:
        bool value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipRes = new PyItemBool (sipCpp->currentGroup(), a3->isNull() ? *a0 : *a3, a1, a2);
    sipCpp->addItem(sipRes, *a0);
    Py_END_ALLOW_THREADS
%End

    ItemInt*             addItemInt (const TQString&, int&, int = 0, const TQString& = TQString ::null );
%MethodCode
//takes name | (TQString) | value | (int) | defaultValue | (int) | key | (TQString = TQString::null)

    class PyItemInt : public TDEConfigSkeleton::ItemInt
    {
    public:
        PyItemInt(const TQString &group, const TQString &key, int val, int defaultValue=0) :
            TDEConfigSkeleton::ItemInt (group, key, this->value, defaultValue)
        {
            value = val;
        }

    private:
        int value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipRes = new PyItemInt(sipCpp->currentGroup(), a3->isNull() ? *a0 : *a3, a1, a2);
    sipCpp->addItem(sipRes, *a0);
    Py_END_ALLOW_THREADS
%End

    ItemUInt*            addItemUInt (const TQString&, uint&, uint = 0, const TQString& = TQString ::null );
%MethodCode
//takes name | (TQString) | value | (uint) | defaultValue | (uint) | key | (TQString = TQString::null)

    class PyItemUInt : public TDEConfigSkeleton::ItemUInt
    {
    public:
        PyItemUInt(const TQString &group, const TQString &key, uint val, uint defaultValue = 0) :
            TDEConfigSkeleton::ItemUInt (group, key, this->value, defaultValue)
        {
            value = val;
        }

    private:
        uint value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipRes = new PyItemUInt(sipCpp->currentGroup(), a3->isNull() ? *a0 : *a3, a1, a2);
    sipCpp->addItem(sipRes, *a0);
    Py_END_ALLOW_THREADS
%End

    ItemLong*            addItemLong (const TQString&, long&, long = 0, const TQString& = TQString ::null );
%MethodCode
//takes name | (TQString) | value | (long) | defaultValue | (long) | key | (TQString = TQString::null)

    class PyItemLong : public TDEConfigSkeleton::ItemLong
    {
    public:
        PyItemLong(const TQString &group, const TQString &key, long val, long defaultValue=0) :
            TDEConfigSkeleton::ItemLong (group, key, this->value, defaultValue)
        {
            value = val;
        }

    private:
        long value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipRes = new PyItemLong(sipCpp->currentGroup(), a3->isNull() ? *a0 : *a3, a1, a2);
    sipCpp->addItem(sipRes, *a0);
    Py_END_ALLOW_THREADS
%End

    ItemULong*           addItemULong (const TQString&, ulong&, ulong = 0, const TQString& = TQString ::null );
%MethodCode
//takes name | (TQString) | value | (ulong) | defaultValue | (ulong) | key | (TQString = TQString::null)

    class PyItemULong : public TDEConfigSkeleton::ItemULong
    {
    public:
        PyItemULong(const TQString &group, const TQString &key, ulong val, ulong defaultValue = 0) :
            TDEConfigSkeleton::ItemULong (group, key, this->value, defaultValue)
        {
            value = val;
        }

    private:
        ulong value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipRes = new PyItemULong(sipCpp->currentGroup(), a3->isNull() ? *a0 : *a3, a1, a2);
    sipCpp->addItem(sipRes, *a0);
    Py_END_ALLOW_THREADS
%End

    TDEConfigSkeleton::ItemInt64* addItemInt64 (const TQString&, longlong&, longlong = 0, const TQString& = TQString ::null );
    TDEConfigSkeleton::ItemUInt64* addItemUInt64 (const TQString&, ulonglong&, ulonglong = 0, const TQString& = TQString ::null );
    ItemDouble*          addItemDouble (const TQString&, double&, double = 0.0, const TQString& = TQString ::null );
%MethodCode
//takes name | (TQString) | value | (double) | defaultValue | (double) | key | (TQString = TQString::null)

    class PyItemDouble : public TDEConfigSkeleton::ItemDouble
    {
    public:
        PyItemDouble(const TQString &group, const TQString &key, double val, double defaultValue=0.0) :
            TDEConfigSkeleton::ItemDouble(group, key, this->value, defaultValue)
        {
            value = val;
        };

    private:
        double value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipRes = new PyItemDouble(sipCpp->currentGroup(), a3->isNull() ? *a0 : *a3, a1, a2);
    sipCpp->addItem(sipRes, *a0);
    Py_END_ALLOW_THREADS
%End

    ItemColor*           addItemColor (const TQString&, TQColor&, const TQColor& = TQColor (128 ,128 ,128 ), const TQString& = TQString ::null );
    ItemFont*            addItemFont (const TQString&, TQFont&, const TQFont& = TDEGlobalSettings ::generalFont (), const TQString& = TQString ::null );
    ItemRect*            addItemRect (const TQString&, TQRect&, const TQRect& = TQRect (), const TQString& = TQString ::null );
    ItemPoint*           addItemPoint (const TQString&, TQPoint&, const TQPoint& = TQPoint (), const TQString& = TQString ::null );
    ItemSize*            addItemSize (const TQString&, TQSize&, const TQSize& = TQSize (), const TQString& = TQString ::null );
    ItemDateTime*        addItemDateTime (const TQString&, TQDateTime&, const TQDateTime& = TQDateTime (), const TQString& = TQString ::null );
    TDEConfigSkeleton::ItemStringList* addItemStringList (const TQString&, TQStringList&, const TQStringList& = TQStringList (), const TQString& = TQString ::null );
    TDEConfigSkeleton::ItemIntList* addItemIntList (const TQString&, TQValueList<int>&, const TQValueList<int>& = IntList (), const TQString& = TQString ::null );
%MethodCode
//returns a Python list of int
//takes name | (TQString) | reference | (a Python list of int) | defaultValue | (a Python list of int = []) | key | (TQString = TQString::null)
    if (a2 == NULL) *(TQValueList<int> *)a2 = TQValueList<int>();
    Py_BEGIN_ALLOW_THREADS
    sipRes = sipCpp->addItemIntList (*a0, *a1, *a2, *a3);
    Py_END_ALLOW_THREADS
%End

    TDEConfig*             config () const;
    SIP_PYLIST           items () const [TDEConfigSkeletonItem::List ()];
%MethodCode
//returns (a Python list of Items)

    TDEConfigSkeletonItem::List list;

    Py_BEGIN_ALLOW_THREADS
    list = sipCpp->items ();
    Py_END_ALLOW_THREADS

    int n = list.count ();
    if (n > 0)
        for (int i = 0; i < n; i++)
            PyList_Append (sipRes, sipConvertFromInstance (&(list [i]), sipClass_TDEConfigSkeletonItem, NULL));
%End

    bool                 isImmutable (const TQString&);
    TDEConfigSkeletonItem* findItem (const TQString&);
    bool                 useDefaults (bool);

protected:
    virtual void         usrUseDefaults (bool);
    virtual void         usrSetDefaults ();
    virtual void         usrReadConfig ();
    virtual void         usrWriteConfig ();

public:
//force

    class ItemString : TDEConfigSkeletonItem
    {

    public:

        enum Type
        {
            Normal, 
            Password, 
            Path
        };

                             ItemString (const TQString&, const TQString&, TQString&, const TQString& = TQString ::fromLatin1 ("" ), TDEConfigSkeleton::ItemString::Type = TDEConfigSkeleton ::ItemString ::Normal );
        void                 setValue (const TQString&);
        TQString&             value ();
        virtual void         setDefaultValue (const TQString&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;

    };  // class ItemString


public:
//end

public:
//force

    class ItemProperty : TDEConfigSkeletonItem
    {

    public:
                             ItemProperty (const TQString&, const TQString&, TQVariant, TQVariant = 0) [(const TQString&, const TQString&, TQVariant&, TQVariant = 0)];
%MethodCode
//takes group | (TQString) | key | (TQString) | reference | (TQVariant) | defaultValue | (TQVariant = 0)
    Py_BEGIN_ALLOW_THREADS
    sipCpp = (sipTDEConfigSkeleton_ItemProperty *) new TDEConfigSkeleton::ItemProperty (*a0, *a1, *a2, *a3);
    Py_END_ALLOW_THREADS
%End

        void                 setValue (const TQVariant&);
        TQVariant&            value ();
        virtual void         setDefaultValue (const TQVariant&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;

    };  // class ItemProperty


public:
//end

public:
//force

    class ItemBool : TDEConfigSkeletonItem
    {

    public:
                             ItemBool (const TQString&, const TQString&, bool, bool = 1) [(const TQString&, const TQString&, bool&, bool = 1)];
%MethodCode
//takes group | (TQString) | key | (TQString) | reference | (bool) | defaultValue | (bool = 1)

    class PyItemBool : public TDEConfigSkeleton::ItemBool
    {
    public:
        PyItemBool(const TQString &group, const TQString &key, bool val, bool defaultValue = false) :
            TDEConfigSkeleton::ItemBool(group, key, this->value, defaultValue)
        {
            value = val;
        };

    private:
        bool value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipCpp = (sipTDEConfigSkeleton_ItemBool *) new PyItemBool (*a0, *a1, a2);
    Py_END_ALLOW_THREADS
%End

        void                 setValue (const bool&);
        bool                 value ();
        virtual void         setDefaultValue (const bool&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;

    };  // class ItemBool


public:
//end

public:
//force

    class ItemInt : TDEConfigSkeletonItem
    {

    public:
                             ItemInt (const TQString&, const TQString&, int, int = 1) [(const TQString&, const TQString&, int&, int = 1)];
%MethodCode
//takes group | (TQString) | key | (TQString) | reference | (int) | defaultValue | (int = 1)

    class PyItemInt : public TDEConfigSkeleton::ItemInt
    {
    public:
        PyItemInt(const TQString &group, const TQString &key, int val, int defaultValue = 0) :
            TDEConfigSkeleton::ItemInt(group, key, this->value, defaultValue)
        {
            value = val;
        };

    private:
        int value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipCpp = (sipTDEConfigSkeleton_ItemInt *) new PyItemInt (*a0, *a1, a2);
    Py_END_ALLOW_THREADS
%End

        void                 setValue (const int&);
        int                  value ();
        virtual void         setDefaultValue (const int&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;
        TQVariant             minValue () const;
        TQVariant             maxValue () const;
        void                 setMinValue (int);
        void                 setMaxValue (int);

    };  // class ItemInt


public:
//end

public:
//force

    class ItemInt64 : TDEConfigSkeletonItem
    {

    public:
                             ItemInt64 (const TQString&, const TQString&, longlong&, longlong = 0);
%MethodCode
//takes group | (TQString) | key | (TQString) | reference | (longlong) | defaultValue | (longlong = 0)

    class PyItemInt64 : public TDEConfigSkeleton::ItemInt64
    {
    public:
        PyItemInt64(const TQString &group, const TQString &key, TQ_INT64 val, TQ_INT64 defaultValue=0) :
            TDEConfigSkeleton::ItemInt64(group, key, this->value, defaultValue)
        {
            value = val;
        };

    private:
        TQ_INT64 value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipCpp = (sipTDEConfigSkeleton_ItemInt64 *) new PyItemInt64 (*a0, *a1, *a2, *a3);
    Py_END_ALLOW_THREADS
%End

        void                 setValue (const longlong&);
        longlong&            value ();
        virtual void         setDefaultValue (const longlong&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;
        TQVariant             minValue () const;
        TQVariant             maxValue () const;
        void                 setMinValue (longlong);
        void                 setMaxValue (longlong);

    };  // class ItemInt64


public:
//end

public:
//force

    class ItemUInt : TDEConfigSkeletonItem
    {

    public:
                             ItemUInt (const TQString&, const TQString&, uint, uint = 0) [(const TQString&, const TQString&, uint&, uint = 0)];
%MethodCode
//takes group | (TQString) | key | (TQString) | reference | (uint) | defaultValue | (uint = 1)

    class PyItemUInt : public TDEConfigSkeleton::ItemUInt
    {
    public:
        PyItemUInt(const TQString &group, const TQString &key, uint val, uint defaultValue = 0) :
            TDEConfigSkeleton::ItemUInt(group, key, this->value, defaultValue)
        {
            value = val;
        };

    private:
        uint value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipCpp = (sipTDEConfigSkeleton_ItemUInt *) new PyItemUInt (*a0, *a1, a2);
    Py_END_ALLOW_THREADS
%End

        void                 setValue (const uint&);
        uint                 value ();
        virtual void         setDefaultValue (const uint&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;
        TQVariant             minValue () const;
        TQVariant             maxValue () const;
        void                 setMinValue (uint);
        void                 setMaxValue (uint);

    };  // class ItemUInt


public:

public:

    class ItemLong : TDEConfigSkeletonItem
    {

    public:
                             ItemLong (const TQString&, const TQString&, long&, long = 0) [(const TQString&, const TQString&, long&, long = 0)];
%MethodCode
//takes group | (TQString) | key | (TQString) | reference | (long) | defaultValue | (long = 1)

    class PyItemLong : public TDEConfigSkeleton::ItemLong
    {
    public:
        PyItemLong(const TQString &group, const TQString &key, long val, long defaultValue = 0) :
            TDEConfigSkeleton::ItemLong(group, key, this->value, defaultValue)
        {
            value = val;
        };

    private:
        long value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipCpp = (sipTDEConfigSkeleton_ItemLong *) new PyItemLong (*a0, *a1, a2);
    Py_END_ALLOW_THREADS
%End

        void                 setValue (const long&);
        long                 value ();
        virtual void         setDefaultValue (const long&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;
        TQVariant             minValue () const;
        TQVariant             maxValue () const;
        void                 setMinValue (long);
        void                 setMaxValue (long);

    };  // class ItemLong


public:
//end

public:
//force

    class ItemULong : TDEConfigSkeletonItem
    {

    public:
                             ItemULong (const TQString&, const TQString&, ulong, ulong = 0) [(const TQString&, const TQString&, ulong&, ulong = 0)];
%MethodCode
//takes group | (TQString) | key | (TQString) | reference | (ulong) | defaultValue | (ulong = 1)

    class PyItemULong : public TDEConfigSkeleton::ItemULong
    {
    public:
        PyItemULong(const TQString &group, const TQString &key, ulong val, ulong defaultValue = 0) :
            TDEConfigSkeleton::ItemULong(group, key, this->value, defaultValue)
        {
            value = val;
        };

    private:
        ulong value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipCpp = (sipTDEConfigSkeleton_ItemULong *) new PyItemULong (*a0, *a1, a2);
    Py_END_ALLOW_THREADS
%End

        void                 setValue (const ulong&);
        ulong                value ();
        virtual void         setDefaultValue (const ulong&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;
        TQVariant             minValue () const;
        TQVariant             maxValue () const;
        void                 setMinValue (ulong);
        void                 setMaxValue (ulong);

    };  // class ItemULong


public:
//end

public:
//force

    class ItemUInt64 : TDEConfigSkeletonItem
    {

    public:
                             ItemUInt64 (const TQString&, const TQString&, ulonglong&, ulonglong = 0);
%MethodCode
//takes group | (TQString) | key | (TQString) | reference | (ulonglong) | defaultValue | (ulonglong = 0)

    class PyItemUInt64 : public TDEConfigSkeleton::ItemUInt64
    {
    public:
        PyItemUInt64(const TQString &group, const TQString &key, TQ_UINT64 val, TQ_UINT64 defaultValue = 0) :
            TDEConfigSkeleton::ItemUInt64(group, key, this->value, defaultValue)
        {
            value = val;
        };

    private:
        TQ_UINT64 value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipCpp = (sipTDEConfigSkeleton_ItemUInt64 *) new PyItemUInt64 (*a0, *a1, *a2, *a3);
    Py_END_ALLOW_THREADS
%End

        void                 setValue (const ulonglong&);
        ulonglong            value ();
        virtual void         setDefaultValue (const ulonglong&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;
        TQVariant             minValue () const;
        TQVariant             maxValue () const;
        void                 setMinValue (ulonglong);
        void                 setMaxValue (ulonglong);

    };  // class ItemUInt64


public:
//end

public:
//force

    class ItemDouble : TDEConfigSkeletonItem
    {

    public:
                             ItemDouble (const TQString&, const TQString&, double, double = 0) [(const TQString&, const TQString&, double&, double = 0)];
%MethodCode
//takes group | (TQString) | key | (TQString) | reference | (double) | defaultValue | (double = 0)
    class PyItemDouble : public TDEConfigSkeleton::ItemDouble
    {
    public:
        PyItemDouble(const TQString &group, const TQString &key, double val, double defaultValue=0.0) :
            TDEConfigSkeleton::ItemDouble(group, key, this->value, defaultValue)
        {
            value = val;
        };

    private:
        double value;
    };

    Py_BEGIN_ALLOW_THREADS
    sipCpp = (sipTDEConfigSkeleton_ItemDouble *) new PyItemDouble (*a0, *a1, a2, a3);
    Py_END_ALLOW_THREADS
%End

        void                 setValue (const double&);
        double               value ();
        virtual void         setDefaultValue (const double&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;
        TQVariant             minValue () const;
        TQVariant             maxValue () const;
        void                 setMinValue (double);
        void                 setMaxValue (double);

    };  // class ItemDouble


public:
//end

public:
//force

    class ItemColor : TDEConfigSkeletonItem
    {

    public:
                             ItemColor (const TQString&, const TQString&, TQColor&, const TQColor& = TQColor (128 ,128 ,128 ));
        void                 setValue (const TQColor&);
        TQColor&              value ();
        virtual void         setDefaultValue (const TQColor&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;

    };  // class ItemColor


public:
//end

public:
//force

    class ItemFont : TDEConfigSkeletonItem
    {

    public:
                             ItemFont (const TQString&, const TQString&, TQFont&, const TQFont& = TDEGlobalSettings ::generalFont ());
        void                 setValue (const TQFont&);
        TQFont&               value ();
        virtual void         setDefaultValue (const TQFont&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;

    };  // class ItemFont


public:
//end

public:
//force

    class ItemRect : TDEConfigSkeletonItem
    {

    public:
                             ItemRect (const TQString&, const TQString&, TQRect&, const TQRect& = TQRect ());
        void                 setValue (const TQRect&);
        TQRect&               value ();
        virtual void         setDefaultValue (const TQRect&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;

    };  // class ItemRect


public:
//end

public:
//force

    class ItemPoint : TDEConfigSkeletonItem
    {

    public:
                             ItemPoint (const TQString&, const TQString&, TQPoint&, const TQPoint& = TQPoint ());
        void                 setValue (const TQPoint&);
        TQPoint&              value ();
        virtual void         setDefaultValue (const TQPoint&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;

    };  // class ItemPoint


public:
//end

public:
//force

    class ItemSize : TDEConfigSkeletonItem
    {

    public:
                             ItemSize (const TQString&, const TQString&, TQSize&, const TQSize& = TQSize ());
        void                 setValue (const TQSize&);
        TQSize&               value ();
        virtual void         setDefaultValue (const TQSize&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;

    };  // class ItemSize


public:
//end

public:
//force

    class ItemDateTime : TDEConfigSkeletonItem
    {

    public:
                             ItemDateTime (const TQString&, const TQString&, TQDateTime&, const TQDateTime& = TQDateTime ());
        void                 setValue (const TQDateTime&);
        TQDateTime&           value ();
        virtual void         setDefaultValue (const TQDateTime&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;

    };  // class ItemDateTime


public:
//end

public:
//force

    class ItemStringList : TDEConfigSkeletonItem
    {

    public:
                             ItemStringList (const TQString&, const TQString&, TQStringList&, const TQStringList& = TQStringList ());
        void                 setValue (const TQStringList&);
        TQStringList&         value ();
        virtual void         setDefaultValue (const TQStringList&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;

    };  // class ItemStringList


public:
//end

public:
//force

    class ItemIntList : TDEConfigSkeletonItem
    {

    public:
                             ItemIntList (const TQString&, const TQString&, TQValueList<int>&, const TQValueList<int>& = IntList ());
%MethodCode
//takes group | (TQString) | key | (TQString) | reference | (a Python list of int) | defaultValue | (a Python list of int = 0)
    if (a3 == NULL) *(TQValueList<int> *)a3 = TQValueList<int>();
    Py_BEGIN_ALLOW_THREADS
    sipCpp = (sipTDEConfigSkeleton_ItemIntList *) new TDEConfigSkeleton::ItemIntList (*a0, *a1, *a2, *a3);
    Py_END_ALLOW_THREADS
%End

        void                 setValue (const TQValueList<int>&);
        TQValueList<int>&     value ();
        virtual void         setDefaultValue (const TQValueList<int>&);
        virtual void         setDefault ();
        void                 swapDefault ();
        void                 writeConfig (TDEConfig*);
        void                 readConfig (TDEConfig*);
        void                 setProperty (const TQVariant&);
        TQVariant             property () const;

    };  // class ItemIntList


public:
//end

};  // class TDEConfigSkeleton

%End



%If (KDE_3_2_0 - )
%MappedType TQValueList<TDEConfigSkeleton::ItemEnum::Choice>
{
%TypeHeaderCode
#include <tdeconfigskeleton.h>
%End

%ConvertFromTypeCode
    if (!sipCpp)
        return PyList_New(0);

    // Create the list
    PyObject *pylist;
    if ((pylist = PyList_New(0)) == NULL)
        return NULL;

    TQValueList<TDEConfigSkeleton::ItemEnum::Choice> *cpplist = (TQValueList<TDEConfigSkeleton::ItemEnum::Choice> *)sipCpp;
    PyObject *inst;

    // Get it.
    TQValueList<TDEConfigSkeleton::ItemEnum::Choice>::Iterator it;
    for( it = cpplist->begin(); it != cpplist->end(); ++it )
    {
        if (((inst = sipConvertFromNewType(new TDEConfigSkeleton::ItemEnum::Choice(*it), sipType_TDEConfigSkeleton_ItemEnum_Choice, NULL)) == NULL)
            || PyList_Append (pylist, inst) < 0)
        {
            Py_DECREF (pylist);
            return NULL;
        }
    }

    return pylist;
%End


%ConvertToTypeCode
    if (sipIsErr == NULL)
        return PyList_Check(sipPy);

    TQValueList<TDEConfigSkeleton::ItemEnum::Choice> *cpplist = new TQValueList<TDEConfigSkeleton::ItemEnum::Choice>;

    PyObject *elem;
    TDEConfigSkeleton::ItemEnum::Choice *cpp;
    int iserr = 0;

    for (int i = 0; i < PyList_Size (sipPy); i++)
    {
        elem = PyList_GET_ITEM (sipPy, i);
        cpp = (TDEConfigSkeleton::ItemEnum::Choice *)sipForceConvertToType(elem, sipType_TDEConfigSkeleton_ItemEnum_Choice, sipTransferObj, SIP_NOT_NONE|SIP_NO_CONVERTORS, NULL, &iserr);

        if (iserr)
        {
            *sipIsErr = 1;
            delete cpplist;
            return 0;
        }

        cpplist->append (*cpp);
    }

    *sipCppPtr = cpplist;

    return 1;
%End
};
%End


