You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pytqt/sip/qt/qstringlist.sip

248 lines
5.6 KiB

// 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