diff options
Diffstat (limited to 'sip/tqt/tqstringlist.sip')
-rw-r--r-- | sip/tqt/tqstringlist.sip | 227 |
1 files changed, 227 insertions, 0 deletions
diff --git a/sip/tqt/tqstringlist.sip b/sip/tqt/tqstringlist.sip new file mode 100644 index 0000000..54e049d --- /dev/null +++ b/sip/tqt/tqstringlist.sip @@ -0,0 +1,227 @@ +// This is the SIP interface definition for TQStringList. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <info@riverbankcomputing.co.uk> +// +// This file is part of PyTQt. +// +// This copy of PyTQt 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. +// +// PyTQt 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 +// PyTQt; 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>TQStringList (TQt 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 TQString &<Parameter>x</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This does not return a value. +</Para> + +<FuncSynopsis> + <FuncDef>Iterator <Function>prepend</Function></FuncDef> + <ParamDef>const TQString &<Parameter>x</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This does not return a value. +</Para> +</Sect2> +%End + + +class TQStringList +{ +%TypeHeaderCode +#include <tqstringlist.h> +%End + +public: + TQStringList(); + TQStringList(const TQStringList &); + TQStringList(const TQString &); + + void sort(); + static TQStringList fromStrList(const TQStrList &); + static TQStringList split(const TQString &,const TQString &,bool = 0); + static TQStringList split(const TQChar &,const TQString &,bool = 0); + static TQStringList split(const TQRegExp &,const TQString &,bool = 0); + TQString join(const TQString &) const; + TQStringList grep(const TQString &,bool = 1) const; + TQStringList grep(const TQRegExp &) const; + + TQStringList &gres(const TQString &,const TQString &,bool = 1); + TQStringList &gres(const TQRegExp &,const TQString &); + + // These are actually in TQValueList, which isn't implemented so + // pretend they are here. + + bool isEmpty() const; + void append(const TQString &); + void prepend(const TQString &); + void remove(const TQString &); + const TQString &first() const; + const TQString &last() const; + int findIndex(const TQString &) const; + uint contains(const TQString &) const; + uint count() const; + void clear(); + + int __len__(); +%MethodCode + sipRes = sipCpp -> count(); +%End + + void __setitem__(int,const TQString &); +%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 TQStringList &); +%MethodCode + Py_ssize_t len, start, stop, step, slicelength, i; + + 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 + { + TQStringList::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 + Py_ssize_t len, start, stop, step, slicelength, i; + + 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 + + TQString operator[](int); +%MethodCode + int len; + + len = sipCpp -> count(); + + if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0) + sipIsErr = 1; + else + sipRes = new TQString((*sipCpp)[a0]); +%End + + TQStringList operator[](SIP_PYSLICE slice); +%MethodCode + Py_ssize_t len, start, stop, step, slicelength, i; + + len = sipCpp -> count(); + + if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0) + sipIsErr = 1; + else + { + sipRes = new TQStringList(); + + for (i = 0; i < slicelength; ++i) + { + (*sipRes) += (*sipCpp)[start]; + start += step; + } + } +%End + + int __contains__(const TQString &); +%MethodCode + sipRes = (sipCpp -> findIndex(*a0) >= 0); +%End + + TQStringList operator+(const TQStringList &); + TQStringList &operator+=(const TQStringList &); + + TQStringList &operator+=(const TQString &); + + TQStringList operator*(int); +%MethodCode + sipRes = new TQStringList(); + + while (a0-- > 0) + *sipRes += *sipCpp; +%End + + TQStringList &operator*=(int); +%MethodCode + TQStringList orig(*sipCpp); + + sipCpp -> clear(); + + while (a0-- > 0) + *sipCpp += orig; +%End + + bool operator==(const TQStringList &); + bool operator!=(const TQStringList &); +}; |