diff options
Diffstat (limited to 'python/pyqt/sip/qt/qstringlist.sip')
-rw-r--r-- | python/pyqt/sip/qt/qstringlist.sip | 247 |
1 files changed, 247 insertions, 0 deletions
diff --git a/python/pyqt/sip/qt/qstringlist.sip b/python/pyqt/sip/qt/qstringlist.sip new file mode 100644 index 00000000..d95034c4 --- /dev/null +++ b/python/pyqt/sip/qt/qstringlist.sip @@ -0,0 +1,247 @@ +// This is the SIP interface definition for QStringList. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <info@riverbankcomputing.co.uk> +// +// This file is part of PyQt. +// +// This copy of PyQt 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, or (at your option) any later +// version. +// +// PyQt is supplied 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 +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QStringList (Qt v2+)</Title> +<Para> +The Python <Literal>len</Literal>, <Literal>[]</Literal> (for both reading and +writing slices and individual elements), <Literal>del</Literal> (for deleting +slices and individual elements), <Literal>+</Literal>, <Literal>+=</Literal>, +<Literal>*</Literal>, <Literal>*=</Literal>, <Literal>==</Literal>, +<Literal>!=</Literal> and <Literal>in</Literal> operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>Iterator <Function>append</Function></FuncDef> + <ParamDef>const QString &<Parameter>x</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This does not return a value. +</Para> + +<FuncSynopsis> + <FuncDef>Iterator <Function>prepend</Function></FuncDef> + <ParamDef>const QString &<Parameter>x</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This does not return a value. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QStringList +{ +%TypeHeaderCode +#include <qstringlist.h> +%End + +public: + QStringList(); + QStringList(const QStringList &); + QStringList(const QString &); + + void sort(); +%If (Qt_2_1_0 -) + static QStringList fromStrList(const QStrList &); + static QStringList split(const QString &,const QString &,bool = 0); + static QStringList split(const QChar &,const QString &,bool = 0); + static QStringList split(const QRegExp &,const QString &,bool = 0); + QString join(const QString &) const; + QStringList grep(const QString &,bool = 1) const; + QStringList grep(const QRegExp &) const; +%End + +%If (Qt_3_2_0 -) + QStringList &gres(const QString &,const QString &,bool = 1); + QStringList &gres(const QRegExp &,const QString &); +%End + + // These are actually in QValueList, which isn't implemented so + // pretend they are here. + + bool isEmpty() const; + void append(const QString &); + void prepend(const QString &); + void remove(const QString &); + const QString &first() const; + const QString &last() const; + int findIndex(const QString &) const; + uint contains(const QString &) const; + uint count() const; + void clear(); + + int __len__(); +%MethodCode + sipRes = sipCpp -> count(); +%End + + void __setitem__(int,const QString &); +%MethodCode + int len; + + len = sipCpp -> count(); + + if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0) + sipIsErr = 1; + else + (*sipCpp)[a0] = *a1; +%End + + void __setitem__(SIP_PYSLICE,const QStringList &); +%MethodCode +#if PY_VERSION_HEX >= 0x02050000 + Py_ssize_t len, start, stop, step, slicelength, i; +#else + int len, start, stop, step, slicelength, i; +#endif + + len = sipCpp -> count(); + + if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0) + sipIsErr = 1; + else + { + int vlen = a1 -> count(); + + if (vlen != slicelength) + { + sipBadLengthForSlice(vlen,slicelength); + sipIsErr = 1; + } + else + { + QStringList::ConstIterator it = a1 -> begin(); + + for (i = 0; i < slicelength; ++i) + { + (*sipCpp)[start] = *it; + start += step; + ++it; + } + } + } +%End + + void __delitem__(int); +%MethodCode + int len; + + len = sipCpp -> count(); + + if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0) + sipIsErr = 1; + else + sipCpp -> remove(sipCpp -> at(a0)); +%End + + void __delitem__(SIP_PYSLICE); +%MethodCode +#if PY_VERSION_HEX >= 0x02050000 + Py_ssize_t len, start, stop, step, slicelength, i; +#else + int len, start, stop, step, slicelength, i; +#endif + + len = sipCpp -> count(); + + if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0) + sipIsErr = 1; + else + for (i = 0; i < slicelength; ++i) + { + sipCpp -> remove(sipCpp -> at(start)); + start += step - 1; + } +%End + + QString operator[](int); +%MethodCode + int len; + + len = sipCpp -> count(); + + if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0) + sipIsErr = 1; + else + sipRes = new QString((*sipCpp)[a0]); +%End + + QStringList operator[](SIP_PYSLICE); +%MethodCode +#if PY_VERSION_HEX >= 0x02050000 + Py_ssize_t len, start, stop, step, slicelength, i; +#else + int len, start, stop, step, slicelength, i; +#endif + + len = sipCpp -> count(); + + if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0) + sipIsErr = 1; + else + { + sipRes = new QStringList(); + + for (i = 0; i < slicelength; ++i) + { + (*sipRes) += (*sipCpp)[start]; + start += step; + } + } +%End + + int __contains__(const QString &); +%MethodCode + sipRes = (sipCpp -> findIndex(*a0) >= 0); +%End + + QStringList operator+(const QStringList &); + QStringList &operator+=(const QStringList &); + + QStringList &operator+=(const QString &); + + QStringList operator*(int); +%MethodCode + sipRes = new QStringList(); + + while (a0-- > 0) + *sipRes += *sipCpp; +%End + + QStringList &operator*=(int); +%MethodCode + QStringList orig(*sipCpp); + + sipCpp -> clear(); + + while (a0-- > 0) + *sipCpp += orig; +%End + + bool operator==(const QStringList &); + bool operator!=(const QStringList &); +}; + +%End |