// // Copyright 2006 Jim Bublitz // Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson // may also apply // Generated by preSip // module kabc 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_1_0 - ) namespace KABC { class Field { %TypeHeaderCode #include %End public: typedef QValueList List; enum FieldCategory { All, Frequent, Address, Email, Personal, Organization, CustomCategory }; virtual QString label (); virtual int category (); static QString categoryLabel (int); virtual QString value (const KABC::Addressee&); virtual bool setValue (KABC::Addressee&, const QString&); %If ( KDE_3_2_0 - ) QString sortKey (const KABC::Addressee&); %End virtual bool isCustom (); virtual bool equals (KABC::Field*); static KABC::Field::List allFields (); static KABC::Field::List defaultFields (); static KABC::Field* createCustomField (const QString&, int, const QString&, const QString&); static void deleteFields (); static void saveFields (KConfig*, const QString&, const KABC::Field::List&); static void saveFields (const QString&, const KABC::Field::List&); static KABC::Field::List restoreFields (KConfig*, const QString&); static KABC::Field::List restoreFields (const QString&); protected: static void createField (int, int = 0); static void createDefaultField (int, int = 0); private: //ig Field (KABC::Field::FieldImpl*); ~Field (); //force Field (); //end }; // class Field }; // namespace KABC %End %If (KDE_3_1_0 - ) %MappedType KABC::Field::List //converts a Python list of KABC::Field { %TypeHeaderCode #include #include //typedef QValueList List; %End %ConvertFromTypeCode if (!sipCpp) return PyList_New(0); // Create the list PyObject *pylist; if ((pylist = PyList_New(0)) == NULL) return NULL; QValueList *cpplist = (QValueList *)sipCpp; PyObject *inst; // Get it. QValueList::Iterator it; for( it = cpplist->begin(); it != cpplist->end(); ++it ) { if (((inst = sipBuildResult (NULL, "N", (KABC::Field *) (*it), sipClass_KABC_Field)) == NULL) || PyList_Append (pylist, inst) < 0) { Py_DECREF (pylist); return NULL; } } return pylist; %End %ConvertToTypeCode if (sipIsErr == NULL) return PyList_Check(sipPy); QValueList *cpplist = new QValueList; PyObject *elem; KABC::Field *cpp; int iserr = 0; for (int i = 0; i < PyList_Size (sipPy); i++) { elem = PyList_GET_ITEM (sipPy, i); cpp = (KABC::Field *)sipForceConvertTo_KABC_Field (elem, &iserr); if (iserr) { *sipIsErr = 1; delete cpplist; return 0; } cpplist->append (cpp); } *sipCppPtr = cpplist; return 1; %End }; %End