summaryrefslogtreecommitdiffstats
path: root/sip
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-29 00:31:00 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-29 00:31:00 -0600
commitb388516ca2691303a076a0764fd40bf7116fe43d (patch)
tree6f1615d1f12b325f4d1cd9c25d1519303794001a /sip
downloadpytqt-b388516ca2691303a076a0764fd40bf7116fe43d.tar.gz
pytqt-b388516ca2691303a076a0764fd40bf7116fe43d.zip
Initial import of python-qt3
Diffstat (limited to 'sip')
-rw-r--r--sip/pyqt-gpl.sip1
-rw-r--r--sip/qt/copying.sip51
-rw-r--r--sip/qt/qaccel.sip104
-rw-r--r--sip/qt/qaction.sip210
-rw-r--r--sip/qt/qapplication.sip574
-rw-r--r--sip/qt/qarray.sip94
-rw-r--r--sip/qt/qassistantclient.sip63
-rw-r--r--sip/qt/qbitmap.sip59
-rw-r--r--sip/qt/qbrush.sip105
-rw-r--r--sip/qt/qbutton.sip184
-rw-r--r--sip/qt/qbuttongroup.sip104
-rw-r--r--sip/qt/qbytearray.sip203
-rw-r--r--sip/qt/qcdestyle.sip68
-rw-r--r--sip/qt/qcheckbox.sip88
-rw-r--r--sip/qt/qclipboard.sip152
-rw-r--r--sip/qt/qcolor.sip207
-rw-r--r--sip/qt/qcolordialog.sip77
-rw-r--r--sip/qt/qcolorgroup.sip125
-rw-r--r--sip/qt/qcombobox.sip277
-rw-r--r--sip/qt/qcommonstyle.sip137
-rw-r--r--sip/qt/qcstring.sip223
-rw-r--r--sip/qt/qcursor.sip144
-rw-r--r--sip/qt/qdatastream.sip224
-rw-r--r--sip/qt/qdatetime.sip280
-rw-r--r--sip/qt/qdatetimeedit.sip256
-rw-r--r--sip/qt/qdesktopwidget.sip84
-rw-r--r--sip/qt/qdial.sip112
-rw-r--r--sip/qt/qdialog.sip158
-rw-r--r--sip/qt/qdir.sip383
-rw-r--r--sip/qt/qdockarea.sip88
-rw-r--r--sip/qt/qdockwindow.sip135
-rw-r--r--sip/qt/qdragobject.sip374
-rw-r--r--sip/qt/qdrawutil.sip74
-rw-r--r--sip/qt/qdropsite.sip51
-rw-r--r--sip/qt/qerrormessage.sip57
-rw-r--r--sip/qt/qevent.sip1235
-rw-r--r--sip/qt/qeventloop.sip89
-rw-r--r--sip/qt/qfile.sip310
-rw-r--r--sip/qt/qfiledialog.sip361
-rw-r--r--sip/qt/qfileinfo.sip145
-rw-r--r--sip/qt/qfont.sip441
-rw-r--r--sip/qt/qfontdatabase.sip121
-rw-r--r--sip/qt/qfontdialog.sip105
-rw-r--r--sip/qt/qfontinfo.sip70
-rw-r--r--sip/qt/qfontmetrics.sip220
-rw-r--r--sip/qt/qframe.sip180
-rw-r--r--sip/qt/qglobal.sip74
-rw-r--r--sip/qt/qgmanager.sip88
-rw-r--r--sip/qt/qgrid.sip72
-rw-r--r--sip/qt/qgridview.sip76
-rw-r--r--sip/qt/qgroupbox.sip135
-rw-r--r--sip/qt/qhbox.sip75
-rw-r--r--sip/qt/qhbuttongroup.sip48
-rw-r--r--sip/qt/qheader.sip268
-rw-r--r--sip/qt/qhgroupbox.sip48
-rw-r--r--sip/qt/qiconset.sip146
-rw-r--r--sip/qt/qiconview.sip457
-rw-r--r--sip/qt/qimage.sip544
-rw-r--r--sip/qt/qinputdialog.sip174
-rw-r--r--sip/qt/qinterlacestyle.sip103
-rw-r--r--sip/qt/qiodevice.sip408
-rw-r--r--sip/qt/qkeycode.sip286
-rw-r--r--sip/qt/qkeysequence.sip119
-rw-r--r--sip/qt/qlabel.sip157
-rw-r--r--sip/qt/qlayout.sip597
-rw-r--r--sip/qt/qlcdnumber.sip137
-rw-r--r--sip/qt/qlibrary.sip59
-rw-r--r--sip/qt/qlineedit.sip427
-rw-r--r--sip/qt/qlist.sip111
-rw-r--r--sip/qt/qlistbox.sip571
-rw-r--r--sip/qt/qlistview.sip770
-rw-r--r--sip/qt/qlocale.sip537
-rw-r--r--sip/qt/qmainwindow.sip289
-rw-r--r--sip/qt/qmemarray.sip168
-rw-r--r--sip/qt/qmenubar.sip118
-rw-r--r--sip/qt/qmenudata.sip291
-rw-r--r--sip/qt/qmessagebox.sip204
-rw-r--r--sip/qt/qmetaobject.sip170
-rw-r--r--sip/qt/qmime.sip104
-rw-r--r--sip/qt/qmotifplusstyle.sip150
-rw-r--r--sip/qt/qmotifstyle.sip168
-rw-r--r--sip/qt/qmovie.sip109
-rw-r--r--sip/qt/qmultilinedit.sip374
-rw-r--r--sip/qt/qmutex.sip104
-rw-r--r--sip/qt/qnamespace.sip903
-rw-r--r--sip/qt/qnetworkprotocol.sip227
-rw-r--r--sip/qt/qobject.sip2319
-rw-r--r--sip/qt/qobjectcleanuphandler.sip49
-rw-r--r--sip/qt/qobjectlist.sip107
-rw-r--r--sip/qt/qpaintdevice.sip247
-rw-r--r--sip/qt/qpaintdevicemetrics.sip55
-rw-r--r--sip/qt/qpainter.sip676
-rw-r--r--sip/qt/qpair.sip83
-rw-r--r--sip/qt/qpalette.sip102
-rw-r--r--sip/qt/qpen.sip101
-rw-r--r--sip/qt/qpicture.sip111
-rw-r--r--sip/qt/qpixmap.sip288
-rw-r--r--sip/qt/qpixmapcache.sip53
-rw-r--r--sip/qt/qplatinumstyle.sip142
-rw-r--r--sip/qt/qpoint.sip100
-rw-r--r--sip/qt/qpointarray.sip247
-rw-r--r--sip/qt/qpopupmenu.sip282
-rw-r--r--sip/qt/qprintdialog.sip64
-rw-r--r--sip/qt/qprinter.sip256
-rw-r--r--sip/qt/qprocess.sip112
-rw-r--r--sip/qt/qprogressbar.sip95
-rw-r--r--sip/qt/qprogressdialog.sip194
-rw-r--r--sip/qt/qptrlist.sip111
-rw-r--r--sip/qt/qpushbutton.sip143
-rw-r--r--sip/qt/qradiobutton.sip84
-rw-r--r--sip/qt/qrangecontrol.sip79
-rw-r--r--sip/qt/qrect.sip207
-rw-r--r--sip/qt/qregexp.sip139
-rw-r--r--sip/qt/qregion.sip128
-rw-r--r--sip/qt/qscrollbar.sip170
-rw-r--r--sip/qt/qscrollview.sip325
-rw-r--r--sip/qt/qsemaphore.sip112
-rw-r--r--sip/qt/qsemimodal.sip63
-rw-r--r--sip/qt/qsessionmanager.sip89
-rw-r--r--sip/qt/qsettings.sip177
-rw-r--r--sip/qt/qsgistyle.sip157
-rw-r--r--sip/qt/qsignalmapper.sip51
-rw-r--r--sip/qt/qsimplerichtext.sip91
-rw-r--r--sip/qt/qsize.sip112
-rw-r--r--sip/qt/qsizegrip.sip60
-rw-r--r--sip/qt/qsizepolicy.sip103
-rw-r--r--sip/qt/qslider.sip187
-rw-r--r--sip/qt/qsocketnotifier.sip66
-rw-r--r--sip/qt/qsound.sip69
-rw-r--r--sip/qt/qspinbox.sip268
-rw-r--r--sip/qt/qsplashscreen.sip61
-rw-r--r--sip/qt/qsplitter.sip160
-rw-r--r--sip/qt/qstatusbar.sip94
-rw-r--r--sip/qt/qstring.sip1079
-rw-r--r--sip/qt/qstringlist.sip247
-rw-r--r--sip/qt/qstrlist.sip100
-rw-r--r--sip/qt/qstyle.sip862
-rw-r--r--sip/qt/qstylefactory.sip45
-rw-r--r--sip/qt/qstylesheet.sip239
-rw-r--r--sip/qt/qsyntaxhighlighter.sip57
-rw-r--r--sip/qt/qtabbar.sip266
-rw-r--r--sip/qt/qtabdialog.sip167
-rw-r--r--sip/qt/qtableview.sip185
-rw-r--r--sip/qt/qtabwidget.sip177
-rw-r--r--sip/qt/qtextbrowser.sip114
-rw-r--r--sip/qt/qtextcodec.sip146
-rw-r--r--sip/qt/qtextedit.sip437
-rw-r--r--sip/qt/qtextstream.sip231
-rw-r--r--sip/qt/qtextview.sip128
-rw-r--r--sip/qt/qthread.sip98
-rw-r--r--sip/qt/qtimer.sip59
-rw-r--r--sip/qt/qtmod.sip286
-rw-r--r--sip/qt/qtoolbar.sip160
-rw-r--r--sip/qt/qtoolbox.sip88
-rw-r--r--sip/qt/qtoolbutton.sip199
-rw-r--r--sip/qt/qtooltip.sip169
-rw-r--r--sip/qt/qtranslator.sip177
-rw-r--r--sip/qt/qurl.sip116
-rw-r--r--sip/qt/qurlinfo.sip96
-rw-r--r--sip/qt/qurloperator.sip115
-rw-r--r--sip/qt/quuid.sip87
-rw-r--r--sip/qt/qvalidator.sip227
-rw-r--r--sip/qt/qvaluelist.sip181
-rw-r--r--sip/qt/qvariant.sip420
-rw-r--r--sip/qt/qvbox.sip55
-rw-r--r--sip/qt/qvbuttongroup.sip48
-rw-r--r--sip/qt/qvgroupbox.sip48
-rw-r--r--sip/qt/qwaitcondition.sip81
-rw-r--r--sip/qt/qwhatsthis.sip97
-rw-r--r--sip/qt/qwidget.sip664
-rw-r--r--sip/qt/qwidgetlist.sip107
-rw-r--r--sip/qt/qwidgetstack.sip98
-rw-r--r--sip/qt/qwindow.sip47
-rw-r--r--sip/qt/qwindowdefs.sip180
-rw-r--r--sip/qt/qwindowdefs_qws.sip29
-rw-r--r--sip/qt/qwindowdefs_x11.sip48
-rw-r--r--sip/qt/qwindowsstyle.sip192
-rw-r--r--sip/qt/qwindowsxpstyle.sip31
-rw-r--r--sip/qt/qwizard.sip122
-rw-r--r--sip/qt/qwmatrix.sip178
-rw-r--r--sip/qt/qworkspace.sip101
-rw-r--r--sip/qt/versions.sip92
-rw-r--r--sip/qtaxcontainer/copying.sip51
-rw-r--r--sip/qtaxcontainer/qaxbase.sip86
-rw-r--r--sip/qtaxcontainer/qaxobject.sip37
-rw-r--r--sip/qtaxcontainer/qaxwidget.sip37
-rw-r--r--sip/qtaxcontainer/qtaxcontainermod.sip32
-rw-r--r--sip/qtcanvas/copying.sip51
-rw-r--r--sip/qtcanvas/qcanvas.sip857
-rw-r--r--sip/qtcanvas/qtcanvasmod.sip70
-rw-r--r--sip/qtext/copying.sip51
-rw-r--r--sip/qtext/qextscintilla.sip411
-rw-r--r--sip/qtext/qextscintillaapis.sip42
-rw-r--r--sip/qtext/qextscintillabase.sip1024
-rw-r--r--sip/qtext/qextscintillacommand.sip44
-rw-r--r--sip/qtext/qextscintillacommandset.sip52
-rw-r--r--sip/qtext/qextscintilladocument.sip42
-rw-r--r--sip/qtext/qextscintillalexer.sip80
-rw-r--r--sip/qtext/qextscintillalexerbash.sip80
-rw-r--r--sip/qtext/qextscintillalexerbatch.sip62
-rw-r--r--sip/qtext/qextscintillalexercpp.sip98
-rw-r--r--sip/qtext/qextscintillalexercsharp.sip47
-rw-r--r--sip/qtext/qextscintillalexercss.sip81
-rw-r--r--sip/qtext/qextscintillalexerdiff.sip57
-rw-r--r--sip/qtext/qextscintillalexerhtml.sip178
-rw-r--r--sip/qtext/qextscintillalexeridl.sip43
-rw-r--r--sip/qtext/qextscintillalexerjava.sip41
-rw-r--r--sip/qtext/qextscintillalexerjavascript.sip47
-rw-r--r--sip/qtext/qextscintillalexerlua.sip79
-rw-r--r--sip/qtext/qextscintillalexermakefile.sip60
-rw-r--r--sip/qtext/qextscintillalexerperl.sip96
-rw-r--r--sip/qtext/qextscintillalexerpov.sip85
-rw-r--r--sip/qtext/qextscintillalexerproperties.sip68
-rw-r--r--sip/qtext/qextscintillalexerpython.sip94
-rw-r--r--sip/qtext/qextscintillalexerruby.sip128
-rw-r--r--sip/qtext/qextscintillalexersql.sip105
-rw-r--r--sip/qtext/qextscintillalexertex.sip57
-rw-r--r--sip/qtext/qextscintillamacro.sip49
-rw-r--r--sip/qtext/qextscintillaprinter.sip45
-rw-r--r--sip/qtext/qtextmod.sip107
-rw-r--r--sip/qtgl/copying.sip51
-rw-r--r--sip/qtgl/qgl.sip298
-rw-r--r--sip/qtgl/qglcolormap.sip63
-rw-r--r--sip/qtgl/qtglmod.sip71
-rw-r--r--sip/qtnetwork/copying.sip51
-rw-r--r--sip/qtnetwork/qdns.sip274
-rw-r--r--sip/qtnetwork/qftp.sip183
-rw-r--r--sip/qtnetwork/qhostaddress.sip99
-rw-r--r--sip/qtnetwork/qhttp.sip279
-rw-r--r--sip/qtnetwork/qlocalfs.sip56
-rw-r--r--sip/qtnetwork/qnetwork.sip34
-rw-r--r--sip/qtnetwork/qserversocket.sip70
-rw-r--r--sip/qtnetwork/qsocket.sip348
-rw-r--r--sip/qtnetwork/qsocketdevice.sip224
-rw-r--r--sip/qtnetwork/qtnetworkmod.sip78
-rw-r--r--sip/qtpe/copying.sip51
-rw-r--r--sip/qtpe/qpeapplication.sip223
-rw-r--r--sip/qtpe/qpeapplnk.sip157
-rw-r--r--sip/qtpe/qpeconfig.sip78
-rw-r--r--sip/qtpe/qpefilemanager.sip53
-rw-r--r--sip/qtpe/qpefileselector.sip69
-rw-r--r--sip/qtpe/qpefontdatabase.sip67
-rw-r--r--sip/qtpe/qpeglobal.sip83
-rw-r--r--sip/qtpe/qpemenubar.sip42
-rw-r--r--sip/qtpe/qpemenubutton.sip61
-rw-r--r--sip/qtpe/qpeqcopenvelope.sip39
-rw-r--r--sip/qtpe/qpeqdawg.sip65
-rw-r--r--sip/qtpe/qperesource.sip50
-rw-r--r--sip/qtpe/qpetimestring.sip71
-rw-r--r--sip/qtpe/qpetoolbar.sip42
-rw-r--r--sip/qtpe/qtpemod.sip94
-rw-r--r--sip/qtsql/copying.sip51
-rw-r--r--sip/qtsql/qdatabrowser.sip150
-rw-r--r--sip/qtsql/qdatatable.sip201
-rw-r--r--sip/qtsql/qdataview.sip60
-rw-r--r--sip/qtsql/qeditorfactory.sip55
-rw-r--r--sip/qtsql/qsql.sip80
-rw-r--r--sip/qtsql/qsqlcursor.sip148
-rw-r--r--sip/qtsql/qsqldatabase.sip154
-rw-r--r--sip/qtsql/qsqldriver.sip93
-rw-r--r--sip/qtsql/qsqleditorfactory.sip57
-rw-r--r--sip/qtsql/qsqlerror.sip68
-rw-r--r--sip/qtsql/qsqlfield.sip95
-rw-r--r--sip/qtsql/qsqlform.sip74
-rw-r--r--sip/qtsql/qsqlindex.sip64
-rw-r--r--sip/qtsql/qsqlpropertymap.sip63
-rw-r--r--sip/qtsql/qsqlquery.sip115
-rw-r--r--sip/qtsql/qsqlrecord.sip177
-rw-r--r--sip/qtsql/qsqlresult.sip73
-rw-r--r--sip/qtsql/qsqlselectcursor.sip92
-rw-r--r--sip/qtsql/qtsqlmod.sip88
-rw-r--r--sip/qttable/copying.sip51
-rw-r--r--sip/qttable/qtable.sip532
-rw-r--r--sip/qttable/qttablemod.sip70
-rw-r--r--sip/qtui/copying.sip51
-rw-r--r--sip/qtui/qtuimod.sip71
-rw-r--r--sip/qtui/qwidgetfactory.sip63
-rw-r--r--sip/qtxml/copying.sip51
-rw-r--r--sip/qtxml/qdom.sip874
-rw-r--r--sip/qtxml/qtxmlmod.sip80
280 files changed, 48733 insertions, 0 deletions
diff --git a/sip/pyqt-gpl.sip b/sip/pyqt-gpl.sip
new file mode 100644
index 0000000..bec8f9e
--- /dev/null
+++ b/sip/pyqt-gpl.sip
@@ -0,0 +1 @@
+%License /Type="gpl"/
diff --git a/sip/qt/copying.sip b/sip/qt/copying.sip
new file mode 100644
index 0000000..463904b
--- /dev/null
+++ b/sip/qt/copying.sip
@@ -0,0 +1,51 @@
+// This is the SIP file defining the PyQt license.
+//
+// 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.
+
+
+%Copying
+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.
+%End
+
+
+%OptionalInclude pyqt-internal.sip
+%OptionalInclude pyqt-gpl.sip
+%OptionalInclude pyqt-commercial.sip
+%OptionalInclude pyqt-edu.sip
+%OptionalInclude pyqt-eval.sip
+%OptionalInclude pyqt-nc.sip
+%OptionalInclude pyqt-tkc.sip
diff --git a/sip/qt/qaccel.sip b/sip/qt/qaccel.sip
new file mode 100644
index 0000000..9c547ef
--- /dev/null
+++ b/sip/qt/qaccel.sip
@@ -0,0 +1,104 @@
+// This is the SIP interface definition for QAccel.
+//
+// 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>QAccel</Title>
+<Para>
+<Literal>QAccel</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QAccel : QObject
+{
+%TypeHeaderCode
+#include <qaccel.h>
+%End
+
+public:
+ QAccel(QWidget * /TransferThis/,char * = 0);
+%If (Qt_2_1_0 -)
+ QAccel(QWidget *,QObject * /TransferThis/,char * = 0);
+%End
+
+ bool isEnabled();
+ void setEnabled(bool);
+
+ uint count();
+
+%If (- Qt_3_0_0)
+ int insertItem(int,int = -1);
+%End
+%If (Qt_3_0_0 -)
+ int insertItem(const QKeySequence &,int = -1);
+%End
+ void removeItem(int);
+ void clear();
+
+%If (- Qt_3_0_0)
+ int key(int);
+ int findKey(int) const;
+%End
+%If (Qt_3_0_0 -)
+ QKeySequence key(int);
+ int findKey(const QKeySequence &) const;
+%End
+
+ bool isItemEnabled(int) const;
+ void setItemEnabled(int,bool);
+
+ bool connectItem(int,SIP_RXOBJ_CON,SIP_SLOT_CON(int));
+ bool disconnectItem(int,SIP_RXOBJ_DIS,SIP_SLOT_DIS(int));
+
+ void repairEventFilter();
+
+%If (Qt_2_00 -)
+ void setWhatsThis(int,const QString &);
+ QString whatsThis(int) const;
+ void setIgnoreWhatsThis(bool);
+ bool ignoreWhatsThis() const;
+%End
+
+%If (Qt_2_00 - Qt_3_0_0)
+ static int shortcutKey(const QString &);
+ static QString keyToString(int);
+ static int stringToKey(const QString &);
+%End
+%If (Qt_3_0_0 -)
+ static QKeySequence shortcutKey(const QString &);
+ static QString keyToString(QKeySequence);
+ static QKeySequence stringToKey(const QString &);
+%End
+
+signals:
+ void activated(int);
+%If (Qt_3_1_0 -)
+ void activatedAmbiguously(int);
+%End
+
+protected:
+ bool eventFilter(QObject *,QEvent *);
+
+private:
+ QAccel(const QAccel &);
+};
diff --git a/sip/qt/qaction.sip b/sip/qt/qaction.sip
new file mode 100644
index 0000000..e1f5c70
--- /dev/null
+++ b/sip/qt/qaction.sip
@@ -0,0 +1,210 @@
+// This is the SIP interface definition for QAction and QActionGroup.
+//
+// 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>QAction (Qt v2.2+)</Title>
+<Para>
+<Literal>QAction</Literal> is fully implemented.
+</Para>
+
+</Sect2>
+<Sect2><Title>QActionGroup (Qt v2.2+)</Title>
+<Para>
+<Literal>QActionGroup</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_ACTION)
+%If (Qt_2_2_0 -)
+
+class QAction : QObject
+{
+%TypeHeaderCode
+#include <qaction.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ QAction(QObject * /TransferThis/ = 0,const char * = 0,bool = 0);
+ QAction(const QString &,const QIconSet &,const QString &,int,
+ QObject * /TransferThis/,const char * = 0,bool = 0);
+ QAction(const QString &,const QString &,int,QObject * /TransferThis/,
+ const char * = 0,bool = 0);
+%End
+%If (Qt_3_0_0 - Qt_3_2_0)
+ QAction(QObject * /TransferThis/,const char * = 0,bool = 0);
+%End
+%If (Qt_3_2_0 -)
+ QAction(QObject * /TransferThis/,const char * = 0);
+ QAction(const QString &,QKeySequence,QObject * /TransferThis/,
+ const char * = 0);
+ QAction(const QIconSet &,const QString &,QKeySequence,
+ QObject * /TransferThis/,const char * = 0);
+%End
+%If (Qt_3_0_0 -)
+ // Obsolete.
+ QAction(const QString &,const QIconSet &,const QString &,QKeySequence,
+ QObject * /TransferThis/,const char * = 0,bool = 0);
+ // Obsolete.
+ QAction(const QString &,const QString &,QKeySequence,
+ QObject * /TransferThis/,const char * = 0,bool = 0);
+%End
+%If (Qt_3_2_0 -)
+ // Obsolete.
+ QAction(QObject * /TransferThis/,const char *,bool);
+%End
+
+ virtual void setIconSet(const QIconSet &);
+ QIconSet iconSet() const;
+ virtual void setText(const QString &);
+ QString text() const;
+ virtual void setMenuText(const QString &);
+ QString menuText() const;
+ virtual void setToolTip(const QString &);
+ QString toolTip() const;
+ virtual void setStatusTip(const QString &);
+ QString statusTip() const;
+ virtual void setWhatsThis(const QString &);
+ QString whatsThis() const;
+%If (- Qt_3_0_0)
+ virtual void setAccel(int);
+ int accel() const;
+%End
+%If (Qt_3_0_0 -)
+ virtual void setAccel(const QKeySequence &);
+ QKeySequence accel() const;
+%End
+ virtual void setToggleAction(bool);
+ bool isToggleAction() const;
+%If (- Qt_3_0_0)
+ virtual void setOn(bool);
+%End
+ bool isOn() const;
+ bool isEnabled() const;
+%If (Qt_3_1_0 -)
+ bool isVisible() const;
+%End
+ virtual bool addTo(QWidget *);
+ virtual bool removeFrom(QWidget *);
+
+protected:
+%If (Qt_3_0_0 -)
+ virtual void addedTo(QWidget *,QWidget *);
+ virtual void addedTo(int,QPopupMenu *);
+%End
+
+public slots:
+%If (Qt_3_3_0 -)
+ void activate();
+%End
+%If (Qt_3_0_0 -)
+ void toggle();
+ virtual void setOn(bool);
+%End
+ virtual void setEnabled(bool);
+%If (Qt_3_3_0 -)
+ void setDisabled(bool);
+%End
+%If (Qt_3_1_0 -)
+ void setVisible(bool);
+%End
+
+signals:
+ void activated();
+ void toggled(bool);
+
+private:
+%If (Qt_3_1_0 -)
+ QAction(const QAction &);
+%End
+};
+
+
+class QActionGroup : QAction
+{
+%TypeHeaderCode
+#include <qaction.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ QActionGroup(QWidget * /TransferThis/,const char * = 0,bool = 1);
+%End
+%If (Qt_3_0_0 - Qt_3_2_0)
+ QActionGroup(QObject * /TransferThis/,const char * = 0,bool = 1);
+%End
+%If (Qt_3_2_0 -)
+ QActionGroup(QObject * /TransferThis/,const char * = 0);
+ // Obsolete.
+ QActionGroup(QObject * /TransferThis/,const char *,bool);
+%End
+
+ void setExclusive(bool);
+ bool isExclusive() const;
+%If (- Qt_3_0_0)
+ void insert(QAction *);
+%End
+%If (Qt_3_0_0 -)
+ void add(QAction *);
+ void addSeparator();
+%End
+ bool addTo(QWidget *);
+ bool removeFrom(QWidget *);
+ void setEnabled(bool);
+%If (Qt_3_2_0 -)
+ void setToggleAction(bool);
+ void setOn(bool);
+%End
+
+%If (Qt_3_0_0 -)
+ void setUsesDropDown(bool);
+ bool usesDropDown() const;
+
+ void setIconSet(const QIconSet &);
+ void setText(const QString &);
+ void setMenuText(const QString &);
+ void setToolTip(const QString &);
+ void setWhatsThis(const QString &);
+%End
+
+protected:
+%If (Qt_3_0_0 -)
+ void childEvent(QChildEvent *);
+ virtual void addedTo(QWidget *,QWidget *,QAction *);
+ virtual void addedTo(int,QPopupMenu *,QAction *);
+ virtual void addedTo(QWidget *,QWidget *);
+ virtual void addedTo(int,QPopupMenu *);
+%End
+
+signals:
+ void selected(QAction *);
+
+private:
+%If (Qt_3_1_0 -)
+ QActionGroup(const QActionGroup &);
+%End
+};
+
+%End
+%End
diff --git a/sip/qt/qapplication.sip b/sip/qt/qapplication.sip
new file mode 100644
index 0000000..57ff0d7
--- /dev/null
+++ b/sip/qt/qapplication.sip
@@ -0,0 +1,574 @@
+// This is the SIP interface definition for QApplication.
+//
+// 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>QApplication</Title>
+<FuncSynopsis>
+ <FuncDef><Function>QApplication</Function></FuncDef>
+ <ParamDef>int &amp;<Parameter>argc</Parameter></ParamDef>
+ <ParamDef>char **<Parameter>argv</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes one parameter which is a list of argument strings. Arguments
+used by Qt are removed from the list.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef><Function>QApplication</Function></FuncDef>
+ <ParamDef>int &amp;<Parameter>argc</Parameter></ParamDef>
+ <ParamDef>char **<Parameter>argv</Parameter></ParamDef>
+ <ParamDef>bool <Parameter>GUIenabled</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes two parameters, the first of which is a list of argument strings.
+Arguments used by Qt are removed from the list.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef><Function>QApplication</Function></FuncDef>
+ <ParamDef>int &amp;<Parameter>argc</Parameter></ParamDef>
+ <ParamDef>char **<Parameter>argv</Parameter></ParamDef>
+ <ParamDef>Type <Parameter>type</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes two parameters, the first of which is a list of argument strings.
+Arguments used by Qt are removed from the list. (Qt v2.2+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int <Function>exec</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed to <Literal>exec_loop</Literal> in Python.
+</Para>
+</Sect2>
+%End
+
+
+QApplication *qApp;
+
+
+class QApplication : QObject
+{
+%TypeHeaderCode
+#include <qapplication.h>
+#include <qwidgetlist.h>
+%End
+
+public:
+ QApplication(SIP_PYLIST) /PostHook=__pyQtQAppHook__/ [(int &,char **)];
+%MethodCode
+ // The Python interface is a list of argument strings that is
+ // modified.
+
+ int argc;
+ char **argv;
+
+ // Convert the list.
+ if ((argv = pyArgvToC(a0,argc)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ // Create it now the arguments are right.
+ static int nargc;
+ nargc = argc;
+
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp = new sipQApplication(nargc,argv);
+ Py_END_ALLOW_THREADS
+
+ // Now modify the original list.
+ updatePyArgv(a0,argc,argv);
+ }
+%End
+
+ QApplication(SIP_PYLIST,bool) /PostHook=__pyQtQAppHook__/ [(int &,char **,bool)];
+%MethodCode
+ // The Python interface is a list of argument strings that is
+ // modified.
+
+ int argc;
+ char **argv;
+
+ // Convert the list.
+ if ((argv = pyArgvToC(a0,argc)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ // Create it now the arguments are right.
+ static int nargc;
+ nargc = argc;
+
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp = new sipQApplication(nargc,argv,a1);
+ Py_END_ALLOW_THREADS
+
+ // Now modify the original list.
+ updatePyArgv(a0,argc,argv);
+ }
+%End
+
+%If (Qt_2_2_0 -)
+ enum Type {
+ Tty,
+ GuiClient,
+ GuiServer
+ };
+
+ QApplication(SIP_PYLIST,Type /Constrained/) /PostHook=__pyQtQAppHook__/ [(int &,char **,Type)];
+%MethodCode
+ // The Python interface is a list of argument strings that is
+ // modified.
+
+ int argc;
+ char **argv;
+
+ // Convert the list.
+ if ((argv = pyArgvToC(a0,argc)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ // Create it now the arguments are right.
+ static int nargc;
+ nargc = argc;
+
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp = new sipQApplication(nargc,argv,(QApplication::Type)a1);
+ Py_END_ALLOW_THREADS
+
+ // Now modify the original list.
+ updatePyArgv(a0,argc,argv);
+ }
+%End
+%End
+
+ ~QApplication();
+%MethodCode
+ // Make sure all remaining top level widgets are not owned by
+ // Python. When a PyQt script terminates we have no control
+ // over the order in which the QApplication instance and the
+ // top level widgets are destroyed. If the former happens
+ // first then we get a seg. fault. We could take the approach
+ // of only pretending to delete the QApplication instance, but
+ // Qt seems to allow an application to delete the QApplication
+ // instance and then create another one. The approach we take
+ // is to transfer ownership of all top level widgets away from
+ // Python so that the C++ dtor is not called if they are
+ // destroyed after the QApplication instance. This might be
+ // seen as a memory leak - but if we really are terminating
+ // then it doesn't matter, and if we are just deleting the
+ // QApplication instance then (I think) we should have already
+ // deleted the top level widgets manually. In any event, the X
+ // server resources will be freed.
+
+ QWidgetList *tlw = QApplication::topLevelWidgets();
+ QWidgetListIt it(*tlw);
+ QWidget *w;
+
+ while ((w = it.current()) != 0)
+ {
+ PyObject *sw;
+
+ if ((sw = sipGetWrapper(w,sipClass_QWidget)) != NULL)
+ sipTransferTo(sw,NULL);
+
+ ++it;
+ }
+
+ delete tlw;
+%End
+
+ int argc() const;
+ SIP_PYLIST argv() const;
+%MethodCode
+ // The Python interface returns a list of strings.
+
+ int argc = sipCpp -> argc();
+
+ if ((sipRes = PyList_New(argc)) == NULL)
+ sipIsErr = 1;
+ else
+ for (int a = 0; a < argc; ++a)
+ if (PyList_SetItem(sipRes,a,PyString_FromString(sipCpp -> argv()[a])) < 0)
+ {
+ Py_DECREF(sipRes);
+ sipIsErr = 1;
+ break;
+ }
+%End
+
+%If (Qt_2_3_0 -)
+ Type type() const;
+%End
+%If (- Qt_2_00)
+ static GUIStyle style();
+ static void setStyle(GUIStyle);
+%End
+%If (Qt_2_00 -)
+ static QStyle &style();
+ static void setStyle(QStyle * /Transfer/);
+%End
+%If (Qt_3_0_0 -)
+ static QStyle *setStyle(const QString &);
+%End
+
+%If (- Qt_2_00)
+ enum ColorSpec
+ {
+ NormalColor = 0,
+ CustomColor = 1,
+ PrivateColor = 4,
+ ManyColor = 4,
+ TrueColor = 4
+ };
+%End
+%If (Qt_2_00 -)
+ enum ColorSpec
+ {
+ NormalColor = 0,
+ CustomColor = 1,
+ ManyColor = 2
+ };
+%End
+
+ static int colorSpec();
+ static void setColorSpec(int);
+ static QCursor *overrideCursor();
+ static void setOverrideCursor(QCursor &,bool = 0);
+ static void restoreOverrideCursor();
+ static bool hasGlobalMouseTracking();
+ static void setGlobalMouseTracking(bool);
+%If (- Qt_2_00)
+ static QPalette *palette();
+ static void setPalette(QPalette &,bool = 0);
+ static QFont *font();
+ static void setFont(const QFont &,bool = 0);
+%End
+%If (Qt_2_00 -)
+ static QPalette palette(const QWidget * = 0);
+ static void setPalette(QPalette &,bool = 0,const char * = 0);
+ static QFont font(const QWidget * = 0);
+ static void setFont(const QFont &,bool = 0,const char * = 0);
+%End
+ static QFontMetrics fontMetrics();
+ QWidget *mainWidget() const;
+%If (- Qt_2_00)
+ // We may not need the /Transfer/ now that the QApplication dtor is
+ // instrumented, but we'll leave it in so as not to break old programs
+ // needlessly.
+ void setMainWidget(QWidget * /Transfer/);
+%End
+%If (Qt_2_00 -)
+ virtual void setMainWidget(QWidget *);
+ virtual void polish(QWidget *);
+%End
+ static QWidgetList *allWidgets();
+ static QWidgetList *topLevelWidgets();
+%If (- Qt_3_0_0)
+ static QWidget *desktop();
+%End
+%If (Qt_3_0_0 -)
+ static QDesktopWidget *desktop();
+%End
+ static QWidget *activePopupWidget();
+ static QWidget *activeModalWidget();
+ static QClipboard *clipboard();
+ QWidget *focusWidget() const;
+%If (Qt_2_00 -)
+ QWidget *activeWindow() const;
+%End
+ static QWidget *widgetAt(int,int,bool = 0);
+ static QWidget *widgetAt(const QPoint &,bool = 0);
+
+%If (Qt_3_1_0 -)
+ static QEventLoop *eventLoop();
+%End
+
+ int exec() /PyName=exec_loop, ReleaseGIL,
+ PreHook=__pyQtPreEventLoopHook__,
+ PostHook=__pyQtPostEventLoopHook__/;
+ void processEvents() /ReleaseGIL/;
+ void processEvents(int) /ReleaseGIL/;
+ void processOneEvent() /ReleaseGIL/;
+%If (Qt_3_0_0 -)
+ bool hasPendingEvents();
+%End
+ int enter_loop() /ReleaseGIL/;
+ void exit_loop();
+%If (Qt_2_00 -)
+ int loopLevel() const;
+%End
+ static void exit(int = 0);
+ static bool sendEvent(QObject *,QEvent *) /ReleaseGIL/;
+ static void postEvent(QObject *,QEvent * /Transfer/) /ReleaseGIL/;
+ static void sendPostedEvents(QObject *,int) /ReleaseGIL/;
+%If (Qt_2_00 -)
+ static void sendPostedEvents() /ReleaseGIL/;
+ static void removePostedEvents(QObject *);
+%End
+ virtual bool notify(QObject *,QEvent *) /ReleaseGIL/;
+ static bool startingUp();
+ static bool closingDown();
+ static void flushX();
+%If (Qt_3_0_0 -)
+ static void flush();
+%End
+ static void syncX();
+ static void beep();
+%If (Qt_2_00 -)
+ void setDefaultCodec(QTextCodec *);
+ QTextCodec *defaultCodec() const;
+ void installTranslator(QTranslator *);
+ void removeTranslator(QTranslator *);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ QString translate(const char *,const char *) const;
+%End
+%If (Qt_2_2_0 - Qt_3_0_0)
+ QString translate(const char *,const char *,const char *) const;
+%End
+%If (Qt_3_0_0 -)
+ enum Encoding {
+ DefaultCodec,
+ UnicodeUTF8
+ };
+
+ QString translate(const char *,const char *,const char * = 0,
+ Encoding = DefaultCodec) const;
+%End
+%If (Qt_3_2_0 -)
+ QString applicationDirPath();
+ QString applicationFilePath();
+%End
+%If (- Qt_3_0_0)
+ static void setWinStyleHighlightColor(const QColor &);
+ static const QColor &winStyleHighlightColor();
+%End
+%If (Qt_2_00 -)
+ static void setDesktopSettingsAware(bool);
+ static bool desktopSettingsAware();
+ static void setCursorFlashTime(int);
+ static int cursorFlashTime();
+%End
+ static void setDoubleClickInterval(int);
+ static int doubleClickInterval();
+%If (Qt_2_1_0 -)
+ static void setWheelScrollLines(int);
+ static int wheelScrollLines();
+%If (Qt_2_2_0 -)
+ static void setGlobalStrut(const QSize &);
+ static QSize globalStrut();
+%End
+%If (Qt_3_0_0 -)
+ static void setLibraryPaths(const QStringList &);
+ static QStringList libraryPaths();
+ static void addLibraryPath(const QString &);
+ static void removeLibraryPath(const QString &);
+%End
+ static void setStartDragTime(int);
+ static int startDragTime();
+ static void setStartDragDistance(int);
+ static int startDragDistance();
+%If (Qt_3_0_0 -)
+ static void setReverseLayout(bool);
+ static bool reverseLayout();
+
+ static int horizontalAlignment(int);
+%End
+%If (Qt_2_2_0 -)
+ static bool isEffectEnabled(Qt::UIEffect);
+ static void setEffectEnabled(Qt::UIEffect,bool = 1);
+%End
+%End
+
+
+%If (Qt_2_00 -)
+ bool isSessionRestored() const;
+ QString sessionId() const;
+%If (Qt_3_1_0 -)
+ QString sessionKey() const;
+%End
+ virtual void commitData(QSessionManager &);
+ virtual void saveState(QSessionManager &);
+%End
+%If (Qt_2_1_0 -)
+ void wakeUpGuiThread();
+%End
+%If (Qt_THREAD_SUPPORT)
+%If (Qt_2_2_0 -)
+ void lock() /ReleaseGIL/;
+ void unlock(bool = 1);
+ bool locked();
+%End
+%If (Qt_3_0_0 -)
+ bool tryLock();
+%End
+%End
+
+signals:
+ void lastWindowClosed();
+%If (Qt_2_00 -)
+ void aboutToQuit();
+%End
+%If (Qt_2_1_0 -)
+ void guiThreadAwake();
+%End
+
+public slots:
+ void quit();
+%If (Qt_2_00 -)
+ void closeAllWindows();
+%End
+%If (Qt_3_2_0 -)
+ void aboutQt();
+%End
+
+protected:
+%If (Qt_3_1_0 -)
+ bool event(QEvent *);
+%End
+
+private:
+ QApplication(const QApplication &);
+
+
+%TypeCode
+#include <string.h>
+
+
+// Convert a Python argv list to a conventional C argc count and argv array.
+static char **pyArgvToC(PyObject *argvlist,int &argc)
+{
+ char **argv;
+
+ argc = PyList_Size(argvlist);
+
+ // Allocate space for two copies of the argument pointers, plus the
+ // terminating NULL.
+ if ((argv = (char **)sipMalloc(2 * (argc + 1) * sizeof (char *))) == NULL)
+ return NULL;
+
+ // Convert the list.
+ for (int a = 0; a < argc; ++a)
+ {
+ char *arg;
+
+ // Get the argument and allocate memory for it.
+ if ((arg = PyString_AsString(PyList_GetItem(argvlist,a))) == NULL ||
+ (argv[a] = (char *)sipMalloc(strlen(arg) + 1)) == NULL)
+ return NULL;
+
+ // Copy the argument and save a pointer to it.
+ strcpy(argv[a],arg);
+ argv[a + argc + 1] = argv[a];
+ }
+
+ argv[argc + argc + 1] = argv[argc] = NULL;
+
+ return argv;
+}
+
+
+// Remove arguments from the Python argv list that have been removed from the
+// C argv array.
+static void updatePyArgv(PyObject *argvlist,int argc,char **argv)
+{
+ for (int a = 0, na = 0; a < argc; ++a)
+ {
+ // See if it was removed.
+ if (argv[na] == argv[a + argc + 1])
+ ++na;
+ else
+ PyList_SetSlice(argvlist,na,na + 1,NULL);
+ }
+}
+%End
+
+};
+
+
+enum QtMsgType {
+ QtDebugMsg,
+ QtWarningMsg,
+ QtFatalMsg
+};
+
+
+SIP_PYCALLABLE qInstallMsgHandler(SIP_PYCALLABLE /AllowNone/);
+%MethodCode
+ void (*old)(QtMsgType, const char *);
+
+ // Treat None as the default handler.
+ old = qInstallMsgHandler((a0 != Py_None) ? pyqtMsgHandler : 0);
+
+ // If we recognise the old handler, then return it. Otherwise return
+ // the default handler. This doesn't exactly mimic the Qt behaviour
+ // but it is probably close enough for the way it will be used.
+ sipRes = (old == pyqtMsgHandler) ? pyqtPyMsgHandler : Py_None;
+ Py_INCREF(sipRes);
+
+ // Save the new Python handler.
+ Py_XDECREF(pyqtPyMsgHandler);
+ pyqtPyMsgHandler = a0;
+ Py_INCREF(pyqtPyMsgHandler);
+%End
+
+%ModuleCode
+// The user supplied Python handler.
+static PyObject *pyqtPyMsgHandler = 0;
+
+// The C++ wrapper around the Python handler.
+static void pyqtMsgHandler(QtMsgType type, const char *msg)
+{
+ PyObject *res;
+
+ SIP_BLOCK_THREADS
+
+#if SIP_VERSION >= 0x040200
+ res = sipCallMethod(0, pyqtPyMsgHandler, "Es", type, sipEnum_QtMsgType, msg);
+#elif SIP_VERSION >= 0x040000
+ res = sipCallMethod(0, pyqtPyMsgHandler, "es", type, msg);
+#else
+ PyObject *args = Py_BuildValue("is", type, msg);
+
+ if (args != NULL)
+ {
+ res = PyEval_CallObject(pyqtPyMsgHandler, args);
+ Py_DECREF(args);
+ }
+#endif
+
+ Py_XDECREF(res);
+
+ if (res != NULL && res != Py_None)
+ {
+ PyErr_SetString(PyExc_TypeError, "invalid result type from PyQt message handler");
+ res = NULL;
+ }
+
+ if (res == NULL)
+ PyErr_Print();
+
+ SIP_UNBLOCK_THREADS
+}
+%End
diff --git a/sip/qt/qarray.sip b/sip/qt/qarray.sip
new file mode 100644
index 0000000..76125e1
--- /dev/null
+++ b/sip/qt/qarray.sip
@@ -0,0 +1,94 @@
+// This is the SIP interface definition for all types based on the QArray
+// template.
+//
+// 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>QArray&lt;type&gt; (Qt 1.x, 2.x)</Title>
+<Para>
+Types based on the <Literal>QArray</Literal> template are automatically
+converted to and from Python lists of the type.
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_3_0_0)
+
+%MappedType QArray<int>
+{
+%TypeHeaderCode
+#include <qarray.h>
+%End
+
+%ConvertFromTypeCode
+ // Convert to a Python list of integers.
+
+ PyObject *l;
+
+ // Create the list.
+
+ if ((l = PyList_New(sipCpp -> count())) == NULL)
+ return NULL;
+
+ // Get it.
+
+ for (uint i = 0; i < sipCpp -> count(); ++i)
+ if (PyList_SetItem(l,i,PyInt_FromLong((long)(sipCpp -> at(i)))) < 0)
+ {
+ Py_DECREF(l);
+
+ return NULL;
+ }
+
+ return l;
+%End
+
+%ConvertToTypeCode
+ // Convert a Python list of integers to a QArray<int> on the heap.
+
+ if (sipIsErr == NULL)
+ return PyList_Check(sipPy);
+
+ QArray<int> *qa = new QArray<int>(PyList_GET_SIZE(sipPy));
+
+ PyErr_Clear();
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ {
+ qa[i] = (int)PyInt_AsLong(PyList_GET_ITEM(sipPy,i));
+
+ if (PyErr_Occurred() != NULL)
+ {
+ delete qa;
+ *sipIsErr = 1;
+
+ return 0;
+ }
+ }
+
+ *sipCppPtr = qa;
+
+ return sipGetState(sipTransferObj);
+%End
+};
+
+%End
diff --git a/sip/qt/qassistantclient.sip b/sip/qt/qassistantclient.sip
new file mode 100644
index 0000000..34c4820
--- /dev/null
+++ b/sip/qt/qassistantclient.sip
@@ -0,0 +1,63 @@
+// This is the SIP interface definition for QAssistantClient.
+//
+// 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>QAssistantClient (Qt v3.1+)</Title>
+<Para>
+<Literal>QAssistantClient</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_ASSISTANTCLIENT)
+%If (Qt_3_1_0 -)
+
+class QAssistantClient : QObject
+{
+%TypeHeaderCode
+#include <qassistantclient.h>
+%End
+
+public:
+ QAssistantClient(const QString &,QObject * /TransferThis/ = 0,
+ const char * = 0);
+
+ bool isOpen() const;
+
+%If (Qt_3_2_0 -)
+ void setArguments(const QStringList &);
+%End
+
+public slots:
+ virtual void openAssistant() /ReleaseGIL/;
+ virtual void closeAssistant();
+ virtual void showPage(const QString &);
+
+signals:
+ void assistantOpened();
+ void assistantClosed();
+ void error(const QString &);
+};
+
+%End
+%End
diff --git a/sip/qt/qbitmap.sip b/sip/qt/qbitmap.sip
new file mode 100644
index 0000000..b0132dd
--- /dev/null
+++ b/sip/qt/qbitmap.sip
@@ -0,0 +1,59 @@
+// This is the SIP interface definition for QBitmap.
+//
+// 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>QBitmap</Title>
+<Para>
+<Literal>QBitmap</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QBitmap : QPixmap
+{
+%TypeHeaderCode
+#include <qbitmap.h>
+%End
+
+public:
+ QBitmap();
+%If (- Qt_2_00)
+ QBitmap(int,int,bool = 0);
+ QBitmap(const QSize &,bool = 0);
+%End
+%If (Qt_2_00 -)
+ QBitmap(int,int,bool = 0,QPixmap::Optimization = QPixmap::DefaultOptim);
+ QBitmap(const QSize &,bool = 0,QPixmap::Optimization = QPixmap::DefaultOptim);
+%End
+ QBitmap(int,int,uchar *,bool = 0);
+ QBitmap(const QSize &,uchar *,bool = 0);
+ QBitmap(const QBitmap &);
+%If (- Qt_2_00)
+ QBitmap(const char *,const char * = 0);
+%End
+%If (Qt_2_00 -)
+ QBitmap(const QString &,const char * = 0);
+%End
+
+ QBitmap xForm(const QWMatrix &) const;
+};
diff --git a/sip/qt/qbrush.sip b/sip/qt/qbrush.sip
new file mode 100644
index 0000000..ab629d7
--- /dev/null
+++ b/sip/qt/qbrush.sip
@@ -0,0 +1,105 @@
+// This is the SIP interface definition for QBrush.
+//
+// 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>QBrush</Title>
+<Para>
+<Literal>QBrush</Literal> is fully implemented, including the Python
+<Literal>==</Literal> and <Literal>!=</Literal> operators.
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_2_00)
+
+enum BrushStyle {
+ NoBrush,
+ SolidPattern,
+ Dense1Pattern,
+ Dense2Pattern,
+ Dense3Pattern,
+ Dense4Pattern,
+ Dense5Pattern,
+ Dense6Pattern,
+ Dense7Pattern,
+ HorPattern,
+ VerPattern,
+ CrossPattern,
+ BDiagPattern,
+ FDiagPattern,
+ DiagCrossPattern,
+ CustomPattern = 24
+};
+
+
+class QBrush
+{
+%TypeHeaderCode
+#include <qbrush.h>
+%End
+
+public:
+ QBrush();
+ QBrush(BrushStyle);
+ QBrush(const QColor &,BrushStyle = SolidPattern);
+ QBrush(const QColor &,const QPixmap &);
+ QBrush(const QBrush &);
+
+ BrushStyle style() const;
+ void setStyle(BrushStyle);
+ const QColor &color() const;
+ void setColor(const QColor &);
+ QPixmap *pixmap() const;
+ void setPixmap(const QPixmap &);
+};
+
+%End
+
+
+%If (Qt_2_00 -)
+
+class QBrush : Qt
+{
+%TypeHeaderCode
+#include <qbrush.h>
+%End
+
+public:
+ QBrush();
+ QBrush(BrushStyle);
+ QBrush(const QColor &,BrushStyle = SolidPattern);
+ QBrush(const QColor &,const QPixmap &);
+ QBrush(const QBrush &);
+
+ BrushStyle style() const;
+ void setStyle(BrushStyle);
+ const QColor &color() const;
+ void setColor(const QColor &);
+ QPixmap *pixmap() const;
+ void setPixmap(const QPixmap &);
+
+ bool operator==(const QBrush &) const;
+ bool operator!=(const QBrush &) const;
+};
+
+%End
diff --git a/sip/qt/qbutton.sip b/sip/qt/qbutton.sip
new file mode 100644
index 0000000..356de1e
--- /dev/null
+++ b/sip/qt/qbutton.sip
@@ -0,0 +1,184 @@
+// This is the SIP interface definition for QButton.
+//
+// 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>QButton</Title>
+<Para>
+<Literal>QButton</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QButton : QWidget
+{
+%TypeHeaderCode
+#include <qbutton.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QButton(QWidget * /TransferThis/ = 0,const char * = 0);
+%End
+%If (Qt_2_00 -)
+ QButton(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+%End
+
+%If (- Qt_2_00)
+ const char *text() const;
+ void setText(const char *);
+%End
+%If (Qt_2_00 -)
+ QString text() const;
+ virtual void setText(const QString &);
+%End
+ const QPixmap *pixmap() const;
+%If (- Qt_2_00)
+ void setPixmap(const QPixmap &);
+%End
+%If (Qt_2_00 -)
+ virtual void setPixmap(const QPixmap &);
+%End
+
+%If (- Qt_3_0_0)
+ int accel() const;
+%End
+%If (Qt_3_0_0 -)
+ QKeySequence accel() const;
+%End
+%If (- Qt_2_00)
+ void setAccel(int);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ virtual void setAccel(int);
+%End
+%If (Qt_3_0_0 -)
+ virtual void setAccel(const QKeySequence &);
+%End
+
+ bool isToggleButton() const;
+
+%If (Qt_2_00 -)
+ enum ToggleType
+ {
+ SingleShot,
+ Toggle,
+ Tristate
+ };
+
+ ToggleType toggleType() const;
+%End
+
+%If (- Qt_2_00)
+ void setDown(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setDown(bool);
+%End
+ bool isDown() const;
+
+ bool isOn() const;
+
+%If (Qt_2_00 -)
+ enum ToggleState
+ {
+ Off,
+ NoChange,
+ On
+ };
+
+ ToggleState state() const;
+%End
+
+%If (- Qt_3_0_0)
+ bool autoResize() const;
+%End
+%If (- Qt_2_00)
+ void setAutoResize(bool);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ virtual void setAutoResize(bool);
+%End
+
+ bool autoRepeat() const;
+%If (- Qt_2_00)
+ void setAutoRepeat(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setAutoRepeat(bool);
+%End
+
+%If (Qt_2_00 -)
+ bool isExclusiveToggle() const;
+%End
+
+%If (Qt_2_00 - Qt_3_0_0)
+ bool focusNextPrevChild(bool);
+%End
+
+%If (Qt_2_00 -)
+ QButtonGroup *group() const;
+%End
+
+public slots:
+ void animateClick();
+ void toggle();
+
+signals:
+ void pressed();
+ void released();
+ void clicked();
+ void toggled(bool);
+%If (Qt_2_00 -)
+ void stateChanged(int);
+%End
+
+protected:
+ void setToggleButton(bool);
+%If (Qt_2_00 -)
+ virtual void setToggleType(ToggleType);
+%End
+ void setOn(bool);
+%If (Qt_2_00 -)
+ virtual void setState(ToggleState);
+%End
+
+ virtual bool hitButton(const QPoint &) const;
+ virtual void drawButton(QPainter *);
+ virtual void drawButtonLabel(QPainter *);
+
+ void keyPressEvent(QKeyEvent *);
+%If (Qt_2_1_0 -)
+ void keyReleaseEvent(QKeyEvent *);
+%End
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+ void paintEvent(QPaintEvent *);
+ void focusInEvent(QFocusEvent *);
+ void focusOutEvent(QFocusEvent *);
+
+ void enabledChange(bool);
+
+private:
+ QButton(const QButton &);
+};
diff --git a/sip/qt/qbuttongroup.sip b/sip/qt/qbuttongroup.sip
new file mode 100644
index 0000000..647bb17
--- /dev/null
+++ b/sip/qt/qbuttongroup.sip
@@ -0,0 +1,104 @@
+// This is the SIP interface definition for QButtonGroup.
+//
+// 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>QButtonGroup</Title>
+<Para>
+<Literal>QButtonGroup</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QButtonGroup : QGroupBox
+{
+%TypeHeaderCode
+#include <qbuttongroup.h>
+%End
+
+public:
+ QButtonGroup(QWidget * /TransferThis/ = 0,const char * = 0);
+%If (- Qt_2_00)
+ QButtonGroup(const char *,QWidget * /TransferThis/ = 0,
+ const char * = 0);
+%End
+%If (Qt_2_00 -)
+ QButtonGroup(const QString &,QWidget * /TransferThis/ = 0,
+ const char * = 0);
+ QButtonGroup(int,Orientation,QWidget * /TransferThis/ = 0,
+ const char * = 0);
+ QButtonGroup(int,Orientation,const QString &,
+ QWidget * /TransferThis/ = 0,const char * = 0);
+%End
+
+ bool isExclusive() const;
+%If (- Qt_2_00)
+ void setExclusive(bool);
+ void setButton(int);
+%End
+%If (Qt_2_00 -)
+ bool isRadioButtonExclusive() const;
+ virtual void setExclusive(bool);
+ virtual void setRadioButtonExclusive(bool);
+%End
+
+ int insert(QButton *,int = -1);
+ void remove(QButton *);
+ QButton *find(int) const;
+%If (Qt_2_00 -)
+ int id(QButton *) const;
+ int count() const;
+
+ virtual void setButton(int);
+
+ virtual void moveFocus(int);
+%End
+
+%If (Qt_2_00 - Qt_3_0_0)
+ QButton *selected();
+%End
+%If (Qt_3_0_0 -)
+ QButton *selected() const;
+%End
+%If (Qt_3_2_0 -)
+ int selectedId() const;
+%End
+
+signals:
+ void pressed(int);
+ void released(int);
+ void clicked(int);
+
+protected slots:
+ void buttonPressed();
+ void buttonReleased();
+ void buttonClicked();
+ void buttonToggled(bool);
+
+protected:
+%If (Qt_3_1_0 -)
+ bool event(QEvent *);
+%End
+
+private:
+ QButtonGroup(const QButtonGroup &);
+};
diff --git a/sip/qt/qbytearray.sip b/sip/qt/qbytearray.sip
new file mode 100644
index 0000000..fa992ec
--- /dev/null
+++ b/sip/qt/qbytearray.sip
@@ -0,0 +1,203 @@
+// This is the SIP interface definition for QByteArray.
+//
+// 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>QByteArray</Title>
+<Para>
+A Python string can be used whenever a <Literal>QByteArray</Literal> can be
+used. A <Literal>QByteArray</Literal> can be converted to a Python string
+using the Python <Literal>str()</Literal> function.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QByteArray &<Function>assign</Function></FuncDef>
+ <ParamDef>const char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>size</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>char &<Function>at</Function></FuncDef>
+ <ParamDef>uint <Parameter>i</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int <Function>contains</Function></FuncDef>
+ <ParamDef>const char &<Parameter>d</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>fill</Function></FuncDef>
+ <ParamDef>const char &<Parameter>d</Parameter></ParamDef>
+ <ParamDef>int <Parameter>size</Parameter> = -1</ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int <Function>find</Function></FuncDef>
+ <ParamDef>const char &<Parameter>d</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>i</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>resetRawData</Function></FuncDef>
+ <ParamDef>const char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>uint<Parameter>size</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QByteArray &<Function>setRawData</Function></FuncDef>
+ <ParamDef>const char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>uint<Parameter>size</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QByteArray
+{
+%TypeHeaderCode
+#include <qstring.h>
+%End
+
+public:
+ QByteArray();
+ QByteArray(int);
+ QByteArray(const QByteArray &);
+
+ SIP_PYOBJECT data() const;
+%MethodCode
+ // QByteArrays aren't '\0' terminated so set the size
+ // explicitly.
+
+ char *res;
+ uint len;
+
+ Py_BEGIN_ALLOW_THREADS
+ res = sipCpp -> data();
+ len = sipCpp -> size();
+ Py_END_ALLOW_THREADS
+
+ if (res)
+ {
+ if ((sipRes = PyString_FromStringAndSize(res,len)) == NULL)
+ sipIsErr = 1;
+ }
+ else
+ {
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+%End
+
+ // These are actually in QMemArray, which isn't implemented so pretend
+ // they are here.
+
+ uint nrefs() const;
+ bool isEmpty() const;
+ bool isNull() const;
+ bool resize(uint);
+ bool truncate(uint);
+// bool fill(const char &,int = -1);
+ void detach();
+ QByteArray copy() const;
+ QByteArray &assign(const QByteArray &);
+// QByteArray &assign(const char *,uint);
+ QByteArray &duplicate(const QByteArray &);
+ QByteArray &duplicate(const char *,uint);
+// QByteArray &setRawData(const char *,uint);
+// void resetRawData(const char *,uint);
+// int find(const char &,uint = 0) const;
+// int contains(const char &) const;
+// char &at(uint) const;
+
+ SIP_PYOBJECT __str__();
+%MethodCode
+ // QByteArrays aren't '\0' terminated so set the size
+ // explicitly.
+
+ char *data;
+ uint len;
+
+ Py_BEGIN_ALLOW_THREADS
+ data = sipCpp -> data();
+ len = sipCpp -> size();
+ Py_END_ALLOW_THREADS
+
+ if (data == NULL)
+ sipRes = PyString_FromString("");
+ else
+ sipRes = PyString_FromStringAndSize(data,len);
+%End
+
+%ConvertToTypeCode
+ // Allow a Python string whenever a QByteArray is expected.
+
+ if (sipIsErr == NULL)
+ return (PyString_Check(sipPy) ||
+ sipCanConvertToInstance(sipPy,sipClass_QByteArray,SIP_NO_CONVERTORS));
+
+ if (PyString_Check(sipPy))
+ {
+ Py_BEGIN_ALLOW_THREADS
+ QByteArray *ba = new QByteArray();
+
+ ba -> duplicate(PyString_AS_STRING(sipPy),PyString_GET_SIZE(sipPy));
+
+ *sipCppPtr = ba;
+ Py_END_ALLOW_THREADS
+
+ return sipGetState(sipTransferObj);
+ }
+
+ *sipCppPtr = reinterpret_cast<QByteArray *>(sipConvertToInstance(sipPy,sipClass_QByteArray,sipTransferObj,SIP_NO_CONVERTORS,0,sipIsErr));
+
+ return 0;
+%End
+};
+
+
+%If (Qt_3_1_0 -)
+QByteArray qCompress(const uchar * /Array/,int /ArraySize/);
+QByteArray qCompress(const QByteArray &);
+QByteArray qUncompress(const uchar * /Array/,int /ArraySize/);
+QByteArray qUncompress(const QByteArray &);
+%End
diff --git a/sip/qt/qcdestyle.sip b/sip/qt/qcdestyle.sip
new file mode 100644
index 0000000..790662f
--- /dev/null
+++ b/sip/qt/qcdestyle.sip
@@ -0,0 +1,68 @@
+// This is the SIP interface definition for QCDEStyle.
+//
+// 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>QCDEStyle (Qt v2+)</Title>
+<Para>
+<Literal>QCDEStyle</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_STYLE_CDE)
+%If (Qt_2_00 -)
+
+class QCDEStyle : QMotifStyle
+{
+%TypeHeaderCode
+#include <qcdestyle.h>
+%End
+
+public:
+ QCDEStyle(bool = 0);
+
+%If (- Qt_3_0_0)
+ int defaultFrameWidth() const;
+ void drawArrow(QPainter *,ArrowType,bool,int,int,int,int,
+ const QColorGroup &,bool,const QBrush * = 0);
+ void drawIndicator(QPainter *,int,int,int,int,const QColorGroup &,int,
+ bool = 0,bool = 1);
+ void drawExclusiveIndicator(QPainter *,int,int,int,int,
+ const QColorGroup &,bool,bool = 0,bool = 1);
+%End
+%If (Qt_3_0_0 -)
+ int pixelMetric(PixelMetric,const QWidget * = 0) const;
+
+ void drawControl(ControlElement,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const;
+
+ void drawPrimitive(PrimitiveElement,QPainter *,const QRect &,
+ const QColorGroup &,SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const;
+%End
+};
+
+%End
+%End
diff --git a/sip/qt/qcheckbox.sip b/sip/qt/qcheckbox.sip
new file mode 100644
index 0000000..9c2bfc4
--- /dev/null
+++ b/sip/qt/qcheckbox.sip
@@ -0,0 +1,88 @@
+// This is the SIP interface definition for QCheckBox.
+//
+// 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>QCheckBox</Title>
+<Para>
+<Literal>QCheckBox</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QCheckBox : QButton
+{
+%TypeHeaderCode
+#include <qcheckbox.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QCheckBox(QWidget * /TransferThis/ = 0,const char * = 0);
+ QCheckBox(const char *,QWidget * /TransferThis/,const char * = 0);
+%End
+%If (Qt_2_00 -)
+ QCheckBox(QWidget * /TransferThis/,const char * = 0);
+ QCheckBox(const QString &,QWidget * /TransferThis/,const char * = 0);
+%End
+
+ bool isChecked() const;
+
+%If (Qt_2_00 -)
+ void setNoChange();
+
+ void setTristate(bool = 1);
+%End
+%If (Qt_2_2_0 -)
+ bool isTristate() const;
+%End
+
+ QSize sizeHint() const;
+%If (Qt_2_00 - Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+
+%If (- Qt_3_0_0)
+ void setChecked(bool);
+%End
+
+public slots:
+%If (Qt_3_0_0 -)
+ void setChecked(bool);
+%End
+
+protected:
+%If (Qt_2_00 -)
+ void resizeEvent(QResizeEvent *);
+%End
+ void drawButton(QPainter *);
+ void drawButtonLabel(QPainter *);
+%If (Qt_2_00 -)
+ void updateMask();
+%End
+%If (Qt_3_2_0 -)
+ bool hitButton(const QPoint &) const;
+%End
+
+private:
+ QCheckBox(const QCheckBox &);
+};
diff --git a/sip/qt/qclipboard.sip b/sip/qt/qclipboard.sip
new file mode 100644
index 0000000..4220c37
--- /dev/null
+++ b/sip/qt/qclipboard.sip
@@ -0,0 +1,152 @@
+// This is the SIP interface definition for QClipboard.
+//
+// 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>QClipboard</Title>
+<FuncSynopsis>
+ <FuncDef>void *<Function>data</Function> const</FuncDef>
+ <ParamDef>const char *<Parameter>format</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented (Qt v1.x).
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>setData</Function></FuncDef>
+ <ParamDef>const char *<Parameter>format</Parameter></ParamDef>
+ <ParamDef>void *<Parameter></Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented (Qt v1.x).
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_CLIPBOARD)
+
+class QClipboard : QObject
+{
+%TypeHeaderCode
+#include <qclipboard.h>
+%End
+
+private:
+ QClipboard(QObject * /TransferThis/ = 0,const char * = 0);
+ ~QClipboard();
+
+public:
+%If (Qt_3_1_0 -)
+ enum Mode {
+ Clipboard,
+ Selection
+ };
+
+ void clear(Mode);
+%End
+ void clear();
+
+%If (Qt_3_0_0 -)
+ bool supportsSelection() const;
+ bool ownsSelection() const;
+ bool ownsClipboard() const;
+
+ void setSelectionMode(bool);
+ bool selectionModeEnabled() const;
+%End
+
+%If (Qt_3_1_0 -)
+ QString text(Mode) const;
+ QString text(QCString &,Mode) const;
+ void setText(const QString &,Mode);
+
+%If (Qt_MIMECLIPBOARD)
+ QMimeSource *data(Mode) const;
+ void setData(QMimeSource * /GetWrapper/,Mode);
+%MethodCode
+ sipCpp->setData(a0, a1);
+
+ // Transfer ownership to C++ and make sure the Python object
+ // stays alive by giving it a reference to itself. The cycle
+ // will be broken by QMimeSource's virtual dtor.
+ sipTransferTo(a0Wrapper, a0Wrapper);
+%End
+
+ QImage image(Mode) const;
+ QPixmap pixmap(Mode) const;
+ void setImage(const QImage &,Mode);
+ void setPixmap(const QPixmap &,Mode);
+%End
+%End
+
+%If (- Qt_2_00)
+// void *data(const char *) const;
+// void setData(const char *,void *);
+ const char *text() const;
+ void setText(const char *);
+ QPixmap *pixmap() const;
+%End
+
+%If (Qt_2_00 -)
+%If (Qt_MIMECLIPBOARD)
+ QMimeSource *data() const;
+ void setData(QMimeSource * /GetWrapper/);
+%MethodCode
+ sipCpp->setData(a0);
+
+ // Transfer ownership to C++ and make sure the Python object
+ // stays alive by giving it a reference to itself. The cycle
+ // will be broken by QMimeSource's virtual dtor.
+ sipTransferTo(a0Wrapper, a0Wrapper);
+%End
+%End
+ QString text() const;
+%If (Qt_2_2_0 -)
+ QString text(QCString &) const;
+%End
+ void setText(const QString &);
+%If (Qt_MIMECLIPBOARD)
+ QImage image() const;
+ QPixmap pixmap() const;
+ void setImage(const QImage &);
+%End
+%End
+
+%If (Qt_MIMECLIPBOARD)
+ void setPixmap(const QPixmap &);
+%End
+
+signals:
+%If (Qt_3_0_0 -)
+ void selectionChanged();
+%End
+ void dataChanged();
+
+protected:
+ void connectNotify(const char *);
+ bool event(QEvent *);
+
+private:
+ QClipboard(const QClipboard &);
+};
+
+%End
diff --git a/sip/qt/qcolor.sip b/sip/qt/qcolor.sip
new file mode 100644
index 0000000..7d0d53e
--- /dev/null
+++ b/sip/qt/qcolor.sip
@@ -0,0 +1,207 @@
+// This is the SIP interface definition for QColor.
+//
+// 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>QColor</Title>
+<Para>
+The Python <Literal>==</Literal> and <Literal>!=</Literal> operators are
+supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>getHsv</Function></FuncDef>
+ <ParamDef>int *<Parameter>h</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>s</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>v</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns the <Literal>h</Literal>,
+<Literal>s</Literal> and <Literal>v</Literal> values as a tuple.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>getRgb</Function></FuncDef>
+ <ParamDef>int *<Parameter>r</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>g</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>b</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns the <Literal>r</Literal>,
+<Literal>g</Literal> and <Literal>b</Literal> values as a tuple.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>hsv</Function></FuncDef>
+ <ParamDef>int *<Parameter>h</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>s</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>v</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns the <Literal>h</Literal>,
+<Literal>s</Literal> and <Literal>v</Literal> values as a tuple.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>rgb</Function></FuncDef>
+ <ParamDef>int *<Parameter>r</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>g</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>b</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns the <Literal>r</Literal>,
+<Literal>g</Literal> and <Literal>b</Literal> values as a tuple.
+</Para>
+</Sect2>
+%End
+
+
+%ModuleHeaderCode
+#include <qcolor.h>
+%End
+
+
+%If (- Qt_2_00)
+// The global colours.
+
+QColor color0;
+QColor color1;
+QColor black;
+QColor white;
+QColor darkGray;
+QColor gray;
+QColor lightGray;
+QColor red;
+QColor green;
+QColor blue;
+QColor cyan;
+QColor magenta;
+QColor yellow;
+QColor darkRed;
+QColor darkGreen;
+QColor darkBlue;
+QColor darkCyan;
+QColor darkMagenta;
+QColor darkYellow;
+%End
+
+
+// Related functions.
+
+int qRed(QRgb);
+int qGreen(QRgb);
+int qBlue(QRgb);
+QRgb qRgb(int,int,int);
+int qGray(int,int,int);
+int qGray(QRgb);
+
+%If (Qt_2_00 -)
+int qAlpha(QRgb);
+QRgb qRgba(int,int,int,int);
+%End
+
+
+class QColor
+{
+%TypeHeaderCode
+#include <qcolor.h>
+%End
+
+public:
+ enum Spec {
+ Rgb,
+ Hsv
+ };
+
+ QColor();
+ QColor(int,int,int);
+ QColor(int,int,int,Spec);
+ QColor(QRgb,uint = 0xffffffff);
+%If (Qt_2_00 -)
+ QColor(const QString &);
+%End
+ QColor(const char *);
+ QColor(const QColor &);
+
+ bool isValid() const;
+ bool isDirty() const;
+%If (- Qt_2_00)
+ void setNamedColor(const char *);
+%End
+%If (Qt_2_1_0 -)
+ QString name() const;
+%End
+%If (Qt_2_00 -)
+ void setNamedColor(const QString &);
+%End
+
+ QRgb rgb() const;
+ void setRgb(int,int,int);
+ void setRgb(QRgb);
+%If (Qt_3_2_0 -)
+ void getRgb(int *,int *,int *) const;
+%End
+
+ // Obsolete and is hidden anyway by the overload above.
+ //void rgb(int *,int *,int *) const;
+
+ int red() const;
+ int green() const;
+ int blue() const;
+
+ void setHsv(int,int,int);
+
+%If (Qt_3_2_0 -)
+ void getHsv(int *,int *,int *) const;
+%End
+%If (- Qt_3_2_0)
+ void getHsv(int &,int &,int &) const;
+%End
+
+ // Obsolete.
+ void hsv(int *,int *,int *) const;
+
+ QColor light(int = 150) const;
+ QColor dark(int = 200) const;
+%If (- Qt_3_0_0)
+ static bool lazyAlloc();
+ static void setLazyAlloc(bool);
+%End
+
+ bool operator==(const QColor &) const;
+ bool operator!=(const QColor &) const;
+
+ uint alloc();
+ uint pixel() const;
+ static int maxColors();
+ static int numBitPlanes();
+ static int enterAllocContext();
+ static void leaveAllocContext();
+ static int currentAllocContext();
+ static void destroyAllocContext(int);
+%If (Qt_3_0_0 -)
+%End
+ static void initialize();
+ static void cleanup();
+%If (Qt_3_2_0 -)
+ static QStringList colorNames();
+%End
+};
diff --git a/sip/qt/qcolordialog.sip b/sip/qt/qcolordialog.sip
new file mode 100644
index 0000000..2f715d9
--- /dev/null
+++ b/sip/qt/qcolordialog.sip
@@ -0,0 +1,77 @@
+// This is the SIP interface definition for QColorDialog.
+//
+// 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>QColorDialog (Qt v2+)</Title>
+<FuncSynopsis>
+ <FuncDef>static QRgb <Function>getRgba</Function></FuncDef>
+ <ParamDef>QRgb <Parameter>initial</Parameter></ParamDef>
+ <ParamDef>bool *<Parameter>ok</Parameter></ParamDef>
+ <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef>
+ <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>initial</Literal>, <Literal>parent</Literal> and
+<Literal>name</Literal> parameters and returns a tuple containing the
+<Literal>QRgb</Literal> result and the <Literal>ok</Literal> value.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+%If (Qt_COLORDIALOG)
+
+class QColorDialog : QDialog
+{
+%TypeHeaderCode
+#include <qcolordialog.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ static QColor getColor(QColor,QWidget * = 0,const char * = 0) /ReleaseGIL/;
+%End
+%If (Qt_3_0_0 -)
+ static QColor getColor(const QColor & = Qt::white,QWidget * = 0,
+ const char * = 0) /ReleaseGIL/;
+%End
+%If (Qt_2_1_0 -)
+ static QRgb getRgba(QRgb,bool * = 0,QWidget * = 0,const char * = 0) /ReleaseGIL/;
+ static int customCount();
+ static QRgb customColor(int);
+ static void setCustomColor(int,QRgb);
+%End
+%If (Qt_3_1_0 -)
+ static void setStandardColor(int,QRgb);
+%End
+
+private:
+%If (Qt_2_1_0 -)
+ QColorDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0);
+ QColorDialog(const QColorDialog &);
+ ~QColorDialog();
+%End
+};
+
+%End
+%End
diff --git a/sip/qt/qcolorgroup.sip b/sip/qt/qcolorgroup.sip
new file mode 100644
index 0000000..20e37b0
--- /dev/null
+++ b/sip/qt/qcolorgroup.sip
@@ -0,0 +1,125 @@
+// This is the SIP interface definition for QColorGroup.
+//
+// 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>QColorGroup</Title>
+<Para>
+<Literal>QColorGroup</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QColorGroup
+{
+%TypeHeaderCode
+#include <qpalette.h>
+%End
+
+public:
+ QColorGroup();
+ QColorGroup(const QColor &,const QColor &,const QColor &,const QColor &,
+ const QColor &,const QColor &,const QColor &);
+%If (Qt_2_00 -)
+ QColorGroup(const QBrush &,const QBrush &,const QBrush &,const QBrush &,
+ const QBrush &,const QBrush &,const QBrush &,const QBrush &,
+ const QBrush &);
+%End
+ QColorGroup(QColorGroup&);
+
+%If (- Qt_2_00)
+ QColor midlight() const;
+%End
+
+%If (Qt_2_00 - Qt_3_0_0)
+ enum ColorRole
+ {
+ Foreground,
+ Button,
+ Light,
+ Midlight,
+ Dark,
+ Mid,
+ Text,
+ BrightText,
+ ButtonText,
+ Base,
+ Background,
+ Shadow,
+ Highlight,
+ HighlightedText,
+ NColorRoles
+ };
+%End
+%If (Qt_3_0_0 -)
+ enum ColorRole
+ {
+ Foreground,
+ Button,
+ Light,
+ Midlight,
+ Dark,
+ Mid,
+ Text,
+ BrightText,
+ ButtonText,
+ Base,
+ Background,
+ Shadow,
+ Highlight,
+ HighlightedText,
+ Link,
+ LinkVisited,
+ NColorRoles
+ };
+%End
+
+%If (Qt_2_00 -)
+ const QColor &color(ColorRole) const;
+ const QBrush &brush(ColorRole) const;
+ void setColor(ColorRole,const QColor &);
+ void setBrush(ColorRole,const QBrush &);
+%End
+
+ const QColor &foreground() const;
+%If (Qt_2_00 -)
+ const QColor &button() const;
+%End
+ const QColor &light() const;
+ const QColor &dark() const;
+ const QColor &mid() const;
+ const QColor &text() const;
+ const QColor &base() const;
+ const QColor &background() const;
+%If (Qt_2_00 -)
+ const QColor &midlight() const;
+ const QColor &brightText() const;
+ const QColor &buttonText() const;
+ const QColor &shadow() const;
+ const QColor &highlight() const;
+ const QColor &highlightedText() const;
+%End
+%If (Qt_3_0_0 -)
+ const QColor &link() const;
+ const QColor &linkVisited() const;
+%End
+};
diff --git a/sip/qt/qcombobox.sip b/sip/qt/qcombobox.sip
new file mode 100644
index 0000000..3555eba
--- /dev/null
+++ b/sip/qt/qcombobox.sip
@@ -0,0 +1,277 @@
+// This is the SIP interface definition for QComboBox.
+//
+// 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>QComboBox</Title>
+<Para>
+<Literal>QComboBox</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QComboBox : QWidget
+{
+%TypeHeaderCode
+#include <qcombobox.h>
+%End
+
+public:
+ QComboBox(QWidget * /TransferThis/ = 0,char * = 0);
+ QComboBox(bool,QWidget * /TransferThis/ = 0,char * = 0);
+
+ int count() const;
+
+%If (Qt_2_00 -)
+ void insertStringList(QStringList &,int = -1);
+%End
+ void insertStrList(const QStrList *,int = -1);
+// void insertStrList(const QStrList &,int = -1);
+// void insertStrList(const char **,int = -1,int = -1);
+
+%If (- Qt_2_00)
+ void insertItem(const char *,int = -1);
+%End
+%If (Qt_2_00 -)
+ void insertItem(const QString &,int = -1);
+%End
+ void insertItem(const QPixmap &,int = -1);
+%If (Qt_2_1_0 -)
+ void insertItem(const QPixmap &,const QString &,int = -1);
+%End
+
+ void removeItem(int);
+
+%If (- Qt_3_0_0)
+ void clear();
+%End
+
+ int currentItem() const;
+%If (- Qt_2_00)
+ void setCurrentItem(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setCurrentItem(int);
+%End
+
+%If (- Qt_2_00)
+ const char *currentText() const;
+%End
+%If (Qt_2_00 -)
+ QString currentText() const;
+%End
+%If (Qt_3_0_0 -)
+ virtual void setCurrentText(const QString &);
+%End
+
+%If (- Qt_2_00)
+ const char *text(int) const;
+%End
+%If (Qt_2_00 -)
+ QString text(int) const;
+%End
+ const QPixmap *pixmap(int) const;
+
+%If (- Qt_2_00)
+ void changeItem(const char *,int);
+%End
+%If (Qt_2_00 -)
+ void changeItem(const QString &,int);
+%End
+ void changeItem(const QPixmap &,int);
+%If (Qt_2_1_0 -)
+ void changeItem(const QPixmap &,const QString &,int);
+%End
+
+ bool autoResize() const;
+%If (- Qt_2_00)
+ void setAutoResize(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setAutoResize(bool);
+%End
+ QSize sizeHint() const;
+%If (Qt_2_00 - Qt_3_0_0)
+ virtual QSizePolicy sizePolicy() const;
+%End
+
+%If (- Qt_2_00)
+ void setBackgroundColor(const QColor &);
+ void setStyle(GUIStyle);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ virtual void setBackgroundColor(const QColor &);
+%End
+%If (- Qt_2_00)
+ void setPalette(const QPalette &);
+ void setFont(const QFont &);
+ void setEnabled(bool);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ virtual void setPalette(const QPalette &);
+ virtual void setFont(const QFont &);
+ virtual void setEnabled(bool);
+%End
+%If (Qt_3_0_0 -)
+ void setPalette(const QPalette &);
+ void setFont(const QFont &);
+ void setEnabled(bool);
+%End
+
+%If (- Qt_2_00)
+ void setSizeLimit(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setSizeLimit(int);
+%End
+ int sizeLimit() const;
+
+%If (- Qt_2_00)
+ void setMaxCount(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setMaxCount(int);
+%End
+ int maxCount() const;
+
+ enum Policy {
+ NoInsertion,
+ AtTop,
+ AtCurrent,
+ AtBottom,
+ AfterCurrent,
+ BeforeCurrent
+ };
+
+%If (- Qt_2_00)
+ void setInsertionPolicy(Policy);
+%End
+%If (Qt_2_00 -)
+ virtual void setInsertionPolicy(Policy);
+%End
+ Policy insertionPolicy() const;
+
+%If (- Qt_2_00)
+ void setValidator(QValidator *);
+ QValidator *validator() const;
+%End
+%If (Qt_2_00 -)
+ virtual void setValidator(const QValidator *);
+ const QValidator *validator() const;
+%End
+
+%If (- Qt_2_00)
+ void setListBox(QListBox *);
+%End
+%If (Qt_2_00 -)
+ virtual void setListBox(QListBox *);
+%End
+ QListBox *listBox() const;
+
+%If (Qt_3_0_0 -)
+ virtual void setLineEdit(QLineEdit *);
+%End
+%If (Qt_2_1_0 -)
+ QLineEdit *lineEdit() const;
+%End
+
+%If (- Qt_2_00)
+ void setAutoCompletion(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setAutoCompletion(bool);
+%End
+ bool autoCompletion() const;
+
+ bool eventFilter(QObject *,QEvent *);
+
+%If (Qt_2_1_0 -)
+ void setDuplicatesEnabled(bool);
+ bool duplicatesEnabled() const;
+%End
+
+%If (Qt_2_2_0 -)
+ bool editable() const;
+ void setEditable(bool);
+%End
+
+%If (Qt_3_0_0 -)
+ virtual void popup();
+%End
+
+%If (Qt_3_3_0 -)
+ void hide();
+%End
+
+public slots:
+%If (Qt_3_0_0 -)
+ void clear();
+%End
+ void clearValidator();
+ void clearEdit();
+%If (- Qt_2_00)
+ void setEditText(const char *);
+%End
+%If (Qt_2_00 -)
+ virtual void setEditText(const QString &);
+%End
+
+signals:
+ void activated(int);
+ void highlighted(int);
+%If (- Qt_2_00)
+ void activated(const char *);
+ void highlighted(const char *);
+%End
+%If (Qt_2_00 -)
+ void activated(const QString &);
+ void highlighted(const QString &);
+ void textChanged(const QString &);
+%End
+
+protected:
+ void paintEvent(QPaintEvent *);
+ void resizeEvent(QResizeEvent *);
+ void mousePressEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseDoubleClickEvent(QMouseEvent *);
+ void keyPressEvent(QKeyEvent *);
+ void focusInEvent(QFocusEvent *);
+%If (Qt_3_1_1 -)
+ void focusOutEvent(QFocusEvent *);
+%End
+%If (Qt_3_1_0 -)
+ void wheelEvent(QWheelEvent *);
+%End
+%If (- Qt_3_0_0)
+ void popup();
+%End
+%If (Qt_2_00 -)
+ void styleChange(QStyle &);
+
+ void updateMask();
+%End
+
+private:
+ QComboBox(const QComboBox &);
+};
diff --git a/sip/qt/qcommonstyle.sip b/sip/qt/qcommonstyle.sip
new file mode 100644
index 0000000..b838716
--- /dev/null
+++ b/sip/qt/qcommonstyle.sip
@@ -0,0 +1,137 @@
+// This is the SIP interface definition for QCommonStyle.
+//
+// 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>QCommonStyle (Qt v2+)</Title>
+<FuncSynopsis>
+ <FuncDef>virtual void <Function>getButtonShift</Function></FuncDef>
+ <ParamDef>int &amp;<Parameter>x</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>y</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns a tuple of the <Literal>x</Literal> and
+<Literal>y</Literal> values. (Qt v2)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>virtual void <Function>tabbarMetrics</Function></FuncDef>
+ <ParamDef>const QTabBar *<Parameter>t</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>hframe</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>vframe</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>overlap</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>t</Literal> parameter and returns a tuple of the
+<Literal>hframe</Literal>, <Literal>vframe</Literal> and
+<Literal>overlap</Literal> values. (Qt v2)
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QCommonStyle : QStyle
+{
+%TypeHeaderCode
+#include <qcommonstyle.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ void drawComboButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,bool = 0,bool = 1,const QBrush * = 0);
+ QRect comboButtonRect(int,int,int,int);
+ QRect comboButtonFocusRect(int,int,int,int);
+ void drawComboButtonMask(QPainter *,int,int,int,int);
+ void drawPushButtonLabel(QPushButton *,QPainter *);
+ void getButtonShift(int &,int &);
+ int defaultFrameWidth() const;
+ void tabbarMetrics(const QTabBar *,int &,int &,int &);
+ void drawTab(QPainter *,const QTabBar *,QTab *,bool);
+ void drawTabMask(QPainter *,const QTabBar *,QTab *,bool);
+ ScrollControl scrollBarPointOver(const QScrollBar *,int,const QPoint &);
+ void drawSliderMask(QPainter *,int,int,int,int,Orientation,bool,bool);
+ void drawSliderGrooveMask(QPainter *,int,int,int,int,QCOORD,Orientation);
+ int maximumSliderDragDistance() const;
+ int popupSubmenuIndicatorWidth(const QFontMetrics &);
+%End
+
+%If (Qt_3_0_0 -)
+ QCommonStyle();
+
+ void drawPrimitive(PrimitiveElement,QPainter *,const QRect &,
+ const QColorGroup &,SFlags = Style_Default,
+ const QStyleOption& = QStyleOption()) const;
+
+ void drawControl(ControlElement,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const;
+
+ void drawControlMask(ControlElement,QPainter *,const QWidget *,
+ const QRect &,
+ const QStyleOption & = QStyleOption()) const;
+
+ QRect subRect(SubRect,const QWidget *) const;
+
+ void drawComplexControl(ComplexControl,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,SCFlags = SC_All,
+ SCFlags = SC_None,
+ const QStyleOption & = QStyleOption()) const;
+
+ void drawComplexControlMask(ComplexControl,QPainter *,const QWidget *,
+ const QRect &,
+ const QStyleOption & = QStyleOption()) const;
+
+ QRect querySubControlMetrics(ComplexControl,const QWidget *,SubControl,
+ const QStyleOption & = QStyleOption()) const;
+
+ SubControl querySubControl(ComplexControl,const QWidget *,
+ const QPoint &,
+ const QStyleOption & = QStyleOption()) const;
+
+ int pixelMetric(PixelMetric,const QWidget * = 0) const;
+
+ QSize sizeFromContents(ContentsType,const QWidget *,const QSize &,
+ const QStyleOption & = QStyleOption()) const;
+
+ int styleHint(StyleHint,const QWidget *,const QStyleOption &,
+ QStyleHintReturn *) const;
+
+ QPixmap stylePixmap(StylePixmap,const QWidget * = 0,
+ const QStyleOption & = QStyleOption()) const;
+
+%End
+
+private:
+%If (- Qt_3_0_0)
+ QCommonStyle(GUIStyle);
+ ~QCommonStyle();
+%End
+%If (Qt_3_0_0 -)
+ QCommonStyle(const QCommonStyle &);
+%End
+};
+
+%End
diff --git a/sip/qt/qcstring.sip b/sip/qt/qcstring.sip
new file mode 100644
index 0000000..64b3b2a
--- /dev/null
+++ b/sip/qt/qcstring.sip
@@ -0,0 +1,223 @@
+// This is the SIP interface definition for QCString.
+//
+// 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>QCString (Qt v2+)</Title>
+<Para>
+A Python string can be used whenever a <Literal>QCString</Literal> can be used.
+A <Literal>QCString</Literal> can be converted to a Python string using the
+Python <Literal>str()</Literal> function.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QCString &amp;<Function>sprintf</Function></FuncDef>
+ <ParamDef>const char *<Parameter>format</Parameter></ParamDef>
+ <ParamDef>...</ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>short <Function>toShort</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>short</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>ushort <Function>toUShort</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>ushort</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int <Function>toInt</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>int</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>uint <Function>toUInt</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>uint</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>long <Function>toLong</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>long</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>ulong <Function>toULong</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>ulong</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>float <Function>toFloat</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>float</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>double <Function>toDouble</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>double</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QCString : QByteArray
+{
+%TypeHeaderCode
+#include <qcstring.h>
+%End
+
+public:
+ QCString();
+ QCString(int);
+ QCString(const QCString &);
+ QCString(const char *);
+ QCString(const char *,uint);
+
+ bool isNull() const;
+ bool isEmpty() const;
+ uint length() const;
+ bool resize(uint);
+ bool truncate(uint);
+ bool fill(char,int = -1);
+ QCString copy() const;
+// QCString &sprintf(const char *,...);
+// int find(char,int = 0,bool = 1) const;
+ int find(const char *,int = 0,bool = 1) const;
+ int find(const QRegExp &,int = 0) const;
+// int findRev(char,int = -1,bool = 1) const;
+ int findRev(const char *,int = -1,bool = 1) const;
+ int findRev(const QRegExp &,int = -1) const;
+// int contains(char,bool = 1) const;
+ int contains(const char *,bool = 1) const;
+ int contains(const QRegExp &) const;
+ QCString left(uint) const;
+ QCString right(uint) const;
+ QCString mid(uint,uint = 0xffffffff) const;
+ QCString leftJustify(uint,char = ' ',bool = 0) const;
+ QCString rightJustify(uint,char = ' ',bool = 0) const;
+ QCString lower() const;
+ QCString upper() const;
+ QCString stripWhiteSpace() const;
+ QCString simplifyWhiteSpace() const;
+ QCString &insert(uint,const char *);
+// QCString &insert(uint,char);
+ QCString &append(const char *);
+ QCString &prepend(const char *);
+ QCString &remove(uint,uint);
+ QCString &replace(uint,uint,const char *);
+ QCString &replace(const QRegExp &,const char *);
+%If (Qt_3_1_0 -)
+// QCString &replace(char,const char *);
+ QCString &replace(const char *,const char *);
+// QCString &replace(char,char);
+%End
+
+ short toShort(bool * = 0) const;
+ ushort toUShort(bool * = 0) const;
+ int toInt(bool * = 0) const;
+ uint toUInt(bool * = 0) const;
+ long toLong(bool * = 0) const;
+ ulong toULong(bool * = 0) const;
+ float toFloat(bool * = 0) const;
+ double toDouble(bool * = 0) const;
+
+ QCString &setStr(const char *);
+// QCString &setNum(short);
+// QCString &setNum(ushort);
+ QCString &setNum(int /Constrained/);
+// QCString &setNum(uint);
+// QCString &setNum(long);
+// QCString &setNum(ulong);
+// QCString &setNum(float,char = 'g',int = 6);
+ QCString &setNum(double,char = 'g',int = 6);
+ bool setExpand(uint,char);
+
+ SIP_PYOBJECT __str__();
+%MethodCode
+ const char *s;
+
+ Py_BEGIN_ALLOW_THREADS
+ s = *sipCpp;
+ Py_END_ALLOW_THREADS
+
+ if (s == NULL)
+ s = "";
+
+ sipRes = PyString_FromString(s);
+%End
+
+%ConvertToTypeCode
+ // Allow a Python string whenever a QCString is expected.
+
+ if (sipIsErr == NULL)
+ return (PyString_Check(sipPy) ||
+ sipCanConvertToInstance(sipPy,sipClass_QCString,SIP_NO_CONVERTORS));
+
+ if (PyString_Check(sipPy))
+ {
+ *sipCppPtr = new QCString(PyString_AS_STRING(sipPy));
+
+ return sipGetState(sipTransferObj);
+ }
+
+ *sipCppPtr = reinterpret_cast<QCString *>(sipConvertToInstance(sipPy,sipClass_QCString,sipTransferObj,SIP_NO_CONVERTORS,0,sipIsErr));
+
+ return 0;
+%End
+};
+
+%End
diff --git a/sip/qt/qcursor.sip b/sip/qt/qcursor.sip
new file mode 100644
index 0000000..3631c30
--- /dev/null
+++ b/sip/qt/qcursor.sip
@@ -0,0 +1,144 @@
+// This is the SIP interface definition for QCursor.
+//
+// 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>QCursor</Title>
+<Para>
+<Literal>QCursor</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%ModuleHeaderCode
+#include <qcursor.h>
+%End
+
+
+%If (- Qt_2_00)
+// Global cursors.
+
+const QCursor arrowCursor;
+const QCursor upArrowCursor;
+const QCursor crossCursor;
+const QCursor waitCursor;
+const QCursor ibeamCursor;
+const QCursor sizeVerCursor;
+const QCursor sizeHorCursor;
+const QCursor sizeBDiagCursor;
+const QCursor sizeFDiagCursor;
+const QCursor sizeAllCursor;
+const QCursor blankCursor;
+%End
+
+
+%If (- Qt_3_0_0)
+enum QCursorShape {
+ ArrowCursor,
+ UpArrowCursor,
+ CrossCursor,
+ WaitCursor,
+ IbeamCursor,
+ SizeVerCursor,
+ SizeHorCursor,
+ SizeBDiagCursor,
+ SizeFDiagCursor,
+ SizeAllCursor,
+ BlankCursor,
+ LastCursor = BlankCursor,
+ BitmapCursor = 24
+};
+
+
+class QCursor
+{
+%TypeHeaderCode
+#include <qcursor.h>
+%End
+
+public:
+ QCursor();
+ QCursor(int);
+ QCursor(const QBitmap &,const QBitmap &,int = -1,int = -1);
+%If (Qt_2_00 -)
+ QCursor(const QPixmap &,int = -1,int = -1);
+%End
+ QCursor(const QCursor &);
+
+ int shape() const;
+ void setShape(int);
+ const QBitmap *bitmap() const;
+ const QBitmap *mask() const;
+ QPoint hotSpot() const;
+%If (- Qt_2_00)
+ HANDLE handle() const;
+%End
+%If (Qt_2_00 -)
+%If (WS_X11)
+ HANDLE handle() const;
+%End
+%End
+ static QPoint pos();
+ static void setPos(int,int);
+ static void setPos(const QPoint &);
+ static void initialize();
+ static void cleanup();
+};
+%End
+
+%If (Qt_3_0_0 -)
+class QCursor : Qt
+{
+%TypeHeaderCode
+#include <qcursor.h>
+%End
+
+public:
+ QCursor();
+ QCursor(int);
+ QCursor(const QBitmap &,const QBitmap &,int = -1,int = -1);
+ QCursor(const QPixmap &,int = -1,int = -1);
+ QCursor(const QCursor &);
+
+ int shape() const;
+ void setShape(int);
+ const QBitmap *bitmap() const;
+ const QBitmap *mask() const;
+ QPoint hotSpot() const;
+
+%If (WS_X11)
+ HANDLE handle() const;
+%If (Qt_3_3_0 -)
+ // This would have the same Python signature as QCursor(int).
+ //QCursor(HANDLE);
+%End
+%End
+ static QPoint pos();
+ static void setPos(int,int);
+ static void setPos(const QPoint &);
+ static void initialize();
+ static void cleanup();
+%If (WS_X11)
+ static int x11Screen();
+%End
+};
+%End
diff --git a/sip/qt/qdatastream.sip b/sip/qt/qdatastream.sip
new file mode 100644
index 0000000..1a27132
--- /dev/null
+++ b/sip/qt/qdatastream.sip
@@ -0,0 +1,224 @@
+// This is the SIP interface definition for QDataStream.
+//
+// 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>QDataStream</Title>
+<FuncSynopsis>
+ <FuncDef>QDataStream &amp;<Function>readBytes</Function></FuncDef>
+ <ParamDef>const char *&amp;<Parameter>s</Parameter></ParamDef>
+ <ParamDef>uint &amp;<Parameter>l</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters. The <Literal>QDataStream</Literal> result and the
+data read are returned as a tuple.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QDataStream &amp;<Function>readRawBytes</Function></FuncDef>
+ <ParamDef>const char *<Parameter>s</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>l</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>l</Literal> parameter. The
+<Literal>QDataStream</Literal> result and the data read are returned as a
+tuple.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QDataStream &amp;<Function>writeBytes</Function></FuncDef>
+ <ParamDef>const char *<Parameter>s</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>len</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+<Literal>len</Literal> is derived from <Literal>s</Literal> and not passed as a
+parameter.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QDataStream &amp;<Function>writeRawBytes</Function></FuncDef>
+ <ParamDef>const char *<Parameter>s</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>len</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+<Literal>len</Literal> is derived from <Literal>s</Literal> and not passed as a
+parameter.
+</Para>
+</Sect2>
+%End
+
+
+class QDataStream
+{
+%TypeHeaderCode
+#include <qdatastream.h>
+%End
+
+public:
+ QDataStream();
+ QDataStream(QIODevice *);
+ QDataStream(QByteArray,int);
+
+ QIODevice *device() const;
+ void setDevice(QIODevice *);
+ void unsetDevice();
+%If (Qt_2_00 -)
+ bool atEnd() const;
+%End
+ bool eof() const;
+
+ enum ByteOrder {
+ BigEndian,
+ LittleEndian
+ };
+
+ int byteOrder() const;
+ void setByteOrder(int);
+ bool isPrintableData() const;
+ void setPrintableData(bool);
+ int version() const;
+ void setVersion(int);
+
+ SIP_PYTUPLE readBytes() /ReleaseGIL/;
+%MethodCode
+ char *c;
+ uint l;
+
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp -> QDataStream::readBytes(c,l);
+ Py_END_ALLOW_THREADS
+
+ sipRes = sipBuildResult(&sipIsErr,"(Sa)",sipSelf,c,l);
+
+ if (c)
+ delete[] c;
+%End
+
+ SIP_PYTUPLE readRawBytes(uint) /ReleaseGIL/;
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp -> QDataStream::readRawBytes(buf,a0);
+ Py_END_ALLOW_THREADS
+
+ sipRes = sipBuildResult(&sipIsErr,"(Sa)",sipSelf,buf,a0);
+
+ sipFree((ANY *)buf);
+ }
+%End
+
+ QDataStream &writeBytes(const char * /Array/,
+ uint /ArraySize/) /ReleaseGIL/;
+ QDataStream &writeRawBytes(const char * /Array/,
+ uint /ArraySize/) /ReleaseGIL/;
+
+%If (Qt_3_0_0 -)
+ // These are taken from the corresponding class definitions. We limit
+ // them to Qt v3.0.0 and later just to avoid checking earlier versions.
+
+ QDataStream &operator<<(const QBrush &);
+ QDataStream &operator>>(QBrush & /Constrained/);
+
+ QDataStream &operator<<(const QColor &);
+ QDataStream &operator>>(QColor & /Constrained/);
+
+ QDataStream &operator<<(const QByteArray &);
+ QDataStream &operator>>(QByteArray & /Constrained/);
+
+ QDataStream &operator<<(const QCString &);
+ QDataStream &operator>>(QCString & /Constrained/);
+
+ QDataStream &operator<<(const QCursor &);
+ QDataStream &operator>>(QCursor & /Constrained/);
+
+ QDataStream &operator<<(const QDate &);
+ QDataStream &operator>>(QDate & /Constrained/);
+
+ QDataStream &operator<<(const QTime &);
+ QDataStream &operator>>(QTime & /Constrained/);
+
+ QDataStream &operator<<(const QDateTime &);
+ QDataStream &operator>>(QDateTime & /Constrained/);
+
+ QDataStream &operator<<(const QFont &);
+ QDataStream &operator>>(QFont & /Constrained/);
+
+ QDataStream &operator<<(const QImage &);
+ QDataStream &operator>>(QImage & /Constrained/);
+
+ QDataStream &operator<<(const QKeySequence &);
+ QDataStream &operator>>(QKeySequence & /Constrained/);
+
+ QDataStream &operator<<(const QColorGroup &);
+ QDataStream &operator>>(QColorGroup & /Constrained/);
+
+ QDataStream &operator<<(const QPalette &);
+ QDataStream &operator>>(QPalette & /Constrained/);
+
+ QDataStream &operator<<(const QPen &);
+ QDataStream &operator>>(QPen & /Constrained/);
+
+ QDataStream &operator<<(const QPicture &);
+ QDataStream &operator>>(QPicture & /Constrained/);
+
+ QDataStream &operator<<(const QPixmap &);
+ QDataStream &operator>>(QPixmap & /Constrained/);
+
+ QDataStream &operator<<(const QPointArray &);
+ QDataStream &operator>>(QPointArray & /Constrained/);
+
+ QDataStream &operator<<(const QPoint &);
+ QDataStream &operator>>(QPoint & /Constrained/);
+
+ QDataStream &operator<<(const QRect &);
+ QDataStream &operator>>(QRect & /Constrained/);
+
+ QDataStream &operator<<(const QRegion &);
+ QDataStream &operator>>(QRegion & /Constrained/);
+
+ QDataStream &operator<<(const QSize &);
+ QDataStream &operator>>(QSize & /Constrained/);
+
+ QDataStream &operator<<(const QString &);
+ QDataStream &operator>>(QString & /Constrained/);
+
+ QDataStream &operator<<(const QStringList &);
+ QDataStream &operator>>(QStringList & /Constrained/);
+
+ QDataStream &operator<<(const QVariant &);
+ QDataStream &operator>>(QVariant & /Constrained/);
+
+ QDataStream &operator<<(const QWMatrix &);
+ QDataStream &operator>>(QWMatrix & /Constrained/);
+%End
+%If (Qt_3_1_0 -)
+ QDataStream &operator<<(const QUuid &);
+ QDataStream &operator>>(QUuid & /Constrained/);
+%End
+
+private:
+ QDataStream(const QDataStream &);
+};
diff --git a/sip/qt/qdatetime.sip b/sip/qt/qdatetime.sip
new file mode 100644
index 0000000..cede021
--- /dev/null
+++ b/sip/qt/qdatetime.sip
@@ -0,0 +1,280 @@
+// This is the SIP interface definition for QDate, QDateTime and QTime.
+//
+// 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>QDate</Title>
+<Para>
+The Python
+<Literal>==</Literal>, <Literal>!=</Literal>,
+<Literal>&lt;</Literal>, <Literal>&lt;=</Literal>,
+<Literal>&gt;</Literal>, <Literal>&gt;=</Literal>
+and <Literal>__nonzero__</Literal>
+operators are supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int <Function>weekNumber</Function></FuncDef>
+ <ParamDef>int *<Parameter>yearNum</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns the week number and the year number as a
+tuple. (Qt v3.1+)
+</Para>
+</Sect2>
+
+<Sect2><Title>QDateTime</Title>
+<Para>
+<Literal>QDateTime</Literal> is fully implemented, including the Python
+<Literal>==</Literal>, <Literal>!=</Literal>,
+<Literal>&lt;</Literal>, <Literal>&lt;=</Literal>,
+<Literal>&gt;</Literal>, <Literal>&gt;=</Literal>
+and <Literal>__nonzero__</Literal>
+operators.
+</Para>
+</Sect2>
+
+<Sect2><Title>QTime</Title>
+<Para>
+<Literal>QTime</Literal> is fully implemented, including the Python
+<Literal>==</Literal>, <Literal>!=</Literal>,
+<Literal>&lt;</Literal>, <Literal>&lt;=</Literal>,
+<Literal>&gt;</Literal>, <Literal>&gt;=</Literal>
+and <Literal>__nonzero__</Literal>
+operators.
+</Para>
+</Sect2>
+%End
+
+
+class QDate
+{
+%TypeHeaderCode
+#include <qdatetime.h>
+%End
+
+public:
+ QDate();
+ QDate(int,int,int);
+
+ bool isNull() const;
+ bool isValid() const;
+
+ int year() const;
+ int month() const;
+ int day() const;
+ int dayOfWeek() const;
+ int dayOfYear() const;
+ int daysInMonth() const;
+ int daysInYear() const;
+
+%If (Qt_3_1_0 -)
+ int weekNumber(int * = 0) const;
+%End
+
+%If (- Qt_2_00)
+ virtual const char *monthName(int) const;
+ virtual const char *dayName(int) const;
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ virtual QString monthName(int) const;
+ virtual QString dayName(int) const;
+%End
+%If (Qt_3_0_0 -)
+ static QString shortMonthName(int);
+ static QString shortDayName(int);
+ static QString longMonthName(int);
+ static QString longDayName(int);
+%End
+
+%If (- Qt_3_0_0)
+ QString toString() const;
+%End
+%If (Qt_3_0_0 -)
+ QString toString(Qt::DateFormat = Qt::TextDate) const;
+ QString toString(const QString &) const;
+%End
+ bool setYMD(int,int,int);
+ QDate addDays(int) const;
+%If (Qt_3_0_0 -)
+ QDate addMonths(int) const;
+ QDate addYears(int) const;
+%End
+ int daysTo(const QDate &) const;
+
+ int __nonzero__() const;
+%MethodCode
+ sipRes = !sipCpp -> isNull();
+%End
+
+ bool operator==(const QDate &) const;
+ bool operator!=(const QDate &) const;
+ bool operator<(const QDate &) const;
+ bool operator<=(const QDate &) const;
+ bool operator>(const QDate &) const;
+ bool operator>=(const QDate &) const;
+
+ static QDate currentDate();
+%If (Qt_3_1_0 -)
+ static QDate currentDate(Qt::TimeSpec);
+%End
+%If (Qt_3_0_0 -)
+ static QDate fromString(const QString &,Qt::DateFormat = Qt::TextDate);
+%End
+ static bool isValid(int,int,int);
+ static bool leapYear(int);
+
+%If (Qt_3_0_0 -)
+ // These are defined in Qt3 but not documented.
+ //static uint gregorianToJulian(int,int,int);
+ //static void julianToGregorian(uint,int &,int &,int &);
+%End
+};
+
+
+class QTime
+{
+%TypeHeaderCode
+#include <qdatetime.h>
+%End
+
+public:
+ QTime();
+ QTime(int,int,int = 0,int = 0);
+
+ bool isNull() const;
+ bool isValid() const;
+ int hour() const;
+ int minute() const;
+ int second() const;
+ int msec() const;
+
+%If (- Qt_3_0_0)
+ QString toString() const;
+%End
+%If (Qt_3_0_0 -)
+ QString toString(Qt::DateFormat = Qt::TextDate) const;
+ QString toString(const QString &) const;
+%End
+
+ bool setHMS(int,int,int,int = 0);
+
+ QTime addSecs(int) const;
+ int secsTo(const QTime &) const;
+ QTime addMSecs(int) const;
+ int msecsTo(const QTime &) const;
+
+ int __nonzero__() const;
+%MethodCode
+ sipRes = !sipCpp -> isNull();
+%End
+
+ bool operator==(const QTime &) const;
+ bool operator!=(const QTime &) const;
+ bool operator<(const QTime &) const;
+ bool operator<=(const QTime &) const;
+ bool operator>(const QTime &) const;
+ bool operator>=(const QTime &) const;
+
+ static QTime currentTime();
+%If (Qt_3_1_0 -)
+ static QTime currentTime(Qt::TimeSpec);
+%End
+%If (Qt_3_0_0 -)
+ static QTime fromString(const QString &,Qt::DateFormat = Qt::TextDate);
+%End
+ static bool isValid(int,int,int,int = 0);
+
+ void start();
+ int restart();
+%If (- Qt_3_0_0)
+ int elapsed();
+%End
+%If (Qt_3_0_0 -)
+ int elapsed() const;
+%End
+};
+
+
+class QDateTime
+{
+%TypeHeaderCode
+#include <qdatetime.h>
+%End
+
+public:
+ QDateTime();
+ QDateTime(const QDate &);
+ QDateTime(const QDate &,const QTime &);
+
+ bool isNull() const;
+ bool isValid() const;
+
+ QDate date() const;
+ QTime time() const;
+%If (Qt_3_1_0 -)
+ uint toTime_t() const;
+%End
+ void setDate(const QDate &);
+ void setTime(const QTime &);
+ void setTime_t(uint);
+%If (Qt_3_1_0 -)
+ void setTime_t(uint,Qt::TimeSpec);
+%End
+
+%If (- Qt_3_0_0)
+ QString toString() const;
+%End
+%If (Qt_3_0_0 -)
+ QString toString(Qt::DateFormat = Qt::TextDate) const;
+ QString toString(const QString &) const;
+%End
+
+ QDateTime addDays(int) const;
+%If (Qt_3_0_0 -)
+ QDateTime addMonths(int) const;
+ QDateTime addYears(int) const;
+%End
+ QDateTime addSecs(int) const;
+ int daysTo(const QDateTime &) const;
+ int secsTo(const QDateTime &) const;
+
+ int __nonzero__() const;
+%MethodCode
+ sipRes = !sipCpp -> isNull();
+%End
+
+ bool operator==(const QDateTime &) const;
+ bool operator!=(const QDateTime &) const;
+ bool operator<(const QDateTime &) const;
+ bool operator<=(const QDateTime &) const;
+ bool operator>(const QDateTime &) const;
+ bool operator>=(const QDateTime &) const;
+
+ static QDateTime currentDateTime();
+%If (Qt_3_1_0 -)
+ static QDateTime currentDateTime(Qt::TimeSpec);
+%End
+%If (Qt_3_0_0 -)
+ static QDateTime fromString(const QString &,
+ Qt::DateFormat = Qt::TextDate);
+%End
+};
diff --git a/sip/qt/qdatetimeedit.sip b/sip/qt/qdatetimeedit.sip
new file mode 100644
index 0000000..27ee830
--- /dev/null
+++ b/sip/qt/qdatetimeedit.sip
@@ -0,0 +1,256 @@
+// This is the SIP interface definition for QDateEdit, QDateTimeEdit and
+// QTimeEdit.
+//
+// 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>QDateEdit (Qt v3+)</Title>
+<Para>
+<Literal>QDateEdit</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QTimeEdit (Qt v3+)</Title>
+<Para>
+<Literal>QTimeEdit</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDateTimeEdit (Qt v3+)</Title>
+<Para>
+<Literal>QDateTimeEdit</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+// QDateEdit actually inherits QDateTimeEditBase but that's an internal class
+// and isn't exported under Windows in all versions.
+
+class QDateEdit : QWidget
+{
+%TypeHeaderCode
+#include <qdatetimeedit.h>
+%End
+
+public:
+ QDateEdit(QWidget * /TransferThis/ = 0,const char * = 0);
+ QDateEdit(const QDate &,QWidget * /TransferThis/ = 0,const char * = 0);
+
+ enum Order {
+ DMY,
+ MDY,
+ YMD,
+ YDM
+ };
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+%If (- Qt_3_1_0)
+ virtual void setDate(const QDate &);
+%End
+ QDate date() const;
+ virtual void setOrder(Order);
+ Order order() const;
+ virtual void setAutoAdvance(bool);
+ bool autoAdvance() const;
+
+ virtual void setMinValue(const QDate &);
+ QDate minValue() const;
+ virtual void setMaxValue(const QDate &);
+ QDate maxValue() const;
+ virtual void setRange(const QDate &,const QDate &);
+ QString separator() const;
+ virtual void setSeparator(const QString &);
+
+%If (Qt_3_2_0 -)
+ void removeFirstNumber(int);
+%End
+
+public slots:
+%If (Qt_3_1_0 -)
+ virtual void setDate(const QDate &);
+%End
+
+signals:
+ void valueChanged(const QDate &);
+
+protected:
+ bool event(QEvent *);
+ void timerEvent(QTimerEvent *);
+ void resizeEvent(QResizeEvent *);
+ void stepUp();
+ void stepDown();
+ QString sectionFormattedText(int);
+ void addNumber(int,int);
+ void removeLastNumber(int);
+ bool setFocusSection(int);
+
+ virtual void setYear(int);
+ virtual void setMonth(int);
+ virtual void setDay(int);
+ virtual void fix();
+ virtual bool outOfRange(int,int,int) const;
+
+protected slots:
+ void updateButtons();
+
+private:
+%If (Qt_3_1_0 -)
+ QDateEdit(const QDateEdit &);
+%End
+};
+
+
+// QDateEdit actually inherits QDateTimeEditBase but that's an internal class
+// and isn't exported under Windows in all versions.
+
+class QTimeEdit : QWidget
+{
+%TypeHeaderCode
+#include <qdatetimeedit.h>
+%End
+
+public:
+%If (Qt_3_1_0 -)
+ enum Display {
+ Hours,
+ Minutes,
+ Seconds,
+ AMPM
+ };
+%End
+
+ QTimeEdit(QWidget * /TransferThis/ = 0,const char * = 0);
+ QTimeEdit(const QTime &,QWidget * /TransferThis/ = 0,const char * = 0);
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+%If (- Qt_3_1_0)
+ virtual void setTime(const QTime &);
+%End
+ QTime time() const;
+ virtual void setAutoAdvance(bool);
+ bool autoAdvance() const;
+
+ virtual void setMinValue(const QTime &);
+ QTime minValue() const;
+ virtual void setMaxValue(const QTime &);
+ QTime maxValue() const;
+ virtual void setRange(const QTime &,const QTime &);
+ QString separator() const;
+ virtual void setSeparator(const QString &);
+
+%If (Qt_3_1_0 -)
+ uint display() const;
+ void setDisplay(uint);
+%End
+
+%If (Qt_3_2_0 -)
+ void removeFirstNumber(int);
+%End
+
+public slots:
+%If (Qt_3_1_0 -)
+ virtual void setTime(const QTime &);
+%End
+
+signals:
+ void valueChanged(const QTime &);
+
+protected:
+ bool event(QEvent *);
+ void timerEvent(QTimerEvent *);
+ void resizeEvent(QResizeEvent *);
+ void stepUp();
+ void stepDown();
+ QString sectionFormattedText(int);
+ void addNumber(int,int);
+ void removeLastNumber(int);
+ bool setFocusSection(int);
+
+ virtual bool outOfRange(int,int,int) const;
+ virtual void setHour(int);
+ virtual void setMinute(int);
+ virtual void setSecond(int);
+
+protected slots:
+ void updateButtons();
+
+private:
+%If (Qt_3_1_0 -)
+ QTimeEdit(const QTimeEdit &);
+%End
+};
+
+
+class QDateTimeEdit : QWidget
+{
+%TypeHeaderCode
+#include <qdatetimeedit.h>
+%End
+
+public:
+ QDateTimeEdit(QWidget * /TransferThis/ = 0,const char * = 0);
+ QDateTimeEdit(const QDateTime &,QWidget * /TransferThis/ = 0,
+ const char * = 0);
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+%If (- Qt_3_1_0)
+ virtual void setDateTime(const QDateTime &);
+%End
+ QDateTime dateTime() const;
+
+ QDateEdit* dateEdit();
+ QTimeEdit* timeEdit();
+
+ virtual void setAutoAdvance(bool);
+ bool autoAdvance() const;
+
+public slots:
+%If (Qt_3_1_0 -)
+ virtual void setDateTime(const QDateTime &);
+%End
+
+signals:
+ void valueChanged(const QDateTime &);
+
+protected:
+ void init();
+ void resizeEvent(QResizeEvent *);
+%If (- Qt_3_1_2)
+ void layoutEditors();
+%End
+
+protected slots:
+ void newValue(const QDate &);
+ void newValue(const QTime &);
+
+private:
+%If (Qt_3_1_0 -)
+ QDateTimeEdit(const QDateTimeEdit &);
+%End
+};
+
+%End
diff --git a/sip/qt/qdesktopwidget.sip b/sip/qt/qdesktopwidget.sip
new file mode 100644
index 0000000..a6030e6
--- /dev/null
+++ b/sip/qt/qdesktopwidget.sip
@@ -0,0 +1,84 @@
+// This is the SIP interface definition for QDesktopWidget.
+//
+// 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>QDesktopWidget (Qt v3+)</Title>
+<Para>
+<Literal>QDesktopWidget</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QDesktopWidget : QWidget
+{
+%TypeHeaderCode
+#include <qdesktopwidget.h>
+%End
+
+public:
+ QDesktopWidget();
+
+ bool isVirtualDesktop() const;
+
+ int numScreens() const;
+ int primaryScreen() const;
+
+ int screenNumber(QWidget * = 0) const;
+ int screenNumber(const QPoint &) const;
+
+ QWidget *screen(int = -1);
+
+ const QRect &screenGeometry(int = -1) const;
+%If (Qt_3_1_0 -)
+ const QRect &screenGeometry(QWidget *) const;
+ const QRect &screenGeometry(const QPoint &) const;
+
+ const QRect &availableGeometry(int = -1) const;
+ const QRect &availableGeometry(QWidget *) const;
+ const QRect &availableGeometry(const QPoint &) const;
+
+ void insertChild(QObject *);
+%End
+
+signals:
+%If (Qt_3_2_0 -)
+ void resized(int);
+%End
+%If (Qt_3_3_0 -)
+ void workAreaResized(int);
+%End
+
+protected:
+%If (Qt_3_1_0 -)
+ void resizeEvent(QResizeEvent *);
+%End
+
+private:
+%If (Qt_3_1_0 -)
+ QDesktopWidget(const QDesktopWidget &);
+%End
+};
+
+%End
diff --git a/sip/qt/qdial.sip b/sip/qt/qdial.sip
new file mode 100644
index 0000000..9587e8c
--- /dev/null
+++ b/sip/qt/qdial.sip
@@ -0,0 +1,112 @@
+// This is the SIP interface definition for QDial.
+//
+// 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>QDial (Qt v2.2+)</Title>
+<Para>
+<Literal>QDial</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_2_0 -)
+%If (Qt_DIAL)
+
+class QDial : QWidget, QRangeControl
+{
+%TypeHeaderCode
+#include <qdial.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ QDial(QWidget * /TransferThis/ = 0,const char * = 0);
+%End
+%If (Qt_3_0_0 -)
+ QDial(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+%End
+ QDial(int,int,int,int,QWidget * /TransferThis/ = 0,const char * = 0);
+
+ bool tracking() const;
+
+ bool wrapping() const;
+
+ int notchSize() const;
+
+ virtual void setNotchTarget(double);
+ double notchTarget() const;
+
+ bool notchesVisible() const;
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ int minValue() const;
+ int maxValue() const;
+ void setMinValue(int);
+ void setMaxValue(int);
+ int lineStep() const;
+ int pageStep() const;
+ void setLineStep(int);
+ void setPageStep(int);
+ int value() const;
+
+public slots:
+ virtual void setValue(int);
+ void addLine();
+ void subtractLine();
+ void addPage();
+ void subtractPage();
+ virtual void setNotchesVisible(bool);
+ virtual void setWrapping(bool);
+ virtual void setTracking(bool);
+
+signals:
+ void valueChanged(int);
+ void dialPressed();
+ void dialMoved(int);
+ void dialReleased();
+
+protected:
+ void resizeEvent(QResizeEvent *);
+ void paintEvent(QPaintEvent *);
+
+ void keyPressEvent(QKeyEvent *);
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+ void wheelEvent(QWheelEvent *);
+ void focusInEvent(QFocusEvent *);
+ void focusOutEvent(QFocusEvent *);
+
+ void valueChange();
+ void rangeChange();
+
+ virtual void repaintScreen(const QRect * = 0);
+
+private:
+ QDial(const QDial &);
+};
+
+%End
+%End
diff --git a/sip/qt/qdialog.sip b/sip/qt/qdialog.sip
new file mode 100644
index 0000000..c283520
--- /dev/null
+++ b/sip/qt/qdialog.sip
@@ -0,0 +1,158 @@
+// This is the SIP interface definition for QDialog.
+//
+// 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>QDialog</Title>
+<FuncSynopsis>
+ <FuncDef>int <Function>exec</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed to <Literal>exec_loop</Literal> in Python.
+</Para>
+<Para>
+This method also causes ownership of the underlying C++ dialog to be transfered
+to Python. This means that the C++ dialog will be deleted when the Python
+wrapper is garbage collected. Although this is a little inconsistent, it
+ensures that the dialog is deleted without having to explicity code it using
+<Literal>QObject.deleteLater()</Literal> or other techniques.
+</Para>
+</Sect2>
+%End
+
+
+class QDialog : QWidget
+{
+%TypeHeaderCode
+#include <qdialog.h>
+%End
+
+public:
+ QDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0,WFlags = 0);
+
+ enum DialogCode {
+ Rejected,
+ Accepted
+ };
+
+%If (- Qt_3_0_0)
+ int exec() /PyName=exec_loop, ReleaseGIL,
+ PreHook=__pyQtPreEventLoopHook__,
+ PostHook=__pyQtPostEventLoopHook__/;
+%MethodCode
+ // Transfer ownership back to Python (a modal dialog will
+ // probably have the main window as it's parent). This means
+ // the Qt dialog will be deleted when the Python wrapper is
+ // garbage collected. Although this is a little inconsistent,
+ // it saves having to code it explicitly to avoid the memory
+ // leak.
+ sipTransferBack(sipSelf);
+
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = sipCpp->QDialog::exec();
+ Py_END_ALLOW_THREADS
+%End
+%End
+
+ int result() const;
+
+ void show();
+%If (Qt_2_00 -)
+ void hide();
+%End
+ void move(int,int);
+ void move(const QPoint &);
+ void resize(int,int);
+ void resize(const QSize &);
+ void setGeometry(int,int,int,int);
+ void setGeometry(const QRect &);
+
+%If (Qt_2_2_0 -)
+ void setOrientation(Orientation);
+ Orientation orientation() const;
+
+ void setExtension(QWidget *);
+ QWidget *extension() const;
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ void setSizeGripEnabled(bool);
+ bool isSizeGripEnabled() const;
+%End
+
+%If (Qt_3_2_0 -)
+ void setModal(bool);
+ bool isModal() const;
+%End
+
+public slots:
+%If (Qt_3_0_0 -)
+ int exec() /PyName=exec_loop, ReleaseGIL,
+ PreHook=__pyQtPreEventLoopHook__,
+ PostHook=__pyQtPostEventLoopHook__/;
+%MethodCode
+ // Transfer ownership back to Python (a modal dialog will
+ // probably have the main window as it's parent). This means
+ // the Qt dialog will be deleted when the Python wrapper is
+ // garbage collected. Although this is a little inconsistent,
+ // it saves having to code it explicitly to avoid the memory
+ // leak.
+ sipTransferBack(sipSelf);
+
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = sipCpp->QDialog::exec();
+ Py_END_ALLOW_THREADS
+%End
+%End
+
+protected slots:
+ virtual void done(int);
+%If (- Qt_2_00)
+ void accept();
+ void reject();
+%End
+%If (Qt_2_00 -)
+ virtual void accept();
+ virtual void reject();
+%End
+
+%If (Qt_2_2_0 -)
+ void showExtension(bool);
+%End
+
+protected:
+ void setResult(int);
+ void keyPressEvent(QKeyEvent *);
+ void closeEvent(QCloseEvent *);
+%If (Qt_2_2_0 -)
+ void resizeEvent(QResizeEvent *);
+%End
+%If (Qt_3_0_0 -)
+ void contextMenuEvent(QContextMenuEvent *);
+ bool eventFilter(QObject *,QEvent *);
+ void adjustPosition(QWidget *);
+%End
+
+private:
+ QDialog(const QDialog &);
+};
diff --git a/sip/qt/qdir.sip b/sip/qt/qdir.sip
new file mode 100644
index 0000000..93a1f3c
--- /dev/null
+++ b/sip/qt/qdir.sip
@@ -0,0 +1,383 @@
+// This is the SIP interface definition for QDir and QFileInfoList.
+//
+// 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>QDir</Title>
+<Para>
+<Literal>QDir</Literal> is fully implemented, including the Python
+<Literal>len</Literal>, <Literal>[]</Literal> (for reading slices and
+individual elements), <Literal>==</Literal>, <Literal>!=</Literal> and
+<Literal>in</Literal> operators
+</Para>
+</Sect2>
+
+<Sect2><Title>QFileInfoList</Title>
+<Para>
+This class isn't implemented. Whenever a <Literal>QFileInfoList</Literal> is
+the return type of a function or the type of an argument, a Python list of
+<Literal>QFileInfo</Literal> instances is used instead.
+</Para>
+</Sect2>
+%End
+
+
+%MappedType QFileInfoList
+{
+%TypeHeaderCode
+#include <qdir.h>
+%End
+
+%ConvertFromTypeCode
+ PyObject *pl;
+ QFileInfo *obj;
+
+ // Convert the list.
+
+ if ((pl = PyList_New(0)) == NULL)
+ return NULL;
+
+ for (QFileInfoListIterator it(*sipCpp); (obj = it.current()) != NULL; ++it)
+ {
+ PyObject *inst;
+
+ if ((inst = sipConvertFromInstance(obj,sipClass_QFileInfo,sipTransferObj)) == NULL || PyList_Append(pl,inst) < 0)
+ {
+ Py_XDECREF(inst);
+ Py_DECREF(pl);
+
+ return NULL;
+ }
+
+ Py_DECREF(inst);
+ }
+
+ return pl;
+%End
+
+%ConvertToTypeCode
+ // Convert a Python list of QFileInfo instances to a QFileInfoList on
+ // the heap.
+
+ if (sipIsErr == NULL)
+ {
+ if (!PyList_Check(sipPy))
+ return 0;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QFileInfo,0))
+ return 0;
+
+ return 1;
+ }
+
+ QFileInfoList *qfil = new QFileInfoList;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ {
+ QFileInfo *qfi;
+
+ // We apply the transfer to the list itself, not the elements.
+ // Note that any temporary element will never be destroyed.
+ // There is nothing that can be done about this.
+ qfi = reinterpret_cast<QFileInfo *>(sipConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QFileInfo,0,0,0,sipIsErr));
+
+ if (*sipIsErr)
+ {
+ delete qfil;
+ return 0;
+ }
+
+ qfil -> append(qfi);
+ }
+
+ *sipCppPtr = qfil;
+
+ return sipGetState(sipTransferObj);
+%End
+};
+
+
+class QDir
+{
+%TypeHeaderCode
+#include <qdir.h>
+%End
+
+public:
+ enum FilterSpec {
+ Dirs,
+ Files,
+ Drives,
+ NoSymLinks,
+ All,
+ TypeMask,
+
+ Readable,
+ Writable,
+ Executable,
+ RWEMask,
+
+ Modified,
+ Hidden,
+ System,
+ AccessMask,
+
+ DefaultFilter
+ };
+
+ enum SortSpec {
+ Name,
+ Time,
+ Size,
+ Unsorted,
+ SortByMask,
+
+ DirsFirst,
+ Reversed,
+ IgnoreCase,
+ DefaultSort
+ };
+
+ QDir();
+%If (- Qt_2_00)
+ QDir(const char *,const char * = 0,int = Name | IgnoreCase,int = All);
+%End
+%If (Qt_2_00 -)
+ QDir(const QString &,const QString & = QString::null,
+ int = Name | IgnoreCase,int = All);
+%End
+ QDir(const QDir &);
+
+%If (- Qt_2_00)
+ void setPath(const char *);
+ const char *path() const;
+ QString absPath() const;
+ QString canonicalPath() const;
+
+ QString dirName() const;
+ QString filePath(const char *,bool = 1) const;
+ QString absFilePath(const char *,bool = 1) const;
+
+ static QString convertSeparators(const char *);
+
+ bool cd(const char *,bool = 1);
+ bool cdUp();
+
+ const char *nameFilter() const;
+ void setNameFilter(const char *);
+%End
+%If (Qt_2_00 -)
+ virtual void setPath(const QString &);
+ virtual QString path() const;
+ virtual QString absPath() const;
+ virtual QString canonicalPath() const;
+
+ virtual QString dirName() const;
+ virtual QString filePath(const QString &,bool = 1) const;
+ virtual QString absFilePath(const QString &,bool = 1) const;
+
+ static QString convertSeparators(const QString &);
+
+ virtual bool cd(const QString &,bool = 1);
+ virtual bool cdUp();
+
+ QString nameFilter() const;
+ virtual void setNameFilter(const QString &);
+%End
+ FilterSpec filter() const;
+%If (- Qt_2_00)
+ void setFilter(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setFilter(int);
+%End
+ SortSpec sorting() const;
+%If (- Qt_2_00)
+ void setSorting(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setSorting(int);
+%End
+
+ bool matchAllDirs() const;
+%If (- Qt_2_00)
+ void setMatchAllDirs(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setMatchAllDirs(bool);
+%End
+
+ uint count() const;
+
+ int __len__() const;
+%MethodCode
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = sipCpp -> count();
+ Py_END_ALLOW_THREADS
+%End
+
+ QString operator[](int) const;
+%MethodCode
+ int len;
+
+ Py_BEGIN_ALLOW_THREADS
+ len = sipCpp -> count();
+ Py_END_ALLOW_THREADS
+
+ if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0)
+ sipIsErr = 1;
+ else
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = new QString((*sipCpp)[a0]);
+ Py_END_ALLOW_THREADS
+ }
+%End
+
+ QStringList operator[](SIP_PYSLICE) const;
+%MethodCode
+#if PY_VERSION_HEX >= 0x02050000
+ Py_ssize_t len, start, stop, step, slicelength, i;
+#else
+ int len, start, stop, step, slicelength, i;
+#endif
+
+ Py_BEGIN_ALLOW_THREADS
+ len = sipCpp -> count();
+ Py_END_ALLOW_THREADS
+
+ if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0)
+ sipIsErr = 1;
+ else
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = new QStringList();
+
+ for (i = 0; i < slicelength; ++i)
+ {
+ (*sipRes) += (*sipCpp)[start];
+ start += step;
+ }
+ Py_END_ALLOW_THREADS
+ }
+%End
+
+ int __contains__(const QString &) const;
+%MethodCode
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = (sipCpp -> entryList().findIndex(*a0) >= 0);
+ Py_END_ALLOW_THREADS
+%End
+
+%If (- Qt_2_00)
+ const QStrList *entryList(int = DefaultFilter,int = DefaultSort) const;
+ const QStrList *entryList(const char *,int = DefaultFilter,
+ int = DefaultSort) const;
+ const QFileInfoList *entryInfoList(int = DefaultFilter,
+ int = DefaultSort) const;
+ const QFileInfoList *entryInfoList(const char *,int = DefaultFilter,
+ int = DefaultSort) const;
+%End
+%If (Qt_2_00 -)
+ virtual QStrList encodedEntryList(int = DefaultFilter,
+ int = DefaultSort) const;
+ virtual QStrList encodedEntryList(const QString &,int = DefaultFilter,
+ int = DefaultSort) const;
+ virtual QStringList entryList(int = DefaultFilter,
+ int = DefaultSort) const;
+ virtual QStringList entryList(const QString &,int = DefaultFilter,
+ int = DefaultSort) const;
+ virtual const QFileInfoList *entryInfoList(int = DefaultFilter,
+ int = DefaultSort) const;
+ virtual const QFileInfoList *entryInfoList(const QString &,
+ int = DefaultFilter,
+ int = DefaultSort) const;
+%End
+
+ static const QFileInfoList *drives();
+
+%If (- Qt_2_00)
+ bool mkdir(const char *,bool = 1) const;
+ bool rmdir(const char *,bool = 1) const;
+
+ bool isReadable() const;
+ bool exists() const;
+ bool isRoot() const;
+
+ bool isRelative() const;
+ void convertToAbs();
+
+ bool operator==(const QDir &) const;
+ bool operator!=(const QDir &) const;
+
+ bool remove(const char *,bool = 1);
+ bool rename(const char *,const char *,bool = 1);
+ bool exists(const char *,bool = 1);
+%End
+%If (Qt_2_00 -)
+ virtual bool mkdir(const QString &,bool = 1) const;
+ virtual bool rmdir(const QString &,bool = 1) const;
+
+ virtual bool isReadable() const;
+ virtual bool exists() const;
+ virtual bool isRoot() const;
+
+ virtual bool isRelative() const;
+ virtual void convertToAbs();
+
+ virtual bool remove(const QString &,bool = 1);
+ virtual bool rename(const QString &,const QString &,bool = 1);
+ virtual bool exists(const QString &,bool = 1);
+%End
+
+ static char separator();
+
+%If (- Qt_2_00)
+ static bool setCurrent(const char *);
+%End
+%If (Qt_2_00 -)
+ static bool setCurrent(const QString &);
+%End
+ static QDir current();
+ static QDir home();
+ static QDir root();
+ static QString currentDirPath();
+ static QString homeDirPath();
+ static QString rootDirPath();
+
+%If (- Qt_2_00)
+ static bool match(const char *,const char *);
+ static QString cleanDirPath(const char *);
+ static bool isRelativePath(const char *);
+%End
+%If (Qt_2_1_0 -)
+ static bool match(const QStringList &,const QString &);
+%End
+%If (Qt_2_00 -)
+ static bool match(const QString &,const QString &);
+ static QString cleanDirPath(const QString &);
+ static bool isRelativePath(const QString &);
+%End
+%If (Qt_3_1_0 -)
+ void refresh() const;
+%End
+};
diff --git a/sip/qt/qdockarea.sip b/sip/qt/qdockarea.sip
new file mode 100644
index 0000000..87c0126
--- /dev/null
+++ b/sip/qt/qdockarea.sip
@@ -0,0 +1,88 @@
+// This is the SIP interface definition for QDockArea.
+//
+// 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>QDockArea (Qt v3+)</Title>
+<FuncSynopsis>
+ <FuncDef>bool <Function>hasDockWindow</Function> const</FuncDef>
+ <ParamDef>QDockWindow *<Parameter>w</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>index</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>w</Literal> parameter and returns the index of the
+QDockWIndow or -1 if the QDockArea does not contain the QDockWindow.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QDockArea : QWidget
+{
+%TypeHeaderCode
+#include <qdockarea.h>
+%End
+
+public:
+ enum HandlePosition {
+ Normal,
+ Reverse
+ };
+
+ QDockArea(Orientation,HandlePosition = Normal,
+ QWidget * /TransferThis/ = 0,const char * = 0);
+
+ void moveDockWindow(QDockWindow *,const QPoint &,const QRect &,bool);
+ void removeDockWindow(QDockWindow *,bool,bool,bool = 1);
+ void moveDockWindow(QDockWindow *,int = -1);
+
+ int hasDockWindow(QDockWindow *);
+%MethodCode
+ // The Python interface returns the index.
+
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp -> QDockArea::hasDockWindow(a0,&sipRes);
+ Py_END_ALLOW_THREADS
+%End
+
+ void invalidNextOffset(QDockWindow *);
+
+ Orientation orientation() const;
+ HandlePosition handlePosition() const;
+
+ bool eventFilter(QObject *,QEvent *);
+ bool isEmpty() const;
+ int count() const;
+ QPtrList<QDockWindow> dockWindowList() const;
+
+ bool isDockWindowAccepted(QDockWindow *);
+ void setAcceptDockWindow(QDockWindow *,bool);
+
+public slots:
+ void lineUp(bool);
+
+private:
+ QDockArea(const QDockArea &);
+};
+
+%End
diff --git a/sip/qt/qdockwindow.sip b/sip/qt/qdockwindow.sip
new file mode 100644
index 0000000..5a2bef6
--- /dev/null
+++ b/sip/qt/qdockwindow.sip
@@ -0,0 +1,135 @@
+// This is the SIP interface definition for QDockWindow.
+//
+// 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>QDockWindow (Qt v3+)</Title>
+<Para>
+<Literal>QDockWindow</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QDockWindow : QFrame
+{
+%TypeHeaderCode
+#include <qdockwindow.h>
+%End
+
+public:
+ enum Place {
+ InDock,
+ OutsideDock
+ };
+
+ enum CloseMode {
+ Never,
+ Docked,
+ Undocked,
+ Always
+ };
+
+ QDockWindow(Place = InDock,QWidget * /TransferThis/ = 0,
+ const char * = 0,WFlags = 0);
+%If (Qt_3_1_0 -)
+ QDockWindow(QWidget * /TransferThis/,const char * = 0,WFlags = 0);
+%End
+
+ virtual void setWidget(QWidget *);
+ QWidget *widget() const;
+
+ Place place() const;
+
+ QDockArea *area() const;
+
+ virtual void setCloseMode(int);
+ bool isCloseEnabled() const;
+ int closeMode() const;
+
+ virtual void setResizeEnabled(bool);
+ virtual void setMovingEnabled(bool);
+ bool isResizeEnabled() const;
+ bool isMovingEnabled() const;
+
+ virtual void setHorizontallyStretchable(bool);
+ virtual void setVerticallyStretchable(bool);
+ bool isHorizontallyStretchable() const;
+ bool isVerticallyStretchable() const;
+ bool isStretchable() const;
+
+ virtual void setOffset(int);
+ int offset() const;
+
+ virtual void setFixedExtentWidth(int);
+ virtual void setFixedExtentHeight(int);
+ QSize fixedExtent() const;
+
+ virtual void setNewLine(bool);
+ bool newLine() const;
+
+ Qt::Orientation orientation() const;
+
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QSize minimumSizeHint() const;
+
+ QBoxLayout *boxLayout();
+
+ virtual void setOpaqueMoving(bool);
+ bool opaqueMoving() const;
+
+ bool eventFilter(QObject *,QEvent *);
+
+signals:
+ void orientationChanged(Orientation);
+ void placeChanged(QDockWindow::Place);
+ void visibilityChanged(bool);
+
+public slots:
+ virtual void undock(QWidget *);
+ virtual void undock();
+ virtual void dock();
+ virtual void setOrientation(Orientation);
+ void setCaption(const QString &);
+
+protected:
+ void resizeEvent(QResizeEvent *);
+ void showEvent(QShowEvent *);
+ void hideEvent(QHideEvent *);
+ void contextMenuEvent(QContextMenuEvent *);
+
+%If (Qt_3_0_1 -)
+ void drawFrame(QPainter *);
+%End
+%If (Qt_3_1_0 -)
+ void drawContents(QPainter *);
+%End
+
+ bool event(QEvent *);
+
+private:
+ QDockWindow(const QDockWindow &);
+};
+
+%End
diff --git a/sip/qt/qdragobject.sip b/sip/qt/qdragobject.sip
new file mode 100644
index 0000000..5465219
--- /dev/null
+++ b/sip/qt/qdragobject.sip
@@ -0,0 +1,374 @@
+// This is the SIP interface definition for QDragObject, QImageDrag,
+// QStoredDrag, QTextDrag, QUriDrag, QUrlDrag, QColorDrag.
+//
+// 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>QColorDrag (Qt v2.1+)</Title>
+<Para>
+<Literal>QColorDrag</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDragObject</Title>
+<Para>
+<Literal>QDragObject</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QImageDrag</Title>
+<Para>
+<Literal>QImageDrag</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QStoredDrag</Title>
+<Para>
+<Literal>QStoredDrag</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QTextDrag</Title>
+<Para>
+<Literal>QTextDrag</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QUriDrag (Qt v2+)</Title>
+<Para>
+<Literal>QUriDrag</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QUrlDrag (Qt v1.x)</Title>
+<Para>
+<Literal>QUrlDrag</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_2_00)
+
+class QDragObject : QObject
+{
+%TypeHeaderCode
+#include <qdragobject.h>
+%End
+
+public:
+ enum DragMode {
+ DragDefault,
+ DragCopy,
+ DragMove,
+ DragCopyOrMove
+ };
+
+ QDragObject(QWidget * /TransferThis/ = 0,const char * = 0);
+
+ bool drag();
+ bool dragMove();
+ void dragCopy();
+ virtual bool provides(const char *) const;
+ virtual const char *format(int) const = 0;
+ virtual QByteArray encodedData(const char *) const = 0;
+ void setPixmap(QPixmap);
+ void setPixmap(QPixmap,QPoint);
+ QPixmap pixmap() const;
+ QPoint pixmapHotSpot() const;
+ QWidget *source();
+
+protected:
+ virtual bool drag(DragMode);
+};
+
+%End
+
+%If (Qt_2_00 -)
+
+class QDragObject : QObject, QMimeSource
+{
+%TypeHeaderCode
+#include <qdragobject.h>
+%End
+
+public:
+ QDragObject(QWidget * /TransferThis/ = 0,const char * = 0);
+
+%If (Qt_DRAGANDDROP)
+ bool drag();
+ bool dragMove();
+ void dragCopy();
+%If (Qt_3_0_0 -)
+ void dragLink();
+%End
+
+ virtual void setPixmap(QPixmap);
+%If (- Qt_3_0_0)
+ virtual void setPixmap(QPixmap,QPoint);
+%End
+%If (Qt_3_0_0 -)
+ virtual void setPixmap(QPixmap,const QPoint &);
+%End
+ QPixmap pixmap() const;
+ QPoint pixmapHotSpot() const;
+%End
+
+ QWidget *source();
+ static QWidget *target();
+
+ static void setTarget(QWidget *);
+
+%If (Qt_DRAGANDDROP)
+%If (- Qt_3_0_0)
+ enum DragMode {
+ DragDefault,
+ DragCopy,
+ DragMove,
+ DragCopyOrMove
+ };
+%End
+%If (Qt_3_0_0 -)
+ enum DragMode {
+ DragDefault,
+ DragCopy,
+ DragMove,
+ DragLink,
+ DragCopyOrMove
+ };
+%End
+%End
+
+protected:
+%If (Qt_DRAGANDDROP)
+ virtual bool drag(DragMode);
+%End
+
+private:
+%If (Qt_3_1_0 -)
+ QDragObject(const QDragObject &);
+%End
+};
+
+%End
+
+
+class QStoredDrag : QDragObject
+{
+%TypeHeaderCode
+#include <qdragobject.h>
+%End
+
+public:
+ QStoredDrag(const char *,QWidget * /TransferThis/ = 0,const char * = 0);
+
+%If (- Qt_2_00)
+ void setEncodedData(const QByteArray&);
+%End
+%If (Qt_2_00 -)
+ virtual void setEncodedData(const QByteArray&);
+%End
+
+ const char *format(int) const;
+ virtual QByteArray encodedData(const char *) const;
+
+private:
+%If (Qt_3_1_0 -)
+ QStoredDrag(const QStoredDrag &);
+%End
+};
+
+
+%If (- Qt_2_00)
+
+class QTextDrag : QStoredDrag
+{
+%TypeHeaderCode
+#include <qdragobject.h>
+%End
+
+public:
+ QTextDrag(const char *,QWidget * /TransferThis/ = 0,const char * = 0);
+ QTextDrag(QWidget * /TransferThis/ = 0,const char * = 0);
+
+ void setText(const char *);
+ static bool canDecode(QDragMoveEvent *);
+ static bool decode(QDropEvent *,QString &);
+};
+
+%End
+
+%If (Qt_2_00 -)
+
+class QTextDrag : QDragObject
+{
+%TypeHeaderCode
+#include <qdragobject.h>
+%End
+
+public:
+ QTextDrag(const QString &,QWidget * /TransferThis/ = 0,
+ const char * = 0);
+ QTextDrag(QWidget * /TransferThis/ = 0,const char * = 0);
+
+ virtual void setText(const QString &);
+ virtual void setSubtype(const QCString &);
+
+ const char *format(int) const;
+ virtual QByteArray encodedData(const char *) const;
+
+ static bool canDecode(const QMimeSource *);
+ static bool decode(const QMimeSource *,QString &);
+ static bool decode(const QMimeSource *,QString &,QCString &);
+
+private:
+%If (Qt_3_1_0 -)
+ QTextDrag(const QTextDrag &);
+%End
+};
+
+%End
+
+
+class QImageDrag : QDragObject
+{
+%TypeHeaderCode
+#include <qdragobject.h>
+%End
+
+public:
+ QImageDrag(QImage,QWidget * /TransferThis/ = 0,const char * = 0);
+ QImageDrag(QWidget * /TransferThis/ = 0,const char * = 0);
+
+%If (- Qt_2_00)
+ void setImage(QImage);
+%End
+%If (Qt_2_00 -)
+ virtual void setImage(QImage);
+%End
+
+ const char *format(int) const;
+ virtual QByteArray encodedData(const char *) const;
+
+%If (- Qt_2_00)
+ static bool canDecode(QDragMoveEvent *);
+ static bool decode(QDropEvent *,QImage &);
+ static bool decode(QDropEvent *,QPixmap &);
+%End
+%If (Qt_2_00 -)
+ static bool canDecode(const QMimeSource *);
+ static bool decode(const QMimeSource *,QImage &);
+ static bool decode(const QMimeSource *,QPixmap &);
+%End
+
+private:
+%If (Qt_3_1_0 -)
+ QImageDrag(const QImageDrag &);
+%End
+};
+
+
+%If (- Qt_2_00)
+
+class QUrlDrag : QStoredDrag
+{
+%TypeHeaderCode
+#include <qdragobject.h>
+%End
+
+public:
+ QUrlDrag(QStrList,QWidget * /TransferThis/ = 0,const char * = 0);
+ QUrlDrag(QWidget * /TransferThis/ = 0,const char * = 0);
+
+ void setUrls(QStrList);
+ static QString urlToLocalFile(const char *);
+ static bool canDecode(QDragMoveEvent *);
+ static bool decode(QDropEvent *,QStrList &);
+ static bool decodeLocalFiles(QDropEvent *,QStrList &);
+};
+
+%End
+
+%If (Qt_2_00 -)
+
+class QUriDrag : QStoredDrag
+{
+%TypeHeaderCode
+#include <qdragobject.h>
+%End
+
+public:
+ QUriDrag(QStrList,QWidget * /TransferThis/ = 0,const char * = 0);
+ QUriDrag(QWidget * /TransferThis/ = 0,const char * = 0);
+
+%If (- Qt_3_0_0)
+ void setFilenames(QStringList);
+ void setUnicodeUris(QStringList);
+%End
+%If (Qt_3_0_0 -)
+ void setFileNames(const QStringList &);
+ void setUnicodeUris(const QStringList &);
+%End
+ virtual void setUris(QStrList);
+
+ static QString uriToLocalFile(const char *);
+ static QCString localFileToUri(const QString &);
+ static QString uriToUnicodeUri(const char *);
+ static QCString unicodeUriToUri(const QString &);
+ static bool canDecode(const QMimeSource *);
+ static bool decode(const QMimeSource *,QStrList &);
+ static bool decodeToUnicodeUris(const QMimeSource *,QStringList &);
+ static bool decodeLocalFiles(const QMimeSource *,QStringList &);
+
+private:
+%If (Qt_3_1_0 -)
+ QUriDrag(const QUriDrag &);
+%End
+};
+
+%End
+
+
+%If (Qt_2_1_0 -)
+
+class QColorDrag : QStoredDrag
+{
+%TypeHeaderCode
+#include <qdragobject.h>
+%End
+
+public:
+ QColorDrag(const QColor &,QWidget * /TransferThis/ = 0,
+ const char * = 0);
+ QColorDrag(QWidget * /TransferThis/ = 0,const char * = 0);
+
+ void setColor(const QColor &);
+
+ static bool canDecode(QMimeSource *);
+ static bool decode(QMimeSource *,QColor &);
+
+private:
+%If (Qt_3_1_0 -)
+ QColorDrag(const QColorDrag &);
+%End
+};
+
+%End
diff --git a/sip/qt/qdrawutil.sip b/sip/qt/qdrawutil.sip
new file mode 100644
index 0000000..413ca4a
--- /dev/null
+++ b/sip/qt/qdrawutil.sip
@@ -0,0 +1,74 @@
+// This is the SIP interface definition for the Qt drawing utilities.
+//
+// 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.
+
+
+%ModuleHeaderCode
+#include <qdrawutil.h>
+%End
+
+
+void qDrawShadeLine(QPainter *,int,int,int,int,const QColorGroup &,bool = 1,
+ int = 1,int = 0);
+void qDrawShadeLine(QPainter *,const QPoint &,const QPoint &,
+ const QColorGroup &,bool = 1,int = 1,int = 0);
+
+void qDrawShadeRect(QPainter *,int,int,int,int,const QColorGroup &,bool = 0,
+ int = 1,int = 0,const QBrush * = 0);
+void qDrawShadeRect(QPainter *,const QRect &,const QColorGroup &,bool = 0,
+ int = 1,int = 0,const QBrush * = 0);
+
+void qDrawShadePanel(QPainter *,int,int,int,int,const QColorGroup &,bool = 0,
+ int = 1,const QBrush * = 0);
+void qDrawShadePanel(QPainter *,const QRect &,const QColorGroup &,bool = 0,
+ int = 1,const QBrush * = 0);
+
+void qDrawWinButton(QPainter *,int,int,int,int,const QColorGroup &,bool = 0,
+ const QBrush * = 0);
+void qDrawWinButton(QPainter *,const QRect &,const QColorGroup &,bool = 0,
+ const QBrush * = 0);
+
+void qDrawWinPanel(QPainter *,int,int,int,int,const QColorGroup &,bool = 0,
+ const QBrush * = 0);
+void qDrawWinPanel(QPainter *,const QRect &,const QColorGroup &,bool = 0,
+ const QBrush * = 0);
+
+void qDrawPlainRect(QPainter *,int,int,int,int,const QColor &,int = 1,
+ const QBrush * = 0);
+void qDrawPlainRect(QPainter *,const QRect &,const QColor &,int = 1,
+ const QBrush * = 0);
+
+%If (- Qt_2_00)
+QRect qItemRect(QPainter *,GUIStyle,int,int,int,int,int,bool,const QPixmap *,
+ const char *,int = -1);
+
+void qDrawItem(QPainter *,GUIStyle,int,int,int,int,int,const QColorGroup &,bool,
+ const QPixmap *,const char *,int = -1);
+
+enum ArrowType {
+ UpArrow,
+ DownArrow,
+ LeftArrow,
+ RightArrow
+};
+
+void qDrawArrow(QPainter *,ArrowType,GUIStyle,bool,int,int,int,int,
+ const QColorGroup &,bool);
+%End
diff --git a/sip/qt/qdropsite.sip b/sip/qt/qdropsite.sip
new file mode 100644
index 0000000..a2c11de
--- /dev/null
+++ b/sip/qt/qdropsite.sip
@@ -0,0 +1,51 @@
+// This is the SIP interface definition for QDropSite.
+//
+// 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>QDropSite</Title>
+<Para>
+<Literal>QDropSite</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_DRAGANDDROP)
+
+class QDropSite
+{
+%TypeHeaderCode
+#include <qdropsite.h>
+%End
+
+public:
+ QDropSite(QWidget *);
+
+%If (- Qt_2_00)
+ virtual void dragEnterEvent(QDragEnterEvent *);
+ virtual void dragMoveEvent(QDragMoveEvent *);
+ virtual void dragLeaveEvent(QDragLeaveEvent *);
+ virtual void dropEvent(QDropEvent *);
+%End
+};
+
+%End
diff --git a/sip/qt/qerrormessage.sip b/sip/qt/qerrormessage.sip
new file mode 100644
index 0000000..1f31264
--- /dev/null
+++ b/sip/qt/qerrormessage.sip
@@ -0,0 +1,57 @@
+// This is the SIP interface definition for QErrorMessage.
+//
+// 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>QErrorMessage (Qt v3+)</Title>
+<Para>
+<Literal>QErrorMessage</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QErrorMessage : QDialog
+{
+%TypeHeaderCode
+#include <qerrormessage.h>
+%End
+
+public:
+ QErrorMessage(QWidget * /TransferThis/,const char * = 0);
+
+ static QErrorMessage *qtHandler();
+
+public slots:
+ void message(const QString &);
+
+protected:
+ void done(int);
+
+private:
+%If (Qt_3_1_0 -)
+ QErrorMessage(const QErrorMessage &);
+%End
+};
+
+%End
diff --git a/sip/qt/qevent.sip b/sip/qt/qevent.sip
new file mode 100644
index 0000000..d4db705
--- /dev/null
+++ b/sip/qt/qevent.sip
@@ -0,0 +1,1235 @@
+// This is the SIP interface definition for QEvent, QChildEvent, QCloseEvent,
+// QIconDragEvent, QContextMenuEvent, QCustomEvent, QDragEnterEvent,
+// QDragLeaveEvent, QDragMoveEvent, QDropEvent, QFocusEvent, QHideEvent,
+// QIMEvent, QIMComposeEvent, QKeyEvent, QMouseEvent, QMoveEvent, QPaintEvent,
+// QResizeEvent, QShowEvent, QTabletEvent, QTimerEvent, QWheelEvent.
+//
+// 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>QEvent</Title>
+<Para>
+<Literal>QEvent</Literal> is fully implemented.
+</Para>
+<Para>
+Instances of <Literal>QEvent</Literal>s are automatically converted to the
+correct sub-class.
+</Para>
+</Sect2>
+
+<Sect2><Title>QChildEvent</Title>
+<Para>
+<Literal>QChildEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCloseEvent</Title>
+<Para>
+<Literal>QCloseEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QIconDragEvent (Qt v3.3+)</Title>
+<Para>
+<Literal>QIconDragEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QContextMenuEvent (Qt v3+)</Title>
+<Para>
+<Literal>QContextMenuEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCustomEvent</Title>
+<Para>
+<Literal>QCustomEvent</Literal> is fully implemented. Any Python object can be
+passed as the event data and its reference count is increased.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDragEnterEvent</Title>
+<Para>
+<Literal>QDragEnterEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDragLeaveEvent</Title>
+<Para>
+<Literal>QDragLeaveEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDragMoveEvent</Title>
+<Para>
+<Literal>QDragMoveEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDropEvent</Title>
+<Para>
+<Literal>QDropEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QFocusEvent</Title>
+<Para>
+<Literal>QFocusEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QHideEvent</Title>
+<Para>
+<Literal>QHideEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QIMComposeEvent (Qt v3.1+)</Title>
+<Para>
+<Literal>QIMComposeEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QIMEvent (Qt v3+)</Title>
+<Para>
+<Literal>QIMEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QKeyEvent</Title>
+<Para>
+<Literal>QKeyEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QMouseEvent</Title>
+<Para>
+<Literal>QMouseEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QMoveEvent</Title>
+<Para>
+<Literal>QMoveEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QPaintEvent</Title>
+<Para>
+<Literal>QPaintEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QResizeEvent</Title>
+<Para>
+<Literal>QResizeEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QShowEvent</Title>
+<Para>
+<Literal>QShowEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QTabletEvent (Qt v3+)</Title>
+<Para>
+<Literal>QTabletEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QTimerEvent</Title>
+<Para>
+<Literal>QTimerEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QWheelEvent (Qt v2+)</Title>
+<Para>
+<Literal>QWheelEvent</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%ModuleHeaderCode
+#include <qevent.h>
+%End
+
+
+%If (- Qt_2_00)
+
+const int Event_None;
+const int Event_Timer;
+const int Event_MouseButtonPress;
+const int Event_MouseButtonRelease;
+const int Event_MouseButtonDblClick;
+const int Event_MouseMove;
+const int Event_KeyPress;
+const int Event_KeyRelease;
+const int Event_FocusIn;
+const int Event_FocusOut;
+const int Event_Enter;
+const int Event_Leave;
+const int Event_Paint;
+const int Event_Move;
+const int Event_Resize;
+const int Event_Create;
+const int Event_Destroy;
+const int Event_Show;
+const int Event_Hide;
+const int Event_Close;
+const int Event_Quit;
+const int Event_Accel;
+const int Event_Clipboard;
+const int Event_SockAct;
+const int Event_DragEnter;
+const int Event_DragMove;
+const int Event_DragLeave;
+const int Event_Drop;
+const int Event_DragResponse;
+const int Event_ChildInserted;
+const int Event_ChildRemoved;
+const int Event_LayoutHint;
+const int Event_ActivateControl;
+const int Event_DeactivateControl;
+const int Event_User;
+
+
+enum ButtonState {
+ NoButton = 0x00,
+ LeftButton = 0x01,
+ RightButton = 0x02,
+ MidButton = 0x04,
+ MouseButtonMask = 0x07,
+ ShiftButton = 0x08,
+ ControlButton = 0x10,
+ AltButton = 0x20,
+ KeyButtonMask = 0x38
+};
+
+
+class QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QEvent(int);
+ QEvent(QEvent&);
+
+ int type() const;
+
+%ConvertToSubClassCode
+ switch (sipCpp -> type())
+ {
+ case Event_Timer:
+ sipClass = sipClass_QTimerEvent;
+ break;
+
+ case Event_MouseButtonPress:
+ case Event_MouseButtonRelease:
+ case Event_MouseButtonDblClick:
+ case Event_MouseMove:
+ sipClass = sipClass_QMouseEvent;
+ break;
+
+ case Event_KeyPress:
+ case Event_KeyRelease:
+ sipClass = sipClass_QKeyEvent;
+ break;
+
+ case Event_FocusIn:
+ case Event_FocusOut:
+ sipClass = sipClass_QFocusEvent;
+ break;
+
+ case Event_Paint:
+ sipClass = sipClass_QPaintEvent;
+ break;
+
+ case Event_Move:
+ sipClass = sipClass_QMoveEvent;
+ break;
+
+ case Event_Resize:
+ sipClass = sipClass_QResizeEvent;
+ break;
+
+ case Event_Close:
+ sipClass = sipClass_QCloseEvent;
+ break;
+
+ case Event_Show:
+ sipClass = sipClass_QShowEvent;
+ break;
+
+ case Event_Hide:
+ sipClass = sipClass_QHideEvent;
+ break;
+
+ case Event_DragMove:
+ sipClass = sipClass_QDragMoveEvent;
+ break;
+
+ case Event_DragEnter:
+ sipClass = sipClass_QDragEnterEvent;
+ break;
+
+ case Event_DragLeave:
+ sipClass = sipClass_QDragLeaveEvent;
+ break;
+
+ case Event_Drop:
+ sipClass = sipClass_QDropEvent;
+ break;
+
+ case Event_ChildInserted:
+ case Event_ChildRemoved:
+ sipClass = sipClass_QChildEvent;
+ break;
+
+ default:
+ sipClass = NULL;
+ }
+%End
+};
+
+%End
+
+%If (Qt_2_00 -)
+
+class QEvent : Qt
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ enum Type
+ {
+ None,
+ Timer,
+ MouseButtonPress,
+ MouseButtonRelease,
+ MouseButtonDblClick,
+ MouseMove,
+ KeyPress,
+ KeyRelease,
+ FocusIn,
+ FocusOut,
+ Enter,
+ Leave,
+ Paint,
+ Move,
+ Resize,
+ Create,
+ Destroy,
+ Show,
+ Hide,
+ Close,
+ Quit,
+%If (Qt_2_1_0 -)
+ Reparent,
+ ShowMinimized,
+ ShowNormal,
+ WindowActivate,
+ WindowDeactivate,
+ ShowToParent,
+ HideToParent,
+ ShowMaximized,
+%End
+%If (Qt_3_0_0 -)
+ ShowFullScreen,
+%End
+ Accel,
+ Wheel,
+ AccelAvailable,
+%If (Qt_2_1_0 -)
+ CaptionChange,
+ IconChange,
+ ParentFontChange,
+ ApplicationFontChange,
+ ParentPaletteChange,
+ ApplicationPaletteChange,
+%End
+%If (Qt_3_0_0 -)
+ PaletteChange,
+%End
+ Clipboard,
+%If (Qt_2_2_0 -)
+ Speech,
+%End
+ SockAct,
+%If (Qt_2_2_0 -)
+ AccelOverride,
+%End
+%If (Qt_3_0_0 -)
+ DeferredDelete,
+%End
+ DragEnter,
+ DragMove,
+ DragLeave,
+ Drop,
+ DragResponse,
+ ChildInserted,
+ ChildRemoved,
+ LayoutHint,
+%If (Qt_2_2_0 -)
+ ShowWindowRequest,
+%End
+%If (Qt_3_3_0 -)
+ WindowBlocked,
+ WindowUnblocked,
+%End
+ ActivateControl,
+ DeactivateControl,
+%If (Qt_2_1_0 - Qt_2_2_0)
+ Configure,
+ ConfigureLayout,
+%End
+%If (Qt_3_0_0 -)
+ ContextMenu,
+ IMStart,
+ IMCompose,
+ IMEnd,
+ Accessibility,
+%End
+%If (Qt_3_0_0 - Qt_3_1_0)
+ Tablet,
+%End
+%If (Qt_3_1_0 -)
+ TabletMove,
+ LocaleChange,
+ LanguageChange,
+ LayoutDirectionChange,
+ Style,
+ TabletPress,
+ TabletRelease,
+%End
+%If (Qt_3_3_0 -)
+ OkRequest,
+ HelpRequest,
+ IconDrag,
+ WindowStateChange,
+%End
+ User,
+%If (Qt_3_0_0 -)
+ MaxUser,
+%End
+ };
+
+ QEvent(Type);
+ QEvent(QEvent&);
+ virtual ~QEvent();
+
+ Type type() const;
+%If (Qt_3_0_0 -)
+ bool spontaneous() const;
+%End
+
+%ConvertToSubClassCode
+ switch (sipCpp -> type())
+ {
+ case QEvent::Timer:
+ sipClass = sipClass_QTimerEvent;
+ break;
+
+ case QEvent::MouseButtonPress:
+ case QEvent::MouseButtonRelease:
+ case QEvent::MouseButtonDblClick:
+ case QEvent::MouseMove:
+ sipClass = sipClass_QMouseEvent;
+ break;
+
+ case QEvent::Accel:
+#if QT_VERSION >= 220
+ case QEvent::AccelOverride:
+#endif
+ case QEvent::KeyPress:
+ case QEvent::KeyRelease:
+ sipClass = sipClass_QKeyEvent;
+ break;
+
+ case QEvent::FocusIn:
+ case QEvent::FocusOut:
+ sipClass = sipClass_QFocusEvent;
+ break;
+
+ case QEvent::Paint:
+ sipClass = sipClass_QPaintEvent;
+ break;
+
+ case QEvent::Move:
+ sipClass = sipClass_QMoveEvent;
+ break;
+
+ case QEvent::Resize:
+ sipClass = sipClass_QResizeEvent;
+ break;
+
+ case QEvent::Close:
+ sipClass = sipClass_QCloseEvent;
+ break;
+
+#if QT_VERSION >= 0x030300
+ case QEvent::IconDrag:
+ sipClass = sipClass_QIconDragEvent;
+ break;
+#endif
+
+ case QEvent::Wheel:
+ sipClass = sipClass_QWheelEvent;
+ break;
+
+ case QEvent::Show:
+ sipClass = sipClass_QShowEvent;
+ break;
+
+ case QEvent::Hide:
+ sipClass = sipClass_QHideEvent;
+ break;
+
+#if defined(SIP_FEATURE_Qt_DRAGANDDROP)
+ case QEvent::DragMove:
+ sipClass = sipClass_QDragMoveEvent;
+ break;
+
+ case QEvent::DragEnter:
+ sipClass = sipClass_QDragEnterEvent;
+ break;
+
+ case QEvent::DragLeave:
+ sipClass = sipClass_QDragLeaveEvent;
+ break;
+
+ case QEvent::Drop:
+ sipClass = sipClass_QDropEvent;
+ break;
+#endif
+
+ case QEvent::ChildInserted:
+ case QEvent::ChildRemoved:
+ sipClass = sipClass_QChildEvent;
+ break;
+
+#if QT_VERSION >= 0x030000
+ case QEvent::ContextMenu:
+ sipClass = sipClass_QContextMenuEvent;
+ break;
+
+ case QEvent::IMStart:
+ case QEvent::IMEnd:
+ sipClass = sipClass_QIMEvent;
+ break;
+#endif
+
+#if QT_VERSION >= 0x030000 && QT_VERSION < 0x030100
+ case QEvent::IMCompose:
+ sipClass = sipClass_QIMEvent;
+ break;
+
+ case QEvent::Tablet:
+ sipClass = sipClass_QTabletEvent;
+ break;
+#endif
+
+#if QT_VERSION >= 0x030100
+ case QEvent::IMCompose:
+ sipClass = sipClass_QIMComposeEvent;
+ break;
+
+ case QEvent::TabletMove:
+ case QEvent::TabletPress:
+ case QEvent::TabletRelease:
+ sipClass = sipClass_QTabletEvent;
+ break;
+#endif
+
+ default:
+ sipClass = (sipCpp -> type() < QEvent::User ?
+ sipClass_QEvent :
+ sipClass_QCustomEvent);
+ }
+%End
+};
+
+%End
+
+
+class QTimerEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QTimerEvent(int);
+
+ int timerId() const;
+};
+
+
+class QMouseEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QMouseEvent(int,const QPoint &,int,int);
+ QMouseEvent(int,const QPoint &,const QPoint &,int,int);
+%End
+%If (Qt_2_00 -)
+ QMouseEvent(Type,const QPoint &,int,int);
+ QMouseEvent(Type,const QPoint &,const QPoint &,int,int);
+%End
+
+ const QPoint &pos() const;
+ const QPoint &globalPos() const;
+ int x() const;
+ int y() const;
+ int globalX() const;
+ int globalY() const;
+%If (- Qt_2_00)
+ int button() const;
+ int state() const;
+%End
+%If (Qt_2_00 -)
+ ButtonState button() const;
+ ButtonState state() const;
+ ButtonState stateAfter() const;
+%End
+%If (Qt_3_0_0 -)
+ bool isAccepted() const;
+ void accept();
+ void ignore();
+%End
+};
+
+
+%If (Qt_2_00 -)
+
+class QWheelEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ QWheelEvent(const QPoint &,int,int);
+ QWheelEvent(const QPoint &,const QPoint &,int,int);
+%End
+%If (Qt_3_0_0 -)
+ QWheelEvent(const QPoint &,int,int,Orientation = Vertical);
+ QWheelEvent(const QPoint &,const QPoint &,int,int,
+ Orientation = Vertical);
+%End
+
+ int delta() const;
+ const QPoint &pos() const;
+ const QPoint &globalPos() const;
+ int x() const;
+ int y() const;
+ int globalX() const;
+ int globalY() const;
+ ButtonState state() const;
+%If (Qt_3_0_0 -)
+ Orientation orientation() const;
+%End
+ bool isAccepted() const;
+ void accept();
+ void ignore();
+};
+
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QTabletEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ enum TabletDevice {
+ NoDevice,
+ Puck,
+ Stylus,
+ Eraser
+ };
+
+%If (- Qt_3_1_0)
+ QTabletEvent(const QPoint &,int,int,int,int,const QPair<int,int> &);
+%End
+%If (Qt_3_1_0 -)
+ QTabletEvent(Type,const QPoint &,const QPoint &,int,int,int,int,
+ const QPair<int,int> &);
+%End
+ QTabletEvent(const QPoint &,const QPoint &,int,int,int,int,
+ const QPair<int,int> &);
+
+ int pressure() const;
+ int xTilt() const;
+ int yTilt() const;
+ const QPoint &pos() const;
+ const QPoint &globalPos() const;
+ int x() const;
+ int y() const;
+ int globalX() const;
+ int globalY() const;
+ TabletDevice device() const;
+ int isAccepted() const;
+ void accept();
+ void ignore();
+ QPair<int,int> uniqueId();
+};
+
+%End
+
+
+class QKeyEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QKeyEvent(int,int,int,int);
+%End
+%If (Qt_2_00 -)
+ QKeyEvent(Type,int,int,int,const QString & = QString::null,bool = 0,
+ ushort = 1);
+%End
+
+ int key() const;
+ int ascii() const;
+ bool isAccepted() const;
+ void accept();
+ void ignore();
+
+%If (- Qt_2_00)
+ int state() const;
+%End
+
+%If (Qt_2_00 -)
+ ButtonState state() const;
+ ButtonState stateAfter() const;
+ QString text() const;
+ bool isAutoRepeat() const;
+ int count() const;
+%End
+};
+
+
+class QFocusEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QFocusEvent(int);
+%End
+%If (Qt_2_00 -)
+ QFocusEvent(Type);
+%End
+
+ bool gotFocus() const;
+ bool lostFocus() const;
+
+%If (Qt_2_1_0 -)
+%If (- Qt_3_0_0)
+ enum Reason {
+ Mouse,
+ Tab,
+ ActiveWindow,
+ Popup,
+ Shortcut,
+ Other
+ };
+%End
+%If (Qt_3_0_0 -)
+ enum Reason {
+ Mouse,
+ Tab,
+ Backtab,
+ ActiveWindow,
+ Popup,
+ Shortcut,
+ Other
+ };
+%End
+
+ static Reason reason();
+ static void setReason(Reason);
+ static void resetReason();
+%End
+};
+
+
+class QPaintEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QPaintEvent(const QRect &);
+%End
+%If (Qt_2_00 -)
+ QPaintEvent(const QRegion &,bool = 1);
+ QPaintEvent(const QRect &,bool = 1);
+%End
+%If (Qt_3_3_0 -)
+ QPaintEvent(const QRegion &,const QRect &,bool = 1);
+%End
+
+ const QRect &rect() const;
+%If (Qt_2_00 -)
+ const QRegion &region() const;
+ bool erased() const;
+%End
+};
+
+
+class QMoveEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QMoveEvent(const QPoint &,const QPoint &);
+
+ const QPoint &pos() const;
+ const QPoint &oldPos() const;
+};
+
+
+class QResizeEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QResizeEvent(const QSize &,const QSize &);
+
+ const QSize &size() const;
+ const QSize &oldSize() const;
+};
+
+
+class QCloseEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QCloseEvent();
+
+ bool isAccepted() const;
+ void accept();
+ void ignore();
+};
+
+
+%If (Qt_3_3_0 -)
+
+class QIconDragEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QIconDragEvent();
+
+ bool isAccepted() const;
+ void accept();
+ void ignore();
+};
+
+%End
+
+
+class QShowEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ QShowEvent(bool);
+
+ bool spontaneous() const;
+%End
+%If (Qt_3_0_0 -)
+ QShowEvent();
+%End
+};
+
+
+class QHideEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ QHideEvent(bool);
+
+ bool spontaneous() const;
+%End
+%If (Qt_3_0_0 -)
+ QHideEvent();
+%End
+};
+
+
+%If (Qt_3_0_0 -)
+
+class QContextMenuEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ enum Reason {
+ Mouse,
+ Keyboard,
+ Other
+ };
+
+ QContextMenuEvent(Reason,const QPoint &,const QPoint &,int);
+ QContextMenuEvent(Reason,const QPoint &,int);
+
+ int x() const;
+ int y() const;
+ int globalX() const;
+ int globalY() const;
+
+ const QPoint &pos() const;
+ const QPoint &globalPos() const;
+
+ ButtonState state() const;
+ bool isAccepted() const;
+ bool isConsumed() const;
+ void consume();
+ void accept();
+ void ignore();
+ Reason reason() const;
+};
+
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QIMEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QIMEvent(Type,const QString &,int);
+
+ const QString &text() const;
+ int cursorPos() const;
+ bool isAccepted() const;
+ void accept();
+ void ignore();
+%If (Qt_3_1_0 -)
+ int selectionLength() const;
+%End
+};
+
+%End
+
+
+%If (Qt_3_1_0 -)
+
+class QIMComposeEvent : QIMEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QIMComposeEvent(Type,const QString &,int,int);
+};
+
+%End
+
+
+%If (- Qt_2_00)
+
+class QDropEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QDropEvent(const QPoint &);
+
+ const QPoint &pos() const;
+ bool isAccepted() const;
+ void accept();
+ void ignore();
+ QByteArray data(const char *);
+};
+
+%End
+
+
+%If (Qt_2_00 -)
+%If (Qt_DRAGANDDROP)
+
+class QDropEvent : QEvent, QMimeSource
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QDropEvent(const QPoint &,Type = Drop);
+
+ const QPoint &pos() const;
+ bool isAccepted() const;
+ void accept(bool = 1);
+ void ignore();
+ bool isActionAccepted() const;
+ void acceptAction(bool = 1);
+
+ enum Action
+ {
+ Copy,
+ Link,
+ Move,
+ Private,
+ UserAction = 100
+ };
+
+ void setAction(Action);
+ Action action() const;
+ QWidget *source() const;
+ const char *format(int = 0) const;
+ QByteArray encodedData(const char *) const;
+ bool provides(const char *) const;
+ QByteArray data(const char *) const;
+ void setPoint(const QPoint &);
+};
+
+%End
+%End
+
+
+%If (- Qt_2_00)
+
+class QDragMoveEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QDragMoveEvent(const QPoint &);
+
+ const QPoint &pos() const;
+ bool isAccepted() const;
+ void accept();
+ void ignore();
+ void accept(const QRect &);
+ void ignore(const QRect &);
+ QRect answerRect() const;
+ const char *format(int = 0);
+ bool provides(const char *);
+ QByteArray data(const char *);
+
+protected:
+ QDragMoveEvent(const QPoint &,int);
+};
+
+%End
+
+
+%If (Qt_DRAGANDDROP)
+%If (Qt_2_00 -)
+
+class QDragMoveEvent : QDropEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QDragMoveEvent(const QPoint &,Type = DragMove);
+
+ QRect answerRect() const;
+ void accept(bool = 1);
+ void accept(const QRect &);
+ void ignore(const QRect &);
+ void ignore();
+};
+
+%End
+
+
+class QDragEnterEvent : QDragMoveEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QDragEnterEvent(const QPoint &);
+};
+
+
+class QDragLeaveEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+ QDragLeaveEvent();
+};
+
+%End
+
+
+class QChildEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QChildEvent(int,QWidget *);
+%End
+%If (Qt_2_00 -)
+ QChildEvent(Type,QObject *);
+%End
+
+%If (- Qt_2_00)
+ QWidget *child() const;
+%End
+%If (Qt_2_00 -)
+ QObject *child() const;
+%End
+ bool inserted() const;
+ bool removed() const;
+};
+
+
+class QCustomEvent : QEvent
+{
+%TypeHeaderCode
+#include <qevent.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QCustomEvent(int,SIP_PYOBJECT /Transfer/);
+%End
+%If (Qt_2_00 -)
+ QCustomEvent(Type,SIP_PYOBJECT /Transfer/);
+%End
+%If (Qt_2_1_0 -)
+ QCustomEvent(int);
+%End
+ ~QCustomEvent();
+%VirtualCatcherCode
+ // We need to garbage collect any current data.
+
+ PyObject *old = reinterpret_cast<PyObject *>(data());
+
+ SIP_BLOCK_THREADS
+ Py_XDECREF(old);
+ SIP_UNBLOCK_THREADS
+%End
+
+ SIP_PYOBJECT data() const;
+%MethodCode
+ // We need to cast the result.
+
+ sipRes = reinterpret_cast<PyObject *>(sipCpp -> QCustomEvent::data());
+
+ // In case the event has been created from C++ code.
+ if (!sipRes)
+ sipRes = Py_None;
+
+ Py_INCREF(sipRes);
+%End
+
+%If (Qt_2_1_0 -)
+ void setData(SIP_PYOBJECT /Transfer/);
+%MethodCode
+ // We need to garbage collect any current data.
+
+ PyObject *old = reinterpret_cast<PyObject *>(sipCpp -> QCustomEvent::data());
+ sipCpp -> QCustomEvent::setData(a0);
+
+ Py_XDECREF(old);
+%End
+%End
+
+%GCTraverseCode
+ // Support the Python garbage collector. Although it's not obviously
+ // documented, we can't release the GIL in traverse code.
+
+ PyObject *obj = reinterpret_cast<PyObject *>(sipCpp -> QCustomEvent::data());
+
+ if (obj)
+ sipRes = sipVisit(obj, sipArg);
+ else
+ sipRes = 0;
+%End
+
+%GCClearCode
+ // Support the Python garbage collector.
+
+ PyObject *obj = reinterpret_cast<PyObject *>(sipCpp -> QCustomEvent::data());
+
+ sipCpp -> QCustomEvent::setData(0);
+
+ Py_XDECREF(obj);
+
+ sipRes = 0;
+%End
+};
diff --git a/sip/qt/qeventloop.sip b/sip/qt/qeventloop.sip
new file mode 100644
index 0000000..22d7a2c
--- /dev/null
+++ b/sip/qt/qeventloop.sip
@@ -0,0 +1,89 @@
+// This is the SIP interface definition for QEventLoop.
+//
+// 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>QEventLoop (Qt v3.1+)</Title>
+<FuncSynopsis>
+ <FuncDef>virtual int <Function>exec</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed to <Literal>exec_loop</Literal> in Python.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_1_0 -)
+
+class QEventLoop : QObject
+{
+%TypeHeaderCode
+#include <qeventloop.h>
+%End
+
+public:
+ QEventLoop(QObject * /TransferThis/ = 0,const char * = 0);
+
+ enum ProcessEvents {
+ AllEvents,
+ ExcludeUserInput,
+ ExcludeSocketNotifiers,
+ WaitForMore
+ };
+
+ typedef uint ProcessEventsFlags;
+
+ void processEvents(ProcessEventsFlags,int) /ReleaseGIL/;
+ virtual bool processEvents(ProcessEventsFlags) /ReleaseGIL/;
+
+ virtual bool hasPendingEvents() const;
+
+ virtual void registerSocketNotifier(QSocketNotifier *);
+ virtual void unregisterSocketNotifier(QSocketNotifier *);
+%If (Qt_3_1_1 -)
+ // These were present in the X11 version of Qt v3.1.0 but didn't make
+ // it to the Windows version until Qt v3.1.1.
+ void setSocketNotifierPending(QSocketNotifier *);
+ int activateSocketNotifiers();
+
+ int activateTimers();
+ int timeToWait() const;
+%End
+
+ virtual int exec() /PyName=exec_loop, ReleaseGIL,
+ PreHook=__pyQtPreEventLoopHook__,
+ PostHook=__pyQtPostEventLoopHook__/;
+ virtual void exit(int = 0);
+
+ virtual int enterLoop();
+ virtual void exitLoop();
+ virtual int loopLevel() const;
+
+ virtual void wakeUp();
+
+signals:
+ void awake();
+ void aboutToBlock();
+};
+
+%End
diff --git a/sip/qt/qfile.sip b/sip/qt/qfile.sip
new file mode 100644
index 0000000..06012f1
--- /dev/null
+++ b/sip/qt/qfile.sip
@@ -0,0 +1,310 @@
+// This is the SIP interface definition for QFile.
+//
+// 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>QFile</Title>
+<FuncSynopsis>
+ <FuncDef>bool <Function>open</Function></FuncDef>
+ <ParamDef>int <Parameter>m</Parameter></ParamDef>
+ <ParamDef>FILE *<Parameter>f</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef>
+ <ParamDef>char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a single <Literal>len</Literal> parameter. The
+<Literal>data</Literal> is returned if there was no error, otherwise
+<Literal>None</Literal> is returned.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>readLine</Function></FuncDef>
+ <ParamDef>char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>Q_ULONG <Parameter>maxlen</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a single <Literal>maxlen</Literal> parameter. The
+<Literal>data</Literal> is returned if there was no error, otherwise
+<Literal>None</Literal> is returned.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>static void <Function>setDecodingFunction</Function></FuncDef>
+ <ParamDef>EncoderFn <Parameter>f</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented. (Qt v2+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>static void <Function>setEncodingFunction</Function></FuncDef>
+ <ParamDef>EncoderFn <Parameter>f</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented. (Qt v2+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>writeBlock</Function></FuncDef>
+ <ParamDef>const char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+<Literal>len</Literal> is derived from <Literal>data</Literal> and not passed
+as a parameter.
+</Para>
+</Sect2>
+%End
+
+
+class QFile : QIODevice
+{
+%TypeHeaderCode
+#include <qfile.h>
+%End
+
+public:
+ QFile();
+%If (- Qt_2_00)
+ QFile(const char *);
+%End
+%If (Qt_2_00 -)
+ QFile(const QString &);
+%End
+
+%If (- Qt_2_00)
+ const char *name() const;
+ void setName(const char *);
+%End
+%If (Qt_2_00 -)
+ QString name() const;
+ void setName(const QString &);
+%End
+
+%If (Qt_2_00 -)
+ static QCString encodeName(const QString &);
+ static QString decodeName(const QCString &);
+// static void setEncodingFunction(EncoderFn);
+// static void setDecodingFunction(DecoderFn);
+%End
+
+ bool exists() const;
+%If (- Qt_2_00)
+ static bool exists(const char *);
+%End
+%If (Qt_2_00 -)
+ static bool exists(const QString &);
+%End
+
+ bool remove();
+%If (- Qt_2_00)
+ static bool remove(const char *);
+%End
+%If (Qt_2_00 -)
+ static bool remove(const QString &);
+%End
+
+ bool open(int) /ReleaseGIL/;
+// bool open(int,FILE *) /ReleaseGIL/;
+ bool open(int,int) /ReleaseGIL/;
+ void close();
+ void flush() /ReleaseGIL/;
+
+%If (- Qt_3_0_0)
+ uint size() const;
+ int at() const;
+ bool at(int);
+%End
+%If (Qt_3_0_0 -)
+ Offset size() const;
+ Offset at() const;
+ bool at(Offset);
+%End
+ bool atEnd() const;
+
+%If (- Qt_3_0_0)
+ SIP_PYOBJECT readBlock(uint) /ReleaseGIL/ [int (char *,uint)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ int actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipSelfWasArg ? sipCpp->QFile::readBlock(buf,a0) : sipCpp->readBlock(buf,a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL)
+ sipIsErr = 1;
+
+ sipFree((ANY *)buf);
+ }
+%End
+
+ int writeBlock(const char * /Array/,uint /ArraySize/) /ReleaseGIL/;
+%End
+%If (Qt_3_0_0 -)
+ SIP_PYOBJECT readBlock(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Q_LONG actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipSelfWasArg ? sipCpp->QFile::readBlock(buf,a0) : sipCpp->readBlock(buf,a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL)
+ sipIsErr = 1;
+
+ sipFree((ANY *)buf);
+ }
+%End
+
+
+ Q_LONG writeBlock(const char * /Array/,
+ Q_ULONG /ArraySize/) /ReleaseGIL/;
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ int writeBlock(const QByteArray &) /ReleaseGIL/;
+%End
+%If (Qt_3_0_0 -)
+ Q_LONG writeBlock(const QByteArray &) /ReleaseGIL/;
+%End
+
+%If (- Qt_3_0_0)
+ SIP_PYOBJECT readLine(uint) /ReleaseGIL/ [int (char *,uint)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ int actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipSelfWasArg ? sipCpp->QFile::readLine(buf,a0) : sipCpp->readLine(buf,a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ sipFree((ANY *)buf);
+
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else
+ {
+ sipRes = PyString_FromStringAndSize(buf,actlen);
+
+ sipFree((ANY *)buf);
+
+ if (sipRes == NULL)
+ sipIsErr = 1;
+ }
+ }
+%End
+%End
+%If (Qt_3_0_0 -)
+ SIP_PYOBJECT readLine(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Q_LONG actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipSelfWasArg ? sipCpp->QFile::readLine(buf,a0) : sipCpp->readLine(buf,a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ sipFree((ANY *)buf);
+
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else
+ {
+ sipRes = PyString_FromStringAndSize(buf,actlen);
+
+ sipFree((ANY *)buf);
+
+ if (sipRes == NULL)
+ sipIsErr = 1;
+ }
+ }
+%End
+%End
+
+%If (Qt_2_00 - Qt_3_0_0)
+ int readLine(QString &,uint) /ReleaseGIL/;
+%End
+%If (Qt_3_0_0 -)
+ Q_LONG readLine(QString &,Q_ULONG) /ReleaseGIL/;
+%End
+
+ int getch();
+ int putch(int);
+ int ungetch(int);
+
+ int handle() const;
+
+%If (Qt_3_2_0 -)
+ QString errorString() const;
+%End
+
+protected:
+%If (Qt_3_2_0 -)
+ void setErrorString(const QString &);
+%End
+
+private:
+ QFile(const QFile &);
+};
diff --git a/sip/qt/qfiledialog.sip b/sip/qt/qfiledialog.sip
new file mode 100644
index 0000000..611387a
--- /dev/null
+++ b/sip/qt/qfiledialog.sip
@@ -0,0 +1,361 @@
+// This is the SIP interface definition for QFileDialog, QFileIconProvider and
+// QFilePreview.
+//
+// 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>QFileDialog</Title>
+<Para>
+<Literal>QFileDialog</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QFileIconProvider</Title>
+<Para>
+<Literal>QFileIconProvider</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QFilePreview</Title>
+<Para>
+<Literal>QFilePreview</Literal> is fully implemented. However it cannot be
+used from Python in the same way as it is used from C++ because PyQt does not
+support multiple inheritance involving more than one wrapped class. A trick
+that seems to work is to use composition rather than inheritance as in the
+following code fragment.
+</Para>
+<ProgramListing>
+class FilePreview(QFilePreview):
+ pass
+
+class Preview(QLabel):
+ def __init__(self, parent=None):
+ QLabel.__init__(self, parent)
+ self.preview = FilePreview()
+ self.preview.previewUrl = self.previewUrl
+</ProgramListing>
+<Para>
+Note that QFilePreview cannot be instantiated directly because it is abstract.
+Thanks to Hans-Peter Jansen for this trick.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_FILEDIALOG)
+
+class QFileIconProvider : QObject
+{
+%TypeHeaderCode
+#include <qfiledialog.h>
+%End
+
+public:
+ QFileIconProvider(QObject * /TransferThis/ = 0,const char * = 0);
+
+ virtual const QPixmap *pixmap(const QFileInfo &);
+
+private:
+%If (Qt_2_1_0 -)
+ QFileIconProvider(const QFileIconProvider &);
+%End
+};
+
+
+%If (Qt_2_1_0 -)
+class QFilePreview
+{
+%TypeHeaderCode
+#include <qfiledialog.h>
+%End
+
+public:
+ QFilePreview();
+
+ virtual void previewUrl(const QUrl &) = 0;
+};
+%End
+
+
+class QFileDialog : QDialog
+{
+%TypeHeaderCode
+#include <qfiledialog.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QFileDialog(const char *,const char * = 0,QWidget * /TransferThis/ = 0,
+ const char * = 0,bool = 0);
+%End
+%If (Qt_2_00 -)
+ QFileDialog(const QString &,const QString & = QString::null,
+ QWidget * /TransferThis/ = 0,const char * = 0,bool = 0);
+%End
+ QFileDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0);
+
+%If (- Qt_2_00)
+ static QString getOpenFileName(const char * = 0,const char * = 0,
+ QWidget * = 0,
+ const char * = 0) /ReleaseGIL/;
+ static QString getSaveFileName(const char * = 0,const char * = 0,
+ QWidget * = 0,
+ const char * = 0) /ReleaseGIL/;
+ static QString getExistingDirectory(const char * = 0,QWidget * = 0,
+ const char * = 0) /ReleaseGIL/;
+ static QStrList getOpenFileNames(const char * = 0,const char * = 0,
+ QWidget * = 0,
+ const char * = 0) /ReleaseGIL/;
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ static QString getOpenFileName(const QString & = QString::null,
+ const QString & = QString::null,
+ QWidget * = 0,
+ const char * = 0) /ReleaseGIL/;
+ static QString getSaveFileName(const QString & = QString::null,
+ const QString & = QString::null,
+ QWidget * = 0,
+ const char * = 0) /ReleaseGIL/;
+ static QString getExistingDirectory(const QString & = QString::null,
+ QWidget * = 0,
+ const char * = 0) /ReleaseGIL/;
+ static QStringList getOpenFileNames(const QString & = QString::null,
+ const QString & = QString::null,
+ QWidget * = 0,
+ const char * = 0) /ReleaseGIL/;
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ static QString getOpenFileName(const QString &,const QString &,
+ QWidget *,const char *,
+ const QString &) /ReleaseGIL/;
+ static QString getSaveFileName(const QString &,const QString &,
+ QWidget *,const char *,
+ const QString &) /ReleaseGIL/;
+ static QString getExistingDirectory(const QString &,QWidget *,
+ const char *,
+ const QString &) /ReleaseGIL/;
+ static QStringList getOpenFileNames(const QString &,const QString &,
+ QWidget *,const char *,
+ const QString &) /ReleaseGIL/;
+%End
+%If (Qt_2_2_0 - Qt_3_0_0)
+ static QString getExistingDirectory(const QString &,QWidget *,
+ const char *,
+ const QString &,bool) /ReleaseGIL/;
+%End
+%If (Qt_3_0_0 -)
+ static QString getOpenFileName(const QString & = QString::null,
+ const QString & = QString::null,
+ QWidget * = 0,const char * = 0,
+ const QString & = QString::null,
+ QString * = 0,bool = 1) /ReleaseGIL/;
+
+ static QString getSaveFileName(const QString & = QString::null,
+ const QString & = QString::null,
+ QWidget * = 0,const char * = 0,
+ const QString & = QString::null,
+ QString * = 0,bool = 1) /ReleaseGIL/;
+
+ static QString getExistingDirectory(const QString & = QString::null,
+ QWidget * = 0,const char * = 0,
+ const QString & = QString::null,
+ bool = 1,bool = 1) /ReleaseGIL/;
+
+ static QStringList getOpenFileNames(const QString & = QString::null,
+ const QString & = QString::null,
+ QWidget * = 0,const char * = 0,
+ const QString & = QString::null,
+ QString * = 0,
+ bool = 1) /ReleaseGIL/;
+
+%End
+
+ static void setIconProvider(QFileIconProvider *);
+ static QFileIconProvider *iconProvider();
+
+ QString selectedFile() const;
+%If (Qt_2_1_0 -)
+ QString selectedFilter() const;
+%End
+%If (Qt_3_0_0 -)
+ virtual void setSelectedFilter(const QString &);
+ virtual void setSelectedFilter(int);
+%End
+
+%If (- Qt_2_00)
+ void setSelection(const char *);
+%End
+%If (Qt_2_00 -)
+ void setSelection(const QString &);
+%End
+
+%If (Qt_2_1_0 -)
+ void selectAll(bool);
+
+ QStringList selectedFiles() const;
+%End
+
+%If (- Qt_2_00)
+ const char *dirPath() const;
+%End
+%If (Qt_2_00 -)
+ QString dirPath() const;
+%End
+
+ void setDir(const QDir &);
+ const QDir* dir() const;
+
+%If (Qt_2_1_0 -)
+ void setShowHiddenFiles(bool);
+ bool showHiddenFiles() const;
+%End
+
+ void rereadDir() /ReleaseGIL/;
+%If (Qt_2_1_0 -)
+ void resortDir();
+%End
+
+%If (- Qt_2_2_0)
+ enum Mode {
+ AnyFile,
+ ExistingFile,
+ Directory,
+ ExistingFiles
+ };
+%End
+%If (Qt_2_2_0 -)
+ enum Mode {
+ AnyFile,
+ ExistingFile,
+ Directory,
+ ExistingFiles,
+ DirectoryOnly
+ };
+%End
+
+ void setMode(Mode);
+ Mode mode() const;
+
+%If (Qt_2_1_0 -)
+ enum ViewMode {
+ Detail,
+ List
+ };
+
+ enum PreviewMode {
+ NoPreview,
+ Contents,
+ Info
+ };
+
+ void setViewMode(ViewMode);
+ ViewMode viewMode() const;
+ void setPreviewMode(PreviewMode);
+ PreviewMode previewMode() const;
+%End
+
+ bool eventFilter(QObject *,QEvent *);
+
+%If (Qt_2_1_0 -)
+ bool isInfoPreviewEnabled() const;
+ bool isContentsPreviewEnabled() const;
+ void setInfoPreviewEnabled(bool);
+ void setContentsPreviewEnabled(bool);
+
+ void setInfoPreview(QWidget *,QFilePreview *);
+ void setContentsPreview(QWidget *,QFilePreview *);
+
+ QUrl url() const;
+%End
+
+%If (Qt_3_0_0 -)
+ void addFilter(const QString &);
+%End
+
+public slots:
+%If (Qt_2_2_0 -)
+ void done(int);
+%End
+%If (- Qt_2_00)
+ void setDir(const char *);
+%End
+%If (Qt_2_00 -)
+ void setDir(const QString &);
+%End
+%If (Qt_2_1_0 -)
+ void setUrl(const QUrlOperator &);
+%End
+%If (- Qt_2_00)
+ void setFilter(const char *);
+%End
+%If (Qt_2_00 -)
+ void setFilter(const QString &);
+%End
+%If (Qt_2_1_0 -)
+ void setFilters(const QString &);
+%End
+// void setFilters(const char **);
+%If (- Qt_2_00)
+ void setFilters(const QStrList &);
+%End
+%If (Qt_2_00 -)
+ void setFilters(const QStringList &);
+%End
+
+signals:
+%If (- Qt_2_00)
+ void fileHighlighted(const char *);
+ void fileSelected(const char *);
+ void dirEntered(const char *);
+%End
+%If (Qt_2_00 -)
+ void fileHighlighted(const QString &);
+ void fileSelected(const QString &);
+%End
+%If (Qt_3_0_0 -)
+ void filesSelected(const QStringList &);
+%End
+%If (Qt_2_00 -)
+ void dirEntered(const QString &);
+%End
+%If (Qt_3_0_0 -)
+ void filterSelected(const QString &);
+%End
+
+protected:
+ void resizeEvent(QResizeEvent *);
+ void keyPressEvent(QKeyEvent *);
+
+ void addWidgets(QLabel *,QWidget *,QPushButton *);
+%If (Qt_2_1_0 -)
+ void addToolButton(QButton *,bool = 0);
+ void addLeftWidget(QWidget *);
+ void addRightWidget(QWidget *);
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ void addFilter(const QString &);
+%End
+
+private:
+ QFileDialog(const QFileDialog &);
+};
+
+%End
diff --git a/sip/qt/qfileinfo.sip b/sip/qt/qfileinfo.sip
new file mode 100644
index 0000000..3755e31
--- /dev/null
+++ b/sip/qt/qfileinfo.sip
@@ -0,0 +1,145 @@
+// This is the SIP interface definition for QFileInfo.
+//
+// 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>QFileInfo</Title>
+<Para>
+<Literal>QFileInfo</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QFileInfo
+{
+%TypeHeaderCode
+#include <qfileinfo.h>
+%End
+
+public:
+ enum PermissionSpec {
+%If (Qt_3_2_0 -)
+ ReadOwner, WriteOwner, ExeOwner,
+%End
+ ReadUser, WriteUser, ExeUser,
+ ReadGroup, WriteGroup, ExeGroup,
+ ReadOther, WriteOther, ExeOther
+ };
+
+ QFileInfo();
+%If (- Qt_2_00)
+ QFileInfo(const char *);
+%End
+%If (Qt_2_00 -)
+ QFileInfo(const QString &);
+%End
+ QFileInfo(const QFile &);
+%If (- Qt_2_00)
+ QFileInfo(const QDir &,const char *);
+%End
+%If (Qt_2_00 -)
+ QFileInfo(const QDir &,const QString &);
+%End
+ QFileInfo(const QFileInfo &);
+
+%If (- Qt_2_00)
+ void setFile(const char *);
+%End
+%If (Qt_2_00 -)
+ void setFile(const QString &);
+%End
+ void setFile(const QFile &);
+%If (- Qt_2_00)
+ void setFile(const QDir &,const char *);
+%End
+%If (Qt_2_00 -)
+ void setFile(const QDir &,const QString &);
+%End
+ bool exists() const;
+ void refresh() const;
+ bool caching() const;
+ void setCaching(bool);
+
+%If (- Qt_2_00)
+ const char *filePath() const;
+%End
+%If (Qt_2_00 -)
+ const QString filePath() const;
+%End
+ QString fileName() const;
+ QString absFilePath() const;
+%If (- Qt_3_0_0)
+ QString baseName() const;
+%End
+%If (Qt_3_0_0 -)
+ QString baseName(bool = 1) const;
+%End
+%If (- Qt_2_00)
+ QString extension() const;
+%End
+%If (Qt_2_00 -)
+ QString extension(bool = 1) const;
+%End
+
+ QString dirPath(bool = 0) const;
+ QDir dir(bool = 0) const;
+ bool isReadable() const;
+ bool isWritable() const;
+ bool isExecutable() const;
+%If (Qt_3_1_0 -)
+ bool isHidden() const;
+%End
+
+ bool isRelative() const;
+ bool convertToAbs();
+
+ bool isFile() const;
+ bool isDir() const;
+ bool isSymLink() const;
+
+ QString readLink() const /ReleaseGIL/;
+
+%If (- Qt_2_00)
+ const char *owner() const;
+%End
+%If (Qt_2_00 -)
+ QString owner() const;
+%End
+ uint ownerId() const;
+%If (- Qt_2_00)
+ const char *group() const;
+%End
+%If (Qt_2_00 -)
+ QString group() const;
+%End
+ uint groupId() const;
+
+ bool permission(int) const;
+
+ uint size() const;
+
+%If (Qt_3_0_0 -)
+ QDateTime created() const;
+%End
+ QDateTime lastModified() const;
+ QDateTime lastRead() const;
+};
diff --git a/sip/qt/qfont.sip b/sip/qt/qfont.sip
new file mode 100644
index 0000000..b2abfd4
--- /dev/null
+++ b/sip/qt/qfont.sip
@@ -0,0 +1,441 @@
+// This is the SIP interface definition for QFont.
+//
+// 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>QFont</Title>
+<Para>
+<Literal>QFont</Literal> is fully implemented, including the Python
+<Literal>==</Literal> and <Literal>!=</Literal> operators.
+</Para>
+</Sect2>
+%End
+
+
+class QFont
+{
+%TypeHeaderCode
+#include <qfont.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ enum CharSet {
+ Latin1, ISO_8859_1 = Latin1, AnyCharSet,
+ Latin2, ISO_8859_2 = Latin2,
+ Latin3, ISO_8859_3 = Latin3,
+ Latin4, ISO_8859_4 = Latin4,
+ Latin5, ISO_8859_5 = Latin5,
+ Latin6, ISO_8859_6 = Latin6,
+ Latin7, ISO_8859_7 = Latin7,
+ Latin8, ISO_8859_8 = Latin8,
+ Latin9, ISO_8859_9 = Latin9,
+ KOI8R
+ };
+%End
+%If (Qt_2_00 - Qt_2_1_0)
+ enum CharSet {
+ ISO_8859_1, Latin1 = ISO_8859_1, AnyCharSet,
+ ISO_8859_2, Latin2 = ISO_8859_2,
+ ISO_8859_3, Latin3 = ISO_8859_3,
+ ISO_8859_4, Latin4 = ISO_8859_4,
+ ISO_8859_5,
+ ISO_8859_6,
+ ISO_8859_7,
+ ISO_8859_8,
+ ISO_8859_9, Latin5 = ISO_8859_9,
+ ISO_8859_10, Latin6 = ISO_8859_10,
+ ISO_8859_11,
+ ISO_8859_12,
+ ISO_8859_13, Latin7 = ISO_8859_13,
+ ISO_8859_14, Latin8 = ISO_8859_14,
+ ISO_8859_15, Latin9 = ISO_8859_15,
+ KOI8R,
+ Set_Ja, Set_1 = Set_Ja,
+ Set_Ko,
+ Set_Th_TH,
+ Set_Zh,
+ Set_Zh_TW, Set_N = Set_Zh_TW,
+ Unicode
+ };
+%End
+%If (Qt_2_1_0 - Qt_2_2_0)
+ enum CharSet {
+ ISO_8859_1, Latin1 = ISO_8859_1, AnyCharSet,
+ ISO_8859_2, Latin2 = ISO_8859_2,
+ ISO_8859_3, Latin3 = ISO_8859_3,
+ ISO_8859_4, Latin4 = ISO_8859_4,
+ ISO_8859_5,
+ ISO_8859_6,
+ ISO_8859_7,
+ ISO_8859_8,
+ ISO_8859_9, Latin5 = ISO_8859_9,
+ ISO_8859_10, Latin6 = ISO_8859_10,
+ ISO_8859_11,
+ ISO_8859_12,
+ ISO_8859_13, Latin7 = ISO_8859_13,
+ ISO_8859_14, Latin8 = ISO_8859_14,
+ ISO_8859_15, Latin9 = ISO_8859_15,
+ KOI8R,
+ Set_Ja, Set_1 = Set_Ja,
+ Set_Ko,
+ Set_Th_TH,
+ Set_Zh,
+ Set_Zh_TW, Set_N = Set_Zh_TW,
+ Unicode,
+ Set_GBK,
+ Set_Big5
+ };
+%End
+%If (Qt_2_2_0 - Qt_3_0_0)
+ enum CharSet {
+ ISO_8859_1, Latin1 = ISO_8859_1, AnyCharSet,
+ ISO_8859_2, Latin2 = ISO_8859_2,
+ ISO_8859_3, Latin3 = ISO_8859_3,
+ ISO_8859_4, Latin4 = ISO_8859_4,
+ ISO_8859_5,
+ ISO_8859_6,
+ ISO_8859_7,
+ ISO_8859_8,
+ ISO_8859_9, Latin5 = ISO_8859_9,
+ ISO_8859_10, Latin6 = ISO_8859_10,
+ ISO_8859_11,
+ ISO_8859_12,
+ ISO_8859_13, Latin7 = ISO_8859_13,
+ ISO_8859_14, Latin8 = ISO_8859_14,
+ ISO_8859_15, Latin9 = ISO_8859_15,
+ KOI8R,
+ Set_Ja, Set_1 = Set_Ja,
+ Set_Ko,
+ Set_Th_TH,
+ Set_Zh,
+ Set_Zh_TW, Set_N = Set_Zh_TW,
+ Unicode,
+ Set_GBK,
+ Set_Big5,
+ JIS_X_0201 = 0xa0,
+ JIS_X_0208 = 0xc0, Enc16 = JIS_X_0208,
+ KSC_5601,
+ GB_2312,
+ Big5,
+ TSCII
+ };
+%End
+
+ enum StyleHint {
+ Helvetica,
+ Times,
+ Courier,
+ OldEnglish,
+ System,
+ AnyStyle,
+ SansSerif,
+ Serif,
+ TypeWriter,
+ Decorative
+ };
+
+%If (Qt_2_2_0 -)
+ enum StyleStrategy {
+ PreferDefault,
+ PreferBitmap,
+ PreferDevice,
+ PreferOutline,
+ ForceOutline,
+ PreferMatch,
+ PreferQuality,
+%If (Qt_3_0_0 -)
+ PreferAntialias,
+ NoAntialias,
+%End
+%If (Qt_3_2_0 -)
+ OpenGLCompatible,
+%End
+ };
+%End
+
+ enum Weight {
+ Light,
+ Normal,
+ DemiBold,
+ Bold,
+ Black
+ };
+
+%If (Qt_3_2_0 -)
+ enum Stretch {
+ UltraCondensed,
+ ExtraCondensed,
+ Condensed,
+ SemiCondensed,
+ Unstretched,
+ SemiExpanded,
+ Expanded,
+ ExtraExpanded,
+ UltraExpanded
+ };
+%End
+
+ QFont();
+%If (- Qt_2_00)
+ QFont(const char *,int = 12,int = Normal,bool = 0);
+ QFont(const char *,int,int,bool,CharSet);
+%End
+%If (Qt_2_00 - Qt_3_2_0)
+ QFont(const QString &,int = 12,int = Normal,bool = 0);
+%End
+%If (Qt_3_2_0 -)
+ QFont(const QString &,int = 12,int = -1,bool = 0);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ QFont(const QString &,int,int,bool,CharSet);
+%End
+ QFont(const QFont &);
+
+%If (- Qt_2_00)
+ const char *family() const;
+ void setFamily(const char *);
+%End
+%If (Qt_2_00 -)
+ QString family() const;
+ void setFamily(const QString &);
+
+ float pointSizeFloat() const;
+ void setPointSizeFloat(float);
+
+ int pixelSize() const;
+ void setPixelSize(int);
+ void setPixelSizeFloat(float);
+%End
+ int pointSize() const;
+ void setPointSize(int);
+
+ int weight() const;
+ void setWeight(int);
+
+ bool bold() const;
+ void setBold(bool);
+
+ bool italic() const;
+ void setItalic(bool);
+
+ bool underline() const;
+ void setUnderline(bool);
+
+%If (Qt_3_2_0 -)
+ bool overline() const;
+ void setOverline(bool);
+%End
+
+ bool strikeOut() const;
+ void setStrikeOut(bool);
+
+ bool fixedPitch() const;
+ void setFixedPitch(bool);
+
+ StyleHint styleHint() const;
+%If (Qt_2_2_0 -)
+ StyleStrategy styleStrategy() const;
+%End
+%If (- Qt_3_0_0)
+ void setStyleHint(StyleHint);
+%End
+%If (Qt_2_2_0 - Qt_3_0_0)
+ void setStyleHint(StyleHint,StyleStrategy);
+%End
+%If (Qt_3_0_0 -)
+ void setStyleHint(StyleHint,StyleStrategy = PreferDefault);
+ void setStyleStrategy(StyleStrategy);
+%End
+
+%If (- Qt_3_0_0)
+ CharSet charSet() const;
+ void setCharSet(CharSet);
+%End
+
+%If (Qt_3_2_0 -)
+ int stretch() const;
+ void setStretch(int);
+%End
+
+ bool rawMode() const;
+ void setRawMode(bool);
+
+ bool exactMatch() const;
+
+ bool operator==(const QFont &) const;
+ bool operator!=(const QFont &) const;
+
+ bool isCopyOf(const QFont &) const;
+
+%If (- Qt_2_00)
+ HANDLE handle(HANDLE = 0);
+ const char *rawName() const;
+ static const QFont &defaultFont();
+ static const char *substitute(const char *);
+ static void insertSubstitution(const char *,const char *);
+ static void removeSubstitution(const char *);
+ static void listSubstitutions(QStrList *);
+%End
+
+%If (Qt_2_00 - Qt_3_0_0)
+ static CharSet charSetForLocale();
+%End
+
+%If (Qt_2_00 -)
+%If (- Qt_3_0_0)
+%If (WS_X11)
+ HANDLE handle() const;
+%End
+%End
+%If (Qt_3_0_0 -)
+%If (WS_X11)
+ Qt::HANDLE handle() const;
+%End
+%End
+ void setRawName(const QString &);
+ QString rawName() const;
+%End
+ QString key() const;
+%If (Qt_3_0_0 -)
+ QString toString() const;
+ bool fromString(const QString &);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ static QString encodingName(CharSet);
+%End
+%If (Qt_2_00 -)
+ static QString substitute(const QString &);
+%If (Qt_3_0_0 -)
+ static QStringList substitutes(const QString &);
+%End
+ static QStringList substitutions();
+ static void insertSubstitution(const QString &,const QString &);
+%If (Qt_3_0_0 -)
+ static void insertSubstitutions(const QString &,const QStringList &);
+%End
+ static void removeSubstitution(const QString &);
+%If (- Qt_3_0_0)
+ static void locale_init();
+%End
+%End
+
+ static void initialize();
+ static void cleanup();
+ static void cacheStatistics();
+
+%If (Qt_3_0_0 -)
+ enum Script {
+ Latin,
+ Greek,
+ Cyrillic,
+ Armenian,
+ Georgian,
+ Runic,
+ Ogham,
+ SpacingModifiers,
+ CombiningMarks,
+
+ Hebrew,
+ Arabic,
+ Syriac,
+ Thaana,
+
+ Devanagari,
+ Bengali,
+ Gurmukhi,
+ Gujarati,
+ Oriya,
+ Tamil,
+ Telugu,
+ Kannada,
+ Malayalam,
+ Sinhala,
+ Thai,
+ Lao,
+ Tibetan,
+ Myanmar,
+ Khmer,
+
+ Han,
+ Hiragana,
+ Katakana,
+ Hangul,
+ Bopomofo,
+ Yi,
+
+ Ethiopic,
+ Cherokee,
+ CanadianAboriginal,
+ Mongolian,
+
+ CurrencySymbols,
+ LetterlikeSymbols,
+ NumberForms,
+ MathematicalOperators,
+ TechnicalSymbols,
+ GeometricSymbols,
+ MiscellaneousSymbols,
+ EnclosedAndSquare,
+ Braille,
+
+ Unicode,
+
+%If (Qt_3_2_0 -)
+ Tagalog,
+ Hanunoo,
+ Buhid,
+ Tagbanwa,
+
+ KatakanaHalfWidth,
+%End
+
+%If (Qt_3_3_0 -)
+ Limbu,
+ TaiLe,
+%End
+ };
+
+ QString defaultFamily() const;
+ QString lastResortFamily() const;
+ QString lastResortFont() const;
+%End
+
+%If (Qt_2_00 - Qt_3_0_0)
+ static QFont defaultFont();
+%End
+%If (- Qt_3_0_0)
+ static void setDefaultFont(const QFont &);
+%End
+
+%If (Qt_3_2_0 -)
+ QFont resolve(const QFont &) const;
+%End
+
+protected:
+ bool dirty() const;
+%If (- Qt_3_0_0)
+ QString defaultFamily() const;
+ QString lastResortFamily() const;
+ QString lastResortFont() const;
+%End
+ int deciPointSize() const;
+};
diff --git a/sip/qt/qfontdatabase.sip b/sip/qt/qfontdatabase.sip
new file mode 100644
index 0000000..cacecea
--- /dev/null
+++ b/sip/qt/qfontdatabase.sip
@@ -0,0 +1,121 @@
+// This is the SIP interface definition for QFontDatabase.
+//
+// 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>QFontDatabase (Qt v2.1+)</Title>
+<Para>
+<Literal>QFontDatabase</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_FONTDATABASE)
+%If (Qt_2_1_0 -)
+
+class QFontDatabase
+{
+%TypeHeaderCode
+#include <qfontdatabase.h>
+%End
+
+public:
+ QFontDatabase();
+
+ static QValueList<int> standardSizes();
+
+%If (- Qt_3_0_0)
+ QStringList charSets(const QString &,bool = 1 ) const;
+ QStringList families(bool = 1) const;
+ QStringList styles(const QString &,
+ const QString & = QString::null) const;
+ QValueList<int> pointSizes(const QString &,
+ const QString & = QString::null,
+ const QString & = QString::null);
+ QValueList<int> smoothSizes(const QString &,const QString &,
+ const QString & = QString::null);
+%End
+%If (Qt_3_0_0 -)
+ QStringList families() const;
+%If (Qt_3_2_0 -)
+ QStringList families(QFont::Script) const;
+%End
+ QStringList styles(const QString &) const;
+ QValueList<int> pointSizes(const QString &,
+ const QString & = QString::null);
+ QValueList<int> smoothSizes(const QString &,const QString &);
+%End
+ QString styleString(const QFont &);
+
+%If (- Qt_3_0_0)
+ QFont font(const QString,const QString &,int,
+ const QString = QString::null);
+
+ bool isBitmapScalable(const QString &,const QString & = QString::null,
+ const QString & = QString::null) const;
+ bool isSmoothlyScalable(const QString &,
+ const QString & = QString::null,
+ const QString & = QString::null) const;
+ bool isScalable(const QString &,const QString & = QString::null,
+ const QString & = QString::null) const;
+%End
+%If (Qt_3_0_0 -)
+ QFont font(const QString,const QString &,int);
+
+ bool isBitmapScalable(const QString &,
+ const QString & = QString::null) const;
+ bool isSmoothlyScalable(const QString &,
+ const QString & = QString::null) const;
+ bool isScalable(const QString &,const QString & = QString::null) const;
+%End
+%If (Qt_2_3_0 - Qt_3_0_0)
+ bool isFixedPitch(const QString &,const QString & = QString::null,
+ const QString & = QString::null) const;
+%End
+%If (Qt_3_0_0 -)
+ bool isFixedPitch(const QString &,
+ const QString & = QString::null) const;
+%End
+
+%If (- Qt_3_0_0)
+ bool italic(const QString &,const QString &,
+ const QString & = QString::null) const;
+ bool bold(const QString &,const QString &,
+ const QString & = QString::null) const;
+ int weight(const QString &,const QString &,
+ const QString & = QString::null) const;
+
+ static QString verboseCharSetName(const QString &);
+ static QString charSetSample(const QString &);
+%End
+%If (Qt_3_0_0 -)
+ bool italic(const QString &,const QString &) const;
+ bool bold(const QString &,const QString &) const;
+ int weight(const QString &,const QString &) const;
+
+ static QString scriptName(QFont::Script);
+ static QString scriptSample(QFont::Script);
+%End
+};
+
+%End
+%End
diff --git a/sip/qt/qfontdialog.sip b/sip/qt/qfontdialog.sip
new file mode 100644
index 0000000..9196000
--- /dev/null
+++ b/sip/qt/qfontdialog.sip
@@ -0,0 +1,105 @@
+// This is the SIP interface definition for QFontDialog.
+//
+// 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>QFontDialog (Qt v2+)</Title>
+<FuncSynopsis>
+ <FuncDef>static QFont <Function>getFont</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter></ParamDef>
+ <ParamDef>const QFont &<Parameter>def</Parameter></ParamDef>
+ <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef>
+ <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>def</Literal>, <Literal>parent</Literal> and
+<Literal>name</Literal> parameters and returns a tuple containing the
+<Literal>QFont</Literal> result and the <Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>static QFont <Function>getFont</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter></ParamDef>
+ <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef>
+ <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>parent</Literal> and <Literal>name</Literal> parameters
+and returns a tuple containing the <Literal>QFont</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+%If (Qt_FONTDIALOG)
+
+class QFontDialog : QDialog
+{
+%TypeHeaderCode
+#include <qfontdialog.h>
+%End
+
+public:
+ static QFont getFont(bool *,const QFont &,QWidget * = 0,
+ const char * = 0);
+ static QFont getFont(bool *,QWidget * = 0,const char * = 0);
+
+signals:
+%If (- Qt_3_2_0)
+ void fontSelected(const QFont &);
+ void fontHighlighted(const QFont &);
+%End
+
+protected:
+%If (- Qt_3_2_0)
+ bool eventFilter(QObject *,QEvent *);
+
+ QListBox *familyListBox() const;
+ virtual void updateFamilies();
+
+ QListBox *styleListBox() const;
+ virtual void updateStyles();
+
+ QListBox *sizeListBox() const;
+ virtual void updateSizes();
+
+ QComboBox *scriptCombo() const;
+ virtual void updateScripts();
+%End
+
+protected slots:
+%If (- Qt_3_2_0)
+ void sizeChanged(const QString &);
+%End
+
+private:
+ QFontDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0,
+ WFlags = 0);
+%If (Qt_2_1_0 -)
+ QFontDialog(const QFontDialog &);
+%End
+ ~QFontDialog();
+};
+
+%End
+%End
diff --git a/sip/qt/qfontinfo.sip b/sip/qt/qfontinfo.sip
new file mode 100644
index 0000000..d58eab0
--- /dev/null
+++ b/sip/qt/qfontinfo.sip
@@ -0,0 +1,70 @@
+// This is the SIP interface definition for QFontInfo.
+//
+// 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>QFontInfo</Title>
+<Para>
+<Literal>QFontInfo</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QFontInfo
+{
+%TypeHeaderCode
+#include <qfontinfo.h>
+%End
+
+public:
+ QFontInfo(const QFont &);
+%If (Qt_3_2_0 -)
+ QFontInfo(const QFont &,QFont::Script);
+%End
+ QFontInfo(const QFontInfo &);
+
+%If (- Qt_2_00)
+ const char *family() const;
+%End
+%If (Qt_2_00 -)
+ QString family() const;
+%End
+%If (Qt_3_0_0 -)
+ int pixelSize() const;
+%End
+ int pointSize() const;
+ bool italic() const;
+ int weight() const;
+ bool bold() const;
+ bool underline() const;
+%If (Qt_3_2_0 -)
+ bool overline() const;
+%End
+ bool strikeOut() const;
+ bool fixedPitch() const;
+ QFont::StyleHint styleHint() const;
+%If (- Qt_3_0_0)
+ QFont::CharSet charSet() const;
+%End
+ bool rawMode() const;
+ bool exactMatch() const;
+};
diff --git a/sip/qt/qfontmetrics.sip b/sip/qt/qfontmetrics.sip
new file mode 100644
index 0000000..e5059fb
--- /dev/null
+++ b/sip/qt/qfontmetrics.sip
@@ -0,0 +1,220 @@
+// This is the SIP interface definition for QFontMetrics.
+//
+// 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>QFontMetrics</Title>
+<FuncSynopsis>
+ <FuncDef>QRect <Function>boundingRect</Function></FuncDef>
+ <ParamDef>int <Parameter>x</Parameter></ParamDef>
+ <ParamDef>int <Parameter>y</Parameter></ParamDef>
+ <ParamDef>int <Parameter>w</Parameter></ParamDef>
+ <ParamDef>int <Parameter>h</Parameter></ParamDef>
+ <ParamDef>int <Parameter>flags</Parameter></ParamDef>
+ <ParamDef>const QString &amp;<Parameter>str</Parameter></ParamDef>
+ <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef>
+ <ParamDef>int <Parameter>tabstops</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>tabarray</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>tabarray</Literal> parameter is a Python list of integers.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QSize <Function>size</Function></FuncDef>
+ <ParamDef>int <Parameter>flags</Parameter></ParamDef>
+ <ParamDef>const QString &amp;<Parameter>str</Parameter></ParamDef>
+ <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef>
+ <ParamDef>int <Parameter>tabstops</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>tabarray</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>tabarray</Literal> parameter is a Python list of integers.
+</Para>
+</Sect2>
+%End
+
+
+class QFontMetrics
+{
+%TypeHeaderCode
+#include <qfontmetrics.h>
+%End
+
+public:
+ QFontMetrics(const QFont &);
+%If (Qt_3_2_0 -)
+ QFontMetrics(const QFont &,QFont::Script);
+%End
+ QFontMetrics(const QFontMetrics &);
+
+ int ascent() const;
+ int descent() const;
+ int height() const;
+ int leading() const;
+ int lineSpacing() const;
+ int minLeftBearing() const;
+ int minRightBearing() const;
+ int maxWidth() const;
+%If (- Qt_2_00)
+ bool inFont(char) const;
+ int leftBearing(char) const;
+ int rightBearing(char) const;
+ int width(const char *,int = -1) const;
+ int width(char) const;
+ QRect boundingRect(const char *,int = -1) const;
+ QRect boundingRect(char) const;
+
+ QRect boundingRect(int,int,int,int,int,const char *,int = -1,
+ SIP_PYLIST /AllowNone/ = 0) const;
+%MethodCode
+ int *tabarray;
+
+ if (intListToArray(a8,&tabarray) < 0)
+ sipIsErr = 1;
+ else
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = new QRect(sipCpp -> QFontMetrics::boundingRect(a0,a1,a2,a3,a4,a5,a6,a7,tabarray));
+ Py_END_ALLOW_THREADS
+
+ if (tabarray)
+ sipFree((ANY *)tabarray);
+ }
+%End
+
+ QSize size(int,const char *,int = -1,int = 0,
+ SIP_PYLIST /AllowNone/ = 0) const;
+%MethodCode
+ int *tabarray;
+
+ if (intListToArray(a4,&tabarray) < 0)
+ sipIsErr = 1;
+ else
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = new QSize(sipCpp -> QFontMetrics::size(a0,a1,a2,a3,tabarray));
+ Py_END_ALLOW_THREADS
+
+ if (tabarray)
+ sipFree((ANY *)tabarray);
+ }
+%End
+%End
+%If (Qt_2_00 -)
+ bool inFont(QChar) const;
+ int leftBearing(QChar) const;
+ int rightBearing(QChar) const;
+ int width(const QString &,int = -1) const;
+ int width(QChar) const;
+%If (Qt_3_0_0 -)
+ int charWidth(const QString &,int) const;
+%End
+ QRect boundingRect(const QString &,int = -1) const;
+ QRect boundingRect(QChar) const;
+
+ QRect boundingRect(int,int,int,int,int,const QString &,int = -1,
+ int = 0,SIP_PYLIST /AllowNone/ = 0) const;
+%MethodCode
+ int *tabarray;
+
+ if (intListToArray(a8,&tabarray) < 0)
+ sipIsErr = 1;
+ else
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = new QRect(sipCpp -> QFontMetrics::boundingRect(a0,a1,a2,a3,a4,*a5,a6,a7,tabarray));
+ Py_END_ALLOW_THREADS
+
+ if (tabarray)
+ sipFree((ANY *)tabarray);
+ }
+%End
+
+ QSize size(int,const QString &,int = -1,int = 0,
+ SIP_PYLIST /AllowNone/ = 0) const;
+%MethodCode
+ int *tabarray;
+
+ if (intListToArray(a4,&tabarray) < 0)
+ sipIsErr = 1;
+ else
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = new QSize(sipCpp -> QFontMetrics::size(a0,*a1,a2,a3,tabarray));
+ Py_END_ALLOW_THREADS
+
+ if (tabarray)
+ sipFree((ANY *)tabarray);
+ }
+%End
+%End
+
+ int underlinePos() const;
+%If (Qt_3_2_0 -)
+ int overlinePos() const;
+%End
+ int strikeOutPos() const;
+ int lineWidth() const;
+
+%TypeCode
+// Convert an optional Python list of integers to a zero terminated array.
+// Return a negative value if there was an error.
+static int intListToArray(PyObject *pl,int **ap)
+{
+ int i, nint, *ip;
+
+ // The trivial case.
+ if (!pl || pl == Py_None)
+ {
+ *ap = 0;
+ return 0;
+ }
+
+ nint = PyList_Size(pl);
+
+ if ((*ap = (int *)sipMalloc((nint + 1) * sizeof (int))) == NULL)
+ return -1;
+
+ // Convert the list.
+ PyErr_Clear();
+
+ ip = *ap;
+
+ for (i = 0; i < nint; ++i)
+ {
+ *ip++ = PyInt_AsLong(PyList_GetItem(pl,i));
+
+ if (PyErr_Occurred())
+ {
+ sipFree((ANY *)*ap);
+ return -1;
+ }
+ }
+
+ // Terminate the list.
+ *ip = 0;
+
+ return 0;
+}
+%End
+
+};
diff --git a/sip/qt/qframe.sip b/sip/qt/qframe.sip
new file mode 100644
index 0000000..9e2a4e2
--- /dev/null
+++ b/sip/qt/qframe.sip
@@ -0,0 +1,180 @@
+// This is the SIP interface definition for QFrame.
+//
+// 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>QFrame</Title>
+<Para>
+<Literal>QFrame</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QFrame : QWidget
+{
+%TypeHeaderCode
+#include <qframe.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ QFrame(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0,
+ bool = 1);
+%End
+%If (Qt_3_0_0 -)
+ QFrame(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+%End
+
+ int frameStyle() const;
+%If (- Qt_2_00)
+ void setFrameStyle(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setFrameStyle(int);
+%End
+
+ int frameWidth() const;
+ QRect contentsRect() const;
+
+%If (- Qt_2_00)
+ bool lineShapesOk() const;
+%End
+
+ QSize sizeHint() const;
+%If (Qt_2_00 - Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+
+%If (- Qt_2_00)
+ enum {
+ NoFrame,
+ Box,
+ Panel,
+ WinPanel,
+ HLine,
+ VLine,
+ MShape,
+ Plain,
+ Raised,
+ Sunken,
+ MShadow
+ };
+%End
+%If (Qt_2_00 -)
+ enum Shape {
+ NoFrame,
+ Box,
+ Panel,
+ WinPanel,
+ HLine,
+ VLine,
+ StyledPanel,
+ PopupPanel,
+%If (Qt_3_0_0 -)
+ MenuBarPanel,
+ ToolBarPanel,
+%End
+%If (Qt_3_0_1 -)
+ LineEditPanel,
+ TabWidgetPanel,
+%End
+%If (Qt_3_1_0 -)
+ GroupBoxPanel,
+%End
+ MShape
+ };
+%End
+
+%If (Qt_2_00 -)
+ enum Shadow {
+ Plain,
+ Raised,
+ Sunken,
+ MShadow
+ };
+%End
+
+%If (- Qt_2_00)
+ int frameShape() const;
+%End
+%If (Qt_2_00 -)
+ Shape frameShape() const;
+ void setFrameShape(Shape);
+%End
+%If (- Qt_2_00)
+ int frameShadow() const;
+%End
+%If (Qt_2_00 -)
+ Shadow frameShadow() const;
+ void setFrameShadow(Shadow);
+%End
+
+ int lineWidth() const;
+%If (- Qt_2_00)
+ void setLineWidth(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setLineWidth(int);
+%End
+
+ int margin() const;
+%If (- Qt_2_00)
+ void setMargin(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setMargin(int);
+%End
+
+ int midLineWidth() const;
+%If (- Qt_2_00)
+ void setMidLineWidth(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setMidLineWidth(int);
+%End
+
+ QRect frameRect() const;
+%If (Qt_2_00 -)
+ virtual void setFrameRect(const QRect &);
+%End
+
+protected:
+%If (- Qt_2_00)
+ void setFrameRect(const QRect &);
+%End
+ void paintEvent(QPaintEvent *);
+ void resizeEvent(QResizeEvent *);
+ virtual void drawFrame(QPainter *);
+ virtual void drawContents(QPainter *);
+ virtual void frameChanged();
+%If (Qt_2_00 - Qt_3_0_0)
+ void updateMask();
+ virtual void drawFrameMask(QPainter *);
+ virtual void drawContentsMask(QPainter *);
+%End
+%If (Qt_3_1_0 -)
+ void styleChange(QStyle &);
+%End
+
+private:
+ QFrame(const QFrame &);
+};
diff --git a/sip/qt/qglobal.sip b/sip/qt/qglobal.sip
new file mode 100644
index 0000000..e2fb63a
--- /dev/null
+++ b/sip/qt/qglobal.sip
@@ -0,0 +1,74 @@
+// This is the SIP interface definition for some Qt globals.
+//
+// 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.
+
+
+%ModuleHeaderCode
+#include <qglobal.h>
+%End
+
+
+const int QT_VERSION;
+const char *QT_VERSION_STR;
+
+typedef unsigned char uchar;
+typedef unsigned short ushort;
+typedef unsigned uint;
+typedef unsigned long ulong;
+typedef char * pchar;
+typedef uchar * puchar;
+typedef const char * pcchar;
+
+typedef char Q_INT8;
+typedef unsigned char Q_UINT8;
+typedef short Q_INT16;
+typedef unsigned short Q_UINT16;
+typedef int Q_INT32;
+typedef unsigned Q_UINT32;
+
+%If (Qt_Q_LONG_IS_long)
+typedef long Q_LONG;
+typedef unsigned long Q_ULONG;
+%End
+%If (!Qt_Q_LONG_IS_long)
+typedef long long Q_LONG;
+typedef unsigned long long Q_ULONG;
+%End
+
+const char *qVersion();
+
+%If (Qt_3_0_0 -)
+%End
+
+%If (Qt_3_1_0 -)
+const char *qInstallPath();
+const char *qInstallPathDocs();
+const char *qInstallPathHeaders();
+const char *qInstallPathLibs();
+const char *qInstallPathBins();
+const char *qInstallPathPlugins();
+const char *qInstallPathData();
+%End
+%If (Qt_3_2_0 -)
+const char *qInstallPathTranslations();
+%If (!WS_WIN)
+const char *qInstallPathSysconf();
+%End
+%End
diff --git a/sip/qt/qgmanager.sip b/sip/qt/qgmanager.sip
new file mode 100644
index 0000000..5a194b8
--- /dev/null
+++ b/sip/qt/qgmanager.sip
@@ -0,0 +1,88 @@
+// This is the SIP interface definition for QGManager.
+//
+// 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>QGManager (Qt v1.x)</Title>
+<Para>
+<Literal>QGManager</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QChain (Qt v1.x)</Title>
+<Para>
+<Literal>QChain</Literal> is implemented as an opaque class.
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_2_00)
+
+class QChain;
+
+
+class QGManager : QObject
+{
+%TypeHeaderCode
+#include <qgmanager.h>
+%End
+
+public:
+ QGManager(QWidget *,const char * = 0);
+
+ enum Direction {
+ LeftToRight,
+ RightToLeft,
+ Down,
+ Up
+ };
+
+ enum {
+ unlimited = QCOORD_MAX
+ };
+
+ void setBorder(int);
+ QChain *newSerChain(Direction);
+ QChain *newParChain(Direction);
+ bool add(QChain *,QChain *,int = 0);
+ bool addWidget(QChain *,QWidget *,int = 0);
+ bool addSpacing(QChain *,int,int = 0,int = unlimited);
+ bool addBranch(QChain *,QChain *,int,int);
+ void setStretch(QChain *,int);
+ bool activate();
+ void freeze(int = 0,int = 0);
+ void unFreeze();
+ QChain *xChain();
+ QChain *yChain();
+ void setMenuBar(QWidget *);
+ QWidget *mainWidget();
+ void remove(QWidget *);
+ void setName(QChain *,const char *);
+
+protected:
+ bool eventFilter(QObject *,QEvent *);
+
+private:
+ QGManager(const QGManager &);
+};
+
+%End
diff --git a/sip/qt/qgrid.sip b/sip/qt/qgrid.sip
new file mode 100644
index 0000000..f26acb3
--- /dev/null
+++ b/sip/qt/qgrid.sip
@@ -0,0 +1,72 @@
+// This is the SIP interface definition for QGrid.
+//
+// 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>QGrid (Qt v2+)</Title>
+<Para>
+<Literal>QGrid</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QGrid : QFrame
+{
+%TypeHeaderCode
+#include <qgrid.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ enum Direction {
+ Horizontal,
+ Vertical
+ };
+%End
+
+ QGrid(int,QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+%If (- Qt_3_0_0)
+ QGrid(int,Direction,QWidget * /TransferThis/ = 0,const char * = 0,
+ WFlags = 0);
+%End
+%If (Qt_3_0_0 -)
+ QGrid(int,Orientation,QWidget * /TransferThis/ = 0,const char * = 0,
+ WFlags = 0);
+%End
+
+ void setSpacing(int);
+%If (Qt_2_1_0 -)
+ QSize sizeHint() const;
+%End
+
+protected:
+ void frameChanged();
+
+private:
+%If (Qt_2_1_0 -)
+ QGrid(const QGrid &);
+%End
+};
+
+%End
diff --git a/sip/qt/qgridview.sip b/sip/qt/qgridview.sip
new file mode 100644
index 0000000..d1ca16b
--- /dev/null
+++ b/sip/qt/qgridview.sip
@@ -0,0 +1,76 @@
+// This is the SIP interface definition for QGridView.
+//
+// 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>QGridView (Qt v3+)</Title>
+<Para>
+<Literal>QGridView</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QGridView : QScrollView
+{
+%TypeHeaderCode
+#include <qgridview.h>
+%End
+
+public:
+ QGridView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+
+ int numRows() const;
+ virtual void setNumRows(int);
+ int numCols() const;
+ virtual void setNumCols(int);
+
+ int cellWidth() const;
+ virtual void setCellWidth(int);
+ int cellHeight() const;
+ virtual void setCellHeight(int);
+
+ QRect cellRect() const;
+ QRect cellGeometry(int,int);
+ QSize gridSize() const;
+
+ int rowAt(int) const;
+ int columnAt(int) const;
+
+ void repaintCell(int,int,bool = 1);
+ void updateCell(int,int);
+ void ensureCellVisible(int,int);
+
+protected:
+ virtual void paintCell(QPainter *,int,int) = 0;
+ virtual void paintEmptyArea(QPainter *,int,int,int,int);
+
+ void drawContents(QPainter *,int,int,int,int);
+
+ virtual void dimensionChange(int,int);
+
+private:
+ QGridView(const QGridView &);
+};
+
+%End
diff --git a/sip/qt/qgroupbox.sip b/sip/qt/qgroupbox.sip
new file mode 100644
index 0000000..c420082
--- /dev/null
+++ b/sip/qt/qgroupbox.sip
@@ -0,0 +1,135 @@
+// This is the SIP interface definition for QGroupBox.
+//
+// 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>QGroupBox</Title>
+<Para>
+<Literal>QGroupBox</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QGroupBox : QFrame
+{
+%TypeHeaderCode
+#include <qgroupbox.h>
+%End
+
+public:
+ QGroupBox(QWidget * /TransferThis/ = 0,const char * = 0);
+%If (- Qt_2_00)
+ QGroupBox(const char *,QWidget * /TransferThis/ = 0,const char * = 0);
+%End
+%If (Qt_2_00 -)
+ QGroupBox(const QString &,QWidget * /TransferThis/ = 0,
+ const char * = 0);
+ QGroupBox(int,Orientation,QWidget * /TransferThis/ = 0,
+ const char * = 0);
+ QGroupBox(int,Orientation,const QString &,QWidget * /TransferThis/ = 0,
+ const char * = 0);
+%End
+
+%If (Qt_2_00 -)
+ virtual void setColumnLayout(int,Orientation);
+%End
+
+%If (- Qt_2_00)
+ const char *title() const;
+ void setTitle(const char *);
+%End
+%If (Qt_2_00 -)
+ QString title() const;
+ virtual void setTitle(const QString &);
+%End
+
+ int alignment() const;
+%If (- Qt_2_00)
+ void setAlignment(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setAlignment(int);
+%End
+
+%If (Qt_2_1_0 -)
+ int columns() const;
+ void setColumns(int);
+
+ Orientation orientation() const;
+ void setOrientation(Orientation);
+%End
+
+%If (Qt_3_0_0 -)
+ int insideMargin() const;
+ int insideSpacing() const;
+ void setInsideMargin(int);
+ void setInsideSpacing(int);
+%End
+
+%If (Qt_2_1_0 -)
+ void addSpace(int);
+%End
+%If (Qt_2_2_0 -)
+ QSize sizeHint() const;
+%End
+
+%If (Qt_3_1_0 -)
+ bool isFlat() const;
+ void setFlat(bool);
+%End
+%If (Qt_3_2_0 -)
+ bool isCheckable() const;
+ void setCheckable(bool);
+ bool isChecked() const;
+ void setEnabled(bool);
+%End
+
+public slots:
+%If (Qt_3_2_0 -)
+ void setChecked(bool);
+%End
+
+signals:
+%If (Qt_3_2_0 -)
+ void toggled(bool);
+%End
+
+protected:
+%If (Qt_2_2_0 -)
+ bool event(QEvent *);
+%End
+%If (Qt_2_00 -)
+ void childEvent(QChildEvent *);
+ void resizeEvent(QResizeEvent *);
+%End
+ void paintEvent(QPaintEvent *);
+%If (Qt_2_00 - Qt_3_0_0)
+ void updateMask();
+%End
+%If (Qt_2_1_0 -)
+ void focusInEvent(QFocusEvent *);
+ void fontChange(const QFont &);
+%End
+
+private:
+ QGroupBox(const QGroupBox &);
+};
diff --git a/sip/qt/qhbox.sip b/sip/qt/qhbox.sip
new file mode 100644
index 0000000..7e5b2ee
--- /dev/null
+++ b/sip/qt/qhbox.sip
@@ -0,0 +1,75 @@
+// This is the SIP interface definition for QHBox.
+//
+// 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>QHBox (Qt v2+)</Title>
+<Para>
+<Literal>QHBox</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QHBox : QFrame
+{
+%TypeHeaderCode
+#include <qhbox.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ QHBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0,
+ bool = 1);
+%End
+%If (Qt_3_0_0 -)
+ QHBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+%End
+
+ void setSpacing(int);
+%If (Qt_2_1_0 -)
+ bool setStretchFactor(QWidget *,int);
+ QSize sizeHint() const;
+%End
+
+protected:
+%If (- Qt_3_0_0)
+ QHBox(bool,QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0,
+ bool = 1);
+%End
+%If (Qt_3_0_0 - Qt_3_2_0)
+ QHBox(bool,QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+%End
+%If (Qt_3_2_0 -)
+ QHBox(bool,QWidget * /TransferThis/,const char *,WFlags = 0);
+%End
+
+ void frameChanged();
+
+private:
+%If (Qt_3_1_0 -)
+ QHBox(const QHBox &);
+%End
+};
+
+%End
diff --git a/sip/qt/qhbuttongroup.sip b/sip/qt/qhbuttongroup.sip
new file mode 100644
index 0000000..60cad68
--- /dev/null
+++ b/sip/qt/qhbuttongroup.sip
@@ -0,0 +1,48 @@
+// This is the SIP interface definition for QHButtonGroup.
+//
+// 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>QHButtonGroup (Qt v2+)</Title>
+<Para>
+<Literal>QHButtonGroup</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QHButtonGroup : QButtonGroup
+{
+%TypeHeaderCode
+#include <qhbuttongroup.h>
+%End
+
+public:
+ QHButtonGroup(QWidget * /TransferThis/ = 0,const char * = 0);
+ QHButtonGroup(const QString &,QWidget * /TransferThis/ = 0,const char * = 0);
+
+private:
+ QHButtonGroup(const QHButtonGroup &);
+};
+
+%End
diff --git a/sip/qt/qheader.sip b/sip/qt/qheader.sip
new file mode 100644
index 0000000..3030208
--- /dev/null
+++ b/sip/qt/qheader.sip
@@ -0,0 +1,268 @@
+// This is the SIP interface definition for QHeader.
+//
+// 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>QHeader</Title>
+<Para>
+<Literal>QHeader</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_2_00)
+
+class QHeader : QTableView
+{
+%TypeHeaderCode
+#include <qheader.h>
+%End
+
+public:
+ QHeader(QWidget * /TransferThis/ = 0,const char * = 0);
+ QHeader(int,QWidget * /TransferThis/ = 0,const char * = 0);
+
+ enum Orientation {
+ Horizontal,
+ Vertical
+ };
+
+ int addLabel(const char *,int = -1);
+ void setLabel(int,const char *,int = -1);
+ const char *label(int);
+ void setOrientation(Orientation);
+ Orientation orientation() const;
+ void setTracking(bool);
+ bool tracking() const;
+ void setClickEnabled(bool,int = -1);
+ void setResizeEnabled(bool,int = -1);
+ void setMovingEnabled(bool);
+ void setCellSize(int,int);
+ int cellSize(int) const;
+ int cellPos(int) const;
+ int cellAt(int) const;
+ int count() const;
+ int offset() const;
+ QSize sizeHint() const;
+ int mapToLogical(int) const;
+ int mapToActual(int) const;
+
+public slots:
+ void setOffset(int);
+
+signals:
+ void sectionClicked(int);
+ void sizeChange(int,int,int);
+ void moved(int,int);
+
+protected:
+ void resizeEvent(QResizeEvent *);
+ QRect sRect(int);
+ void paintCell(QPainter *,int,int);
+ void setupPainter(QPainter *);
+ int cellHeight(int);
+ int cellWidth(int);
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+
+private:
+ QHeader(const QHeader &);
+};
+
+%End
+
+
+%If (Qt_2_00 -)
+
+class QHeader : QWidget
+{
+%TypeHeaderCode
+#include <qheader.h>
+%End
+
+public:
+ QHeader(QWidget * /TransferThis/ = 0,const char * = 0);
+ QHeader(int,QWidget * /TransferThis/ = 0,const char * = 0);
+
+ int addLabel(const QString &,int = -1);
+ int addLabel(const QIconSet &,const QString &,int = -1);
+%If (Qt_2_1_0 -)
+ void removeLabel(int);
+%End
+ virtual void setLabel(int,const QString &,int = -1);
+ virtual void setLabel(int,const QIconSet &,const QString &,int = -1);
+
+ QString label(int) const;
+ QIconSet *iconSet(int) const;
+
+ virtual void setOrientation(Orientation);
+ Orientation orientation() const;
+ virtual void setTracking(bool);
+ bool tracking() const;
+
+ virtual void setClickEnabled(bool,int = -1);
+ virtual void setResizeEnabled(bool,int = -1);
+ virtual void setMovingEnabled(bool);
+%If (Qt_3_0_0 -)
+ virtual void setStretchEnabled(bool,int);
+%End
+%If (Qt_2_1_0 -)
+ bool isClickEnabled(int = -1) const;
+ bool isResizeEnabled(int = -1) const;
+ bool isMovingEnabled() const;
+%End
+%If (Qt_3_0_0 -)
+ bool isStretchEnabled() const;
+ bool isStretchEnabled(int) const;
+%End
+
+%If (Qt_2_1_0 -)
+ void resizeSection(int,int);
+ int sectionSize(int) const;
+ int sectionPos(int) const;
+ int sectionAt(int) const;
+%End
+ int count() const;
+%If (Qt_3_0_0 -)
+ int headerWidth() const;
+ QRect sectionRect(int) const;
+%End
+
+%If (- Qt_3_0_0)
+ virtual void setCellSize(int,int);
+ int cellSize(int) const;
+ int cellPos(int) const;
+ int cellAt(int) const;
+%End
+
+ int offset() const;
+
+ QSize sizeHint() const;
+%If (- Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+
+%If (Qt_2_1_0 -)
+ int mapToSection(int) const;
+ int mapToIndex(int) const;
+%End
+%If (- Qt_3_0_0)
+ int mapToLogical(int) const;
+ int mapToActual(int) const;
+%End
+
+%If (Qt_2_1_0 -)
+ void moveSection(int,int);
+%End
+%If (- Qt_3_0_0)
+ virtual void moveCell(int,int);
+%End
+
+%If (Qt_3_2_0 -)
+ // This is placed before the obsolete version below so that it has
+ // precedence. It may still cause problems with old code until SIP
+ // distinguishes between bools and enums.
+ void setSortIndicator(int,SortOrder);
+ int sortIndicatorSection() const;
+ SortOrder sortIndicatorOrder() const;
+%End
+%If (Qt_2_1_0 -)
+ // Obsolete.
+ void setSortIndicator(int,bool = 1);
+%End
+
+%If (Qt_3_0_0 -)
+ void adjustHeaderSize();
+%End
+
+public slots:
+%If (Qt_2_2_0 -)
+ void setUpdatesEnabled(bool);
+%End
+ virtual void setOffset(int);
+
+signals:
+%If (Qt_2_1_0 -)
+ void clicked(int);
+ void pressed(int);
+ void released(int);
+%End
+ void sizeChange(int,int,int);
+%If (Qt_2_1_0 -)
+ void indexChange(int,int,int);
+%End
+%If (- Qt_3_0_0)
+ void sectionClicked(int);
+ void moved(int,int);
+%End
+%If (Qt_3_2_0 -)
+ void sectionHandleDoubleClicked(int);
+%End
+
+protected:
+%If (Qt_2_1_0 -)
+ void paintEvent(QPaintEvent *);
+%End
+%If (Qt_2_2_0 -)
+ void showEvent(QShowEvent *);
+%End
+%If (- Qt_2_1_0)
+ void resizeEvent(QResizeEvent *);
+%End
+%If (Qt_3_0_0 -)
+ void resizeEvent(QResizeEvent *);
+%End
+ QRect sRect(int);
+
+%If (- Qt_3_0_0)
+ void paintSection(QPainter *,int,QRect);
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ void paintSectionLabel(QPainter *,int,const QRect &);
+%End
+%If (Qt_3_0_0 -)
+ virtual void paintSection(QPainter *,int,const QRect &);
+ virtual void paintSectionLabel(QPainter *,int,const QRect &);
+%End
+
+%If (Qt_3_1_0 -)
+ void fontChange(const QFont &);
+%End
+
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+%If (Qt_3_2_0 -)
+ void mouseDoubleClickEvent(QMouseEvent *);
+%End
+
+%If (Qt_3_1_0 -)
+ void keyPressEvent(QKeyEvent *);
+ void keyReleaseEvent(QKeyEvent *);
+%End
+
+private:
+ QHeader(const QHeader &);
+};
+
+%End
diff --git a/sip/qt/qhgroupbox.sip b/sip/qt/qhgroupbox.sip
new file mode 100644
index 0000000..c12059a
--- /dev/null
+++ b/sip/qt/qhgroupbox.sip
@@ -0,0 +1,48 @@
+// This is the SIP interface definition for QHGroupBox.
+//
+// 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>QHGroupBox (Qt v2+)</Title>
+<Para>
+<Literal>QHGroupBox</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QHGroupBox : QGroupBox
+{
+%TypeHeaderCode
+#include <qhgroupbox.h>
+%End
+
+public:
+ QHGroupBox(QWidget * /TransferThis/ = 0,const char * = 0);
+ QHGroupBox(const QString &,QWidget * /TransferThis/ = 0,const char * = 0);
+
+private:
+ QHGroupBox(const QHGroupBox &);
+};
+
+%End
diff --git a/sip/qt/qiconset.sip b/sip/qt/qiconset.sip
new file mode 100644
index 0000000..4a55058
--- /dev/null
+++ b/sip/qt/qiconset.sip
@@ -0,0 +1,146 @@
+// This is the SIP interface definition for QIconSet and QIconFactory.
+//
+// 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>QIconSet</Title>
+<Para>
+<Literal>QIconSet</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QIconFactory (Qt v3.1+)</Title>
+<Para>
+<Literal>QIconFactory</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QIconSet
+{
+%TypeHeaderCode
+#include <qiconset.h>
+%End
+
+public:
+ enum Size {
+ Automatic,
+ Small,
+ Large
+ };
+
+ enum Mode {
+ Normal,
+ Disabled,
+ Active
+ };
+
+%If (Qt_3_0_0 -)
+ enum State {
+ On,
+ Off
+ };
+%End
+
+%If (Qt_2_1_0 -)
+ QIconSet();
+%End
+ QIconSet(const QPixmap &,Size = Automatic);
+%If (Qt_2_2_0 -)
+ QIconSet(const QPixmap &,const QPixmap &);
+%End
+ QIconSet(const QIconSet &);
+
+ void reset(const QPixmap &,Size);
+
+%If (- Qt_2_00)
+ void setPixmap(const QPixmap &,Size,Mode = Normal);
+ void setPixmap(const char *,Size,Mode = Normal);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ virtual void setPixmap(const QPixmap &,Size,Mode = Normal);
+ virtual void setPixmap(const QString &,Size,Mode = Normal);
+%End
+%If (Qt_3_0_0 -)
+ virtual void setPixmap(const QPixmap &,Size,Mode = Normal,State = Off);
+ virtual void setPixmap(const QString &,Size,Mode = Normal,State = Off);
+%End
+%If (- Qt_3_0_0)
+ QPixmap pixmap(Size,Mode) const;
+%If (Qt_2_1_0 -)
+// QPixmap pixmap(Size,bool) const;
+%End
+%End
+%If (Qt_3_0_0 -)
+ QPixmap pixmap(Size,Mode,State = Off) const;
+// QPixmap pixmap(Size,bool,State = Off) const;
+%End
+ QPixmap pixmap() const;
+%If (- Qt_3_0_0)
+ bool isGenerated(Size,Mode) const;
+%End
+%If (Qt_3_0_0 -)
+ bool isGenerated(Size,Mode,State = Off) const;
+ void clearGenerated();
+%End
+%If (Qt_3_1_0 -)
+ void installIconFactory(QIconFactory *);
+%End
+
+%If (Qt_2_1_0 -)
+ bool isNull() const;
+%End
+
+ void detach();
+
+%If (Qt_3_0_0 -)
+ static void setIconSize(Size,const QSize &);
+ static const QSize &iconSize(Size);
+%End
+};
+
+
+%If (Qt_3_1_0 -)
+
+class QIconFactory
+{
+%TypeHeaderCode
+#include <qiconset.h>
+%End
+
+public:
+ QIconFactory();
+
+ virtual QPixmap *createPixmap(const QIconSet &,QIconSet::Size,
+ QIconSet::Mode,
+ QIconSet::State) /Factory/;
+ void setAutoDelete(bool);
+ bool autoDelete() const;
+
+ static QIconFactory *defaultFactory();
+ static void installDefaultFactory(QIconFactory * /Transfer/);
+
+private:
+ QIconFactory(const QIconFactory &);
+};
+
+%End
diff --git a/sip/qt/qiconview.sip b/sip/qt/qiconview.sip
new file mode 100644
index 0000000..122d2ec
--- /dev/null
+++ b/sip/qt/qiconview.sip
@@ -0,0 +1,457 @@
+// This is the SIP interface definition for QIconView, QIconViewItem, QIconDrag
+// and QIconDragItem.
+//
+// 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>QIconView (Qt v2.1+)</Title>
+<FuncSynopsis>
+ <FuncDef>QIconViewItem *<Function>makeRowLayout</Function></FuncDef>
+ <ParamDef>QIconViewItem *<Parameter>begin</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>y</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QIconViewItem (Qt v2.1+)</Title>
+<Para>
+<Literal>QIconViewItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QIconDrag (Qt v2.1+)</Title>
+<Para>
+<Literal>QIconDrag</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QIconDragItem (Qt v2.1+)</Title>
+<Para>
+<Literal>QIconDragItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_ICONVIEW)
+%If (Qt_2_1_0 -)
+
+%If (Qt_DRAGANDDROP)
+
+class QIconDragItem
+{
+%TypeHeaderCode
+#include <qiconview.h>
+%End
+
+public:
+ QIconDragItem();
+
+ virtual QByteArray data() const;
+ virtual void setData(const QByteArray &);
+};
+
+
+class QIconDrag : QDragObject
+{
+%TypeHeaderCode
+#include <qiconview.h>
+%End
+
+public:
+ QIconDrag(QWidget * /TransferThis/,const char * = 0);
+
+ void append(const QIconDragItem &,const QRect &,const QRect &);
+
+ virtual const char* format(int) const;
+ static bool canDecode(QMimeSource *);
+ virtual QByteArray encodedData(const char *) const;
+
+private:
+%If (Qt_3_1_0 -)
+ QIconDrag(const QIconDrag &);
+%End
+};
+
+%End
+
+
+class QIconViewItem : Qt
+{
+%TypeHeaderCode
+#include <qiconview.h>
+%End
+
+public:
+ QIconViewItem(QIconView * /TransferThis/);
+ QIconViewItem(QIconView * /TransferThis/,QIconViewItem *);
+ QIconViewItem(QIconView * /TransferThis/,const QString &);
+ QIconViewItem(QIconView * /TransferThis/,QIconViewItem *,
+ const QString &);
+ QIconViewItem(QIconView * /TransferThis/,const QString &,
+ const QPixmap &);
+ QIconViewItem(QIconView * /TransferThis/,QIconViewItem *,
+ const QString &,const QPixmap &);
+%If (Qt_3_0_0 -)
+ QIconViewItem(QIconView * /TransferThis/,const QString &,
+ const QPicture &);
+ QIconViewItem(QIconView * /TransferThis/,QIconViewItem *,
+ const QString &,const QPicture &);
+%End
+
+ virtual void setRenameEnabled(bool);
+ virtual void setDragEnabled(bool);
+ virtual void setDropEnabled(bool);
+
+ virtual QString text() const;
+ virtual QPixmap *pixmap() const;
+%If (Qt_3_0_0 -)
+ virtual QPicture *picture() const;
+%End
+ virtual QString key() const;
+
+ bool renameEnabled() const;
+ bool dragEnabled() const;
+ bool dropEnabled() const;
+
+ QIconView *iconView() const;
+ QIconViewItem *prevItem() const;
+ QIconViewItem *nextItem() const;
+
+ int index() const;
+
+ virtual void setSelected(bool,bool);
+ virtual void setSelected(bool);
+ virtual void setSelectable(bool);
+
+ bool isSelected() const;
+ bool isSelectable() const;
+
+ virtual void repaint();
+
+%If (- Qt_3_0_0)
+ virtual void move(int,int);
+%End
+%If (Qt_3_0_0 -)
+ virtual bool move(int,int);
+%End
+ virtual void moveBy(int,int);
+%If (- Qt_3_0_0)
+ virtual void move(const QPoint &);
+%End
+%If (Qt_3_0_0 -)
+ virtual bool move(const QPoint &);
+%End
+ virtual void moveBy(const QPoint &);
+
+ QRect rect() const;
+ int x() const;
+ int y() const;
+ int width() const;
+ int height() const;
+ QSize size() const;
+ QPoint pos() const;
+ QRect textRect(bool = 1) const;
+ QRect pixmapRect(bool = 1) const;
+%If (- Qt_3_0_0)
+ bool contains(QPoint) const;
+ bool intersects(QRect) const;
+%End
+%If (Qt_3_0_0 -)
+ bool contains(const QPoint &) const;
+ bool intersects(const QRect &) const;
+%End
+
+ virtual bool acceptDrop(const QMimeSource *) const;
+
+ void rename();
+
+ virtual int compare(QIconViewItem *) const;
+
+ virtual void setText(const QString &);
+ virtual void setPixmap(const QPixmap &);
+%If (Qt_3_0_0 -)
+ virtual void setPicture(const QPicture &);
+%End
+ virtual void setText(const QString &,bool,bool = 1);
+ virtual void setPixmap(const QPixmap &,bool,bool = 1);
+ virtual void setKey(const QString &);
+
+%If (Qt_3_0_0 -)
+ virtual int rtti() const;
+%End
+
+protected:
+ virtual void removeRenameBox();
+ virtual void calcRect(const QString & = QString::null);
+ virtual void paintItem(QPainter *,const QColorGroup &);
+ virtual void paintFocus(QPainter *,const QColorGroup &);
+%If (Qt_DRAGANDDROP)
+ virtual void dropped(QDropEvent *,const QValueList<QIconDragItem> &);
+%End
+ virtual void dragEntered();
+ virtual void dragLeft();
+ void setItemRect(const QRect &);
+ void setTextRect(const QRect &);
+ void setPixmapRect(const QRect &);
+ void calcTmpText();
+%If (Qt_3_1_0 -)
+ QString tempText() const;
+%End
+};
+
+
+class QIconView : QScrollView
+{
+%TypeHeaderCode
+#include <qiconview.h>
+%End
+
+public:
+ enum SelectionMode {
+ Single,
+ Multi,
+ Extended,
+ NoSelection
+ };
+
+ enum Arrangement {
+ LeftToRight,
+ TopToBottom
+ };
+
+ enum ResizeMode {
+ Fixed,
+ Adjust
+ };
+
+ enum ItemTextPos {
+ Bottom,
+ Right
+ };
+
+ QIconView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+
+ virtual void insertItem(QIconViewItem *,QIconViewItem * = 0);
+ virtual void takeItem(QIconViewItem *);
+
+ int index(const QIconViewItem *) const;
+
+ QIconViewItem *firstItem() const;
+ QIconViewItem *lastItem() const;
+ QIconViewItem *currentItem() const;
+ virtual void setCurrentItem(QIconViewItem *);
+ virtual void setSelected(QIconViewItem *,bool,bool = 0);
+
+ uint count() const;
+
+ virtual void showEvent(QShowEvent *);
+
+ virtual void setSelectionMode(SelectionMode);
+ SelectionMode selectionMode() const;
+
+ QIconViewItem *findItem(const QPoint &) const;
+%If (- Qt_3_0_0)
+ QIconViewItem *findItem(const QString &) const;
+%End
+%If (Qt_3_0_0 -)
+ QIconViewItem *findItem(const QString &,
+ ComparisonFlags = BeginsWith) const;
+%End
+ virtual void selectAll(bool);
+ virtual void clearSelection();
+ virtual void invertSelection();
+
+ virtual void repaintItem(QIconViewItem *);
+%If (Qt_3_1_0 -)
+ void repaintSelectedItems();
+%End
+
+ void ensureItemVisible(QIconViewItem *);
+ QIconViewItem* findFirstVisibleItem(const QRect &) const;
+ QIconViewItem* findLastVisibleItem(const QRect &) const;
+
+ virtual void clear();
+
+ virtual void setGridX(int);
+ virtual void setGridY(int);
+ int gridX() const;
+ int gridY() const;
+ virtual void setSpacing(int);
+ int spacing() const;
+ virtual void setItemTextPos(ItemTextPos);
+ ItemTextPos itemTextPos() const;
+ virtual void setItemTextBackground(const QBrush &);
+ QBrush itemTextBackground() const;
+ virtual void setArrangement(Arrangement);
+ Arrangement arrangement() const;
+ virtual void setResizeMode(ResizeMode);
+ ResizeMode resizeMode() const;
+ virtual void setMaxItemWidth(int);
+ int maxItemWidth() const;
+ virtual void setMaxItemTextLength(int);
+ int maxItemTextLength() const;
+ virtual void setAutoArrange(bool);
+ bool autoArrange() const;
+ virtual void setShowToolTips(bool);
+ bool showToolTips() const;
+
+ void setSorting(bool,bool = 1);
+ bool sorting() const;
+ bool sortDirection() const;
+
+ virtual void setItemsMovable(bool);
+ bool itemsMovable() const;
+ virtual void setWordWrapIconText(bool);
+ bool wordWrapIconText() const;
+
+ bool eventFilter(QObject *,QEvent *);
+
+ QSize minimumSizeHint() const;
+%If (- Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+ QSize sizeHint() const;
+
+ virtual void sort(bool = 1);
+
+ virtual void setFont(const QFont &);
+ virtual void setPalette(const QPalette &);
+
+%If (Qt_3_0_0 -)
+ bool isRenaming() const;
+%End
+
+public slots:
+ virtual void arrangeItemsInGrid(const QSize &,bool = 1);
+ virtual void arrangeItemsInGrid(bool = 1);
+ virtual void setContentsPos(int,int);
+ virtual void updateContents();
+
+signals:
+ void selectionChanged();
+ void selectionChanged(QIconViewItem *);
+ void currentChanged(QIconViewItem *);
+ void clicked(QIconViewItem *);
+ void clicked(QIconViewItem *,const QPoint &);
+ void pressed(QIconViewItem *);
+ void pressed(QIconViewItem *,const QPoint &);
+
+ void doubleClicked(QIconViewItem *);
+ void returnPressed(QIconViewItem *);
+ void rightButtonClicked(QIconViewItem *,const QPoint &);
+ void rightButtonPressed(QIconViewItem *,const QPoint &);
+ void mouseButtonPressed(int,QIconViewItem *,const QPoint &);
+ void mouseButtonClicked(int,QIconViewItem *,const QPoint &);
+%If (Qt_3_0_0 -)
+ void contextMenuRequested(QIconViewItem *,const QPoint &);
+%End
+%If (Qt_DRAGANDDROP)
+ void dropped(QDropEvent *,const QValueList<QIconDragItem> &);
+%End
+ void moved();
+ void onItem(QIconViewItem *);
+ void onViewport();
+ void itemRenamed(QIconViewItem *,const QString &);
+ void itemRenamed(QIconViewItem *);
+
+protected slots:
+ virtual void doAutoScroll();
+ virtual void adjustItems();
+ virtual void slotUpdate();
+
+protected:
+%If (- Qt_3_0_0)
+ virtual void drawContents(QPainter *,int,int,int,int);
+ virtual void contentsMousePressEvent(QMouseEvent *);
+ virtual void contentsMouseReleaseEvent(QMouseEvent *);
+ virtual void contentsMouseMoveEvent(QMouseEvent *);
+ virtual void contentsMouseDoubleClickEvent(QMouseEvent *);
+%End
+%If (Qt_3_0_0 -)
+ void drawContents(QPainter *,int,int,int,int);
+ void contentsMousePressEvent(QMouseEvent *);
+ void contentsMouseReleaseEvent(QMouseEvent *);
+ void contentsMouseMoveEvent(QMouseEvent *);
+ void contentsMouseDoubleClickEvent(QMouseEvent *);
+ void contentsContextMenuEvent(QContextMenuEvent *);
+%End
+
+%If (- Qt_3_0_0)
+%If (Qt_DRAGANDDROP)
+ virtual void contentsDragEnterEvent(QDragEnterEvent *);
+ virtual void contentsDragMoveEvent(QDragMoveEvent *);
+ virtual void contentsDragLeaveEvent(QDragLeaveEvent *);
+ virtual void contentsDropEvent(QDropEvent *);
+%End
+
+ virtual void resizeEvent(QResizeEvent *);
+ virtual void keyPressEvent(QKeyEvent *);
+ virtual void focusInEvent(QFocusEvent *);
+ virtual void focusOutEvent(QFocusEvent *);
+ virtual void enterEvent(QEvent *);
+%End
+%If (Qt_3_0_0 -)
+%If (Qt_DRAGANDDROP)
+ void contentsDragEnterEvent(QDragEnterEvent *);
+ void contentsDragMoveEvent(QDragMoveEvent *);
+ void contentsDragLeaveEvent(QDragLeaveEvent *);
+ void contentsDropEvent(QDropEvent *);
+%End
+
+ void resizeEvent(QResizeEvent *);
+ void keyPressEvent(QKeyEvent *);
+ void focusInEvent(QFocusEvent *);
+ void focusOutEvent(QFocusEvent *);
+ void enterEvent(QEvent *);
+%End
+
+ virtual void drawRubber(QPainter *);
+%If (Qt_DRAGANDDROP)
+ virtual QDragObject *dragObject();
+ virtual void startDrag();
+%End
+ virtual void insertInGrid(QIconViewItem *);
+ virtual void drawBackground(QPainter *,const QRect &);
+
+ void emitSelectionChanged(QIconViewItem * = 0);
+ void emitRenamed(QIconViewItem *);
+
+%If (- Qt_3_0_0)
+// QIconViewItem *makeRowLayout(QIconViewItem *,int &);
+%End
+%If (Qt_3_0_0 -)
+// QIconViewItem *makeRowLayout(QIconViewItem *,int &,bool &);
+%End
+
+ void styleChange(QStyle &);
+%If (Qt_3_0_0 -)
+ void windowActivationChange(bool);
+%End
+
+private:
+ QIconView(const QIconView &);
+};
+
+%End
+%End
diff --git a/sip/qt/qimage.sip b/sip/qt/qimage.sip
new file mode 100644
index 0000000..5c9b0bb
--- /dev/null
+++ b/sip/qt/qimage.sip
@@ -0,0 +1,544 @@
+// This is the SIP interface definition for QImage, QImageIO and
+// QImageTextKeyLang.
+//
+// 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>QImage</Title>
+<Para>
+The Python <Literal>==</Literal> and <Literal>!=</Literal> operators are
+supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef><Function>QImage</Function></FuncDef>
+ <ParamDef>const char *<Parameter>xpm</Parameter>[]</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a list of strings as its parameter.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef><Function>QImage</Function></FuncDef>
+ <ParamDef>uchar *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>int <Parameter>w</Parameter></ParamDef>
+ <ParamDef>int <Parameter>h</Parameter></ParamDef>
+ <ParamDef>int <Parameter>depth</Parameter></ParamDef>
+ <ParamDef>QRgb *<Parameter>colorTable</Parameter></ParamDef>
+ <ParamDef>int <Parameter>numColors</Parameter></ParamDef>
+ <ParamDef>Endian <Parameter>bitOrder</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>colorTable</Literal> parameter is a list of QRgb instances or
+None. (Qt v2.1+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>uchar *<Function>bits</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+The return value is a <Literal>sip.voidptr</Literal> object which is only
+useful if passed to another Python module.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QRgb *<Function>colorTable</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+The return value is a <Literal>sip.voidptr</Literal> object which is only
+useful if passed to another Python module.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QImage <Function>convertDepthWithPalette</Function></FuncDef>
+ <ParamDef>int</ParamDef>
+ <ParamDef>QRgb *<Parameter>p</Parameter></ParamDef>
+ <ParamDef>int <Parameter>pc</Parameter></ParamDef>
+ <ParamDef>int <Parameter>cf</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>uchar **<Function>jumpTable</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+The return value is a <Literal>sip.voidptr</Literal> object which is only
+useful if passed to another Python module.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>loadFromData</Function></FuncDef>
+ <ParamDef>const uchar *<Parameter>buf</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>len</Parameter></ParamDef>
+ <ParamDef>const char *<Parameter>format</Parameter> = 0</ParamDef>
+ <ParamDef>ColorMode <Parameter>mode</Parameter> = Auto</ParamDef>
+</FuncSynopsis>
+<Para>
+<Literal>len</Literal> is derived from <Literal>buf</Literal> and not passed as
+a parameter.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>uchar *<Function>scanLine</Function></FuncDef>
+ <ParamDef>int <Parameter>i</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+The return value is a <Literal>sip.voidptr</Literal> object which is only
+useful if passed to another Python module.
+</Para>
+</Sect2>
+
+<Sect2><Title>QImageIO</Title>
+<FuncSynopsis>
+ <FuncDef>static void <Function>defineIOHandler</Function></FuncDef>
+ <ParamDef>const char *<Parameter>format</Parameter></ParamDef>
+ <ParamDef>const char *<Parameter>header</Parameter></ParamDef>
+ <ParamDef>const char *<Parameter>flags</Parameter></ParamDef>
+ <ParamDef>image_io_handler <Parameter>read_image</Parameter></ParamDef>
+ <ParamDef>image_io_handler <Parameter>write_image</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QImageTextKeyLang</Title>
+<Para>
+<Literal>QImageTextKeyLang</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QImage
+{
+%TypeHeaderCode
+#include <qimage.h>
+%End
+
+public:
+ enum Endian {
+ IgnoreEndian,
+ BigEndian,
+ LittleEndian
+ };
+
+ QImage();
+ QImage(int,int,int,int = 0,Endian = IgnoreEndian);
+ QImage(const QSize &,int,int = 0,Endian = IgnoreEndian);
+%If (- Qt_2_00)
+ QImage(const char *,char * = 0);
+%End
+%If (Qt_2_00 -)
+ QImage(const QString &,char * = 0);
+%End
+
+ QImage(SIP_PYLIST) [(const char **)];
+%MethodCode
+ // The Python interface is a list of strings that make up the
+ // image.
+
+ const char **str;
+
+ if ((str = PyQt_qt_ListToArray(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ // There is no wrapper class for QImage.
+
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp = new QImage(str);
+ Py_END_ALLOW_THREADS
+
+ sipFree((ANY *)str);
+ }
+%End
+
+%If (Qt_2_00 -)
+ QImage(const QByteArray &);
+%End
+
+%If (Qt_2_1_0 -)
+ QImage(uchar *,int,int,int,SIP_PYLIST /AllowNone/,int,Endian) [(uchar *,int,int,int,int,QRgb *,int,Endian)];
+%MethodCode
+ // The Python interface takes a list of QRgb instances.
+
+ QRgb *coltab;
+
+ if (a4 == Py_None)
+ coltab = 0;
+ else
+ {
+ int len = PyList_Size(a4);
+
+ if (a5 > len)
+ a5 = len;
+
+ coltab = new QRgb[len];
+
+ PyErr_Clear();
+
+ for (int i = 0; i < a5; ++i)
+ {
+ coltab[i] = PyLong_AsUnsignedLong(PyList_GetItem(a4,i));
+
+ if (PyErr_Occurred())
+ {
+ delete[] coltab;
+ sipIsErr = 1;
+ break;
+ }
+ }
+ }
+
+ if (!sipIsErr)
+ {
+ // There is no wrapper class for QImage.
+
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp = new QImage(a0,a1,a2,a3,0,a5,(QImage::Endian)a6);
+
+ if (coltab)
+ {
+ // Now set the colours using the QImage's self
+ // allocated colour table. If we had passed in
+ // coltab as the colour table then we couldn't
+ // have freed it and it would leak.
+ for (int i = 0; i < a5; ++i)
+ sipCpp -> setColor(i,coltab[i]);
+
+ delete[] coltab;
+ }
+ Py_END_ALLOW_THREADS
+ }
+%End
+%End
+
+ QImage(const QImage &);
+
+ bool operator==(const QImage &) const;
+ bool operator!=(const QImage &) const;
+
+ void detach();
+ QImage copy() const;
+ QImage copy(int,int,int,int,int = 0) const;
+%If (- Qt_3_0_0)
+ QImage copy(QRect &) const;
+%End
+%If (Qt_3_0_0 -)
+ QImage copy(const QRect &) const;
+%End
+%If (Qt_3_1_0 -)
+ static QImage fromMimeSource(const QString &);
+%End
+ bool isNull() const;
+
+ int width() const;
+ int height() const;
+ QSize size() const;
+ QRect rect() const;
+ int depth() const;
+ int numColors() const;
+ Endian bitOrder() const;
+
+ QRgb color(int) const;
+ void setColor(int,QRgb);
+ void setNumColors(int);
+
+ bool hasAlphaBuffer() const;
+ void setAlphaBuffer(bool);
+
+ bool allGray() const;
+ bool isGrayscale() const;
+
+ // Actually returns uchar *.
+ void *bits() const;
+ // Actually returns uchar *.
+ void *scanLine(int) const;
+ // Actually returns uchar **.
+ void *jumpTable() const;
+ // Actually returns QRgb *.
+ void *colorTable() const;
+ int numBytes() const;
+ int bytesPerLine() const;
+
+ bool create(int,int,int,int = 0,Endian = IgnoreEndian);
+ bool create(const QSize &,int,int = 0,Endian = IgnoreEndian);
+ void reset();
+
+ void fill(uint);
+%If (Qt_2_00 -)
+ void invertPixels(bool = 1);
+%End
+
+ QImage convertDepth(int) const;
+// QImage convertDepthWithPalette(int,QRgb *,int,int = 0) const;
+ QImage convertDepth(int,int) const;
+ QImage convertBitOrder(Endian) const;
+
+%If (- Qt_3_0_0)
+ QImage smoothScale(int,int) const;
+%End
+%If (Qt_3_0_0 -)
+ enum ScaleMode {
+ ScaleFree,
+ ScaleMin,
+ ScaleMax
+ };
+
+ QImage smoothScale(int,int,ScaleMode = ScaleFree) const;
+ QImage smoothScale(const QSize &,ScaleMode = ScaleFree) const;
+ QImage scale(int,int,ScaleMode = ScaleFree) const;
+ QImage scale(const QSize &,ScaleMode = ScaleFree) const;
+ QImage scaleWidth(int) const;
+ QImage scaleHeight(int) const;
+ QImage xForm(const QWMatrix &) const;
+%End
+
+%If (- Qt_2_00)
+ QImage createAlphaMask(bool = 0) const;
+ QImage createAlphaMask(int) const;
+%End
+%If (Qt_2_00 -)
+ QImage createAlphaMask(int = 0) const;
+%End
+ QImage createHeuristicMask(bool = 1) const;
+%If (Qt_2_00 -)
+ QImage mirror() const;
+%End
+%If (Qt_2_1_0 -)
+ QImage mirror(bool,bool) const;
+%End
+%If (Qt_2_00 -)
+ QImage swapRGB() const;
+%End
+
+ static Endian systemBitOrder();
+ static Endian systemByteOrder();
+
+%If (- Qt_2_00)
+ static const char *imageFormat(const char *);
+%End
+%If (Qt_2_00 -)
+ static const char *imageFormat(const QString &);
+%End
+ static QStrList inputFormats();
+ static QStrList outputFormats();
+%If (Qt_2_1_0 -)
+ static QStringList inputFormatList();
+ static QStringList outputFormatList();
+%End
+%If (- Qt_2_00)
+ bool load(const char *,const char * = 0);
+%End
+%If (Qt_2_00 -)
+ bool load(const QString &,const char * = 0);
+%End
+ bool loadFromData(const uchar * /Array/,uint /ArraySize/,
+ const char * = 0);
+ bool loadFromData(QByteArray,char * = 0);
+%If (- Qt_2_00)
+ bool save(const char *,const char *) const;
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ bool save(const QString &,const char *) const;
+%End
+%If (Qt_2_2_0 - Qt_3_0_0)
+ bool save(const QString &,const char *,int) const;
+%End
+%If (Qt_3_0_0 -)
+ bool save(const QString &,const char *,int = -1) const;
+%End
+%If (Qt_3_2_0 -)
+ bool save(QIODevice *,const char *,int = -1) const;
+%End
+
+ bool valid(int,int) const;
+ int pixelIndex(int,int) const;
+ QRgb pixel(int,int) const;
+ void setPixel(int,int,uint);
+
+%If (Qt_2_1_0 -)
+ int dotsPerMeterX() const;
+ int dotsPerMeterY() const;
+ void setDotsPerMeterX(int);
+ void setDotsPerMeterY(int);
+ QPoint offset() const;
+ void setOffset(const QPoint &);
+%If (Qt_IMAGE_TEXT)
+ QValueList<QImageTextKeyLang> textList() const;
+ QStringList textLanguages() const;
+ QStringList textKeys() const;
+ QString text(const char *,const char * = 0) const;
+ QString text(const QImageTextKeyLang &) const;
+ void setText(const char *,const char *,const QString &);
+%End
+%End
+};
+
+
+void bitBlt(QImage *,int,int,const QImage *,int = 0,int = 0,int = -1,int = -1,
+ int = 0);
+
+
+class QImageIO
+{
+%TypeHeaderCode
+#include <qimage.h>
+%End
+
+public:
+ QImageIO();
+ QImageIO(QIODevice *,const char *);
+%If (Qt_2_00 -)
+ QImageIO(const QString &,const char *);
+%End
+%If (- Qt_2_00)
+ QImageIO(const char *,const char *);
+%End
+
+ const QImage &image() const;
+ int status() const;
+ const char *format() const;
+ QIODevice *ioDevice() const;
+%If (Qt_2_00 -)
+ QString fileName() const;
+%End
+%If (- Qt_2_00)
+ const char *fileName() const;
+%End
+%If (Qt_3_0_0 -)
+ int quality() const;
+%End
+%If (Qt_2_00 -)
+ QString description() const;
+%End
+%If (- Qt_2_00)
+ const char *description() const;
+%End
+ const char *parameters() const;
+%If (Qt_3_0_0 -)
+ float gamma() const;
+%End
+
+ void setImage(const QImage &);
+ void setStatus(int);
+ void setFormat(const char *);
+ void setIODevice(QIODevice *);
+%If (Qt_2_00 -)
+ void setFileName(const QString &);
+%End
+%If (- Qt_2_00)
+ void setFileName(const char *);
+%End
+%If (Qt_3_0_0 -)
+ void setQuality(int);
+%End
+%If (Qt_2_00 -)
+ void setDescription(const QString &);
+%End
+%If (- Qt_2_00)
+ void setDescription(const char *);
+%End
+ void setParameters(const char *);
+%If (Qt_3_0_0 -)
+ void setGamma(float);
+%End
+
+ bool read();
+ bool write();
+
+ static const char *imageFormat(const QString &);
+ static const char *imageFormat(QIODevice *);
+ static QStrList inputFormats();
+ static QStrList outputFormats();
+
+// static void defineIOHandler(const char *,const char *,const char *,
+// image_io_handler,image_io_handler);
+
+private:
+ QImageIO(const QImageIO &);
+};
+
+
+%If (Qt_2_1_0 -)
+%If (Qt_IMAGE_TEXT)
+
+class QImageTextKeyLang
+{
+%TypeHeaderCode
+#include <qimage.h>
+%End
+
+public:
+ QImageTextKeyLang(const char *,const char *);
+ QImageTextKeyLang();
+
+ QCString key;
+ QCString lang;
+};
+
+%End
+%End
+
+
+%ModuleHeaderCode
+const char **PyQt_qt_ListToArray(PyObject *lst);
+%End
+
+
+%ModuleCode
+// Convert a list of strings to an array of strings on the heap. Also used by
+// QPixmap.
+const char **PyQt_qt_ListToArray(PyObject *lst)
+{
+ int nstr;
+ const char **str, **sp;
+
+ nstr = PyList_Size(lst);
+
+ if ((str = (const char **)sipMalloc(nstr * sizeof (char *))) == NULL)
+ return NULL;
+
+ // Convert the list.
+ sp = str;
+
+ for (int i = 0; i < nstr; ++i)
+ {
+ char *s;
+
+ if ((s = PyString_AsString(PyList_GetItem(lst,i))) == NULL)
+ {
+ sipFree((ANY *)str);
+ return NULL;
+ }
+
+ *sp++ = s;
+ }
+
+ return str;
+}
+%End
diff --git a/sip/qt/qinputdialog.sip b/sip/qt/qinputdialog.sip
new file mode 100644
index 0000000..80a5394
--- /dev/null
+++ b/sip/qt/qinputdialog.sip
@@ -0,0 +1,174 @@
+// This is the SIP interface definition for QInputDialog.
+//
+// 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>QInputDialog (Qt v2.1+)</Title>
+<FuncSynopsis>
+ <FuncDef>static QString <Function>getText</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>caption</Parameter></ParamDef>
+ <ParamDef>const QString &amp;<Parameter>label</Parameter></ParamDef>
+ <ParamDef>const QString &amp;<Parameter>text</Parameter> = QString::null</ParamDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+ <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef>
+ <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>ok</Literal> is not passed and the returned value is a tuple of
+the <Literal>QString</Literal> result and the <Literal>ok</Literal> flag.
+(Qt v2.1 - v2.3.1)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>static QString <Function>getText</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>caption</Parameter></ParamDef>
+ <ParamDef>const QString &amp;<Parameter>label</Parameter></ParamDef>
+ <ParamDef>QLineEdit::EchoMode<Parameter>echo</Parameter></ParamDef>
+ <ParamDef>const QString &amp;<Parameter>text</Parameter> = QString::null</ParamDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+ <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef>
+ <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>ok</Literal> is not passed and the returned value is a tuple of
+the <Literal>QString</Literal> result and the <Literal>ok</Literal> flag.
+(Qt v2.2 - v2.3.1)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>static QString <Function>getText</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>caption</Parameter></ParamDef>
+ <ParamDef>const QString &amp;<Parameter>label</Parameter></ParamDef>
+ <ParamDef>QLineEdit::EchoMode<Parameter>echo</Parameter> = QLineEdit::Normal</ParamDef>
+ <ParamDef>const QString &amp;<Parameter>text</Parameter> = QString::null</ParamDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+ <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef>
+ <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>ok</Literal> is not passed and the returned value is a tuple of
+the <Literal>QString</Literal> result and the <Literal>ok</Literal> flag.
+(Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>static int <Function>getInteger</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>caption</Parameter></ParamDef>
+ <ParamDef>const QString &amp;<Parameter>label</Parameter></ParamDef>
+ <ParamDef>int <Parameter>num</Parameter> = 0</ParamDef>
+ <ParamDef>int <Parameter>from</Parameter> = -2147483647</ParamDef>
+ <ParamDef>int <Parameter>to</Parameter> = 2147483647</ParamDef>
+ <ParamDef>int <Parameter>step</Parameter> = 1</ParamDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+ <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef>
+ <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>ok</Literal> is not passed and the returned value is a tuple of
+the <Literal>int</Literal> result and the <Literal>ok</Literal> flag.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>static double <Function>getDouble</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>caption</Parameter></ParamDef>
+ <ParamDef>const QString &amp;<Parameter>label</Parameter></ParamDef>
+ <ParamDef>double <Parameter>num</Parameter> = 0</ParamDef>
+ <ParamDef>double <Parameter>from</Parameter> = -2147483647</ParamDef>
+ <ParamDef>double <Parameter>to</Parameter> = 2147483647</ParamDef>
+ <ParamDef>int <Parameter>step</Parameter> = 1</ParamDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+ <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef>
+ <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>ok</Literal> is not passed and the returned value is a tuple of
+the <Literal>double</Literal> result and the <Literal>ok</Literal> flag.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>static QString <Function>getItem</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>caption</Parameter></ParamDef>
+ <ParamDef>const QString &amp;<Parameter>label</Parameter></ParamDef>
+ <ParamDef>const QStringList &<Parameter>list</Parameter></ParamDef>
+ <ParamDef>int <Parameter>current</Parameter> = 0</ParamDef>
+ <ParamDef>bool <Parameter>editable</Parameter> = TRUE</ParamDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+ <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef>
+ <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>ok</Literal> is not passed and the returned value is a tuple of
+the <Literal>QString</Literal> result and the <Literal>ok</Literal> flag.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_1_0 -)
+%If (Qt_INPUTDIALOG)
+
+class QInputDialog : QDialog
+{
+%TypeHeaderCode
+#include <qinputdialog.h>
+%End
+
+public:
+%If (Qt_3_0_0 -)
+ static QString getText(const QString &,const QString &,
+ QLineEdit::EchoMode = QLineEdit::Normal,
+ const QString & = QString::null,
+ bool * = 0,QWidget * = 0,const char * = 0);
+%End
+
+%If (- Qt_3_0_0)
+ static QString getText(const QString &,const QString &,
+ const QString & = QString::null,
+ bool * = 0,QWidget * = 0,const char * = 0);
+%End
+
+%If (Qt_2_2_0 - Qt_3_0_0)
+ static QString getText(const QString &,const QString &,
+ QLineEdit::EchoMode,
+ const QString & = QString::null,
+ bool * = 0,QWidget * = 0,const char * = 0);
+%End
+
+ static int getInteger(const QString &,const QString &,int = 0,
+ int = -2147483647,int = 2147483647,int = 1,
+ bool * = 0,QWidget * = 0,const char * = 0);
+
+ static double getDouble(const QString &,const QString &,
+ double = 0,double = -2147483647,
+ double = 2147483647,int = 1,
+ bool * = 0,QWidget * = 0,const char * = 0);
+
+ static QString getItem(const QString &,const QString &,
+ const QStringList &,int = 0,bool = TRUE,
+ bool * = 0,QWidget * = 0,const char * = 0);
+
+private:
+ QInputDialog(const QInputDialog &);
+ ~QInputDialog();
+};
+
+%End
+%End
diff --git a/sip/qt/qinterlacestyle.sip b/sip/qt/qinterlacestyle.sip
new file mode 100644
index 0000000..5455b2f
--- /dev/null
+++ b/sip/qt/qinterlacestyle.sip
@@ -0,0 +1,103 @@
+// This is the SIP interface definition for QInterlaceStyle.
+//
+// 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>QInterlaceStyle (Qt v2.3.1+)</Title>
+<FuncSynopsis>
+ <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef>
+ <ParamDef>const QTabBar *<Parameter>sb</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>sliderMin</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>sliderMax</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>sliderLength</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>buttonDim</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>sb</Literal> parameter and returns a tuple of the
+<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>,
+<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values.
+</Para>
+</Sect2>
+%End
+
+
+// Temporary until it is ported to Qt3.
+%If (Qt_STYLE_INTERLACE)
+%If (Qt_2_3_1 - Qt_3_0_0)
+
+class QInterlaceStyle : QMotifStyle
+{
+%TypeHeaderCode
+#include <qinterlacestyle.h>
+%End
+
+public:
+ QInterlaceStyle();
+
+ void polish(QApplication *);
+ void unPolish(QApplication *);
+ void polish(QWidget *);
+ void unPolish(QWidget *);
+ int defaultFrameWidth() const;
+ QRect pushButtonContentsRect(QPushButton *);
+ void drawFocusRect(QPainter *,const QRect &,const QColorGroup &,
+ const QColor * = 0,bool = 0);
+ void drawButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,const QBrush * = 0);
+ void drawButtonMask(QPainter *,int,int,int,int);
+ void drawBevelButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,const QBrush * = 0);
+
+ void drawPushButton(QPushButton *,QPainter *);
+ QSize indicatorSize() const;
+ void drawIndicator(QPainter *,int,int,int,int,const QColorGroup &,
+ int,bool = 0,bool = 1);
+ void drawIndicatorMask(QPainter *,int,int,int,int,int);
+ QSize exclusiveIndicatorSize() const;
+ void drawExclusiveIndicator(QPainter *,int,int,int,int,
+ const QColorGroup &,bool,bool = 0,
+ bool = 1);
+ void drawExclusiveIndicatorMask(QPainter *,int,int,int,int,bool);
+ QRect comboButtonRect(int,int,int,int);
+ void drawComboButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool,bool,bool,const QBrush *);
+ void drawPushButtonLabel(QPushButton *,QPainter *);
+ void drawPanel(QPainter *,int,int,int,int,const QColorGroup &,bool,int,
+ const QBrush *);
+
+ void scrollBarMetrics(const QScrollBar *,int &,int &,int &,int &);
+
+ void drawScrollBarControls(QPainter *,const QScrollBar *,int,uint,
+ uint);
+ void drawSlider(QPainter *,int,int,int,int,const QColorGroup &,
+ Orientation,bool,bool);
+ void drawSliderMask(QPainter *,int,int,int,int,Orientation,bool,bool);
+ void drawSliderGroove(QPainter *,int,int,int,int,const QColorGroup &,
+ QCOORD,Orientation);
+ void drawSliderGrooveMask(QPainter *,int,int,int,int,QCOORD,
+ Orientation);
+ int splitterWidth() const;
+ void drawSplitter(QPainter *,int,int,int,int,const QColorGroup &,
+ Orientation);
+};
+
+%End
+%End
diff --git a/sip/qt/qiodevice.sip b/sip/qt/qiodevice.sip
new file mode 100644
index 0000000..32079d2
--- /dev/null
+++ b/sip/qt/qiodevice.sip
@@ -0,0 +1,408 @@
+// This is the SIP interface definition for QIODevice.
+//
+// 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>QIODevice</Title>
+<Para>
+<Literal>QIODevice</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%ModuleHeaderCode
+#include <qiodevice.h>
+%End
+
+
+// Device access types.
+
+const int IO_Direct;
+const int IO_Sequential;
+const int IO_Combined;
+const int IO_TypeMask;
+
+// Handling modes.
+
+const int IO_Raw;
+const int IO_Async;
+
+// Device open modes.
+
+const int IO_ReadOnly;
+const int IO_WriteOnly;
+const int IO_ReadWrite;
+const int IO_Append;
+const int IO_Truncate;
+const int IO_Translate;
+const int IO_ModeMask;
+
+// Device state.
+
+const int IO_Open;
+const int IO_StateMask;
+
+// Device status.
+
+const int IO_Ok;
+const int IO_ReadError;
+const int IO_WriteError;
+const int IO_FatalError;
+const int IO_ResourceError;
+const int IO_OpenError;
+const int IO_ConnectError;
+const int IO_AbortError;
+const int IO_TimeOutError;
+%If (Qt_2_00 -)
+const int IO_UnspecifiedError;
+%End
+
+
+class QIODevice
+{
+%TypeHeaderCode
+#include <qiodevice.h>
+%End
+
+public:
+%If (Qt_3_0_0 -)
+ typedef Q_ULONG Offset;
+%End
+
+ QIODevice();
+
+ int flags() const;
+ int mode() const;
+ int state() const;
+ bool isDirectAccess() const;
+ bool isSequentialAccess() const;
+ bool isCombinedAccess() const;
+ bool isBuffered() const;
+ bool isRaw() const;
+ bool isSynchronous() const;
+ bool isAsynchronous() const;
+ bool isTranslated() const;
+ bool isReadable() const;
+ bool isWritable() const;
+ bool isReadWrite() const;
+ bool isInactive() const;
+ bool isOpen() const;
+
+ int status() const;
+ void resetStatus();
+
+ virtual bool open(int) = 0 /ReleaseGIL/;
+ virtual void close() = 0;
+ virtual void flush() = 0 /ReleaseGIL/;
+
+%If (- Qt_3_0_0)
+ virtual uint size() const = 0;
+ virtual int at() const;
+ virtual bool at(int);
+%End
+%If (Qt_3_0_0 -)
+ virtual Offset size() const = 0;
+ virtual Offset at() const;
+ virtual bool at(Offset);
+%End
+ virtual bool atEnd() const;
+ bool reset();
+
+%If (- Qt_3_0_0)
+ virtual SIP_PYOBJECT readBlock(uint) = 0 /ReleaseGIL/ [int (char *,uint)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ int actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipCpp -> readBlock(buf,a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ sipFree((ANY *)buf);
+
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else
+ {
+ sipRes = PyString_FromStringAndSize(buf,actlen);
+
+ sipFree((ANY *)buf);
+
+ if (sipRes == NULL)
+ sipIsErr = 1;
+ }
+ }
+%End
+%VirtualCatcherCode
+ PyObject *result = sipCallMethod(&sipIsErr,sipMethod,"i",a1);
+
+ if (result != NULL)
+ {
+ PyObject *buf;
+
+ sipParseResult(&sipIsErr,sipMethod,result,"O",&buf);
+
+ if (buf == Py_None)
+ sipRes = -1;
+ else if (!PyString_Check(buf))
+ {
+ sipBadCatcherResult(sipMethod);
+ sipIsErr = 1;
+ }
+ else
+ {
+ memcpy(a0,PyString_AS_STRING(buf),PyString_GET_SIZE(buf));
+ sipRes = PyString_GET_SIZE(buf);
+ }
+
+ Py_DECREF(buf);
+ Py_DECREF(result);
+ }
+%End
+%End
+%If (Qt_3_0_0 -)
+ virtual SIP_PYOBJECT readBlock(Q_ULONG) = 0 /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Q_LONG actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipCpp -> readBlock(buf,a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ sipFree((ANY *)buf);
+
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else
+ {
+ sipRes = PyString_FromStringAndSize(buf,actlen);
+
+ sipFree((ANY *)buf);
+
+ if (sipRes == NULL)
+ sipIsErr = 1;
+ }
+ }
+%End
+%VirtualCatcherCode
+ PyObject *result = sipCallMethod(&sipIsErr,sipMethod,"l",a1);
+
+ if (result != NULL)
+ {
+ PyObject *buf;
+
+ sipParseResult(&sipIsErr,sipMethod,result,"O",&buf);
+
+ if (buf == Py_None)
+ sipRes = -1L;
+ else if (!PyString_Check(buf))
+ {
+ sipBadCatcherResult(sipMethod);
+ sipIsErr = 1;
+ }
+ else
+ {
+ memcpy(a0,PyString_AS_STRING(buf),PyString_GET_SIZE(buf));
+ sipRes = PyString_GET_SIZE(buf);
+ }
+
+ Py_DECREF(buf);
+ Py_DECREF(result);
+ }
+%End
+%End
+
+%If (- Qt_3_0_0)
+ virtual int writeBlock(const char * /Array/,
+ uint /ArraySize/) = 0 /ReleaseGIL/;
+%End
+%If (Qt_3_0_0 -)
+ virtual Q_LONG writeBlock(const char * /Array/,
+ Q_ULONG /ArraySize/) = 0 /ReleaseGIL/;
+%End
+
+%If (- Qt_3_0_0)
+ virtual SIP_PYOBJECT readLine(uint) /ReleaseGIL/ [int (char *,uint)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ int actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipSelfWasArg ? sipCpp->QIODevice::readLine(buf, a0) : sipCpp->readLine(buf, a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ sipFree((ANY *)buf);
+
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else
+ {
+ sipRes = PyString_FromStringAndSize(buf,actlen);
+
+ sipFree((ANY *)buf);
+
+ if (sipRes == NULL)
+ sipIsErr = 1;
+ }
+ }
+%End
+%VirtualCatcherCode
+ PyObject *result = sipCallMethod(&sipIsErr,sipMethod,"i",a1);
+
+ if (result != NULL)
+ {
+ PyObject *buf;
+
+ sipParseResult(&sipIsErr,sipMethod,result,"O",&buf);
+
+ if (buf == Py_None)
+ sipRes = -1;
+ else if (!PyString_Check(buf))
+ {
+ sipBadCatcherResult(sipMethod);
+ sipIsErr = 1;
+ }
+ else
+ {
+ memcpy(a0,PyString_AS_STRING(buf),PyString_GET_SIZE(buf));
+ sipRes = PyString_GET_SIZE(buf);
+ }
+
+ Py_DECREF(buf);
+ Py_DECREF(result);
+ }
+%End
+%End
+%If (Qt_3_0_0 -)
+ virtual SIP_PYOBJECT readLine(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Q_LONG actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipSelfWasArg ? sipCpp->QIODevice::readLine(buf, a0) : sipCpp->readLine(buf, a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ sipFree((ANY *)buf);
+
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else
+ {
+ sipRes = PyString_FromStringAndSize(buf,actlen);
+
+ sipFree((ANY *)buf);
+
+ if (sipRes == NULL)
+ sipIsErr = 1;
+ }
+ }
+%End
+%VirtualCatcherCode
+ PyObject *result = sipCallMethod(&sipIsErr,sipMethod,"l",a1);
+
+ if (result != NULL)
+ {
+ PyObject *buf;
+
+ sipParseResult(&sipIsErr,sipMethod,result,"O",&buf);
+
+ if (buf == Py_None)
+ sipRes = -1L;
+ else if (!PyString_Check(buf))
+ {
+ sipBadCatcherResult(sipMethod);
+ sipIsErr = 1;
+ }
+ else
+ {
+ memcpy(a0,PyString_AS_STRING(buf),PyString_GET_SIZE(buf));
+ sipRes = PyString_GET_SIZE(buf);
+ }
+
+ Py_DECREF(buf);
+ Py_DECREF(result);
+ }
+%End
+%End
+
+%If (Qt_2_00 - Qt_3_0_0)
+ int writeBlock(const QByteArray &) /ReleaseGIL/;
+%End
+%If (Qt_3_0_0 -)
+ Q_LONG writeBlock(const QByteArray &) /ReleaseGIL/;
+%End
+
+%If (Qt_2_00 - Qt_3_0_0)
+ QByteArray readAll() /ReleaseGIL/;
+%End
+%If (Qt_3_0_0 -)
+ virtual QByteArray readAll() /ReleaseGIL/;
+%End
+
+ virtual int getch() = 0 /ReleaseGIL/;
+ virtual int putch(int) = 0 /ReleaseGIL/;
+ virtual int ungetch(int) = 0;
+
+protected:
+ void setFlags(int);
+ void setType(int);
+ void setMode(int);
+ void setState(int);
+ void setStatus(int);
+
+private:
+ QIODevice(const QIODevice &);
+};
diff --git a/sip/qt/qkeycode.sip b/sip/qt/qkeycode.sip
new file mode 100644
index 0000000..72c0a25
--- /dev/null
+++ b/sip/qt/qkeycode.sip
@@ -0,0 +1,286 @@
+// This is the SIP interface definition for the key code definitions.
+//
+// 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.
+
+
+%If (- Qt_2_00)
+
+%ModuleHeaderCode
+#include <qkeycode.h>
+%End
+
+// Accelerator modifiers.
+const uint SHIFT;
+const uint CTRL;
+const uint ALT;
+const uint ASCII_ACCEL;
+
+// Miscellaneous keys.
+const int Key_Escape;
+const int Key_Tab;
+const int Key_Backtab;
+const int Key_Backspace;
+const int Key_Return;
+const int Key_Enter;
+const int Key_Insert;
+const int Key_Delete;
+const int Key_Pause;
+const int Key_Print;
+const int Key_SysReq;
+
+// Cursor keys.
+const int Key_Home;
+const int Key_End;
+const int Key_Left;
+const int Key_Up;
+const int Key_Right;
+const int Key_Down;
+const int Key_Prior;
+const int Key_PageUp;
+const int Key_Next;
+const int Key_PageDown;
+
+// Modifiers.
+const int Key_Shift;
+const int Key_Control;
+const int Key_Meta;
+const int Key_Alt;
+const int Key_CapsLock;
+const int Key_NumLock;
+const int Key_ScrollLock;
+
+// Function keys.
+const int Key_F1;
+const int Key_F2;
+const int Key_F3;
+const int Key_F4;
+const int Key_F5;
+const int Key_F6;
+const int Key_F7;
+const int Key_F8;
+const int Key_F9;
+const int Key_F10;
+const int Key_F11;
+const int Key_F12;
+const int Key_F13;
+const int Key_F14;
+const int Key_F15;
+const int Key_F16;
+const int Key_F17;
+const int Key_F18;
+const int Key_F19;
+const int Key_F20;
+const int Key_F21;
+const int Key_F22;
+const int Key_F23;
+const int Key_F24;
+const int Key_F25;
+const int Key_F26;
+const int Key_F27;
+const int Key_F28;
+const int Key_F29;
+const int Key_F30;
+const int Key_F31;
+const int Key_F32;
+const int Key_F33;
+const int Key_F34;
+const int Key_F35;
+
+// Extra keys.
+const int Key_Super_L;
+const int Key_Super_R;
+const int Key_Menu;
+%If (Qt_1_43 -)
+const int Key_Hyper_L;
+const int Key_Hyper_R;
+%End
+
+// The 7 bit printable ASCII keys.
+const int Key_Space;
+const int Key_Exclam;
+const int Key_QuoteDbl;
+const int Key_NumberSign;
+const int Key_Dollar;
+const int Key_Percent;
+const int Key_Ampersand;
+const int Key_Apostrophe;
+const int Key_ParenLeft;
+const int Key_ParenRight;
+const int Key_Asterisk;
+const int Key_Plus;
+const int Key_Comma;
+const int Key_Minus;
+const int Key_Period;
+const int Key_Slash;
+const int Key_0;
+const int Key_1;
+const int Key_2;
+const int Key_3;
+const int Key_4;
+const int Key_5;
+const int Key_6;
+const int Key_7;
+const int Key_8;
+const int Key_9;
+const int Key_Colon;
+const int Key_Semicolon;
+const int Key_Less;
+const int Key_Equal;
+const int Key_Greater;
+const int Key_Question;
+const int Key_At;
+const int Key_A;
+const int Key_B;
+const int Key_C;
+const int Key_D;
+const int Key_E;
+const int Key_F;
+const int Key_G;
+const int Key_H;
+const int Key_I;
+const int Key_J;
+const int Key_K;
+const int Key_L;
+const int Key_M;
+const int Key_N;
+const int Key_O;
+const int Key_P;
+const int Key_Q;
+const int Key_R;
+const int Key_S;
+const int Key_T;
+const int Key_U;
+const int Key_V;
+const int Key_W;
+const int Key_X;
+const int Key_Y;
+const int Key_Z;
+const int Key_BracketLeft;
+const int Key_Backslash;
+const int Key_BracketRight;
+const int Key_AsciiCircum;
+const int Key_Underscore;
+const int Key_QuoteLeft;
+const int Key_BraceLeft;
+const int Key_Bar;
+const int Key_BraceRight;
+const int Key_AsciiTilde;
+
+// Latin 1 codes.
+const int Key_nobreakspace;
+const int Key_exclamdown;
+const int Key_cent;
+const int Key_sterling;
+const int Key_currency;
+const int Key_yen;
+const int Key_brokenbar;
+const int Key_section;
+const int Key_diaeresis;
+const int Key_copyright;
+const int Key_ordfeminine;
+const int Key_guillemotleft;
+const int Key_notsign;
+const int Key_hyphen;
+const int Key_registered;
+const int Key_macron;
+const int Key_degree;
+const int Key_plusminus;
+const int Key_twosuperior;
+const int Key_threesuperior;
+const int Key_acute;
+const int Key_mu;
+const int Key_paragraph;
+const int Key_periodcentered;
+const int Key_cedilla;
+const int Key_onesuperior;
+const int Key_masculine;
+const int Key_guillemotright;
+const int Key_onequarter;
+const int Key_onehalf;
+const int Key_threequarters;
+const int Key_questiondown;
+const int Key_Agrave;
+const int Key_Aacute;
+const int Key_Acircumflex;
+const int Key_Atilde;
+const int Key_Adiaeresis;
+const int Key_Aring;
+const int Key_AE;
+const int Key_Ccedilla;
+const int Key_Egrave;
+const int Key_Eacute;
+const int Key_Ecircumflex;
+const int Key_Ediaeresis;
+const int Key_Igrave;
+const int Key_Iacute;
+const int Key_Icircumflex;
+const int Key_Idiaeresis;
+const int Key_ETH;
+const int Key_Ntilde;
+const int Key_Ograve;
+const int Key_Oacute;
+const int Key_Ocircumflex;
+const int Key_Otilde;
+const int Key_Odiaeresis;
+const int Key_multiply;
+const int Key_Ooblique;
+const int Key_Ugrave;
+const int Key_Uacute;
+const int Key_Ucircumflex;
+const int Key_Udiaeresis;
+const int Key_Yacute;
+const int Key_THORN;
+const int Key_ssharp;
+const int Key_agrave;
+const int Key_aacute;
+const int Key_acircumflex;
+const int Key_atilde;
+const int Key_adiaeresis;
+const int Key_aring;
+const int Key_ae;
+const int Key_ccedilla;
+const int Key_egrave;
+const int Key_eacute;
+const int Key_ecircumflex;
+const int Key_ediaeresis;
+const int Key_igrave;
+const int Key_iacute;
+const int Key_icircumflex;
+const int Key_idiaeresis;
+const int Key_eth;
+const int Key_ntilde;
+const int Key_ograve;
+const int Key_oacute;
+const int Key_ocircumflex;
+const int Key_otilde;
+const int Key_odiaeresis;
+const int Key_division;
+const int Key_oslash;
+const int Key_ugrave;
+const int Key_uacute;
+const int Key_ucircumflex;
+const int Key_udiaeresis;
+const int Key_yacute;
+const int Key_thorn;
+const int Key_ydiaeresis;
+
+const int Key_unknown;
+
+%End
diff --git a/sip/qt/qkeysequence.sip b/sip/qt/qkeysequence.sip
new file mode 100644
index 0000000..c7800f9
--- /dev/null
+++ b/sip/qt/qkeysequence.sip
@@ -0,0 +1,119 @@
+// This is the SIP interface definition for QKeySequence.
+//
+// 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>QKeySequence (Qt v3+)</Title>
+<Para>
+<Literal>QKeySequence</Literal> is fully implemented including the operators
+<Literal>==</Literal>, <Literal>!=</Literal>, <Literal>QString()</Literal> and
+<Literal>int()</Literal>. A <Literal>QString</Literal> instance or a Python
+integer may be used whenever a <Literal>QKeySequence</Literal> can be used.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QKeySequence : Qt
+{
+%TypeHeaderCode
+#include <qkeysequence.h>
+%End
+
+public:
+ QKeySequence();
+ QKeySequence(const QString &);
+ QKeySequence(int);
+%If (Qt_3_1_0 -)
+ QKeySequence(int,int,int = 0,int = 0);
+
+ bool operator==(const QKeySequence &) const;
+ bool operator!=(const QKeySequence &) const;
+
+ uint count() const;
+ bool isEmpty() const;
+ Qt::SequenceMatch matches(const QKeySequence &) const;
+%End
+
+ int __int__() const;
+
+%ConvertToTypeCode
+ // Allow a QString or a Python integer whenever a QKeySequence is
+ // expected.
+
+ if (sipIsErr == NULL)
+ {
+ if (sipCanConvertToInstance(sipPy,sipClass_QKeySequence,SIP_NO_CONVERTORS))
+ return 1;
+
+ if (sipCanConvertToInstance(sipPy,sipClass_QString,0))
+ return 1;
+
+ PyErr_Clear();
+
+ PyInt_AsLong(sipPy);
+
+ return !PyErr_Occurred();
+ }
+
+ // We do this case before the int case because, otherwise,
+ // PyInt_AsLong() would achieve the same result but less efficiently.
+
+ if (sipCanConvertToInstance(sipPy,sipClass_QKeySequence,SIP_NO_CONVERTORS))
+ {
+ *sipCppPtr = reinterpret_cast<QKeySequence *>(sipConvertToInstance(sipPy,sipClass_QKeySequence,sipTransferObj,SIP_NO_CONVERTORS,0,sipIsErr));
+
+ return 0;
+ }
+
+ if (sipCanConvertToInstance(sipPy,sipClass_QString,0))
+ {
+ int state;
+ QString *s = reinterpret_cast<QString *>(sipConvertToInstance(sipPy,sipClass_QString,0,0,&state,sipIsErr));
+
+ if (*sipIsErr)
+ {
+ sipReleaseInstance(s,sipClass_QString,state);
+ return 0;
+ }
+
+ Py_BEGIN_ALLOW_THREADS
+ *sipCppPtr = new QKeySequence(*s);
+ Py_END_ALLOW_THREADS
+
+ sipReleaseInstance(s,sipClass_QString,state);
+
+ return sipGetState(sipTransferObj);
+ }
+
+ int key = PyInt_AsLong(sipPy);
+
+ Py_BEGIN_ALLOW_THREADS
+ *sipCppPtr = new QKeySequence(key);
+ Py_END_ALLOW_THREADS
+
+ return sipGetState(sipTransferObj);
+%End
+};
+
+%End
diff --git a/sip/qt/qlabel.sip b/sip/qt/qlabel.sip
new file mode 100644
index 0000000..62655e6
--- /dev/null
+++ b/sip/qt/qlabel.sip
@@ -0,0 +1,157 @@
+// This is the SIP interface definition for QLabel.
+//
+// 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>QLabel</Title>
+<Para>
+<Literal>QLabel</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QLabel : QFrame
+{
+%TypeHeaderCode
+#include <qlabel.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QLabel(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+ QLabel(const char *,QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+ QLabel(QWidget *,const char *,QWidget * /TransferThis/,const char * = 0,WFlags = 0);
+%End
+%If (Qt_2_00 -)
+ QLabel(QWidget * /TransferThis/,const char * = 0,WFlags = 0);
+ QLabel(const QString &,QWidget * /TransferThis/,const char * = 0,WFlags = 0);
+ QLabel(QWidget *,const QString &,QWidget * /TransferThis/,const char * = 0,WFlags = 0);
+%End
+
+%If (- Qt_2_00)
+ const char *text() const;
+%End
+%If (Qt_2_00 -)
+ QString text() const;
+%End
+ QPixmap *pixmap() const;
+%If (Qt_3_0_0 -)
+ QPicture *picture() const;
+%End
+ QMovie *movie() const;
+
+%If (Qt_2_00 -)
+ TextFormat textFormat() const;
+ void setTextFormat(TextFormat);
+%End
+
+ int alignment() const;
+%If (- Qt_2_00)
+ void setAlignment(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setAlignment(int);
+%End
+%If (- Qt_2_00)
+ int margin() const;
+ void setMargin(int);
+%End
+%If (Qt_2_00 -)
+ int indent() const;
+ void setIndent(int);
+%End
+
+ bool autoResize() const;
+%If (- Qt_2_00)
+ void setAutoResize(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setAutoResize(bool);
+%End
+%If (Qt_2_2_0 -)
+ bool hasScaledContents() const;
+ void setScaledContents(bool);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+ QSize sizeHint() const;
+%If (Qt_2_1_0 -)
+ QSize minimumSizeHint() const;
+%End
+%If (- Qt_2_00)
+ void setBuddy(QWidget *);
+%End
+%If (Qt_2_00 -)
+ virtual void setBuddy(QWidget *);
+%End
+ QWidget *buddy() const;
+%If (Qt_2_00 - Qt_3_0_0)
+ void setAutoMask(bool);
+%End
+%If (Qt_2_00 -)
+ int heightForWidth(int) const;
+%End
+
+%If (Qt_3_0_0 -)
+ void setFont(const QFont &);
+%End
+
+public slots:
+%If (- Qt_2_00)
+ void setText(const char *);
+ void setPixmap(const QPixmap &);
+%End
+%If (Qt_2_00 -)
+ virtual void setText(const QString &);
+ virtual void setPixmap(const QPixmap &);
+%End
+%If (Qt_3_0_0 -)
+ virtual void setPicture(const QPicture &);
+%End
+%If (- Qt_2_00)
+ void setMovie(const QMovie &);
+ void setNum(int /Constrained/);
+ void setNum(double);
+%End
+%If (Qt_2_00 -)
+ virtual void setMovie(const QMovie &);
+ virtual void setNum(int /Constrained/);
+ virtual void setNum(double);
+%End
+ void clear();
+
+protected:
+ void drawContents(QPainter *);
+%If (Qt_2_00 - Qt_3_0_0)
+ void drawContentsMask(QPainter *);
+%End
+%If (Qt_2_1_0 -)
+ void fontChange(const QFont &);
+%End
+%If (Qt_2_2_0 -)
+ void resizeEvent(QResizeEvent *);
+%End
+
+private:
+ QLabel(const QLabel &);
+};
diff --git a/sip/qt/qlayout.sip b/sip/qt/qlayout.sip
new file mode 100644
index 0000000..4270e1e
--- /dev/null
+++ b/sip/qt/qlayout.sip
@@ -0,0 +1,597 @@
+// This is the SIP interface definition for QBoxLayout, QGLayoutIterator,
+// QGridLayout, QHBoxLayout, QLayout, QLayoutItem, QLayoutIterator,
+// QSpacerItem, QVBoxLayout and QWidgetItem.
+//
+// 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>QLayout</Title>
+<Para>
+<Literal>QLayout</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QBoxLayout</Title>
+<Para>
+<Literal>QBoxLayout</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QGLayoutIterator (Qt v2+)</Title>
+<Para>
+<Literal>QGLayoutIterator</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QGridLayout</Title>
+<FuncSynopsis>
+ <FuncDef>bool <Function>findWidget</Function></FuncDef>
+ <ParamDef>QWidget *<Parameter>w</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>row</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>col</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>w</Literal> parameter and returns a tuple containing
+the <Literal>bool</Literal> result, <Literal>row</Literal> and
+<Literal>col</Literal>. (Qt v2+)
+</Para>
+</Sect2>
+
+<Sect2><Title>QHBoxLayout</Title>
+<Para>
+<Literal>QHBoxLayout</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QLayoutItem (Qt v2+)</Title>
+<Para>
+<Literal>QLayoutItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QLayoutIterator (Qt v2+)</Title>
+<FuncSynopsis>
+ <FuncDef>QLayoutItem *<Function>next</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This is a wrapper around the <Literal>QLayoutIterator</Literal>
+<Literal>++</Literal> operator.
+</Para>
+</Sect2>
+
+<Sect2><Title>QSpacerItem (Qt v2+)</Title>
+<Para>
+<Literal>QSpacerItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QVBoxLayout</Title>
+<Para>
+<Literal>QVBoxLayout</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QWidgetItem (Qt v2+)</Title>
+<Para>
+<Literal>QWidgetItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_2_00)
+
+class QLayout : QObject
+{
+%TypeHeaderCode
+#include <qlayout.h>
+%End
+
+public:
+ enum
+ {
+ unlimited = QCOORD_MAX
+ };
+
+ int defaultBorder() const;
+ virtual bool activate();
+ void freeze(int,int);
+ void freeze();
+ void setMenuBar(QMenuBar *);
+ QWidget *mainWidget();
+
+protected:
+ QLayout(QWidget * /TransferThis/,int,int,const char *);
+ QLayout(int = -1,const char * = 0);
+
+ QGManager *basicManager();
+ virtual QChain *mainVerticalChain() = 0;
+ virtual QChain *mainHorizontalChain() = 0;
+ virtual void initGM() = 0;
+ void addChildLayout(QLayout *);
+
+private:
+ QLayout(const QLayout &);
+};
+
+%End
+
+
+%If (Qt_2_00 -)
+
+class QGLayoutIterator
+{
+%TypeHeaderCode
+#include <qabstractlayout.h>
+%End
+
+public:
+ virtual QLayoutItem *next() = 0;
+ virtual QLayoutItem *current() = 0;
+ virtual QLayoutItem *takeCurrent() = 0 /TransferBack/;
+};
+
+
+class QLayoutIterator
+{
+%TypeHeaderCode
+#include <qabstractlayout.h>
+%End
+
+public:
+ QLayoutIterator(QGLayoutIterator *) /Default/;
+ QLayoutIterator(const QLayoutIterator &);
+
+ QLayoutItem *next();
+%MethodCode
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = ++(*sipCpp);
+ Py_END_ALLOW_THREADS
+%End
+
+ QLayoutItem *current();
+ QLayoutItem *takeCurrent() /TransferBack/;
+ void deleteCurrent();
+};
+
+
+class QLayoutItem
+{
+%TypeHeaderCode
+#include <qabstractlayout.h>
+%End
+
+public:
+ QLayoutItem(int = 0 );
+
+%ConvertToSubClassCode
+ // Note that we let the QObject sub-class code handle QLayout and it's
+ // sub-classes.
+ if (sipCpp->widget())
+ sipClass = sipClass_QWidgetItem;
+ else if (sipCpp->spacerItem())
+ sipClass = sipClass_QSpacerItem;
+ else
+ sipClass = NULL;
+%End
+
+ virtual QSize sizeHint() const = 0;
+ virtual QSize minimumSize() const = 0;
+ virtual QSize maximumSize() const = 0;
+ virtual QSizePolicy::ExpandData expanding() const = 0;
+ virtual void setGeometry(const QRect &) = 0;
+ virtual QRect geometry() const = 0;
+ virtual bool isEmpty() const = 0;
+ virtual bool hasHeightForWidth() const;
+ virtual int heightForWidth(int) const;
+ virtual void invalidate();
+
+ virtual QWidget *widget();
+ virtual QLayoutIterator iterator();
+ virtual QLayout *layout();
+ virtual QSpacerItem *spacerItem();
+
+ int alignment() const;
+ virtual void setAlignment(int);
+};
+
+
+class QSpacerItem : QLayoutItem
+{
+%TypeHeaderCode
+#include <qabstractlayout.h>
+%End
+
+public:
+ QSpacerItem(int,int,QSizePolicy::SizeType = QSizePolicy::Minimum,
+ QSizePolicy::SizeType = QSizePolicy::Minimum);
+
+ void changeSize(int,int,QSizePolicy::SizeType = QSizePolicy::Minimum,
+ QSizePolicy::SizeType = QSizePolicy::Minimum);
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QSize maximumSize() const;
+ QSizePolicy::ExpandData expanding() const;
+ bool isEmpty() const;
+ void setGeometry(const QRect &);
+ QRect geometry() const;
+ QSpacerItem *spacerItem();
+};
+
+
+class QWidgetItem : QLayoutItem
+{
+%TypeHeaderCode
+#include <qabstractlayout.h>
+%End
+
+public:
+ QWidgetItem(QWidget *);
+
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QSize maximumSize() const;
+ QSizePolicy::ExpandData expanding() const;
+ bool isEmpty() const;
+ void setGeometry(const QRect &) ;
+ QRect geometry() const;
+ virtual QWidget *widget();
+
+ bool hasHeightForWidth() const;
+ int heightForWidth(int) const;
+};
+
+
+class QLayout : QObject, QLayoutItem
+{
+%TypeHeaderCode
+#include <qabstractlayout.h>
+%End
+
+public:
+ enum ResizeMode {
+ FreeResize,
+ Minimum,
+ Fixed,
+%If (Qt_3_1_0 -)
+ Auto
+%End
+ };
+
+ QLayout(QWidget * /TransferThis/,int = 0,int = -1,const char * = 0);
+ QLayout(QLayout * /TransferThis/,int = -1,const char * = 0);
+ QLayout(int = -1,const char * = 0);
+
+ int margin() const;
+ int spacing() const;
+
+ virtual void setMargin(int);
+ virtual void setSpacing(int);
+
+%If (- Qt_3_1_0)
+ enum {
+ unlimited
+ };
+%End
+
+%If (Qt_3_0_0 -)
+ int defaultBorder() const;
+ void freeze(int,int);
+ void freeze();
+%End
+
+ void setResizeMode(ResizeMode);
+ ResizeMode resizeMode() const;
+
+ virtual void setMenuBar(QMenuBar *);
+ QMenuBar *menuBar() const;
+
+ QWidget *mainWidget();
+ bool isTopLevel() const;
+
+ virtual void setAutoAdd(bool);
+ bool autoAdd() const;
+
+%If (Qt_2_1_0 -)
+ void invalidate();
+%End
+ QRect geometry() const;
+ bool activate();
+
+ void add(QWidget *);
+ virtual void addItem(QLayoutItem * /Transfer/) = 0;
+
+%If (Qt_3_1_0 -)
+ void remove(QWidget *);
+ void removeItem(QLayoutItem * /TransferBack/);
+%End
+
+ QSizePolicy::ExpandData expanding() const;
+ QSize minimumSize() const;
+ QSize maximumSize() const;
+ void setGeometry(const QRect &) = 0;
+ QLayoutIterator iterator() = 0;
+ bool isEmpty() const;
+
+ int totalHeightForWidth(int) const;
+ QSize totalMinimumSize() const;
+ QSize totalMaximumSize() const;
+ QSize totalSizeHint() const;
+ QLayout *layout();
+
+%If (Qt_2_1_0 -)
+ bool supportsMargin() const;
+%End
+
+%If (Qt_2_2_0 -)
+ void setEnabled(bool);
+ bool isEnabled() const;
+%End
+
+protected:
+ bool eventFilter(QObject *,QEvent *);
+%If (Qt_3_0_0 -)
+ void childEvent(QChildEvent *);
+%End
+ void addChildLayout(QLayout *);
+ void deleteAllItems();
+
+%If (Qt_2_1_0 -)
+ void setSupportsMargin(bool);
+ QRect alignmentRect(const QRect &) const;
+%End
+
+private:
+ QLayout(const QLayout &);
+};
+
+%End
+
+
+class QGridLayout : QLayout
+{
+%TypeHeaderCode
+#include <qlayout.h>
+%End
+
+public:
+%If (- Qt_2_1_0)
+ QGridLayout(QWidget * /TransferThis/,int,int,int = 0,int = -1,const char * = 0);
+ QGridLayout(int,int,int = -1,const char * = 0);
+%End
+%If (Qt_2_00 - Qt_2_1_0)
+ QGridLayout(QLayout * /TransferThis/,int,int,int = -1,const char * = 0);
+%End
+%If (Qt_2_1_0 -)
+ QGridLayout(QWidget * /TransferThis/,int = 1,int = 1,int = 0,int = -1,const char * = 0);
+ QGridLayout(int = 1,int = 1,int = -1,const char * = 0);
+ QGridLayout(QLayout * /TransferThis/,int = 1,int = 1,int = -1,const char * = 0);
+%End
+
+%If (Qt_2_00 -)
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QSize maximumSize() const;
+%End
+
+%If (- Qt_2_00)
+ void setRowStretch(int,int);
+ void setColStretch(int,int);
+%End
+%If (Qt_2_00 -)
+ virtual void setRowStretch(int,int);
+ virtual void setColStretch(int,int);
+%End
+%If (Qt_2_1_0 -)
+ int rowStretch(int) const;
+ int colStretch(int) const;
+%End
+
+%If (Qt_3_2_0 -)
+ void setRowSpacing(int,int);
+ void setColSpacing(int,int);
+ int rowSpacing(int) const;
+ int colSpacing(int) const;
+%End
+
+ int numRows() const;
+ int numCols() const;
+%If (Qt_2_1_0 -)
+ QRect cellGeometry(int,int) const;
+%End
+
+%If (Qt_2_00 -)
+ bool hasHeightForWidth() const;
+ int heightForWidth(int) const;
+%If (Qt_3_1_0 -)
+ int minimumHeightForWidth(int) const;
+%End
+
+ QSizePolicy::ExpandData expanding() const;
+ void invalidate();
+
+ void addItem(QLayoutItem * /Transfer/);
+%End
+%If (Qt_2_1_0 -)
+ void addItem(QLayoutItem * /Transfer/,int,int);
+%End
+%If (Qt_2_00 -)
+ void addMultiCell(QLayoutItem * /Transfer/,int,int,int,int,int = 0);
+%End
+
+ void addWidget(QWidget *,int,int,int = 0);
+ void addMultiCellWidget(QWidget *,int,int,int,int,int = 0);
+ void addLayout(QLayout * /Transfer/,int,int);
+%If (Qt_2_2_0 -)
+ void addMultiCellLayout(QLayout * /Transfer/,int,int,int,int,int = 0);
+%End
+ void addRowSpacing(int,int);
+ void addColSpacing(int,int);
+ void expand(int,int);
+
+%If (Qt_2_00 -)
+ enum Corner {
+ TopLeft,
+ TopRight,
+ BottomLeft,
+ BottomRight
+ };
+
+ void setOrigin(Corner);
+%End
+%If (Qt_3_0_0 -)
+ Corner origin() const;
+%End
+%If (Qt_2_00 -)
+ QLayoutIterator iterator();
+ void setGeometry(const QRect &);
+%End
+
+protected:
+%If (- Qt_2_00)
+ QChain *mainVerticalChain();
+ QChain *mainHorizontalChain();
+ void initGM();
+%End
+
+%If (Qt_2_00 -)
+ bool findWidget(QWidget *,int *,int *);
+ void add(QLayoutItem * /Transfer/,int,int);
+%End
+
+private:
+ QGridLayout(const QGridLayout &);
+};
+
+
+class QBoxLayout : QLayout
+{
+%TypeHeaderCode
+#include <qlayout.h>
+%End
+
+public:
+ enum Direction {
+ LeftToRight,
+ RightToLeft,
+ TopToBottom,
+ BottomToTop,
+ Down = TopToBottom,
+ Up = BottomToTop
+ };
+
+ QBoxLayout(QWidget * /TransferThis/,Direction,int = 0,int = -1,const char * = 0);
+%If (Qt_2_00 -)
+ QBoxLayout(QLayout * /TransferThis/,Direction,int = -1,const char * = 0);
+%End
+ QBoxLayout(Direction,int = -1,const char * = 0);
+
+ Direction direction() const;
+%If (Qt_2_1_0 -)
+ void setDirection(Direction);
+%End
+ void addSpacing(int);
+ void addStretch(int = 0);
+%If (- Qt_2_00)
+ void addWidget(QWidget *,int = 0,int = AlignCenter);
+%End
+ void addLayout(QLayout * /Transfer/,int = 0);
+ void addStrut(int);
+%If (Qt_2_00 -)
+ void addItem(QLayoutItem * /Transfer/);
+ void addWidget(QWidget *,int = 0,int = 0);
+%If (Qt_2_1_0 -)
+ void insertSpacing(int,int);
+ void insertStretch(int,int = 0);
+ void insertWidget(int,QWidget *,int = 0,int = 0);
+ void insertLayout(int,QLayout * /Transfer/,int = 0);
+ int findWidget(QWidget *);
+%End
+ bool setStretchFactor(QWidget *,int);
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QSize maximumSize() const;
+ bool hasHeightForWidth() const;
+ int heightForWidth(int) const;
+%If (Qt_3_1_0 -)
+ int minimumHeightForWidth(int) const;
+%End
+
+ QSizePolicy::ExpandData expanding() const;
+ void invalidate();
+ QLayoutIterator iterator();
+ void setGeometry(const QRect &);
+%End
+
+protected:
+%If (- Qt_2_00)
+ QChain *mainVerticalChain();
+ QChain *mainHorizontalChain();
+ void initGM();
+%End
+%If (Qt_2_1_0 -)
+ void insertItem(int,QLayoutItem * /Transfer/);
+%End
+
+private:
+ QBoxLayout(const QBoxLayout &);
+};
+
+
+class QHBoxLayout : QBoxLayout
+{
+%TypeHeaderCode
+#include <qlayout.h>
+%End
+
+public:
+ QHBoxLayout(QWidget * /TransferThis/,int = 0,int = -1,const char * = 0);
+%If (Qt_2_00 -)
+ QHBoxLayout(QLayout * /TransferThis/,int = -1,const char * = 0);
+%End
+ QHBoxLayout(int = -1,const char * = 0);
+
+private:
+%If (Qt_3_1_0 -)
+ QHBoxLayout(const QHBoxLayout &);
+%End
+};
+
+
+class QVBoxLayout : QBoxLayout
+{
+%TypeHeaderCode
+#include <qlayout.h>
+%End
+
+public:
+ QVBoxLayout(QWidget * /TransferThis/,int = 0,int = -1,const char * = 0);
+%If (Qt_2_00 -)
+ QVBoxLayout(QLayout * /TransferThis/,int = -1,const char * = 0);
+%End
+ QVBoxLayout(int = -1,const char * = 0);
+
+private:
+%If (Qt_3_1_0 -)
+ QVBoxLayout(const QVBoxLayout &);
+%End
+};
diff --git a/sip/qt/qlcdnumber.sip b/sip/qt/qlcdnumber.sip
new file mode 100644
index 0000000..ae250fd
--- /dev/null
+++ b/sip/qt/qlcdnumber.sip
@@ -0,0 +1,137 @@
+// This is the SIP interface definition for QLCDNumber.
+//
+// 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>QLCDNumber</Title>
+<Para>
+<Literal>QLCDNumber</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QLCDNumber : QFrame
+{
+%TypeHeaderCode
+#include <qlcdnumber.h>
+%End
+
+public:
+ QLCDNumber(QWidget * /TransferThis/ = 0,const char * = 0);
+ QLCDNumber(uint,QWidget * /TransferThis/ = 0,const char * = 0);
+
+%If (- Qt_2_00)
+ enum Mode {
+ HEX,
+ DEC,
+ OCT,
+ BIN
+ };
+%End
+%If (Qt_2_00 -)
+ enum Mode {
+ Hex, HEX = Hex,
+ Dec, DEC = Dec,
+ Oct, OCT = Oct,
+ Bin, BIN = Bin
+ };
+%End
+
+ enum SegmentStyle {
+ Outline,
+ Filled,
+ Flat
+ };
+
+ bool smallDecimalPoint() const;
+
+ int numDigits() const;
+%If (- Qt_2_00)
+ void setNumDigits(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setNumDigits(int);
+%End
+
+ bool checkOverflow(int /Constrained/) const;
+ bool checkOverflow(double) const;
+
+ Mode mode() const;
+%If (- Qt_2_00)
+ void setMode(Mode);
+%End
+%If (Qt_2_00 -)
+ virtual void setMode(Mode);
+%End
+
+ SegmentStyle segmentStyle() const;
+%If (- Qt_2_00)
+ void setSegmentStyle(SegmentStyle);
+%End
+%If (Qt_2_00 -)
+ virtual void setSegmentStyle(SegmentStyle);
+%End
+
+ double value() const;
+ int intValue() const;
+
+ QSize sizeHint() const;
+%If (Qt_2_00 - Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+
+public slots:
+%If (- Qt_2_00)
+ void display(const char *);
+%End
+%If (Qt_2_00 -)
+ void display(const QString &);
+%End
+ void display(int /Constrained/);
+ void display(double);
+%If (- Qt_2_00)
+ void setHexMode();
+ void setDecMode();
+ void setOctMode();
+ void setBinMode();
+ void setSmallDecimalPoint(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setHexMode();
+ virtual void setDecMode();
+ virtual void setOctMode();
+ virtual void setBinMode();
+ virtual void setSmallDecimalPoint(bool);
+%End
+
+signals:
+ void overflow();
+
+protected:
+%If (- Qt_2_00)
+ void resizeEvent(QResizeEvent *);
+%End
+ void drawContents(QPainter *);
+
+private:
+ QLCDNumber(const QLCDNumber &);
+};
diff --git a/sip/qt/qlibrary.sip b/sip/qt/qlibrary.sip
new file mode 100644
index 0000000..cb9813a
--- /dev/null
+++ b/sip/qt/qlibrary.sip
@@ -0,0 +1,59 @@
+// This is the SIP interface definition for QLibrary.
+//
+// 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>QLibrary (Qt v3+)</Title>
+<Para>
+<Literal>QLibrary</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QLibrary
+{
+%TypeHeaderCode
+#include <qlibrary.h>
+%End
+
+public:
+ QLibrary(const QString &);
+
+ void *resolve(const char *);
+ static void *resolve(const QString &,const char *);
+
+ bool load();
+ virtual bool unload();
+ bool isLoaded() const;
+
+ bool autoUnload() const;
+ void setAutoUnload(bool);
+
+ QString library() const;
+
+private:
+ QLibrary(const QLibrary &);
+};
+
+%End
diff --git a/sip/qt/qlineedit.sip b/sip/qt/qlineedit.sip
new file mode 100644
index 0000000..47bd3fa
--- /dev/null
+++ b/sip/qt/qlineedit.sip
@@ -0,0 +1,427 @@
+// This is the SIP interface definition for QLineEdit.
+//
+// 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>QLineEdit</Title>
+<FuncSynopsis>
+ <FuncDef>int <Function>characterAt</Function></FuncDef>
+ <ParamDef>int <Parameter>xpos</Parameter></ParamDef>
+ <ParamDef>QChar *<Parameter>chr</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>xpos</Literal> parameter and returns the int
+result and the <Literal>chr</Literal> value as a tuple. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>del</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>delChar</Literal> in Python. (Qt v2+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>getSelection</Function></FuncDef>
+ <ParamDef>int *<Parameter>start</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>end</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns the bool result and the
+<Literal>start</Literal> and <Literal>end</Literal> values as a tuple.
+(Qt v3+)
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QLineEdit : QFrame
+{
+%TypeHeaderCode
+#include <qlineedit.h>
+%End
+
+public:
+ QLineEdit(QWidget * /TransferThis/,const char * = 0);
+ QLineEdit(const QString &,QWidget * /TransferThis/,const char * = 0);
+%If (Qt_3_2_0 -)
+ QLineEdit(const QString &,const QString &,QWidget * /TransferThis/,
+ const char * = 0);
+%End
+
+ QString text() const;
+
+ QString displayText() const;
+
+ int maxLength() const;
+
+ bool frame() const;
+
+ enum EchoMode {
+ Normal,
+ NoEcho,
+ Password
+ };
+
+ EchoMode echoMode() const;
+
+ bool isReadOnly() const;
+
+ const QValidator *validator() const;
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ int cursorPosition() const;
+ // Obsolete.
+ bool validateAndSet(const QString &,int,int,int);
+
+ int alignment() const;
+
+ void cursorForward(bool,int = 1);
+ void cursorBackward(bool,int = 1);
+ void cursorWordForward(bool);
+ void cursorWordBackward(bool);
+ void backspace();
+ void del() /PyName=delChar/;
+ void home(bool);
+ void end(bool);
+
+%If (Qt_3_2_0 -)
+ bool isModified() const;
+ void clearModified();
+%End
+
+ // Obsolete.
+ bool edited() const;
+ // Obsolete.
+ void setEdited(bool);
+
+ bool hasSelectedText() const;
+ QString selectedText() const;
+%If (Qt_3_2_0 -)
+ int selectionStart() const;
+%End
+
+ bool isUndoAvailable() const;
+ bool isRedoAvailable() const;
+
+ bool dragEnabled() const;
+
+%If (Qt_3_2_0 -)
+ QString inputMask() const;
+ void setInputMask(const QString &);
+ bool hasAcceptableInput() const;
+%End
+
+public slots:
+ virtual void setText(const QString &);
+ virtual void selectAll();
+ virtual void deselect();
+ virtual void clearValidator();
+ virtual void insert(const QString &);
+ virtual void clear();
+ virtual void undo();
+ virtual void redo();
+ virtual void setMaxLength(int);
+ virtual void setFrame(bool);
+ virtual void setEchoMode(EchoMode);
+ virtual void setReadOnly(bool);
+ virtual void setValidator(const QValidator *);
+ virtual void setFont(const QFont &);
+ virtual void setPalette(const QPalette &);
+ virtual void setSelection(int,int);
+ virtual void setCursorPosition(int);
+ virtual void setAlignment(int);
+%If (Qt_CLIPBOARD)
+ virtual void cut();
+ virtual void copy() const;
+ virtual void paste();
+%End
+ virtual void setDragEnabled(bool);
+
+signals:
+ void textChanged(const QString &);
+ void returnPressed();
+%If (Qt_3_1_0 -)
+ void lostFocus();
+%End
+ void selectionChanged();
+
+protected:
+ bool event(QEvent *);
+ void mousePressEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseDoubleClickEvent(QMouseEvent *);
+ void keyPressEvent(QKeyEvent *);
+ void imStartEvent(QIMEvent *);
+ void imComposeEvent(QIMEvent *);
+ void imEndEvent(QIMEvent *);
+ void focusInEvent(QFocusEvent *);
+ void focusOutEvent(QFocusEvent *);
+ void resizeEvent(QResizeEvent *);
+ void drawContents(QPainter *);
+%If (Qt_DRAGANDDROP)
+ void dragEnterEvent(QDragEnterEvent *);
+ void dragMoveEvent(QDragMoveEvent *);
+ void dragLeaveEvent(QDragLeaveEvent *);
+ void dropEvent(QDropEvent *);
+%End
+ void contextMenuEvent(QContextMenuEvent *);
+ virtual QPopupMenu *createPopupMenu() /Factory/;
+ void windowActivationChange(bool);
+
+public:
+ // These appeared in v3.0.2 but defined as incompatible 3.0 addons,
+ // until v3.1.0. v3.2.0 then defined them as internal and obsolete.
+%If (Qt_3_1_0 -)
+ void setPasswordChar(QChar);
+ QChar passwordChar() const;
+%End
+
+ // Obsolete.
+ SIP_PYTUPLE characterAt(int) const;
+%MethodCode
+ int res;
+ QChar *chr;
+
+ Py_BEGIN_ALLOW_THREADS
+ chr = new QChar();
+ res = sipCpp -> characterAt(a0,chr);
+ Py_END_ALLOW_THREADS
+
+ sipRes = sipBuildResult(&sipIsErr,"(iB)",res,chr,sipClass_QChar,NULL);
+%End
+
+ // Obsolete.
+ bool getSelection(int *,int *);
+
+private:
+ QLineEdit(const QLineEdit &);
+};
+
+%End
+
+
+%If (- Qt_3_0_0)
+
+class QLineEdit : QWidget
+{
+%TypeHeaderCode
+#include <qlineedit.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QLineEdit(QWidget * /TransferThis/ = 0,const char * = 0);
+%End
+%If (Qt_2_00 -)
+ QLineEdit(QWidget * /TransferThis/,const char * = 0);
+ QLineEdit(const QString &,QWidget * /TransferThis/,const char * = 0);
+%End
+
+%If (- Qt_2_00)
+ const char *text() const;
+%End
+%If (Qt_2_00 -)
+ QString text() const;
+
+ QString displayText() const;
+%End
+
+%If (- Qt_2_00)
+ void setMaxLength(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setMaxLength(int);
+%End
+ int maxLength() const;
+
+%If (- Qt_2_00)
+ void setFrame(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setFrame(bool);
+%End
+ bool frame() const;
+
+ enum EchoMode {
+ Normal,
+ NoEcho,
+ Password
+ };
+
+%If (- Qt_2_00)
+ void setEchoMode(EchoMode);
+%End
+%If (Qt_2_00 -)
+ virtual void setEchoMode(EchoMode);
+%End
+ EchoMode echoMode() const;
+
+%If (Qt_2_1_0 -)
+ void setReadOnly(bool);
+%End
+%If (Qt_2_1_0 -)
+ bool isReadOnly() const;
+%End
+
+%If (- Qt_2_00)
+ void setValidator(QValidator *);
+ QValidator *validator() const;
+%End
+%If (Qt_2_00 -)
+ virtual void setValidator(QValidator *);
+%End
+%If (Qt_2_00 -)
+ const QValidator *validator() const;
+%End
+
+ QSize sizeHint() const;
+%If (Qt_2_00 -)
+ QSize minimumSizeHint() const;
+%End
+%If (Qt_2_00 -)
+ QSizePolicy sizePolicy() const;
+%End
+
+%If (- Qt_2_00)
+ void setCursorPosition(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setCursorPosition(int);
+%End
+ int cursorPosition() const;
+%If (- Qt_2_00)
+ bool validateAndSet(const char *,int,int,int);
+%End
+%If (Qt_2_00 -)
+ bool validateAndSet(const QString &,int,int,int);
+%End
+
+%If (Qt_2_00 -)
+ int alignment() const;
+%End
+
+%If (Qt_2_00 -)
+ void cursorLeft(bool,int = 1);
+ void cursorRight(bool,int = 1);
+ void cursorWordForward(bool);
+ void cursorWordBackward(bool);
+ void backspace();
+ void del() /PyName=delChar/;
+ void home(bool);
+ void end(bool);
+
+ void setEdited(bool);
+ bool edited() const;
+%End
+
+%If (Qt_2_00 -)
+ bool hasMarkedText() const;
+ QString markedText() const;
+%End
+
+%If (Qt_CLIPBOARD)
+ void cut();
+ void copy() const;
+ void paste();
+%End
+
+%If (- Qt_2_00)
+ void setEnabled(bool);
+ void setFont(const QFont &);
+ void setPalette(const QPalette &);
+ void setSelection(int,int);
+%End
+%If (Qt_2_00 -)
+ virtual void setEnabled(bool);
+ virtual void setFont(const QFont &);
+ virtual void setPalette(const QPalette &);
+ virtual void setSelection(int,int);
+
+ void setAlignment(int);
+%End
+
+public slots:
+%If (- Qt_2_00)
+ void setText(const char *);
+%End
+%If (Qt_2_00 -)
+ virtual void setText(const QString &);
+%End
+ void selectAll();
+ void deselect();
+ void clearValidator();
+%If (- Qt_2_00)
+ void insert(const char *);
+%End
+%If (Qt_2_00 -)
+ void insert(const QString &);
+%End
+ void clear();
+
+signals:
+%If (- Qt_2_00)
+ void textChanged(const char *);
+%End
+%If (Qt_2_00 -)
+ void textChanged(const QString &);
+%End
+ void returnPressed();
+
+protected:
+%If (Qt_2_2_0 -)
+ bool event(QEvent *);
+%End
+ void mousePressEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseDoubleClickEvent(QMouseEvent *);
+ void keyPressEvent(QKeyEvent *);
+ void focusInEvent(QFocusEvent *);
+ void focusOutEvent(QFocusEvent *);
+ void paintEvent(QPaintEvent *);
+ void resizeEvent(QResizeEvent *);
+ void leaveEvent(QEvent *);
+ void repaintArea(int,int);
+%If (- Qt_2_00)
+ void timerEvent(QTimerEvent *);
+ bool event(QEvent *);
+ bool hasMarkedText() const;
+ QString markedText() const;
+%End
+%If (Qt_2_00 -)
+%If (Qt_DRAGANDDROP)
+ void dragEnterEvent(QDragEnterEvent *);
+ void dropEvent(QDropEvent *);
+%End
+%End
+
+private:
+ QLineEdit(const QLineEdit &);
+};
+
+%End
diff --git a/sip/qt/qlist.sip b/sip/qt/qlist.sip
new file mode 100644
index 0000000..8b5750c
--- /dev/null
+++ b/sip/qt/qlist.sip
@@ -0,0 +1,111 @@
+// This is the SIP interface definition for all types based on the QList
+// template.
+//
+// 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>QList&lt;type&gt; (Qt v2)</Title>
+<Para>
+Types based on the <Literal>QList</Literal> template are automatically
+converted to and from Python lists of the type.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_1_0 - Qt_3_0_0)
+
+template<Type>
+%MappedType QList<Type>
+{
+%TypeHeaderCode
+#include <qlist.h>
+%End
+
+%ConvertFromTypeCode
+ Type *tb;
+ int i;
+ PyObject *l;
+
+ // Create the list.
+
+ if ((l = PyList_New(sipCpp -> count())) == NULL)
+ return NULL;
+
+ // Get it.
+
+ i = 0;
+
+ for (tb = sipCpp -> first(); tb != NULL; tb = sipCpp -> next())
+ {
+ PyObject *tbobj;
+
+ if ((tbobj = sipConvertFromInstance(tb,sipClass_Type,sipTransferObj)) == NULL || PyList_SetItem(l,i,tbobj) < 0)
+ {
+ Py_XDECREF(tbobj);
+ Py_DECREF(l);
+
+ return NULL;
+ }
+
+ ++i;
+ }
+
+ return l;
+%End
+
+%ConvertToTypeCode
+ if (sipIsErr == NULL)
+ {
+ if (!PyList_Check(sipPy))
+ return 0;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_Type,0))
+ return 0;
+
+ return 1;
+ }
+
+ QList<Type> *ql = new QList<Type>;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ {
+ // We apply the transfer to the list itself, not the elements.
+ // Note that any temporary element will never be destroyed.
+ // There is nothing that can be done about this.
+ ql -> append(reinterpret_cast<Type *>(sipConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_Type,0,0,0,sipIsErr)));
+
+ if (*sipIsErr)
+ {
+ delete ql;
+
+ return 0;
+ }
+ }
+
+ *sipCppPtr = ql;
+
+ return sipGetState(sipTransferObj);
+%End
+};
+
+%End
diff --git a/sip/qt/qlistbox.sip b/sip/qt/qlistbox.sip
new file mode 100644
index 0000000..1f755d8
--- /dev/null
+++ b/sip/qt/qlistbox.sip
@@ -0,0 +1,571 @@
+// This is the SIP interface definition for QListBox, QListBoxItem,
+// QListBoxPixmap and QListBoxText.
+//
+// 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>QListBox</Title>
+<FuncSynopsis>
+ <FuncDef>bool <Function>itemYPos</Function></FuncDef>
+ <ParamDef>int <Parameter>index</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>yPos</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>index</Literal> parameter and returns a tuple
+containing the <Literal>bool</Literal> result and <Literal>yPos</Literal>.
+(Qt v1.x)
+</Para>
+</Sect2>
+
+<Sect2><Title>QListBoxItem</Title>
+<Para>
+<Literal>QListBoxItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QListBoxPixmap</Title>
+<Para>
+<Literal>QListBoxPixmap</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QListBoxText</Title>
+<Para>
+<Literal>QListBoxText</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_2_00)
+
+%ModuleHeaderCode
+#include <qlistbox.h>
+%End
+
+// List box item types.
+const int LBI_Undefined;
+const int LBI_Text;
+const int LBI_Pixmap;
+const int LBI_UserDefined;
+
+
+class QListBox : QTableView
+{
+%TypeHeaderCode
+#include <qlistbox.h>
+%End
+
+public:
+ QListBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+
+ void setFont(const QFont &);
+ uint count() const;
+ void insertStrList(const QStrList *,int = -1);
+// void insertStrList(const char **,int = -1,int = -1);
+ void insertItem(const QListBoxItem * /Transfer/,int = -1);
+ void insertItem(const char *,int = -1);
+ void insertItem(const QPixmap &,int = -1);
+ void inSort(const QListBoxItem *);
+ void inSort(const char *);
+ void removeItem(int);
+ void clear();
+ const char *text(int) const;
+ const QPixmap *pixmap(int) const;
+ void changeItem(const QListBoxItem * /Transfer/,int);
+ void changeItem(const char *,int);
+ void changeItem(const QPixmap &,int);
+ bool autoUpdate() const;
+ void setAutoUpdate(bool);
+ int numItemsVisible() const;
+ void setFixedVisibleLines(int);
+ int currentItem() const;
+ void setCurrentItem(int);
+ void centerCurrentItem();
+ int topItem() const;
+ void setTopItem(int);
+ void setBottomItem(int);
+ bool dragSelect() const;
+ void setDragSelect(bool);
+ bool autoScroll() const;
+ void setAutoScroll(bool);
+ bool autoScrollBar() const;
+ void setAutoScrollBar(bool);
+ bool scrollBar() const;
+ void setScrollBar(bool);
+ bool autoBottomScrollBar() const;
+ void setAutoBottomScrollBar(bool);
+ bool bottomScrollBar() const;
+ void setBottomScrollBar(bool);
+ bool smoothScrolling() const;
+ void setSmoothScrolling(bool);
+ int itemHeight() const;
+ int itemHeight(int) const;
+ long maxItemWidth() const;
+ bool isMultiSelection() const;
+ void setMultiSelection(bool);
+ void setSelected(int,bool);
+ bool isSelected(int) const;
+ QSize sizeHint() const;
+
+public slots:
+ void clearSelection();
+
+signals:
+ void highlighted(int);
+ void selected(int);
+ void highlighted(const char *);
+ void selected(const char *);
+ void selectionChanged();
+
+protected:
+ QListBoxItem *item(int) const;
+ bool itemVisible(int);
+ int cellHeight(int = 0);
+ void paintCell(QPainter *,int,int);
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseDoubleClickEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+ void keyPressEvent(QKeyEvent *);
+ void focusInEvent(QFocusEvent *);
+ void focusOutEvent(QFocusEvent *);
+ void resizeEvent(QResizeEvent *);
+ void timerEvent(QTimerEvent *);
+ int findItem(int) const;
+ bool itemYPos(int,int *) const;
+ void updateItem(int,bool = 1);
+ void clearList();
+ void updateCellWidth();
+ void toggleCurrentItem();
+
+private:
+ QListBox(const QListBox &);
+};
+
+%End
+
+%If (Qt_2_00 -)
+
+class QListBox : QScrollView
+{
+%TypeHeaderCode
+#include <qlistbox.h>
+%End
+
+public:
+ QListBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+
+ virtual void setFont(const QFont &);
+
+ uint count() const;
+
+ void insertStringList(const QStringList &,int = -1);
+ void insertStrList(const QStrList *,int = -1);
+// void insertStrList(const QStrList &,int = -1);
+// void insertStrList(const char **,int = -1,int = -1);
+
+ void insertItem(const QListBoxItem * /Transfer/,int = -1);
+%If (Qt_2_1_0 -)
+ void insertItem(const QListBoxItem * /Transfer/,const QListBoxItem *);
+%End
+ void insertItem(const QString &,int = -1);
+ void insertItem(const QPixmap &,int = -1);
+%If (Qt_2_1_0 -)
+ void insertItem(const QPixmap &,const QString &,int = -1);
+%End
+
+ void removeItem(int);
+
+%If (- Qt_3_0_0)
+ void clear();
+%End
+
+ QString text(int) const;
+ const QPixmap *pixmap(int) const;
+
+ void changeItem(const QListBoxItem * /Transfer/,int);
+ void changeItem(const QString &,int);
+ void changeItem(const QPixmap &,int);
+%If (Qt_2_1_0 -)
+ void changeItem(const QPixmap &,const QString &,int);
+%End
+
+ void takeItem(const QListBoxItem * /TransferBack/);
+
+ int numItemsVisible() const;
+
+ int currentItem() const;
+%If (Qt_2_1_0 -)
+ QString currentText() const;
+%End
+ virtual void setCurrentItem(int);
+ virtual void setCurrentItem(QListBoxItem *);
+ void centerCurrentItem();
+ int topItem() const;
+ virtual void setTopItem(int);
+ virtual void setBottomItem(int);
+
+ long maxItemWidth() const;
+
+%If (- Qt_2_1_0)
+ enum SelectionMode {
+ Single,
+ Multi,
+ Extended
+ };
+%End
+%If (Qt_2_1_0 -)
+ enum SelectionMode {
+ Single,
+ Multi,
+ Extended,
+ NoSelection
+ };
+%End
+
+ virtual void setSelectionMode(SelectionMode);
+ SelectionMode selectionMode() const;
+
+ void setMultiSelection(bool);
+ bool isMultiSelection() const;
+
+ virtual void setSelected(QListBoxItem *,bool);
+ void setSelected(int,bool);
+ bool isSelected(int) const;
+ bool isSelected(QListBoxItem *) const;
+%If (Qt_3_1_0 -)
+ QListBoxItem *selectedItem() const;
+%End
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ QListBoxItem *item(int) const;
+ int index(const QListBoxItem *) const;
+%If (Qt_2_1_0 - Qt_3_0_0)
+ QListBoxItem *findItem(const QString &) const;
+%End
+%If (Qt_3_0_0 -)
+ QListBoxItem *findItem(const QString &,
+ ComparisonFlags = BeginsWith) const;
+%End
+
+ void triggerUpdate(bool);
+
+ bool itemVisible(int);
+ bool itemVisible(const QListBoxItem *);
+
+ enum LayoutMode {
+ FixedNumber,
+ FitToWidth,
+ FitToHeight = FitToWidth,
+ Variable
+ };
+
+ virtual void setColumnMode(LayoutMode /Constrained/);
+ virtual void setColumnMode(int);
+ virtual void setRowMode(LayoutMode /Constrained/);
+ virtual void setRowMode(int);
+
+ LayoutMode columnMode() const;
+ LayoutMode rowMode() const;
+
+ int numColumns() const;
+ int numRows() const;
+
+ bool variableWidth() const;
+ virtual void setVariableWidth(bool);
+
+ bool variableHeight() const;
+ virtual void setVariableHeight(bool);
+
+ void viewportPaintEvent(QPaintEvent *);
+
+ int itemHeight(int = 0) const;
+ QListBoxItem *itemAt(QPoint) const;
+
+ QRect itemRect(QListBoxItem *) const;
+
+%If (Qt_2_1_0 -)
+ QListBoxItem *firstItem() const;
+
+ void sort(bool = 1);
+%End
+
+public slots:
+%If (Qt_3_0_0 -)
+ void clear();
+%End
+ virtual void ensureCurrentVisible();
+ virtual void clearSelection();
+%If (Qt_2_1_0 - Qt_3_0_0)
+ void selectAll(bool);
+ void invertSelection();
+%End
+%If (Qt_3_0_0 -)
+ virtual void selectAll(bool);
+ virtual void invertSelection();
+%End
+
+signals:
+ void highlighted(int);
+ void selected(int);
+ void highlighted(const QString &);
+ void selected(const QString &);
+ void highlighted(QListBoxItem *);
+ void selected(QListBoxItem *);
+
+ void selectionChanged();
+%If (Qt_2_1_0 -)
+ void selectionChanged(QListBoxItem *);
+ void currentChanged(QListBoxItem *);
+ void clicked(QListBoxItem *);
+ void clicked(QListBoxItem *,const QPoint &);
+ void pressed(QListBoxItem *);
+ void pressed(QListBoxItem *,const QPoint &);
+
+ void doubleClicked(QListBoxItem *);
+ void returnPressed(QListBoxItem *);
+ void rightButtonClicked(QListBoxItem *,const QPoint &);
+ void rightButtonPressed(QListBoxItem *,const QPoint &);
+ void mouseButtonPressed(int,QListBoxItem *,const QPoint &);
+ void mouseButtonClicked(int,QListBoxItem *,const QPoint &);
+%End
+
+%If (Qt_3_0_0 -)
+ void contextMenuRequested(QListBoxItem *,const QPoint &);
+%End
+
+%If (Qt_2_1_0 -)
+ void onItem(QListBoxItem *);
+ void onViewport();
+%End
+
+protected:
+%If (- Qt_3_0_0)
+ void viewportMousePressEvent(QMouseEvent *);
+ void viewportMouseReleaseEvent(QMouseEvent *);
+ void viewportMouseDoubleClickEvent(QMouseEvent *);
+ void viewportMouseMoveEvent(QMouseEvent *);
+%End
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseDoubleClickEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+%If (Qt_3_0_0 -)
+ void contentsContextMenuEvent(QContextMenuEvent *);
+%End
+
+ void keyPressEvent(QKeyEvent *);
+ void focusInEvent(QFocusEvent *);
+ void focusOutEvent(QFocusEvent *);
+ void resizeEvent(QResizeEvent *);
+ void showEvent(QShowEvent *);
+
+%If (Qt_3_0_0 -)
+ bool eventFilter(QObject *,QEvent *);
+%End
+
+ void updateItem(int);
+ void updateItem(QListBoxItem *);
+
+ virtual void paintCell(QPainter *,int,int);
+
+ void toggleCurrentItem();
+%If (Qt_2_2_0 -)
+ bool isRubberSelecting() const;
+%End
+
+ void doLayout() const;
+
+%If (Qt_3_0_0 -)
+ void windowActivationChange(bool);
+%End
+
+protected slots:
+%If (Qt_2_1_0 -)
+ void clearInputString();
+%End
+
+private:
+ QListBox(const QListBox &);
+};
+
+%End
+
+
+class QListBoxItem
+{
+%TypeHeaderCode
+#include <qlistbox.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QListBoxItem();
+%End
+%If (Qt_2_00 -)
+ QListBoxItem(QListBox * /TransferThis/ = 0);
+%End
+%If (Qt_2_1_0 -)
+ QListBoxItem(QListBox * /TransferThis/,QListBoxItem *);
+%End
+
+%If (- Qt_2_00)
+ virtual const char *text() const;
+%End
+%If (Qt_2_00 -)
+ virtual QString text() const;
+%End
+ virtual const QPixmap *pixmap() const;
+
+%If (- Qt_2_00)
+ virtual int height(const QListBox *) const = 0;
+ virtual int width(const QListBox *) const = 0;
+%End
+%If (Qt_2_00 -)
+ virtual int height(const QListBox *) const;
+ virtual int width(const QListBox *) const;
+%End
+
+%If (Qt_2_00 - Qt_3_0_0)
+ bool selected() const;
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ bool current() const;
+%End
+%If (Qt_3_0_0 -)
+ bool isSelected() const;
+ bool isCurrent() const;
+%End
+
+%If (Qt_2_00 -)
+ QListBox *listBox() const;
+%End
+
+%If (Qt_2_1_0 -)
+ void setSelectable(bool);
+ bool isSelectable() const;
+
+ QListBoxItem *next() const;
+ QListBoxItem *prev() const;
+%End
+
+%If (Qt_3_0_0 -)
+ virtual int rtti() const;
+%End
+
+protected:
+ virtual void paint(QPainter *) = 0;
+%If (- Qt_2_00)
+ void setText(const char *);
+%End
+%If (Qt_2_00 -)
+ virtual void setText(const QString &);
+%End
+%If (Qt_2_1_0 -)
+ void setCustomHighlighting(bool);
+%End
+
+private:
+ QListBoxItem(const QListBoxItem &);
+};
+
+class QListBoxText : QListBoxItem
+{
+%TypeHeaderCode
+#include <qlistbox.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QListBoxText(const char * = 0);
+%End
+%If (Qt_2_00 -)
+ QListBoxText(QListBox * /TransferThis/,
+ const QString & = QString::null);
+ QListBoxText(const QString & = QString::null);
+%End
+%If (Qt_2_1_0 -)
+ QListBoxText(QListBox * /TransferThis/,const QString &,QListBoxItem *);
+%End
+
+%If (- Qt_2_00)
+ void paint(QPainter *);
+%End
+ int height(const QListBox *) const;
+ int width(const QListBox *) const;
+
+%If (Qt_3_0_0 -)
+ int rtti() const;
+%End
+
+protected:
+%If (Qt_2_00 -)
+ void paint(QPainter *);
+%End
+
+private:
+ QListBoxText(const QListBoxText &);
+};
+
+class QListBoxPixmap : QListBoxItem
+{
+%TypeHeaderCode
+#include <qlistbox.h>
+%End
+
+public:
+%If (Qt_2_00 -)
+ QListBoxPixmap(QListBox * /TransferThis/,const QPixmap &);
+%End
+ QListBoxPixmap(const QPixmap &);
+%If (Qt_2_1_0 -)
+ QListBoxPixmap(QListBox * /TransferThis/,const QPixmap &,
+ QListBoxItem *);
+ QListBoxPixmap(QListBox * /TransferThis/,const QPixmap &,
+ const QString &);
+ QListBoxPixmap(const QPixmap &,const QString &);
+ QListBoxPixmap(QListBox * /TransferThis/,const QPixmap &,
+ const QString &,QListBoxItem *);
+%End
+
+ const QPixmap *pixmap() const;
+%If (Qt_2_00 -)
+ int height(const QListBox *) const;
+ int width(const QListBox *) const;
+%End
+
+%If (Qt_3_0_0 -)
+ int rtti() const;
+%End
+
+protected:
+ void paint(QPainter *);
+%If (- Qt_2_00)
+ int height(const QListBox *) const;
+ int width(const QListBox *) const;
+%End
+
+private:
+ QListBoxPixmap(const QListBoxPixmap &);
+};
diff --git a/sip/qt/qlistview.sip b/sip/qt/qlistview.sip
new file mode 100644
index 0000000..2028d1e
--- /dev/null
+++ b/sip/qt/qlistview.sip
@@ -0,0 +1,770 @@
+// This is the SIP interface definition for QListView, QListViewItem,
+// QCheckListItem and QListViewItemIterator.
+//
+// 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>QListView</Title>
+<Para>
+<Literal>QListView</Literal> is fully implemented.
+</Para>
+<Para>
+Note that to remove a child <Literal>QListViewItem</Literal> you must first
+call <Literal>takeItem()</Literal> and then <Literal>del()</Literal>.
+</Para>
+</Sect2>
+
+<Sect2><Title>QListViewItem</Title>
+<Para>
+<Literal>QListViewItem</Literal> is fully implemented.
+</Para>
+<Para>
+Note that to remove a child <Literal>QListViewItem</Literal> you must first
+call <Literal>takeItem()</Literal> and then <Literal>del()</Literal>.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCheckListItem</Title>
+<Para>
+<Literal>QCheckListItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QListViewItemIterator (Qt v2+)</Title>
+<Para>
+<Literal>QListViewItemIterator</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_2_00)
+
+class QListViewItem
+{
+%TypeHeaderCode
+#include <qlistview.h>
+%End
+
+public:
+ QListViewItem(QListView * /TransferThis/);
+ QListViewItem(QListViewItem * /TransferThis/);
+ QListViewItem(QListView * /TransferThis/,QListViewItem *);
+ QListViewItem(QListViewItem * /TransferThis/,QListViewItem *);
+
+ QListViewItem(QListView * /TransferThis/,
+ const char *,const char * = 0,
+ const char * = 0,const char * = 0,
+ const char * = 0,const char * = 0,
+ const char * = 0,const char * = 0);
+
+ QListViewItem(QListViewItem * /TransferThis/,
+ const char *,const char * = 0,
+ const char * = 0,const char * = 0,
+ const char * = 0,const char * = 0,
+ const char * = 0,const char * = 0);
+
+ QListViewItem(QListView * /TransferThis/,QListViewItem *,
+ const char *,const char * = 0,
+ const char * = 0,const char * = 0,
+ const char * = 0,const char * = 0,
+ const char * = 0,const char * = 0);
+
+ QListViewItem(QListViewItem * /TransferThis/,QListViewItem *,
+ const char *,const char * = 0,
+ const char * = 0,const char * = 0,
+ const char * = 0,const char * = 0,
+ const char * = 0,const char * = 0);
+
+ virtual void insertItem(QListViewItem * /Transfer/);
+ virtual void removeItem(QListViewItem * /TransferBack/);
+ int height() const;
+ virtual void invalidateHeight();
+ int totalHeight() const;
+ virtual int width(const QFontMetrics &,const QListView *,int) const;
+ void widthChanged(int = -1) const;
+ int depth() const;
+ virtual void setText(int,const char *);
+ virtual const char *text(int) const;
+ virtual void setPixmap(int,const QPixmap &);
+ virtual const QPixmap *pixmap(int) const;
+ virtual const char *key(int,bool) const;
+ virtual void sortChildItems(int,bool);
+ int childCount() const;
+ bool isOpen() const;
+ virtual void setOpen(bool);
+ virtual void setup();
+ virtual void setSelected(bool);
+ bool isSelected() const;
+ virtual void paintCell(QPainter *,const QColorGroup &,int,int,int);
+ virtual void paintBranches(QPainter *,const QColorGroup &,int,int,int,
+ GUIStyle);
+ virtual void paintFocus(QPainter *,const QColorGroup &,const QRect &);
+ QListViewItem *firstChild() const;
+ QListViewItem *nextSibling() const;
+ QListViewItem *parent() const;
+ QListViewItem *itemAbove();
+ QListViewItem *itemBelow();
+ int itemPos() const;
+ QListView *listView() const;
+ virtual void setSelectable(bool);
+ bool isSelectable() const;
+ virtual void setExpandable(bool);
+ bool isExpandable();
+ void repaint() const;
+
+protected:
+ virtual void enforceSortOrder() const;
+ virtual void setHeight(int);
+ virtual void activate();
+};
+
+%End
+
+%If (Qt_2_00 -)
+
+class QListViewItem : Qt
+{
+%TypeHeaderCode
+#include <qlistview.h>
+%End
+
+public:
+ QListViewItem(QListView * /TransferThis/);
+ QListViewItem(QListViewItem * /TransferThis/);
+ QListViewItem(QListView * /TransferThis/,QListViewItem *);
+ QListViewItem(QListViewItem * /TransferThis/,QListViewItem *);
+
+ QListViewItem(QListView * /TransferThis/,
+ QString,QString = QString::null,
+ QString = QString::null,QString = QString::null,
+ QString = QString::null,QString = QString::null,
+ QString = QString::null,QString = QString::null);
+
+ QListViewItem(QListViewItem * /TransferThis/,
+ QString,QString = QString::null,
+ QString = QString::null,QString = QString::null,
+ QString = QString::null,QString = QString::null,
+ QString = QString::null,QString = QString::null);
+
+ QListViewItem(QListView * /TransferThis/,QListViewItem *,
+ QString,QString = QString::null,
+ QString = QString::null,QString = QString::null,
+ QString = QString::null,QString = QString::null,
+ QString = QString::null,QString = QString::null);
+
+ QListViewItem(QListViewItem * /TransferThis/,QListViewItem *,
+ QString,QString = QString::null,
+ QString = QString::null,QString = QString::null,
+ QString = QString::null,QString = QString::null,
+ QString = QString::null,QString = QString::null);
+
+ virtual void insertItem(QListViewItem * /Transfer/);
+ virtual void takeItem(QListViewItem * /TransferBack/);
+
+ int height() const;
+ virtual void invalidateHeight();
+ int totalHeight() const;
+ virtual int width(const QFontMetrics &,const QListView *,int) const;
+ void widthChanged(int = -1) const;
+ int depth() const;
+
+ virtual void setText(int,const QString &);
+ virtual QString text(int) const;
+
+ virtual void setPixmap(int,const QPixmap &);
+ virtual const QPixmap *pixmap(int) const;
+
+ virtual QString key(int,bool) const;
+%If (Qt_3_0_0 -)
+ virtual int compare(QListViewItem *,int,bool) const;
+%End
+ virtual void sortChildItems(int,bool);
+
+ int childCount() const;
+
+ bool isOpen() const;
+ virtual void setOpen(bool);
+ virtual void setup();
+
+ virtual void setSelected(bool);
+ bool isSelected() const;
+
+ virtual void paintCell(QPainter *,const QColorGroup &,int,int,int);
+%If (- Qt_3_0_0)
+ virtual void paintBranches(QPainter *,const QColorGroup &,int,int,int,
+ GUIStyle);
+%End
+%If (Qt_3_0_0 -)
+ virtual void paintBranches(QPainter *,const QColorGroup &,int,int,int);
+%End
+ virtual void paintFocus(QPainter *,const QColorGroup &,const QRect &);
+
+ QListViewItem *firstChild() const;
+ QListViewItem *nextSibling() const;
+ QListViewItem *parent() const;
+
+ QListViewItem *itemAbove();
+ QListViewItem *itemBelow();
+
+ int itemPos() const;
+
+ QListView *listView() const;
+
+ virtual void setSelectable(bool);
+ bool isSelectable() const;
+
+ virtual void setExpandable(bool);
+ bool isExpandable();
+
+ void repaint() const;
+
+%If (Qt_2_1_0 - Qt_3_0_0)
+ void sort();
+%End
+%If (Qt_3_0_0 -)
+ virtual void sort();
+%End
+%If (Qt_2_2_0 -)
+ void moveItem(QListViewItem *);
+%End
+
+%If (Qt_3_0_0 -)
+ virtual void setDragEnabled(bool);
+ virtual void setDropEnabled(bool);
+ bool dragEnabled() const;
+ bool dropEnabled() const;
+ virtual bool acceptDrop(const QMimeSource *) const;
+
+ void setVisible(bool);
+ bool isVisible() const;
+
+ virtual void setRenameEnabled(int,bool);
+ bool renameEnabled(int) const;
+ virtual void startRename(int);
+
+ virtual void setEnabled(bool);
+ bool isEnabled() const;
+
+ virtual int rtti() const;
+
+ virtual void setMultiLinesEnabled(bool);
+ bool multiLinesEnabled() const;
+%End
+
+protected:
+ virtual void enforceSortOrder() const;
+ virtual void setHeight(int);
+ virtual void activate();
+
+%If (Qt_2_1_0 -)
+ bool activatedPos(QPoint &);
+%End
+%If (Qt_3_0_0 -)
+ virtual void dropped(QDropEvent *);
+ virtual void dragEntered();
+ virtual void dragLeft();
+ virtual void okRename(int);
+ virtual void cancelRename(int);
+
+ void ignoreDoubleClick();
+%End
+};
+
+%End
+
+
+class QListView : QScrollView
+{
+%TypeHeaderCode
+#include <qlistview.h>
+%End
+
+public:
+%If (Qt_2_2_0 - Qt_3_0_0)
+ QListView(QWidget * /TransferThis/,const char *,WFlags);
+%End
+%If (- Qt_3_0_0)
+ QListView(QWidget * /TransferThis/ = 0,const char * = 0);
+%End
+%If (Qt_3_0_0 -)
+ QListView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+%End
+
+ int treeStepSize() const;
+ virtual void setTreeStepSize(int);
+
+ virtual void insertItem(QListViewItem * /Transfer/);
+%If (Qt_2_00 -)
+ virtual void takeItem(QListViewItem * /TransferBack/);
+%End
+
+%If (- Qt_3_0_0)
+ virtual void clear();
+%End
+ QHeader *header() const;
+
+%If (- Qt_2_00)
+ virtual int addColumn(const char *,int = -1);
+ virtual void setColumnText(int,const char *);
+ const char *columnText(int) const;
+%End
+%If (Qt_2_00 -)
+ virtual int addColumn(const QString &,int = -1);
+ virtual int addColumn(const QIconSet &,const QString &,int = -1);
+%If (Qt_2_1_0 -)
+ void removeColumn(int);
+%End
+ virtual void setColumnText(int,const QString &);
+ virtual void setColumnText(int,const QIconSet &,const QString &);
+ QString columnText(int) const;
+%End
+ virtual void setColumnWidth(int,int);
+ int columnWidth(int) const;
+
+ enum WidthMode
+ {
+ Manual,
+ Maximum
+ };
+
+ virtual void setColumnWidthMode(int,WidthMode);
+ WidthMode columnWidthMode(int) const;
+%If (Qt_2_1_0 -)
+ int columns() const;
+%End
+
+ virtual void setColumnAlignment(int,int);
+ int columnAlignment(int) const;
+
+ void show();
+
+ QListViewItem *itemAt(const QPoint &) const;
+ QRect itemRect(const QListViewItem *) const;
+ int itemPos(const QListViewItem *);
+
+ void ensureItemVisible(const QListViewItem *);
+
+ void repaintItem(const QListViewItem *) const;
+
+ virtual void setMultiSelection(bool);
+ bool isMultiSelection() const;
+
+%If (Qt_2_1_0 -)
+ enum SelectionMode {
+ Single,
+ Multi,
+ Extended,
+ NoSelection
+ };
+
+ void setSelectionMode(SelectionMode);
+ SelectionMode selectionMode() const;
+%End
+
+%If (Qt_2_1_0 -)
+ virtual void clearSelection();
+%End
+ virtual void setSelected(QListViewItem *,bool);
+%If (Qt_3_2_0 -)
+ void setSelectionAnchor(QListViewItem *);
+%End
+ bool isSelected(QListViewItem *) const;
+%If (Qt_2_1_0 -)
+ QListViewItem *selectedItem() const;
+%End
+ virtual void setOpen(QListViewItem *,bool);
+ bool isOpen(QListViewItem *) const;
+
+ virtual void setCurrentItem(QListViewItem *);
+ QListViewItem *currentItem() const;
+
+ QListViewItem *firstChild() const;
+%If (Qt_3_0_0 -)
+ QListViewItem *lastItem() const;
+%End
+
+ int childCount() const;
+
+ virtual void setAllColumnsShowFocus(bool);
+ bool allColumnsShowFocus() const;
+
+ virtual void setItemMargin(int);
+ int itemMargin() const;
+
+ virtual void setRootIsDecorated(bool);
+ bool rootIsDecorated() const;
+
+ virtual void setSorting(int,bool = 1);
+%If (Qt_3_1_0 -)
+ int sortColumn() const;
+%End
+%If (Qt_3_2_0 -)
+ void setSortColumn(int);
+ SortOrder sortOrder() const;
+ void setSortOrder(SortOrder);
+%End
+%If (Qt_3_0_0 -)
+ virtual void sort();
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ void sort();
+%End
+
+%If (- Qt_2_00)
+ void setStyle(GUIStyle);
+ void setFont(const QFont &);
+ void setPalette(const QPalette &);
+%End
+%If (Qt_2_00 -)
+ virtual void setFont(const QFont &);
+ virtual void setPalette(const QPalette &);
+%End
+
+ bool eventFilter(QObject *,QEvent *);
+
+ QSize sizeHint() const;
+%If (Qt_2_00 -)
+ QSize minimumSizeHint() const;
+%End
+
+%If (Qt_2_1_0 -)
+ void setShowSortIndicator(bool);
+ bool showSortIndicator() const;
+%End
+%If (Qt_3_0_0 -)
+ virtual void setShowToolTips(bool);
+ bool showToolTips() const;
+
+ enum ResizeMode {
+ NoColumn,
+ AllColumns,
+ LastColumn
+ };
+
+ virtual void setResizeMode(ResizeMode);
+ ResizeMode resizeMode() const;
+
+ QListViewItem *findItem(const QString &,int,
+ ComparisonFlags = ExactMatch | CaseSensitive) const;
+
+ enum RenameAction {
+ Accept,
+ Reject
+ };
+
+ virtual void setDefaultRenameAction(RenameAction);
+ RenameAction defaultRenameAction() const;
+ bool isRenaming() const;
+%End
+
+%If (Qt_3_2_0 -)
+ void hideColumn(int);
+%End
+
+public slots:
+%If (Qt_3_0_0 -)
+ virtual void clear();
+%End
+%If (Qt_2_1_0 -)
+ void invertSelection();
+ void selectAll(bool);
+ void setContentsPos(int,int);
+%End
+ void triggerUpdate();
+%If (Qt_3_2_0 -)
+ void adjustColumn(int);
+%End
+
+signals:
+ void selectionChanged();
+ void selectionChanged(QListViewItem *);
+ void currentChanged(QListViewItem *);
+%If (Qt_2_1_0 -)
+ void clicked(QListViewItem *);
+ void clicked(QListViewItem *,const QPoint &,int);
+ void pressed(QListViewItem *);
+ void pressed(QListViewItem *,const QPoint &,int);
+%End
+
+ void doubleClicked(QListViewItem *);
+%If (Qt_3_2_0 -)
+ void doubleClicked(QListViewItem *,const QPoint &,int);
+%End
+ void returnPressed(QListViewItem *);
+%If (Qt_3_0_0 -)
+ void spacePressed(QListViewItem *);
+%End
+ void rightButtonClicked(QListViewItem *,const QPoint &,int);
+ void rightButtonPressed(QListViewItem *,const QPoint &,int);
+%If (Qt_2_1_0 -)
+ void mouseButtonPressed(int,QListViewItem *,const QPoint &,int);
+ void mouseButtonClicked(int,QListViewItem *,const QPoint &,int);
+%End
+
+%If (Qt_3_0_0 -)
+ void contextMenuRequested(QListViewItem *,const QPoint &,int);
+%End
+
+%If (Qt_2_1_0 -)
+ void onItem(QListViewItem *);
+ void onViewport();
+
+ void expanded(QListViewItem *);
+ void collapsed(QListViewItem *);
+%End
+%If (Qt_3_0_0 -)
+ void dropped(QDropEvent *);
+ void itemRenamed(QListViewItem *,int,const QString &);
+ void itemRenamed(QListViewItem *,int);
+%End
+
+protected:
+%If (- Qt_2_00)
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+ void mouseDoubleClickEvent(QMouseEvent *);
+%End
+%If (Qt_2_00 -)
+ void contentsMousePressEvent(QMouseEvent *);
+ void contentsMouseReleaseEvent(QMouseEvent *);
+ void contentsMouseMoveEvent(QMouseEvent *);
+ void contentsMouseDoubleClickEvent(QMouseEvent *);
+%End
+%If (Qt_3_0_0 -)
+ void contentsContextMenuEvent(QContextMenuEvent *);
+ void contentsDragEnterEvent(QDragEnterEvent *);
+ void contentsDragMoveEvent(QDragMoveEvent *);
+ void contentsDragLeaveEvent(QDragLeaveEvent *);
+ void contentsDropEvent(QDropEvent *);
+ virtual QDragObject *dragObject();
+ virtual void startDrag();
+%End
+
+ void focusInEvent(QFocusEvent *);
+ void focusOutEvent(QFocusEvent *);
+
+ void keyPressEvent(QKeyEvent *);
+
+ void resizeEvent(QResizeEvent *);
+%If (Qt_3_0_0 -)
+ void viewportResizeEvent(QResizeEvent *);
+%End
+
+%If (Qt_2_00 -)
+ void showEvent(QShowEvent *);
+%End
+
+ void drawContentsOffset(QPainter *,int,int,int,int,int,int);
+
+ virtual void paintEmptyArea(QPainter *,const QRect &);
+%If (Qt_2_00 -)
+ void styleChange(QStyle &);
+%End
+%If (- Qt_3_0_0)
+ void enabledChange(bool);
+%End
+%If (Qt_3_0_0 -)
+ void windowActivationChange(bool);
+%End
+
+protected slots:
+ void updateContents();
+%If (Qt_2_00 -)
+ void doAutoScroll();
+%End
+
+private:
+%If (Qt_2_1_0 -)
+ QListView(const QWidget &);
+%End
+};
+
+
+class QCheckListItem : QListViewItem
+{
+%TypeHeaderCode
+#include <qlistview.h>
+%End
+
+public:
+ enum Type {
+ RadioButton,
+ CheckBox,
+ Controller,
+%If (Qt_3_2_0 -)
+ RadioButtonController,
+ CheckBoxController,
+%End
+ };
+
+%If (Qt_3_2_0 -)
+ enum ToggleState {
+ Off,
+ NoChange,
+ On
+ };
+%End
+
+%If (Qt_3_2_0 -)
+ QCheckListItem(QCheckListItem * /TransferThis/,const QString &,
+ Type = RadioButtonController);
+ QCheckListItem(QCheckListItem * /TransferThis/,QListViewItem *,
+ const QString &,Type = RadioButtonController);
+ QCheckListItem(QListViewItem * /TransferThis/,const QString &,
+ Type = RadioButtonController);
+ QCheckListItem(QListViewItem * /TransferThis/,QListViewItem *,
+ const QString &,Type = RadioButtonController);
+ QCheckListItem(QListView * /TransferThis/,const QString &,
+ Type = RadioButtonController);
+ QCheckListItem(QListView * /TransferThis/,QListViewItem *,
+ const QString &,Type = RadioButtonController);
+%End
+%If (Qt_2_00 - Qt_3_2_0)
+ QCheckListItem(QCheckListItem * /TransferThis/,const QString &,
+ Type = Controller);
+%If (Qt_3_1_0 -)
+ QCheckListItem(QCheckListItem * /TransferThis/,QListViewItem *,
+ const QString &,Type = Controller);
+%End
+ QCheckListItem(QListViewItem * /TransferThis/,const QString &,
+ Type = Controller);
+%If (Qt_3_1_0 -)
+ QCheckListItem(QListViewItem * /TransferThis/,QListViewItem *,
+ const QString &,Type = Controller);
+%End
+ QCheckListItem(QListView * /TransferThis/,const QString &,
+ Type = Controller);
+%If (Qt_3_1_0 -)
+ QCheckListItem(QListView * /TransferThis/,QListViewItem *,
+ const QString &,Type = Controller);
+%End
+%End
+%If (Qt_2_00 -)
+ QCheckListItem(QListViewItem * /TransferThis/,const QString &,
+ const QPixmap &);
+ QCheckListItem(QListView * /TransferThis/,const QString &,
+ const QPixmap &);
+%End
+%If (- Qt_2_00)
+ QCheckListItem(QCheckListItem * /TransferThis/,const char *,
+ Type = Controller);
+ QCheckListItem(QListView * /TransferThis/,const char *,
+ Type = Controller);
+ QCheckListItem(QListViewItem * /TransferThis/,const char *,
+ const QPixmap &);
+ QCheckListItem(QListView * /TransferThis/,const char *,
+ const QPixmap &);
+%End
+
+ void paintCell(QPainter *,const QColorGroup &,int,int,int);
+%If (Qt_2_00 -)
+ virtual void paintFocus(QPainter *,const QColorGroup &,const QRect &);
+%End
+ int width(const QFontMetrics &,const QListView *,int) const;
+ void setup();
+
+%If (- Qt_2_00)
+ void setOn(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setOn(bool);
+%End
+ bool isOn() const;
+ Type type() const;
+%If (- Qt_2_00)
+ const char *text() const;
+ const char *text(int) const;
+%End
+%If (Qt_2_00 -)
+ QString text() const;
+ QString text(int) const;
+%End
+
+%If (Qt_3_2_0 -)
+ void setTristate(bool);
+ bool isTristate() const;
+ ToggleState state() const;
+ void setState(ToggleState);
+%End
+
+%If (Qt_3_0_0 -)
+ int rtti() const;
+%End
+
+protected:
+%If (- Qt_3_0_0)
+ void paintBranches(QPainter *,const QColorGroup &,int,int,int,GUIStyle);
+%End
+ void activate();
+ void turnOffChild();
+ virtual void stateChange(bool);
+};
+
+
+%If (Qt_2_00 -)
+
+class QListViewItemIterator
+{
+%TypeHeaderCode
+#include <qlistview.h>
+%End
+
+public:
+%If (Qt_3_2_0 -)
+ enum IteratorFlag {
+ Visible,
+ Invisible,
+ Selected,
+ Unselected,
+ Selectable,
+ NotSelectable,
+ DragEnabled,
+ DragDisabled,
+ DropEnabled,
+ DropDisabled,
+ Expandable,
+ NotExpandable,
+ Checked,
+ NotChecked
+ };
+%End
+
+ QListViewItemIterator();
+ QListViewItemIterator(QListViewItem *);
+%If (Qt_3_2_0 -)
+ QListViewItemIterator(QListViewItem *,int);
+%End
+
+ QListViewItemIterator(const QListViewItemIterator &);
+ QListViewItemIterator(QListView *);
+%If (Qt_3_2_0 -)
+ QListViewItemIterator(QListView *,int);
+%End
+
+ QListViewItemIterator &operator+=(int);
+ QListViewItemIterator &operator-=(int);
+
+ QListViewItem *current() const;
+};
+
+%End
diff --git a/sip/qt/qlocale.sip b/sip/qt/qlocale.sip
new file mode 100644
index 0000000..71f3e6d
--- /dev/null
+++ b/sip/qt/qlocale.sip
@@ -0,0 +1,537 @@
+// This is the SIP interface definition for QLocale.
+//
+// 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>QLocale (Qt v3.3+)</Title>
+<FuncSynopsis>
+ <FuncDef>short <Function>toShort</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>short</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>ushort <Function>toUShort</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>ushort</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int <Function>toInt</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>int</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>uint <Function>toUInt</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>uint</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>toLong</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>long</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>Q_ULONG <Function>toULong</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>ulong</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>float <Function>toFloat</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>float</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>double <Function>toDouble</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>double</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_3_0 -)
+
+class QLocale
+{
+%TypeHeaderCode
+#include <qlocale.h>
+%End
+
+public:
+ enum Language {
+ C,
+ Abkhazian,
+ Afan,
+ Afar,
+ Afrikaans,
+ Albanian,
+ Amharic,
+ Arabic,
+ Armenian,
+ Assamese,
+ Aymara,
+ Azerbaijani,
+ Bashkir,
+ Basque,
+ Bengali,
+ Bhutani,
+ Bihari,
+ Bislama,
+ Breton,
+ Bulgarian,
+ Burmese,
+ Byelorussian,
+ Cambodian,
+ Catalan,
+ Chinese,
+ Corsican,
+ Croatian,
+ Czech,
+ Danish,
+ Dutch,
+ English,
+ Esperanto,
+ Estonian,
+ Faroese,
+ FijiLanguage,
+ Finnish,
+ French,
+ Frisian,
+ Gaelic,
+ Galician,
+ Georgian,
+ German,
+ Greek,
+ Greenlandic,
+ Guarani,
+ Gujarati,
+ Hausa,
+ Hebrew,
+ Hindi,
+ Hungarian,
+ Icelandic,
+ Indonesian,
+ Interlingua,
+ Interlingue,
+ Inuktitut,
+ Inupiak,
+ Irish,
+ Italian,
+ Japanese,
+ Javanese,
+ Kannada,
+ Kashmiri,
+ Kazakh,
+ Kinyarwanda,
+ Kirghiz,
+ Korean,
+ Kurdish,
+ Kurundi,
+ Laothian,
+ Latin,
+ Latvian,
+ Lingala,
+ Lithuanian,
+ Macedonian,
+ Malagasy,
+ Malay,
+ Malayalam,
+ Maltese,
+ Maori,
+ Marathi,
+ Moldavian,
+ Mongolian,
+ NauruLanguage,
+ Nepali,
+ Norwegian,
+ Occitan,
+ Oriya,
+ Pashto,
+ Persian,
+ Polish,
+ Portuguese,
+ Punjabi,
+ Quechua,
+ RhaetoRomance,
+ Romanian,
+ Russian,
+ Samoan,
+ Sangho,
+ Sanskrit,
+ Serbian,
+ SerboCroatian,
+ Sesotho,
+ Setswana,
+ Shona,
+ Sindhi,
+ Singhalese,
+ Siswati,
+ Slovak,
+ Slovenian,
+ Somali,
+ Spanish,
+ Sundanese,
+ Swahili,
+ Swedish,
+ Tagalog,
+ Tajik,
+ Tamil,
+ Tatar,
+ Telugu,
+ Thai,
+ Tibetan,
+ Tigrinya,
+ TongaLanguage,
+ Tsonga,
+ Turkish,
+ Turkmen,
+ Twi,
+ Uigur,
+ Ukrainian,
+ Urdu,
+ Uzbek,
+ Vietnamese,
+ Volapuk,
+ Welsh,
+ Wolof,
+ Xhosa,
+ Yiddish,
+ Yoruba,
+ Zhuang,
+ Zulu,
+ LastLanguage
+ };
+
+ enum Country {
+ AnyCountry,
+ Afghanistan,
+ Albania,
+ Algeria,
+ AmericanSamoa,
+ Andorra,
+ Angola,
+ Anguilla,
+ Antarctica,
+ AntiguaAndBarbuda,
+ Argentina,
+ Armenia,
+ Aruba,
+ Australia,
+ Austria,
+ Azerbaijan,
+ Bahamas,
+ Bahrain,
+ Bangladesh,
+ Barbados,
+ Belarus,
+ Belgium,
+ Belize,
+ Benin,
+ Bermuda,
+ Bhutan,
+ Bolivia,
+ BosniaAndHerzegowina,
+ Botswana,
+ BouvetIsland,
+ Brazil,
+ BritishIndianOceanTerritory,
+ BruneiDarussalam,
+ Bulgaria,
+ BurkinaFaso,
+ Burundi,
+ Cambodia,
+ Cameroon,
+ Canada,
+ CapeVerde,
+ CaymanIslands,
+ CentralAfricanRepublic,
+ Chad,
+ Chile,
+ China,
+ ChristmasIsland,
+ CocosIslands,
+ Colombia,
+ Comoros,
+ DemocraticRepublicOfCongo,
+ PeoplesRepublicOfCongo,
+ CookIslands,
+ CostaRica,
+ IvoryCoast,
+ Croatia,
+ Cuba,
+ Cyprus,
+ CzechRepublic,
+ Denmark,
+ Djibouti,
+ Dominica,
+ DominicanRepublic,
+ EastTimor,
+ Ecuador,
+ Egypt,
+ ElSalvador,
+ EquatorialGuinea,
+ Eritrea,
+ Estonia,
+ Ethiopia,
+ FalklandIslands,
+ FaroeIslands,
+ FijiCountry,
+ Finland,
+ France,
+ MetropolitanFrance,
+ FrenchGuiana,
+ FrenchPolynesia,
+ FrenchSouthernTerritories,
+ Gabon,
+ Gambia,
+ Georgia,
+ Germany,
+ Ghana,
+ Gibraltar,
+ Greece,
+ Greenland,
+ Grenada,
+ Guadeloupe,
+ Guam,
+ Guatemala,
+ Guinea,
+ GuineaBissau,
+ Guyana,
+ Haiti,
+ HeardAndMcDonaldIslands,
+ Honduras,
+ HongKong,
+ Hungary,
+ Iceland,
+ India,
+ Indonesia,
+ Iran,
+ Iraq,
+ Ireland,
+ Israel,
+ Italy,
+ Jamaica,
+ Japan,
+ Jordan,
+ Kazakhstan,
+ Kenya,
+ Kiribati,
+ DemocraticRepublicOfKorea,
+ RepublicOfKorea,
+ Kuwait,
+ Kyrgyzstan,
+ Lao,
+ Latvia,
+ Lebanon,
+ Lesotho,
+ Liberia,
+ LibyanArabJamahiriya,
+ Liechtenstein,
+ Lithuania,
+ Luxembourg,
+ Macau,
+ Macedonia,
+ Madagascar,
+ Malawi,
+ Malaysia,
+ Maldives,
+ Mali,
+ Malta,
+ MarshallIslands,
+ Martinique,
+ Mauritania,
+ Mauritius,
+ Mayotte,
+ Mexico,
+ Micronesia,
+ Moldova,
+ Monaco,
+ Mongolia,
+ Montserrat,
+ Morocco,
+ Mozambique,
+ Myanmar,
+ Namibia,
+ NauruCountry,
+ Nepal,
+ Netherlands,
+ NetherlandsAntilles,
+ NewCaledonia,
+ NewZealand,
+ Nicaragua,
+ Niger,
+ Nigeria,
+ Niue,
+ NorfolkIsland,
+ NorthernMarianaIslands,
+ Norway,
+ Oman,
+ Pakistan,
+ Palau,
+ PalestinianTerritory,
+ Panama,
+ PapuaNewGuinea,
+ Paraguay,
+ Peru,
+ Philippines,
+ Pitcairn,
+ Poland,
+ Portugal,
+ PuertoRico,
+ Qatar,
+ Reunion,
+ Romania,
+ RussianFederation,
+ Rwanda,
+ SaintKittsAndNevis,
+ StLucia,
+ StVincentAndTheGrenadines,
+ Samoa,
+ SanMarino,
+ SaoTomeAndPrincipe,
+ SaudiArabia,
+ Senegal,
+ Seychelles,
+ SierraLeone,
+ Singapore,
+ Slovakia,
+ Slovenia,
+ SolomonIslands,
+ Somalia,
+ SouthAfrica,
+ SouthGeorgiaAndTheSouthSandwichIslands,
+ Spain,
+ SriLanka,
+ StHelena,
+ StPierreAndMiquelon,
+ Sudan,
+ Suriname,
+ SvalbardAndJanMayenIslands,
+ Swaziland,
+ Sweden,
+ Switzerland,
+ SyrianArabRepublic,
+ Taiwan,
+ Tajikistan,
+ Tanzania,
+ Thailand,
+ Togo,
+ Tokelau,
+ TongaCountry,
+ TrinidadAndTobago,
+ Tunisia,
+ Turkey,
+ Turkmenistan,
+ TurksAndCaicosIslands,
+ Tuvalu,
+ Uganda,
+ Ukraine,
+ UnitedArabEmirates,
+ UnitedKingdom,
+ UnitedStates,
+ UnitedStatesMinorOutlyingIslands,
+ Uruguay,
+ Uzbekistan,
+ Vanuatu,
+ VaticanCityState,
+ Venezuela,
+ VietNam,
+ BritishVirginIslands,
+ USVirginIslands,
+ WallisAndFutunaIslands,
+ WesternSahara,
+ Yemen,
+ Yugoslavia,
+ Zambia,
+ Zimbabwe,
+ LastCountry
+ };
+
+ QLocale();
+ QLocale(const QString &);
+ QLocale(Language,Country = AnyCountry);
+ QLocale(const QLocale &);
+
+ Language language() const;
+ Country country() const;
+ QString name() const;
+
+ short toShort(const QString &,bool * = 0) const;
+ ushort toUShort(const QString &,bool * = 0) const;
+ int toInt(const QString &,bool * = 0) const;
+ uint toUInt(const QString &,bool * = 0) const;
+ Q_LONG toLong(const QString &,bool * = 0) const;
+ Q_ULONG toULong(const QString &,bool * = 0) const;
+ //Q_LLONG toLongLong(const QString &,bool * = 0) const;
+ //Q_ULLONG toULongLong(const QString &,bool * = 0) const;
+ float toFloat(const QString &,bool * = 0) const;
+ double toDouble(const QString &,bool * = 0) const;
+
+ //QString toString(short) const;
+ //QString toString(ushort) const;
+ QString toString(int /Constrained/) const;
+ //QString toString(uint) const;
+ //QString toString(Q_LONG) const;
+ //QString toString(Q_ULONG) const;
+ //QString toString(Q_LLONG) const;
+ //QString toString(Q_ULLONG) const;
+ //QString toString(float,char = 'g',int = 6) const;
+ QString toString(double,char = 'g',int = 6) const;
+
+ static QString languageToString(Language);
+ static QString countryToString(Country);
+ static void setDefault(const QLocale &);
+
+ static QLocale c();
+ static QLocale system();
+};
+
+%End
diff --git a/sip/qt/qmainwindow.sip b/sip/qt/qmainwindow.sip
new file mode 100644
index 0000000..11a2f12
--- /dev/null
+++ b/sip/qt/qmainwindow.sip
@@ -0,0 +1,289 @@
+// This is the SIP interface definition for QMainWindow.
+//
+// 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>QMainWindow</Title>
+<FuncSynopsis>
+ <FuncDef>QTextStream &amp;<Function>operator&lt&lt;</Function></FuncDef>
+ <ParamDef>QTextStream &amp;<Parameter></Parameter></ParamDef>
+ <ParamDef>const QMainWindow &amp;<Parameter></Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This operator is fully implemented. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QTextStream &amp;<Function>operator&gt&gt;</Function></FuncDef>
+ <ParamDef>QTextStream &amp;<Parameter></Parameter></ParamDef>
+ <ParamDef>QMainWindow &amp;<Parameter></Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This operator is fully implemented. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>getLocation</Function></FuncDef>
+ <ParamDef>QToolBar *<Parameter>tb</Parameter></ParamDef>
+ <ParamDef>ToolBarDock &amp;<Parameter>dock</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>index</Parameter></ParamDef>
+ <ParamDef>bool &amp;<Parameter>nl</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>extraOffset</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>tb</Literal> parameter and returns a tuple of the
+result, <Literal>dock</Literal>, <Literal>index</Literal>,
+<Literal>nl</Literal> and <Literal>extraOffset</Literal> values. (Qt v2.1.0+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QList&lt;QToolBar&gt; <Function>toolBars</Function></FuncDef>
+ <ParamDef>ToolBarDock <Parameter>dock</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a list of <Literal>QToolBar</Literal> instances. (Qt v2.1.0+)
+</Para>
+</Sect2>
+%End
+
+
+class QMainWindow : QWidget
+{
+%TypeHeaderCode
+#include <qmainwindow.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QMainWindow(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+%End
+%If (Qt_2_00 -)
+ QMainWindow(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = WType_TopLevel);
+%End
+
+ QMenuBar *menuBar() const;
+ QStatusBar *statusBar() const;
+ QToolTipGroup *toolTipGroup() const;
+ virtual void setCentralWidget(QWidget *);
+ QWidget *centralWidget() const;
+
+%If (- Qt_2_1_0)
+ enum ToolBarDock {
+ Unmanaged,
+ TornOff,
+ Top,
+ Bottom,
+ Right,
+ Left
+ };
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ enum ToolBarDock {
+ Unmanaged,
+ TornOff,
+ Top,
+ Bottom,
+ Right,
+ Left,
+ Minimized
+ };
+%End
+
+%If (- Qt_2_00)
+ void setDockEnabled(ToolBarDock,bool);
+ void addToolBar(QToolBar *,const char *,ToolBarDock = Top,bool = 0);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ virtual void setDockEnabled(ToolBarDock,bool);
+ void addToolBar(QToolBar *,ToolBarDock = Top,bool = 0);
+ void addToolBar(QToolBar *,const QString &,ToolBarDock = Top,bool = 0);
+ void moveToolBar(QToolBar *,ToolBarDock = Top);
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ void setDockEnabled(QToolBar *,ToolBarDock,bool);
+ bool isDockEnabled(QToolBar *,ToolBarDock) const;
+ void moveToolBar(QToolBar *,ToolBarDock,bool,int,int = -1);
+ bool toolBarsMovable() const;
+%End
+%If (Qt_3_0_0 -)
+ virtual void setDockEnabled(Dock,bool);
+%End
+%If (- Qt_3_0_0)
+ bool isDockEnabled(ToolBarDock) const;
+ void removeToolBar(QToolBar *);
+%End
+%If (Qt_3_0_0 -)
+ bool isDockEnabled(Dock) const;
+ bool isDockEnabled(QDockArea *) const;
+ virtual void setDockEnabled(QDockWindow *,Dock,bool);
+ bool isDockEnabled(QDockWindow *,Dock) const;
+ bool isDockEnabled(QDockWindow *,QDockArea *) const;
+
+ virtual void addDockWindow(QDockWindow *,Dock = DockTop,bool = 0);
+ virtual void addDockWindow(QDockWindow *,const QString &,
+ Dock = DockTop,bool = 0);
+ virtual void moveDockWindow(QDockWindow *,Dock = DockTop);
+ virtual void moveDockWindow(QDockWindow *,Dock,bool,int,int = -1);
+ virtual void removeDockWindow(QDockWindow *);
+%End
+
+ void show();
+%If (Qt_3_1_0 -)
+ void hide();
+%End
+%If (Qt_2_1_0 -)
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+%End
+
+ bool rightJustification() const;
+ bool usesBigPixmaps() const;
+%If (Qt_2_1_0 -)
+ bool usesTextLabel() const;
+%End
+%If (Qt_3_0_0 -)
+ bool dockWindowsMovable() const;
+%End
+%If (Qt_2_1_0 -)
+ bool opaqueMoving() const;
+%End
+
+ bool eventFilter(QObject *,QEvent *);
+
+%If (Qt_3_0_0 -)
+ bool getLocation(QDockWindow *,Dock &,int &,bool &,int &) const;
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ bool getLocation(QToolBar *,ToolBarDock &,int &,bool &,int &) const;
+%End
+
+%If (Qt_2_1_0 - Qt_3_0_0)
+ QList<QToolBar> toolBars(ToolBarDock) const;
+%End
+%If (Qt_3_0_0 -)
+ QPtrList<QDockWindow> dockWindows(Dock) const;
+ QPtrList<QDockWindow> dockWindows() const;
+ void lineUpDockWindows(bool = 0);
+%End
+
+%If (Qt_2_1_0 -)
+ void lineUpToolBars(bool = 0);
+ bool isDockMenuEnabled() const;
+%End
+
+%If (Qt_3_0_0 -)
+ bool hasDockWindow(QDockWindow *);
+ QPtrList<QToolBar> toolBars(Dock) const;
+
+ // The following one is in Qt3 but not documented.
+ //virtual QDockArea *dockingArea(const QPoint &);
+ QDockArea *leftDock() const;
+ QDockArea *rightDock() const;
+ QDockArea *topDock() const;
+ QDockArea *bottomDock() const;
+
+ virtual bool isCustomizable() const;
+
+ bool appropriate(QDockWindow *) const;
+
+ enum DockWindows {
+ OnlyToolBars,
+ NoToolBars,
+ AllDockWindows
+ };
+
+ QPopupMenu *createDockWindowMenu(DockWindows = AllDockWindows) const;
+%End
+
+public slots:
+%If (- Qt_2_00)
+ void setRightJustification(bool);
+ void setUsesBigPixmaps(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setRightJustification(bool);
+ virtual void setUsesBigPixmaps(bool);
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ void setUsesTextLabel(bool);
+ void setToolBarsMovable(bool);
+ void setOpaqueMoving(bool);
+ void setDockMenuEnabled(bool);
+%End
+%If (Qt_3_0_0 -)
+ virtual void setUsesTextLabel(bool);
+ virtual void setDockWindowsMovable(bool);
+ virtual void setOpaqueMoving(bool);
+ virtual void setDockMenuEnabled(bool);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ void whatsThis();
+%End
+%If (Qt_3_0_0 -)
+ virtual void whatsThis();
+ virtual void setAppropriate(QDockWindow *,bool);
+ virtual void customize();
+%End
+
+signals:
+ void pixmapSizeChanged(bool);
+%If (Qt_2_1_0 -)
+ void usesTextLabelChanged(bool);
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ void startMovingToolBar(QToolBar *);
+ void endMovingToolBar(QToolBar *);
+ void toolBarPositionChanged(QToolBar *);
+%End
+%If (Qt_3_0_0 -)
+ void dockWindowPositionChanged(QDockWindow *);
+%End
+
+protected slots:
+%If (- Qt_2_00)
+ void setUpLayout();
+%End
+%If (Qt_2_00 -)
+ virtual void setUpLayout();
+%End
+%If (Qt_3_0_0 -)
+ virtual bool showDockMenu(const QPoint &);
+ void menuAboutToShow();
+%End
+
+protected:
+ void paintEvent(QPaintEvent *);
+%If (Qt_2_00 -)
+ void childEvent(QChildEvent *);
+%End
+ bool event(QEvent *);
+%If (Qt_2_00 - Qt_3_0_0)
+ void resizeEvent(QResizeEvent *);
+%End
+%If (Qt_2_00 -)
+ void styleChange(QStyle &);
+%End
+
+private:
+%If (Qt_2_00 -)
+ QMainWindow(const QMainWindow &);
+%End
+};
diff --git a/sip/qt/qmemarray.sip b/sip/qt/qmemarray.sip
new file mode 100644
index 0000000..9415a57
--- /dev/null
+++ b/sip/qt/qmemarray.sip
@@ -0,0 +1,168 @@
+// This is the SIP interface definition for all types based on the QMemArray
+// template.
+//
+// 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>QMemArray&lt;type&gt; (Qt v3+)</Title>
+<Para>
+Types based on the <Literal>QMemArray</Literal> template are automatically
+converted to and from Python lists of the type.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+%MappedType QMemArray<int>
+{
+%TypeHeaderCode
+#include <qmemarray.h>
+%End
+
+%ConvertFromTypeCode
+ // Convert to a Python list of integers.
+
+ PyObject *l;
+
+ // Create the list.
+ if ((l = PyList_New(sipCpp -> size())) == NULL)
+ return NULL;
+
+ // Get it.
+ for (uint i = 0; i < sipCpp -> size(); ++i)
+ if (PyList_SetItem(l,i,PyInt_FromLong((long)sipCpp -> at(i))) < 0)
+ {
+ Py_DECREF(l);
+
+ return NULL;
+ }
+
+ return l;
+%End
+
+%ConvertToTypeCode
+ // Convert a Python list of integers to a QMemArray<int> on the heap.
+
+ if (sipIsErr == NULL)
+ return PyList_Check(sipPy);
+
+ QMemArray<int> *qma = new QMemArray<int>(PyList_GET_SIZE(sipPy));
+
+ PyErr_Clear();
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ {
+ (*qma)[i] = (int)PyInt_AsLong(PyList_GET_ITEM(sipPy,i));
+
+ if (PyErr_Occurred() != NULL)
+ {
+ delete qma;
+ *sipIsErr = 1;
+
+ return 0;
+ }
+ }
+
+ *sipCppPtr = qma;
+
+ return sipGetState(sipTransferObj);
+%End
+};
+
+template<TYPE>
+%MappedType QMemArray<TYPE>
+{
+%TypeHeaderCode
+#include <qmemarray.h>
+%End
+
+%ConvertFromTypeCode
+ // Create the list.
+ PyObject *l;
+
+ if ((l = PyList_New(sipCpp->size())) == NULL)
+ return NULL;
+
+ // Set the list elements.
+ for (uint i = 0; i < sipCpp->size(); ++i)
+ {
+ TYPE *t = new TYPE(sipCpp->at(i));
+ PyObject *tobj;
+
+ if ((tobj = sipConvertFromNewInstance(t, sipClass_TYPE, sipTransferObj)) == NULL)
+ {
+ Py_DECREF(l);
+ delete t;
+
+ return NULL;
+ }
+
+ PyList_SET_ITEM(l, i, tobj);
+ }
+
+ return l;
+%End
+
+%ConvertToTypeCode
+ // Check the type if that is all that is required.
+ if (sipIsErr == NULL)
+ {
+ if (!PyList_Check(sipPy))
+ return 0;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_TYPE, SIP_NOT_NONE))
+ return 0;
+
+ return 1;
+ }
+
+ QMemArray<TYPE> *ql = new QMemArray<TYPE>;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ {
+ int state;
+ TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
+
+ if (*sipIsErr)
+ {
+ sipReleaseInstance(t, sipClass_TYPE, state);
+
+ delete ql;
+ return 0;
+ }
+
+ uint idx = ql->size();
+ ql->resize(idx + 1);
+ ql->at(idx) = *t;
+
+ sipReleaseInstance(t, sipClass_TYPE, state);
+ }
+
+ *sipCppPtr = ql;
+
+ return sipGetState(sipTransferObj);
+%End
+};
+
+%End
diff --git a/sip/qt/qmenubar.sip b/sip/qt/qmenubar.sip
new file mode 100644
index 0000000..5f61458
--- /dev/null
+++ b/sip/qt/qmenubar.sip
@@ -0,0 +1,118 @@
+// This is the SIP interface definition for QMenuBar.
+//
+// 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>QMenuBar</Title>
+<Para>
+<Literal>QMenuBar</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QMenuBar : QFrame, QMenuData
+{
+%TypeHeaderCode
+#include <qmenubar.h>
+%End
+
+public:
+ QMenuBar(QWidget * /TransferThis/ = 0,const char * = 0);
+
+ void updateItem(int);
+
+ void show();
+ void hide();
+
+ bool eventFilter(QObject *,QEvent *);
+
+ int heightForWidth(int) const;
+
+ enum Separator {
+ Never = 0,
+ InWindowsStyle = 1
+ };
+
+ Separator separator() const;
+%If (- Qt_2_00)
+ void setSeparator(Separator);
+%End
+%If (Qt_2_00 -)
+ virtual void setSeparator(Separator);
+%End
+
+%If (Qt_2_1_0 -)
+ void setDefaultUp(bool);
+ bool isDefaultUp() const;
+%End
+
+%If (Qt_2_00 -)
+ bool customWhatsThis() const;
+%End
+
+%If (Qt_2_1_0 -)
+ QSize sizeHint() const;
+ QSize minimumSize() const;
+ QSize minimumSizeHint() const;
+%End
+
+%If (Qt_2_2_0 -)
+ void activateItemAt(int);
+%End
+
+signals:
+ void activated(int);
+ void highlighted(int);
+
+protected:
+ void drawContents(QPainter *);
+ void fontChange(const QFont &);
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+ void keyPressEvent(QKeyEvent *);
+%If (Qt_2_1_0 -)
+ void focusInEvent(QFocusEvent *);
+%End
+%If (Qt_2_00 -)
+ void focusOutEvent(QFocusEvent *);
+%End
+ void resizeEvent(QResizeEvent *);
+ void leaveEvent(QEvent *);
+ void menuContentsChanged();
+ void menuStateChanged();
+%If (Qt_2_00 -)
+ void styleChange(QStyle &);
+%End
+%If (Qt_3_0_0 -)
+ int itemAtPos(const QPoint &);
+ void hidePopups();
+ QRect itemRect(int);
+%End
+
+private:
+ void menuInsPopup(QPopupMenu *);
+ void menuDelPopup(QPopupMenu *);
+ void frameChanged();
+
+ QMenuBar(const QMenuBar &);
+};
diff --git a/sip/qt/qmenudata.sip b/sip/qt/qmenudata.sip
new file mode 100644
index 0000000..ac5dab0
--- /dev/null
+++ b/sip/qt/qmenudata.sip
@@ -0,0 +1,291 @@
+// This is the SIP interface definition for QMenuData, QCustomMenuItem and
+// QMenuItem.
+//
+// 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>QMenuData</Title>
+<FuncSynopsis>
+ <FuncDef>QMenuItem *<Function>findItem</Function></FuncDef>
+ <ParamDef>int <Parameter>id</Parameter></ParamDef>
+ <ParamDef>QMenuData **<Parameter>parent</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCustomMenuItem (Qt v2.1+)</Title>
+<Para>
+<Literal>QCustomMenuItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QMenuItem</Title>
+<Para>
+<Literal>QMenuItem</Literal> is an internal Qt class.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+// Even though this is an internal class, uic for Qt v3.1.0 generates code that
+// uses it.
+class QMenuItem
+{
+%TypeHeaderCode
+#include <qmenudata.h>
+%End
+
+public:
+ QMenuItem();
+
+ void setText(const QString &);
+
+private:
+ QMenuItem(const QMenuItem &);
+};
+
+%End
+
+
+%If (- Qt_3_0_0)
+
+class QMenuItem;
+
+%End
+
+
+class QMenuData
+{
+%TypeHeaderCode
+#include <qmenudata.h>
+%End
+
+public:
+ QMenuData();
+
+ uint count();
+
+%If (- Qt_2_00)
+ int insertItem(const char *,SIP_RXOBJ_CON,SIP_SLOT_CON(int),int = 0);
+ int insertItem(const QPixmap &,SIP_RXOBJ_CON,SIP_SLOT_CON(int),int = 0);
+ int insertItem(const QPixmap &,const char *,SIP_RXOBJ_CON,
+ SIP_SLOT_CON(int),int = 0);
+ int insertItem(const char *,SIP_RXOBJ_CON,SIP_SLOT_CON(int),int,int,
+ int = -1);
+ int insertItem(const QPixmap &,SIP_RXOBJ_CON,SIP_SLOT_CON(int),int,int,
+ int = -1);
+ int insertItem(const QPixmap&,const char *,SIP_RXOBJ_CON,SIP_SLOT_CON(int),
+ int,int,int = -1);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ int insertItem(const QString &,SIP_RXOBJ_CON,SIP_SLOT_CON(int),int = 0,
+ int = -1,int = -1);
+ int insertItem(const QIconSet &,const QString &,SIP_RXOBJ_CON,
+ SIP_SLOT_CON(int),int = 0,int = -1,int = -1);
+ int insertItem(const QPixmap &,SIP_RXOBJ_CON,SIP_SLOT_CON(int),int = 0,
+ int = -1,int = -1);
+ int insertItem(const QIconSet &,const QPixmap &,SIP_RXOBJ_CON,
+ SIP_SLOT_CON(int),int = 0,int = -1,int = -1);
+%End
+%If (Qt_3_0_0 -)
+ int insertItem(const QString &,SIP_RXOBJ_CON,SIP_SLOT_CON(int),
+ const QKeySequence & = QKeySequence(0),int = -1,
+ int = -1);
+ int insertItem(const QIconSet &,const QString &,SIP_RXOBJ_CON,
+ SIP_SLOT_CON(int),
+ const QKeySequence & = QKeySequence(0),int = -1,
+ int = -1);
+ int insertItem(const QPixmap &,SIP_RXOBJ_CON,SIP_SLOT_CON(int),
+ const QKeySequence & = QKeySequence(0),int = -1,
+ int = -1);
+ int insertItem(const QIconSet &,const QPixmap &,SIP_RXOBJ_CON,
+ SIP_SLOT_CON(int),
+ const QKeySequence & = QKeySequence(0),int = -1,
+ int = -1);
+%End
+
+%If (- Qt_2_00)
+ int insertItem(const char *,int = -1,int = -1);
+ int insertItem(const char *,QPopupMenu *,int = -1,int = -1);
+ int insertItem(const QPixmap &,const char *,int = -1,int = -1);
+ int insertItem(const QPixmap &,const char *,QPopupMenu *,int = -1,
+ int = -1);
+%End
+%If (Qt_2_00 -)
+ int insertItem(const QString &,int = -1,int = -1);
+ int insertItem(const QIconSet &,const QString &,int = -1,int = -1);
+
+ int insertItem(const QString &,QPopupMenu *,int = -1,int = -1);
+ int insertItem(const QIconSet &,const QString &,QPopupMenu *,int = -1,
+ int = -1);
+%End
+
+ int insertItem(const QPixmap &,int = -1,int = -1);
+%If (Qt_2_00 -)
+ int insertItem(const QIconSet &,const QPixmap &,int = -1,int = -1);
+%End
+ int insertItem(const QPixmap &,QPopupMenu *,int = -1,int = -1);
+%If (Qt_2_00 -)
+ int insertItem(const QIconSet &,const QPixmap &,QPopupMenu *,int = -1,
+ int = -1);
+%End
+
+%If (Qt_2_1_0 -)
+ int insertItem(QWidget * /Transfer/,int = -1,int = -1);
+ int insertItem(const QIconSet &,QCustomMenuItem * /Transfer/,int = -1,
+ int = -1);
+ int insertItem(QCustomMenuItem * /Transfer/,int = -1,int = -1);
+%End
+
+%If (Qt_2_1_0 -)
+ int insertSeparator(int = -1);
+%End
+%If (- Qt_2_1_0)
+ void insertSeparator(int = -1);
+%End
+
+ void removeItem(int);
+ void removeItemAt(int);
+ void clear();
+
+%If (- Qt_3_0_0)
+ int accel(int) const;
+ void setAccel(int,int);
+%End
+%If (Qt_3_0_0 -)
+ QKeySequence accel(int) const;
+ void setAccel(const QKeySequence &,int);
+%End
+
+%If (- Qt_2_00)
+ const char *text(int) const;
+%End
+%If (Qt_2_00 -)
+ QIconSet *iconSet(int) const;
+ QString text(int) const;
+%End
+ QPixmap *pixmap(int) const;
+
+%If (Qt_2_00 -)
+ void setWhatsThis(int,const QString &);
+ QString whatsThis(int) const;
+%End
+
+%If (- Qt_2_00)
+ void changeItem(const char *,int);
+ void changeItem(const QPixmap &,int);
+ void changeItem(const QPixmap &,const char *,int);
+%End
+%If (Qt_2_00 -)
+ void changeItem(int,const QString &);
+ void changeItem(int,const QPixmap &);
+ void changeItem(int,const QIconSet &,const QString &);
+ void changeItem(int,const QIconSet &,const QPixmap &);
+%End
+
+%If (Qt_3_0_0 -)
+ bool isItemActive(int) const;
+%End
+
+ bool isItemEnabled(int) const;
+ void setItemEnabled(int,bool);
+
+ bool isItemChecked(int) const;
+ void setItemChecked(int,bool);
+
+%If (Qt_3_1_0 -)
+ bool isItemVisible(int) const;
+ void setItemVisible(int,bool);
+%End
+
+ virtual void updateItem(int);
+
+ int indexOf(int) const;
+ int idAt(int) const;
+%If (- Qt_2_00)
+ void setId(int,int);
+%End
+%If (Qt_2_00 -)
+ virtual void setId(int,int);
+%End
+
+ bool connectItem(int,SIP_RXOBJ_CON,SIP_SLOT_CON(int));
+ bool disconnectItem(int,SIP_RXOBJ_DIS,SIP_SLOT_DIS(int));
+
+%If (Qt_2_1_0 -)
+ bool setItemParameter(int,int);
+ int itemParameter(int) const;
+%End
+
+ QMenuItem *findItem(int) const;
+// QMenuItem *findItem(int,QMenuData **) const;
+%If (Qt_3_0_0 -)
+// Not documented in the Qt3 API (the similar findPopup() was internal in
+// Qt2).
+// QMenuItem *findItem(QPopupMenu *,int * = 0) const;
+%End
+
+%If (Qt_2_2_0 - Qt_3_0_0)
+ void activateItemAt(int);
+%End
+%If (Qt_3_0_0 -)
+ virtual void activateItemAt(int);
+%End
+
+protected:
+ virtual void menuContentsChanged();
+ virtual void menuStateChanged();
+ virtual void menuInsPopup(QPopupMenu *);
+ virtual void menuDelPopup(QPopupMenu *);
+%If (- Qt_3_0_0)
+// Documented as internal in the Qt2 API.
+// QMenuItem *findPopup(QPopupMenu *,int * = 0);
+%End
+
+private:
+ QMenuData(const QMenuData &);
+};
+
+
+%If (Qt_2_1_0 -)
+
+class QCustomMenuItem : Qt
+{
+%TypeHeaderCode
+#include <qmenudata.h>
+%End
+
+public:
+ QCustomMenuItem();
+
+ virtual bool fullSpan() const;
+ virtual bool isSeparator() const;
+ virtual void setFont(const QFont &);
+ virtual void paint(QPainter *,const QColorGroup &,bool,bool,int,int,
+ int,int) = 0;
+ virtual QSize sizeHint() = 0;
+};
+
+%End
diff --git a/sip/qt/qmessagebox.sip b/sip/qt/qmessagebox.sip
new file mode 100644
index 0000000..16e635e
--- /dev/null
+++ b/sip/qt/qmessagebox.sip
@@ -0,0 +1,204 @@
+// This is the SIP interface definition for QMessageBox.
+//
+// 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>QMessageBox</Title>
+<Para>
+<Literal>QMessageBox</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_MESSAGEBOX)
+
+class QMessageBox : QDialog
+{
+%TypeHeaderCode
+#include <qmessagebox.h>
+%End
+
+public:
+ enum Icon {
+ NoIcon,
+ Information,
+ Warning,
+ Critical,
+%If (Qt_3_2_0 -)
+ Question,
+%End
+ };
+
+ QMessageBox(QWidget * /TransferThis/ = 0,const char * = 0);
+%If (- Qt_2_00)
+ QMessageBox(const char *,const char *,Icon,int,int,int,
+ QWidget * /TransferThis/ = 0,const char * = 0,bool = 1,
+ WFlags = 0);
+%End
+%If (Qt_2_00 -)
+ QMessageBox(const QString &,const QString &,Icon,int,int,int,
+ QWidget * /TransferThis/ = 0,const char * = 0,bool = 1,
+ WFlags = WStyle_DialogBorder);
+%End
+
+ enum {
+ Ok,
+ Cancel,
+ Yes,
+ No,
+ Abort,
+ Retry,
+ Ignore,
+%If (Qt_3_2_0 -)
+ YesAll,
+ NoAll,
+%End
+ ButtonMask,
+ Default,
+ Escape,
+ FlagMask
+ };
+
+%If (- Qt_2_00)
+ static int information(QWidget *,const char *,const char *,int,int = 0,
+ int = 0) /ReleaseGIL/;
+ static int information(QWidget *,const char *,const char *,
+ const char * = "OK",const char * = 0,
+ const char * = 0,int = 0,int = -1) /ReleaseGIL/;
+
+ static int warning(QWidget *,const char *,const char *,int,int,
+ int = 0) /ReleaseGIL/;
+ static int warning(QWidget *,const char *,const char *,
+ const char * = "OK",const char * = 0,
+ const char * = 0,int = 0,int = -1) /ReleaseGIL/;
+
+ static int critical(QWidget *,const char *,const char *,int,int,
+ int = 0) /ReleaseGIL/;
+ static int critical(QWidget *,const char *,const char *,
+ const char * = "OK",const char * = 0,
+ const char * = 0,int = 0,int = -1) /ReleaseGIL/;
+
+ static void about(QWidget *,const char *,const char *) /ReleaseGIL/;
+ static void aboutQt(QWidget *,const char * = 0) /ReleaseGIL/;
+
+ const char *text() const;
+ void setText(const char *);
+%End
+%If (Qt_2_00 -)
+ static int information(QWidget *,const QString &,const QString &,int,
+ int = 0,int = 0) /ReleaseGIL/;
+ static int information(QWidget *,const QString &,const QString &,
+ const QString & = QString::null,
+ const QString & = QString::null,
+ const QString & = QString::null,
+ int = 0,int = -1) /ReleaseGIL/;
+
+%If (Qt_3_2_0 -)
+ static int question(QWidget *,const QString &,const QString &,int,
+ int = 0,int = 0) /ReleaseGIL/;
+ static int question(QWidget *,const QString &,const QString &,
+ const QString & = QString::null,
+ const QString & = QString::null,
+ const QString & = QString::null,
+ int = 0,int = -1) /ReleaseGIL/;
+%End
+
+ static int warning(QWidget *,const QString &,const QString &,int,
+ int = 0,int = 0) /ReleaseGIL/;
+ static int warning(QWidget *,const QString &,const QString &,
+ const QString & = QString::null,
+ const QString & = QString::null,
+ const QString & = QString::null,int = 0,
+ int = -1) /ReleaseGIL/;
+
+ static int critical(QWidget *,const QString &,const QString &,int,
+ int = 0,int = 0) /ReleaseGIL/;
+ static int critical(QWidget *,const QString &,const QString &,
+ const QString & = QString::null,
+ const QString & = QString::null,
+ const QString & = QString::null,int = 0,
+ int = -1) /ReleaseGIL/;
+
+ static void about(QWidget *,const QString &,
+ const QString &) /ReleaseGIL/;
+ static void aboutQt(QWidget *,
+ const QString & = QString::null) /ReleaseGIL/;
+
+ QString text() const;
+ void setText(const QString &);
+%End
+
+ Icon icon() const;
+
+ void setIcon(Icon);
+%If (Qt_2_00 -)
+ void setIcon(const QPixmap &);
+%End
+
+ const QPixmap *iconPixmap() const;
+ void setIconPixmap(const QPixmap &);
+
+%If (- Qt_2_00)
+ const char *buttonText(int) const;
+ void setButtonText(int,const char *);
+%End
+%If (Qt_2_00 -)
+ QString buttonText(int) const;
+ void setButtonText(int,const QString &);
+%End
+
+ void adjustSize();
+
+%If (- Qt_3_0_0)
+ static QPixmap standardIcon(Icon,GUIStyle);
+%End
+%If (Qt_3_0_0 -)
+ static QPixmap standardIcon(Icon);
+%End
+
+%If (Qt_2_1_0 -)
+ TextFormat textFormat() const;
+ void setTextFormat(TextFormat);
+%End
+
+%If (- Qt_2_00)
+ void setStyle(GUIStyle);
+%End
+
+protected:
+ void resizeEvent(QResizeEvent *);
+%If (Qt_3_0_0 -)
+ void showEvent(QShowEvent *);
+%End
+%If (Qt_3_2_0 -)
+ void closeEvent(QCloseEvent *);
+%End
+ void keyPressEvent(QKeyEvent *);
+%If (Qt_2_00 -)
+ void styleChanged(QStyle &);
+%End
+
+private:
+ QMessageBox(const QMessageBox &);
+};
+
+%End
diff --git a/sip/qt/qmetaobject.sip b/sip/qt/qmetaobject.sip
new file mode 100644
index 0000000..5cf7703
--- /dev/null
+++ b/sip/qt/qmetaobject.sip
@@ -0,0 +1,170 @@
+// This is the SIP interface definition for QMetaObject and QMetaProperty.
+//
+// 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>QMetaObject</Title>
+<FuncSynopsis>
+ <FuncDef>int <Function>numClassInfo</Function> const</FuncDef>
+ <ParamDef>bool <Parameter>super</Parameter> = FALSE</ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>const QClassInfo *<Function>classInfo</Function> const</FuncDef>
+ <ParamDef>bool <Parameter>super</Parameter> = FALSE</ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QMetaProperty</Title>
+<Para>
+<Literal>QMetaProperty</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QMetaObject
+{
+%TypeHeaderCode
+#include <qmetaobject.h>
+%End
+
+public:
+ const char *className() const;
+ const char *superClassName() const;
+ QMetaObject *superClass() const;
+
+%If (Qt_2_1_0 -)
+ bool inherits(const char *) const;
+
+ int numSlots(bool = 0) const;
+ int numSignals(bool = 0) const;
+
+ QStrList slotNames(bool = 0) const;
+ QStrList signalNames(bool = 0) const;
+
+ //int numClassInfo(bool = 0) const;
+ //QClassInfo *classInfo(int,bool = 0) const;
+ const char *classInfo(const char *,bool = 0) const;
+
+%If (Qt_PROPERTIES)
+%If (Qt_3_0_0 -)
+ const QMetaProperty *property(int,bool = 0) const;
+ int findProperty(const char *,bool = 0) const;
+ int numProperties(bool = 0) const;
+%End
+%If (- Qt_3_0_0)
+ const QMetaProperty *property(const char *,bool = 0) const;
+%End
+
+ QStrList propertyNames(bool = 0) const;
+%End
+%End
+
+private:
+ QMetaObject(const QMetaObject &);
+};
+
+
+%If (Qt_PROPERTIES)
+%If (Qt_2_1_0 -)
+
+class QMetaProperty
+{
+%TypeHeaderCode
+#include <qmetaobject.h>
+%End
+
+public:
+ const char *type() const;
+ const char *name() const;
+
+%If (Qt_2_2_0 -)
+ bool writable() const;
+%End
+%If (- Qt_3_0_0)
+ bool writeable() const;
+%End
+ bool isValid() const;
+
+ bool isSetType() const;
+ bool isEnumType() const;
+ QStrList enumKeys() const;
+
+ int keyToValue(const char *) const;
+ const char *valueToKey(int) const;
+ int keysToValue(const QStrList &) const;
+ QStrList valueToKeys(int) const;
+
+%If (Qt_3_1_0 -)
+ bool designable(QObject * = 0) const;
+ bool scriptable(QObject * = 0) const;
+ bool stored(QObject * = 0) const;
+%End
+%If (Qt_3_0_0 - Qt_3_1_0)
+ bool designable(QObject *) const;
+ bool scriptable(QObject *) const;
+ bool stored(QObject *) const;
+%End
+
+%If (Qt_3_0_0 -)
+ bool reset(QObject *) const;
+%End
+
+%If (- Qt_3_0_0)
+ bool stored(QObject *) const;
+ bool designable() const;
+
+ enum Specification {
+ Unspecified,
+ Class,
+ Reference,
+ Pointer,
+ ConstCharStar
+ };
+
+ enum Flags {
+ UnresolvedEnum,
+ UnresolvedSet,
+ UnresolvedEnumOrSet,
+ UnresolvedStored,
+ UnresolvedDesignable,
+ NotDesignable,
+ NotStored,
+%If (Qt_2_2_0 -)
+ StdSet,
+%End
+ };
+
+ bool testFlags(uint) const;
+ void setFlags(uint);
+ void clearFlags(uint);
+%End
+};
+
+%End
+%End
diff --git a/sip/qt/qmime.sip b/sip/qt/qmime.sip
new file mode 100644
index 0000000..cb5abd8
--- /dev/null
+++ b/sip/qt/qmime.sip
@@ -0,0 +1,104 @@
+// This is the SIP interface definition for the Qt v2+ QMimeSource,
+// QMimeSourceFactory and QWindowsMime classes.
+//
+// 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>QMimeSource (Qt v2+)</Title>
+<Para>
+<Literal>QMimeSource</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QMimeSourceFactory (Qt v2+)</Title>
+<Para>
+<Literal>QMimeSourceFactory</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QWindowsMime (Qt v3+)</Title>
+<Para>
+<Literal>QWindowsMime</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QMimeSource
+{
+%TypeHeaderCode
+#include <qmime.h>
+%End
+
+public:
+%If (Qt_3_0_0 -)
+ QMimeSource();
+%End
+
+ virtual const char *format(int = 0) const = 0;
+ virtual bool provides(const char *) const;
+ virtual QByteArray encodedData(const char *) const = 0;
+%If (Qt_3_0_0 -)
+ int serialNumber() const;
+%End
+};
+
+
+class QMimeSourceFactory
+{
+%TypeHeaderCode
+#include <qmime.h>
+%End
+
+public:
+ QMimeSourceFactory();
+
+ static QMimeSourceFactory *defaultFactory();
+ static void setDefaultFactory(QMimeSourceFactory * /Transfer/);
+%If (Qt_3_0_0 -)
+ static QMimeSourceFactory *takeDefaultFactory() /TransferBack/;
+ static void addFactory(QMimeSourceFactory *);
+ static void removeFactory(QMimeSourceFactory *);
+%End
+
+ virtual const QMimeSource *data(const QString &) const;
+ virtual QString makeAbsolute(const QString &,const QString &) const;
+ const QMimeSource *data(const QString &,const QString &) const;
+
+ virtual void setText(const QString &,const QString &);
+ virtual void setImage(const QString &,const QImage &);
+ virtual void setPixmap(const QString &,const QPixmap &);
+ virtual void setData(const QString &,QMimeSource * /Transfer/);
+ virtual void setFilePath(const QStringList &);
+%If (Qt_2_1_0 -)
+ virtual QStringList filePath() const;
+ void addFilePath(const QString &);
+%End
+ virtual void setExtensionType(const QString &,const char *);
+};
+
+%End
+
+
+%If (Qt_3_0_0 -)
+%End
diff --git a/sip/qt/qmotifplusstyle.sip b/sip/qt/qmotifplusstyle.sip
new file mode 100644
index 0000000..18aaa3e
--- /dev/null
+++ b/sip/qt/qmotifplusstyle.sip
@@ -0,0 +1,150 @@
+// This is the SIP interface definition for QMotifPlusStyle.
+//
+// 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>QMotifPlusStyle (Qt v2.2+)</Title>
+<FuncSynopsis>
+ <FuncDef>void <Function>getButtonShift</Function></FuncDef>
+ <ParamDef>int &amp;<Parameter>x</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>y</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns a tuple of the <Literal>x</Literal> and
+<Literal>y</Literal> values. (Qt v2)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef>
+ <ParamDef>const QScrollBar *<Parameter>sb</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>sliderMin</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>sliderMax</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>sliderLength</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>buttonDim</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>sb</Literal> parameter and returns a tuple of the
+<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>,
+<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values.
+(Qt v2)
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_STYLE_MOTIFPLUS)
+%If (Qt_2_2_0 -)
+
+class QMotifPlusStyle : QMotifStyle
+{
+%TypeHeaderCode
+#include <qmotifplusstyle.h>
+%End
+
+public:
+%If (- Qt_3_0_5)
+ QMotifPlusStyle(bool = 0);
+%End
+%If (Qt_3_0_5 -)
+ QMotifPlusStyle(bool = 1);
+%End
+
+ void polish(QPalette &);
+ void polish(QWidget *);
+ void unPolish(QWidget *);
+
+ void polish(QApplication *);
+ void unPolish(QApplication *);
+
+%If (- Qt_3_0_0)
+ void polishPopupMenu(QPopupMenu *);
+ int defaultFrameWidth() const;
+ void drawArrow(QPainter *,ArrowType,bool,int,int,int,int,
+ const QColorGroup &,bool,const QBrush * = 0);
+ void drawMenuBarItem(QPainter *,int,int,int,int,QMenuItem *,
+ QColorGroup &,bool,bool);
+ void drawPopupMenuItem(QPainter *,bool,int,int,QMenuItem *,
+ const QPalette &,bool,bool,int,int,int,int);
+ void drawPushButton(QPushButton *,QPainter *);
+ void drawButton(QPainter *,int,int,int,int,const QColorGroup &,bool = 0,
+ const QBrush * = 0);
+ void drawBevelButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,const QBrush * = 0);
+
+ void getButtonShift(int &,int &);
+
+ void drawComboButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,bool = 0,bool = 1,const QBrush * = 0);
+ QRect comboButtonRect(int,int,int,int);
+ QRect comboButtonFocusRect(int,int,int,int);
+ void drawIndicator(QPainter *,int,int,int,int,const QColorGroup &,int,
+ bool = 0,bool = 1);
+ QSize indicatorSize() const;
+ void drawExclusiveIndicator(QPainter *,int,int,int,int,
+ const QColorGroup &,bool,bool = 0,bool = 1);
+ QSize exclusiveIndicatorSize() const;
+ void drawPanel(QPainter *,int,int,int,int,const QColorGroup &,bool = 0,
+ int = 1,const QBrush * = 0);
+
+ void scrollBarMetrics(const QScrollBar *,int &,int &,int &,int &);
+
+ void drawScrollBarControls(QPainter *,const QScrollBar *,int,uint,uint);
+ void drawTab(QPainter *,const QTabBar *,QTab *,bool);
+ void drawSlider(QPainter *,int,int,int,int,const QColorGroup &,
+ Orientation,bool,bool);
+ void drawSliderGroove(QPainter *,int,int,int,int,const QColorGroup &,
+ QCOORD,Orientation);
+%End
+%If (Qt_3_0_0 -)
+ void drawPrimitive(PrimitiveElement,QPainter *,const QRect &,
+ const QColorGroup &,SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const;
+
+ void drawControl(ControlElement,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const;
+
+ QRect subRect(SubRect,const QWidget *) const;
+
+ void drawComplexControl(ComplexControl,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,SCFlags = SC_All,
+ SCFlags = SC_None,
+ const QStyleOption & = QStyleOption()) const;
+
+ QRect querySubControlMetrics(ComplexControl,const QWidget *,
+ SubControl,
+ const QStyleOption & = QStyleOption()) const;
+
+ int pixelMetric(PixelMetric,const QWidget * = 0) const;
+
+ int styleHint(StyleHint,const QWidget *,
+ const QStyleOption & = QStyleOption(),
+ QStyleHintReturn * = 0) const;
+%End
+
+protected:
+ bool eventFilter(QObject *,QEvent *);
+};
+
+%End
+%End
diff --git a/sip/qt/qmotifstyle.sip b/sip/qt/qmotifstyle.sip
new file mode 100644
index 0000000..d749745
--- /dev/null
+++ b/sip/qt/qmotifstyle.sip
@@ -0,0 +1,168 @@
+// This is the SIP interface definition for QMotifStyle.
+//
+// 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>QMotifStyle (Qt v2+)</Title>
+<FuncSynopsis>
+ <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef>
+ <ParamDef>const QTabBar *<Parameter>sb</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>sliderMin</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>sliderMax</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>sliderLength</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>buttonDim</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>sb</Literal> parameter and returns a tuple of the
+<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>,
+<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values.
+(Qt v2)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>tabbarMetrics</Function></FuncDef>
+ <ParamDef>const QTabBar *<Parameter>t</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>hframe</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>vframe</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>overlap</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>t</Literal> parameter and returns a tuple of the
+<Literal>hframe</Literal>, <Literal>vframe</Literal> and
+<Literal>overlap</Literal> values. (Qt v2)
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+%If (Qt_STYLE_MOTIF)
+
+class QMotifStyle : QCommonStyle
+{
+%TypeHeaderCode
+#include <qmotifstyle.h>
+%End
+
+public:
+ QMotifStyle(bool = 0);
+
+ void setUseHighlightColors(bool);
+ bool useHighlightColors() const;
+
+ void polish(QPalette &);
+ void polish(QWidget *);
+ void polish(QApplication *);
+
+%If (- Qt_3_0_0)
+ void drawButton(QPainter *,int,int,int,int,const QColorGroup &,bool = 0,
+ const QBrush * = 0);
+ void drawBevelButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,const QBrush * = 0);
+ void drawFocusRect(QPainter *,const QRect &,const QColorGroup &,
+ const QColor * =0,bool = 0);
+
+%If (Qt_2_1_0 -)
+ void drawComboButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,bool = 0,bool = 1,const QBrush * = 0);
+ QRect comboButtonRect(int,int,int,int);
+ QRect comboButtonFocusRect(int,int,int,int);
+%End
+
+ void drawPushButton(QPushButton *,QPainter *);
+ void drawArrow(QPainter *,ArrowType,bool,int,int,int,int,
+ const QColorGroup &,bool,const QBrush * = 0);
+ QSize indicatorSize() const;
+ void drawIndicator(QPainter *,int,int,int,int,const QColorGroup &,int,
+ bool = 0,bool = 1);
+ QSize exclusiveIndicatorSize() const;
+ void drawExclusiveIndicator(QPainter *,int,int,int,int,
+ const QColorGroup &,bool,bool = 0,bool = 1);
+ void drawExclusiveIndicatorMask(QPainter *,int,int,int,int,bool);
+
+ void tabbarMetrics(const QTabBar *,int &,int &,int &);
+
+ void drawTab(QPainter *,const QTabBar *,QTab *,bool);
+ void drawTabMask(QPainter *,const QTabBar *,QTab *,bool);
+
+ void scrollBarMetrics(const QScrollBar *,int &,int &,int &,int &);
+
+ void drawScrollBarControls(QPainter *,const QScrollBar *,int,uint,uint);
+ int sliderLength() const;
+ void drawSlider(QPainter *,int,int,int,int,const QColorGroup &,
+ Orientation,bool,bool);
+ void drawSliderGroove(QPainter *,int,int,int,int,const QColorGroup &,
+ QCOORD,Orientation);
+ int splitterWidth() const;
+ void drawSplitter(QPainter *,int,int,int,int,const QColorGroup &,
+ Orientation);
+ void drawCheckMark(QPainter *,int,int,int,int,const QColorGroup &,bool,
+ bool);
+ void polishPopupMenu(QPopupMenu *);
+ int extraPopupMenuItemWidth(bool,int,QMenuItem *,const QFontMetrics &);
+ int popupMenuItemHeight(bool,QMenuItem *,const QFontMetrics &);
+ void drawPopupMenuItem(QPainter *,bool,int,int,QMenuItem *,
+ const QPalette &,bool,bool,int,int,int,int);
+%End
+%If (Qt_3_0_0 -)
+ void polishPopupMenu(QPopupMenu *);
+
+ void drawPrimitive(PrimitiveElement,QPainter *,const QRect &,
+ const QColorGroup &,SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const;
+
+ void drawControl(ControlElement,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const;
+
+ void drawComplexControl(ComplexControl,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,SCFlags = SC_All,
+ SCFlags = SC_None,
+ const QStyleOption & = QStyleOption()) const;
+
+ QRect querySubControlMetrics(ComplexControl,const QWidget *,SubControl,
+ const QStyleOption & = QStyleOption()) const;
+
+ int pixelMetric(PixelMetric,const QWidget * = 0) const;
+
+ QSize sizeFromContents(ContentsType,const QWidget *,const QSize &,
+ const QStyleOption & = QStyleOption()) const;
+
+ QRect subRect(SubRect,const QWidget *) const;
+
+ QPixmap stylePixmap(StylePixmap,const QWidget * = 0,
+ const QStyleOption & = QStyleOption()) const;
+
+ int styleHint(StyleHint,const QWidget *,
+ const QStyleOption & = QStyleOption(),
+ QStyleHintReturn * = 0) const;
+%End
+
+private:
+%If (Qt_3_0_0 -)
+ QMotifStyle(const QMotifStyle &);
+%End
+};
+
+%End
+%End
diff --git a/sip/qt/qmovie.sip b/sip/qt/qmovie.sip
new file mode 100644
index 0000000..ba4f3e9
--- /dev/null
+++ b/sip/qt/qmovie.sip
@@ -0,0 +1,109 @@
+// This is the SIP interface definition for QMovie.
+//
+// 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>QMovie</Title>
+<FuncSynopsis>
+ <FuncDef><Function>QMovie</Function></FuncDef>
+ <ParamDef>QDataSource *<Parameter>src</Parameter></ParamDef>
+ <ParamDef>int <Parameter>bufsize</Parameter> = 1024</ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>pushData</Function></FuncDef>
+ <ParamDef>const uchar *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>int <Parameter>length</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+<Literal>length</Literal> is derived from <Literal>data</Literal> and not
+passed as a parameter. (Qt v2.2.0+)
+</Para>
+</Sect2>
+%End
+
+
+class QMovie
+{
+%TypeHeaderCode
+#include <qmovie.h>
+%End
+
+public:
+ QMovie();
+%If (Qt_2_2_0 -)
+ QMovie(int);
+%End
+// QMovie(QDataSource *,int = 1024);
+%If (- Qt_2_00)
+ QMovie(const char *,int = 1024);
+%End
+%If (Qt_2_00 -)
+ QMovie(const QString &,int = 1024);
+%End
+ QMovie(QByteArray,int = 1024);
+ QMovie(const QMovie &);
+
+%If (Qt_2_2_0 -)
+ int pushSpace() const;
+ void pushData(const uchar * /Array/,int /ArraySize/);
+%End
+ const QColor &backgroundColor() const;
+ void setBackgroundColor(const QColor &);
+ const QRect &getValidRect() const;
+ const QPixmap &framePixmap() const;
+%If (Qt_2_2_0 -)
+ const QImage &frameImage() const;
+%End
+ bool isNull() const;
+ int frameNumber() const;
+ int steps() const;
+ bool paused() const;
+ bool finished() const;
+ bool running() const;
+ void unpause();
+ void pause();
+ void step();
+ void step(int);
+ void restart();
+ int speed() const;
+ void setSpeed(int);
+ void connectResize(SIP_RXOBJ_CON,SIP_SLOT_CON(const QSize &));
+ void disconnectResize(SIP_RXOBJ_DIS,SIP_SLOT_DIS(const QSize &));
+ void connectUpdate(SIP_RXOBJ_CON,SIP_SLOT_CON(const QRect &));
+ void disconnectUpdate(SIP_RXOBJ_DIS,SIP_SLOT_DIS(const QRect &));
+
+ enum Status {
+ SourceEmpty = -2,
+ UnrecognizedFormat = -1,
+ Paused = 1,
+ EndOfFrame = 2,
+ EndOfLoop = 3,
+ EndOfMovie = 4,
+ SpeedChanged = 5
+ };
+
+ void connectStatus(SIP_RXOBJ_CON,SIP_SLOT_CON(int));
+ void disconnectStatus(SIP_RXOBJ_DIS,SIP_SLOT_DIS(int));
+};
diff --git a/sip/qt/qmultilinedit.sip b/sip/qt/qmultilinedit.sip
new file mode 100644
index 0000000..1d407ba
--- /dev/null
+++ b/sip/qt/qmultilinedit.sip
@@ -0,0 +1,374 @@
+// This is the SIP interface definition for QMultiLineEdit.
+//
+// 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>QMultiLineEdit</Title>
+<FuncSynopsis>
+ <FuncDef>void <Function>cursorPosition</Function> const</FuncDef>
+ <ParamDef>int *<Parameter>line</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>col</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns a tuple of the <Literal>line</Literal> and
+<Literal>col</Literal> values. (Qt v1.x, Qt v2.x)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>virtual void <Function>del</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>delChar</Literal> in Python. (Qt v1.x, Qt v2.x)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>getCursorPosition</Function> const</FuncDef>
+ <ParamDef>int *<Parameter>line</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>col</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns a tuple of the <Literal>line</Literal> and
+<Literal>col</Literal> values. (Qt v1.x, Qt v2.x)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>getMarkedRegion</Function></FuncDef>
+ <ParamDef>int *<Parameter>line1</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>col1</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>line2</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>col2</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns a tuple of the bool result and the
+<Literal>line1</Literal>, <Literal>col1</Literal>, <Literal>line2</Literal> and
+<Literal>col2</Literal> values.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QMultiLineEdit : QTextEdit
+{
+%TypeHeaderCode
+#include <qmultilineedit.h>
+%End
+
+public:
+ QMultiLineEdit(QWidget * /TransferThis/ = 0,const char * = 0);
+
+ QString textLine(int) const;
+ int numLines() const;
+
+ virtual void insertLine(const QString &,int = -1);
+%If (Qt_3_1_0 -)
+ virtual void insertAt(const QString &,int,int);
+ virtual void insertAt(const QString &,int,int,bool);
+%End
+%If (- Qt_3_1_0)
+ virtual void insertAt(const QString &,int,int,bool = 0);
+%End
+ virtual void removeLine(int);
+
+%If (Qt_3_1_0 -)
+ virtual void setCursorPosition(int,int);
+ virtual void setCursorPosition(int,int,bool);
+%End
+%If (- Qt_3_1_0)
+ virtual void setCursorPosition(int,int,bool = 0);
+%End
+ bool atBeginning() const;
+ bool atEnd() const;
+
+ void setAlignment(int);
+ int alignment() const;
+
+ void setEdited(bool);
+ bool edited() const;
+
+ bool hasMarkedText() const;
+ QString markedText() const;
+
+ void cursorWordForward(bool);
+ void cursorWordBackward(bool);
+
+ bool autoUpdate() const;
+ virtual void setAutoUpdate(bool);
+
+ int totalWidth() const;
+ int totalHeight() const;
+
+ int maxLines() const;
+ void setMaxLines(int);
+
+public slots:
+ void deselect();
+
+protected:
+ QPoint cursorPoint() const;
+ virtual void insertAndMark(const QString &,bool);
+ virtual void newLine();
+ virtual void killLine();
+ virtual void pageUp(bool = 0);
+ virtual void pageDown(bool = 0);
+ virtual void cursorLeft(bool = 0,bool = 1);
+ virtual void cursorRight(bool = 0,bool = 1);
+ virtual void cursorUp(bool = 0);
+ virtual void cursorDown(bool = 0);
+ virtual void backspace();
+ virtual void home(bool = 0);
+ virtual void end(bool = 0);
+ bool getMarkedRegion(int *,int *,int *,int *) const;
+ int lineLength(int) const;
+
+private:
+ QMultiLineEdit(const QMultiLineEdit &);
+};
+
+%End
+
+
+%If (- Qt_3_0_0)
+
+class QMultiLineEdit : QTableView
+{
+%TypeHeaderCode
+#include <qmultilinedit.h>
+%End
+
+public:
+ QMultiLineEdit(QWidget * /TransferThis/ = 0,const char * = 0);
+
+ int numLines() const;
+ virtual void removeLine(int);
+
+ void cursorPosition(int *,int *) const;
+ void getCursorPosition(int *,int *) const;
+
+ bool atBeginning() const;
+ bool atEnd() const;
+ int maxLineWidth() const;
+ bool autoUpdate() const;
+ bool isReadOnly() const;
+ bool isOverwriteMode() const;
+ QString text() const;
+
+%If (- Qt_2_00)
+ const char *textLine(int) const;
+ void setFont(const QFont &);
+ virtual void insertLine(const char *,int = -1);
+ virtual void insertAt(const char *,int,int);
+ void setCursorPosition(int,int,bool = 0);
+ void setFixedVisibleLines(int);
+ void setAutoUpdate(bool);
+%End
+
+%If (Qt_2_00 -)
+ QString textLine(int) const;
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+ QSizePolicy sizePolicy() const;
+ virtual void setFont(const QFont &);
+ virtual void insertLine(const QString &,int = -1);
+ virtual void insertAt(const QString &,int,int,bool = 0);
+ virtual void setCursorPosition(int,int,bool = 0);
+ virtual void setFixedVisibleLines(int);
+ void setAlignment(int);
+ int alignment() const;
+ virtual void setValidator(const QValidator *);
+ const QValidator *validator() const;
+ void setEdited(bool);
+ bool edited() const;
+ void cursorWordForward(bool);
+ void cursorWordBackward(bool);
+
+ enum EchoMode
+ {
+ Normal,
+ NoEcho,
+ Password
+ };
+
+ virtual void setEchoMode(EchoMode);
+ EchoMode echoMode() const;
+ virtual void setMaxLineLength(int);
+ int maxLineLength() const;
+ virtual void setMaxLines(int);
+ int maxLines() const;
+ virtual void setHMargin(int);
+ int hMargin() const;
+ virtual void setSelection(int,int,int,int);
+ virtual void setAutoUpdate(bool);
+%End
+
+%If (Qt_2_1_0 -)
+ void setMaxLength(int);
+ int maxLength() const;
+
+ enum WordWrap {
+ NoWrap,
+ WidgetWidth,
+ FixedPixelWidth,
+ FixedColumnWidth
+ };
+
+ void setWordWrap(WordWrap);
+ WordWrap wordWrap() const;
+ void setWrapColumnOrWidth(int);
+ int wrapColumnOrWidth() const;
+
+ enum WrapPolicy {
+ AtWhiteSpace,
+ Anywhere
+ };
+
+ void setWrapPolicy(WrapPolicy);
+ WrapPolicy wrapPolicy() const;
+ void setUndoEnabled(bool);
+ bool isUndoEnabled() const;
+ void setUndoDepth(int);
+ int undoDepth() const;
+ int length() const;
+ static void setDefaultTabStop(int);
+ static int defaultTabStop();
+%End
+
+public slots:
+ void clear();
+ void deselect();
+ void selectAll();
+%If (Qt_CLIPBOARD)
+ void paste();
+%If (Qt_2_2_0 -)
+ void pasteSubType(const QCString &);
+%End
+ void cut();
+%End
+%If (- Qt_2_00)
+ void setText(const char *);
+ void setReadOnly(bool);
+ void setOverwriteMode(bool);
+ void append(const char *);
+ void copyText();
+%End
+%If (Qt_2_00 -)
+ virtual void setText(const QString &);
+ virtual void setReadOnly(bool);
+ virtual void setOverwriteMode(bool);
+ void append(const QString &);
+%If (Qt_CLIPBOARD)
+ void copyText() const;
+ void copy() const;
+%End
+ void insert(const QString &);
+%End
+%If (Qt_2_1_0 -)
+ void undo();
+ void redo();
+%End
+
+signals:
+ void textChanged();
+ void returnPressed();
+%If (Qt_2_1_0 -)
+ void undoAvailable(bool);
+ void redoAvailable(bool);
+%End
+%If (Qt_2_2_0 -)
+ void copyAvailable(bool);
+%End
+
+protected:
+ void paintCell(QPainter *,int,int);
+%If (Qt_2_2_0 -)
+ bool event(QEvent *);
+%End
+ void mousePressEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseDoubleClickEvent(QMouseEvent *);
+%If (Qt_2_00 -)
+ void wheelEvent(QWheelEvent *);
+%End
+ void keyPressEvent(QKeyEvent *);
+ void focusInEvent(QFocusEvent *);
+ void focusOutEvent(QFocusEvent *);
+ void timerEvent(QTimerEvent *);
+ void leaveEvent(QEvent *);
+ void resizeEvent(QResizeEvent *);
+%If (Qt_DRAGANDDROP)
+%If (Qt_2_00 -)
+ void dragMoveEvent(QDragMoveEvent *);
+%End
+%If (Qt_2_1_0 -)
+ void dragEnterEvent(QDragEnterEvent *);
+%End
+%If (Qt_2_00 -)
+ void dropEvent(QDropEvent *);
+ void dragLeaveEvent(QDragLeaveEvent *);
+%End
+%End
+ bool hasMarkedText() const;
+ QString markedText() const;
+ int textWidth(int);
+%If (- Qt_2_00)
+ int textWidth(QString *);
+%End
+%If (Qt_2_00 -)
+ int textWidth(const QString &);
+%End
+ QPoint cursorPoint() const;
+%If (- Qt_2_00)
+ virtual void insertChar(char);
+%End
+%If (Qt_2_00 -)
+ virtual void insert(const QString &,bool);
+%End
+ virtual void newLine();
+ virtual void killLine();
+ virtual void pageUp(bool = 0);
+ virtual void pageDown(bool = 0);
+ virtual void cursorLeft(bool = 0,bool = 1);
+ virtual void cursorRight(bool = 0,bool = 1);
+ virtual void cursorUp(bool = 0);
+ virtual void cursorDown(bool = 0);
+ virtual void backspace();
+ virtual void del() /PyName=delChar/;
+ virtual void home(bool = 0);
+ virtual void end(bool = 0);
+ bool getMarkedRegion(int *,int *,int *,int *) const;
+ int lineLength(int) const;
+ QString *getString(int) const;
+%If (Qt_2_1_0 -)
+ bool isEndOfParagraph(int) const;
+%End
+%If (Qt_2_00 -)
+ QString stringShown(int) const;
+ void insertChar(QChar);
+%End
+
+private:
+ QMultiLineEdit(const QMultiLineEdit &);
+};
+
+%End
diff --git a/sip/qt/qmutex.sip b/sip/qt/qmutex.sip
new file mode 100644
index 0000000..1f9ff86
--- /dev/null
+++ b/sip/qt/qmutex.sip
@@ -0,0 +1,104 @@
+// This is the SIP interface definition for QMutex and QMutexLocker.
+//
+// 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>QMutex (Qt v2.2+)</Title>
+<Para>
+<Literal>QMutex</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QMutexLocker (Qt v3.1+)</Title>
+<Para>
+<Literal>QMutexLocker</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_THREAD_SUPPORT)
+
+%If (Qt_3_0_0 -)
+
+class QMutex
+{
+%TypeHeaderCode
+#include <qmutex.h>
+%End
+
+public:
+ QMutex(bool = 0);
+
+ void lock() /ReleaseGIL/;
+ void unlock();
+ bool locked();
+ bool tryLock();
+
+private:
+ QMutex(const QMutex &);
+};
+
+%End
+
+
+%If (Qt_2_2_0 - Qt_3_0_0)
+
+class QMutex : Qt
+{
+%TypeHeaderCode
+#include <qthread.h>
+%End
+
+public:
+ QMutex(bool = 0);
+
+ void lock() /ReleaseGIL/;
+ void unlock();
+ bool locked();
+
+private:
+ QMutex(const QMutex &);
+};
+
+%End
+
+
+%If (Qt_3_1_0 -)
+
+class QMutexLocker
+{
+%TypeHeaderCode
+#include <qmutex.h>
+%End
+
+public:
+ QMutexLocker(QMutex *) /ReleaseGIL/;
+
+ QMutex *mutex() const;
+
+private:
+ QMutexLocker(const QMutexLocker &);
+};
+
+%End
+
+%End
diff --git a/sip/qt/qnamespace.sip b/sip/qt/qnamespace.sip
new file mode 100644
index 0000000..cddd3b5
--- /dev/null
+++ b/sip/qt/qnamespace.sip
@@ -0,0 +1,903 @@
+// This is the SIP interface definition for the Qt v2+ Qt class.
+//
+// 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>Qt (Qt v2+)</Title>
+<Para>
+<Literal>Qt</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class Qt
+{
+%TypeHeaderCode
+#include <qnamespace.h>
+%End
+
+public:
+ static const QColor &color0;
+ static const QColor &color1;
+ static const QColor &black;
+ static const QColor &white;
+ static const QColor &darkGray;
+ static const QColor &gray;
+ static const QColor &lightGray;
+ static const QColor &red;
+ static const QColor &green;
+ static const QColor &blue;
+ static const QColor &cyan;
+ static const QColor &magenta;
+ static const QColor &yellow;
+ static const QColor &darkRed;
+ static const QColor &darkGreen;
+ static const QColor &darkBlue;
+ static const QColor &darkCyan;
+ static const QColor &darkMagenta;
+ static const QColor &darkYellow;
+
+ enum ButtonState {
+ NoButton,
+ LeftButton,
+ RightButton,
+ MidButton,
+ MouseButtonMask,
+ ShiftButton,
+ ControlButton,
+ AltButton,
+%If (Qt_3_0_0 -)
+ MetaButton,
+%End
+ KeyButtonMask,
+%If (Qt_2_2_0 -)
+ Keypad,
+%End
+ };
+
+ enum Orientation {
+ Horizontal,
+ Vertical
+ };
+
+%If (Qt_3_2_0 -)
+ enum SortOrder {
+ Ascending,
+ Descending
+ };
+%End
+
+%If (- Qt_3_0_0)
+ enum AlignmentFlags {
+ AlignLeft,
+ AlignRight,
+ AlignHCenter,
+ AlignTop,
+ AlignBottom,
+ AlignVCenter,
+ AlignCenter,
+
+ SingleLine,
+ DontClip,
+ ExpandTabs,
+ ShowPrefix,
+ WordBreak
+ };
+%End
+
+%If (Qt_3_0_0 -)
+ enum AlignmentFlags {
+ AlignAuto,
+ AlignLeft,
+ AlignRight,
+ AlignHCenter,
+ AlignJustify,
+ AlignHorizontal_Mask,
+ AlignTop,
+ AlignBottom,
+ AlignVCenter,
+ AlignVertical_Mask,
+ AlignCenter
+ };
+
+ enum TextFlags {
+ SingleLine,
+ DontClip,
+ ExpandTabs,
+ ShowPrefix,
+ WordBreak,
+ BreakAnywhere,
+ DontPrint, // Internal
+ NoAccel
+ };
+
+ typedef uint WState;
+
+ // WidgetState isn't part of the public API but is used in code
+ // generated by uic/pyuic, so we implement the minimum required.
+ enum WidgetState {
+ WState_Polished
+ };
+%End
+
+ typedef uint WFlags;
+
+ enum WidgetFlags {
+ WType_TopLevel,
+%If (- Qt_3_0_0)
+ WType_Modal,
+%End
+%If (Qt_3_0_0 -)
+ WType_Dialog,
+%End
+ WType_Popup,
+ WType_Desktop,
+ WType_Mask,
+
+ WStyle_Customize,
+ WStyle_NormalBorder,
+ WStyle_DialogBorder,
+ WStyle_NoBorder,
+ WStyle_Title,
+ WStyle_SysMenu,
+ WStyle_Minimize,
+ WStyle_Maximize,
+ WStyle_MinMax,
+ WStyle_Tool,
+ WStyle_StaysOnTop,
+%If (- Qt_3_0_0)
+ WStyle_Dialog,
+%End
+%If (- Qt_2_1_0)
+ WStyle_Reserved2,
+ WStyle_Reserved3,
+%End
+%If (Qt_2_1_0 -)
+ WStyle_ContextHelp,
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ WStyle_NoBorderEx,
+%End
+%If (Qt_3_0_0 -)
+ WStyle_Reserved,
+%End
+ WStyle_Mask,
+
+ WDestructiveClose,
+ WPaintDesktop,
+ WPaintUnclipped,
+ WPaintClever,
+ WResizeNoErase, // Obsolete
+ WMouseNoMask,
+%If (- Qt_3_0_0)
+ WNorthWestGravity,
+%End
+%If (Qt_3_0_0 -)
+ WStaticContents,
+%End
+%If (Qt_2_1_0 -)
+ WRepaintNoErase, // Obsolete
+ WX11BypassWM,
+%End
+%If (Qt_3_0_0 -)
+ WWinOwnDC,
+%End
+%If (Qt_2_2_0 -)
+ WGroupLeader,
+%End
+%If (Qt_3_0_0 -)
+ WShowModal,
+ WNoMousePropagation,
+ WSubWindow,
+%End
+%If (Qt_3_1_0 -)
+ WStyle_Splash,
+%End
+%If (Qt_3_2_0 -)
+ WNoAutoErase,
+%End
+ };
+
+
+%If (Qt_3_3_0 -)
+
+ enum WindowState {
+ WindowNoState,
+ WindowMinimized,
+ WindowMaximized,
+ WindowFullScreen,
+ WindowActive
+ };
+
+%End
+
+ enum ImageConversionFlags {
+ ColorMode_Mask,
+ AutoColor,
+ ColorOnly,
+ MonoOnly,
+
+ AlphaDither_Mask,
+ ThresholdAlphaDither,
+ OrderedAlphaDither,
+ DiffuseAlphaDither,
+
+ Dither_Mask,
+ DiffuseDither,
+ OrderedDither,
+ ThresholdDither,
+
+ DitherMode_Mask,
+ AutoDither,
+ PreferDither,
+ AvoidDither
+ };
+
+ enum BGMode {
+ TransparentMode,
+ OpaqueMode
+ };
+
+%If (- Qt_3_0_0)
+ enum PaintUnit {
+ PixelUnit,
+ LoMetricUnit,
+ HiMetricUnit,
+ LoEnglishUnit,
+ HiEnglishUnit,
+ TwipsUnit
+ };
+%End
+
+ enum GUIStyle {
+%If (- Qt_3_0_0)
+ MacStyle,
+%End
+ WindowsStyle,
+%If (- Qt_3_0_0)
+ Win3Style,
+ PMStyle,
+%End
+ MotifStyle
+ };
+
+%If (Qt_3_1_0 -)
+ enum SequenceMatch {
+ NoMatch,
+ PartialMatch,
+ Identical
+ };
+%End
+
+ enum Modifier {
+%If (Qt_3_1_0 -)
+ META,
+%End
+ SHIFT,
+ CTRL,
+ ALT,
+ MODIFIER_MASK,
+ UNICODE_ACCEL,
+ ASCII_ACCEL
+ };
+
+ enum Key {
+ Key_Escape,
+ Key_Tab,
+ Key_Backtab,
+ Key_BackTab,
+ Key_Backspace,
+ Key_BackSpace,
+ Key_Return,
+ Key_Enter,
+ Key_Insert,
+ Key_Delete,
+ Key_Pause,
+ Key_Print,
+ Key_SysReq,
+%If (Qt_3_1_0 -)
+ Key_Clear,
+%End
+
+ Key_Home,
+ Key_End,
+ Key_Left,
+ Key_Up,
+ Key_Right,
+ Key_Down,
+ Key_Prior,
+ Key_PageUp,
+ Key_Next,
+ Key_PageDown,
+
+ Key_Shift,
+ Key_Control,
+ Key_Meta,
+ Key_Alt,
+ Key_CapsLock,
+ Key_NumLock,
+ Key_ScrollLock,
+
+ Key_F1,
+ Key_F2,
+ Key_F3,
+ Key_F4,
+ Key_F5,
+ Key_F6,
+ Key_F7,
+ Key_F8,
+ Key_F9,
+ Key_F10,
+ Key_F11,
+ Key_F12,
+ Key_F13,
+ Key_F14,
+ Key_F15,
+ Key_F16,
+ Key_F17,
+ Key_F18,
+ Key_F19,
+ Key_F20,
+ Key_F21,
+ Key_F22,
+ Key_F23,
+ Key_F24,
+ Key_F25,
+ Key_F26,
+ Key_F27,
+ Key_F28,
+ Key_F29,
+ Key_F30,
+ Key_F31,
+ Key_F32,
+ Key_F33,
+ Key_F34,
+ Key_F35,
+
+ Key_Super_L,
+ Key_Super_R,
+ Key_Menu,
+ Key_Hyper_L,
+ Key_Hyper_R,
+%If (Qt_3_0_0 -)
+ Key_Help,
+ Key_Direction_L,
+ Key_Direction_R,
+%End
+
+ Key_Space,
+ Key_Any,
+ Key_Exclam,
+ Key_QuoteDbl,
+ Key_NumberSign,
+ Key_Dollar,
+ Key_Percent,
+ Key_Ampersand,
+ Key_Apostrophe,
+ Key_ParenLeft,
+ Key_ParenRight,
+ Key_Asterisk,
+ Key_Plus,
+ Key_Comma,
+ Key_Minus,
+ Key_Period,
+ Key_Slash,
+ Key_0,
+ Key_1,
+ Key_2,
+ Key_3,
+ Key_4,
+ Key_5,
+ Key_6,
+ Key_7,
+ Key_8,
+ Key_9,
+ Key_Colon,
+ Key_Semicolon,
+ Key_Less,
+ Key_Equal,
+ Key_Greater,
+ Key_Question,
+ Key_At,
+ Key_A,
+ Key_B,
+ Key_C,
+ Key_D,
+ Key_E,
+ Key_F,
+ Key_G,
+ Key_H,
+ Key_I,
+ Key_J,
+ Key_K,
+ Key_L,
+ Key_M,
+ Key_N,
+ Key_O,
+ Key_P,
+ Key_Q,
+ Key_R,
+ Key_S,
+ Key_T,
+ Key_U,
+ Key_V,
+ Key_W,
+ Key_X,
+ Key_Y,
+ Key_Z,
+ Key_BracketLeft,
+ Key_Backslash,
+ Key_BracketRight,
+ Key_AsciiCircum,
+ Key_Underscore,
+ Key_QuoteLeft,
+ Key_BraceLeft,
+ Key_Bar,
+ Key_BraceRight,
+ Key_AsciiTilde,
+
+ Key_nobreakspace,
+ Key_exclamdown,
+ Key_cent,
+ Key_sterling,
+ Key_currency,
+ Key_yen,
+ Key_brokenbar,
+ Key_section,
+ Key_diaeresis,
+ Key_copyright,
+ Key_ordfeminine,
+ Key_guillemotleft,
+ Key_notsign,
+ Key_hyphen,
+ Key_registered,
+ Key_macron,
+ Key_degree,
+ Key_plusminus,
+ Key_twosuperior,
+ Key_threesuperior,
+ Key_acute,
+ Key_mu,
+ Key_paragraph,
+ Key_periodcentered,
+ Key_cedilla,
+ Key_onesuperior,
+ Key_masculine,
+ Key_guillemotright,
+ Key_onequarter,
+ Key_onehalf,
+ Key_threequarters,
+ Key_questiondown,
+ Key_Agrave,
+ Key_Aacute,
+ Key_Acircumflex,
+ Key_Atilde,
+ Key_Adiaeresis,
+ Key_Aring,
+ Key_AE,
+ Key_Ccedilla,
+ Key_Egrave,
+ Key_Eacute,
+ Key_Ecircumflex,
+ Key_Ediaeresis,
+ Key_Igrave,
+ Key_Iacute,
+ Key_Icircumflex,
+ Key_Idiaeresis,
+ Key_ETH,
+ Key_Ntilde,
+ Key_Ograve,
+ Key_Oacute,
+ Key_Ocircumflex,
+ Key_Otilde,
+ Key_Odiaeresis,
+ Key_multiply,
+ Key_Ooblique,
+ Key_Ugrave,
+ Key_Uacute,
+ Key_Ucircumflex,
+ Key_Udiaeresis,
+ Key_Yacute,
+ Key_THORN,
+ Key_ssharp,
+ Key_agrave,
+ Key_aacute,
+ Key_acircumflex,
+ Key_atilde,
+ Key_adiaeresis,
+ Key_aring,
+ Key_ae,
+ Key_ccedilla,
+ Key_egrave,
+ Key_eacute,
+ Key_ecircumflex,
+ Key_ediaeresis,
+ Key_igrave,
+ Key_iacute,
+ Key_icircumflex,
+ Key_idiaeresis,
+ Key_eth,
+ Key_ntilde,
+ Key_ograve,
+ Key_oacute,
+ Key_ocircumflex,
+ Key_otilde,
+ Key_odiaeresis,
+ Key_division,
+ Key_oslash,
+ Key_ugrave,
+ Key_uacute,
+ Key_ucircumflex,
+ Key_udiaeresis,
+ Key_yacute,
+ Key_thorn,
+ Key_ydiaeresis,
+
+%If (Qt_3_1_0 -)
+ Key_Back,
+ Key_Forward,
+ Key_Stop,
+ Key_Refresh,
+
+ Key_VolumeDown,
+ Key_VolumeMute,
+ Key_VolumeUp,
+ Key_BassBoost,
+ Key_BassUp,
+ Key_BassDown,
+ Key_TrebleUp,
+ Key_TrebleDown,
+
+ Key_MediaPlay,
+ Key_MediaStop,
+ Key_MediaPrev,
+ Key_MediaNext,
+ Key_MediaRecord,
+
+ Key_HomePage,
+ Key_Favorites,
+ Key_Search,
+ Key_Standby,
+ Key_OpenUrl,
+
+ Key_LaunchMail,
+ Key_LaunchMedia,
+ Key_Launch0,
+ Key_Launch1,
+ Key_Launch2,
+ Key_Launch3,
+ Key_Launch4,
+ Key_Launch5,
+ Key_Launch6,
+ Key_Launch7,
+ Key_Launch8,
+ Key_Launch9,
+ Key_LaunchA,
+ Key_LaunchB,
+ Key_LaunchC,
+ Key_LaunchD,
+ Key_LaunchE,
+ Key_LaunchF,
+
+ Key_MediaLast,
+%End
+
+ Key_unknown
+ };
+
+ enum ArrowType {
+ UpArrow,
+ DownArrow,
+ LeftArrow,
+ RightArrow
+ };
+
+ enum RasterOp {
+ CopyROP,
+ OrROP,
+ XorROP,
+ NotAndROP,
+ EraseROP,
+ NotCopyROP,
+ NotOrROP,
+ NotXorROP,
+ AndROP,
+ NotEraseROP,
+ NotROP,
+ ClearROP,
+ SetROP,
+ NopROP,
+ AndNotROP,
+ OrNotROP,
+ NandROP,
+ NorROP,
+ LastROP
+ };
+
+ enum PenStyle {
+ NoPen,
+ SolidLine,
+ DashLine,
+ DotLine,
+ DashDotLine,
+ DashDotDotLine,
+%If (Qt_2_1_0 -)
+ MPenStyle
+%End
+ };
+
+%If (Qt_2_1_0 -)
+ enum PenCapStyle {
+ FlatCap,
+ SquareCap,
+ RoundCap,
+ MPenCapStyle
+ };
+
+ enum PenJoinStyle {
+ MiterJoin,
+ BevelJoin,
+ RoundJoin,
+ MPenJoinStyle
+ };
+%End
+
+ enum BrushStyle {
+ NoBrush,
+ SolidPattern,
+ Dense1Pattern,
+ Dense2Pattern,
+ Dense3Pattern,
+ Dense4Pattern,
+ Dense5Pattern,
+ Dense6Pattern,
+ Dense7Pattern,
+ HorPattern,
+ VerPattern,
+ CrossPattern,
+ BDiagPattern,
+ FDiagPattern,
+ DiagCrossPattern,
+ CustomPattern
+ };
+
+%If (Qt_3_1_0 -)
+ enum MacintoshVersion {
+ MV_Unknown,
+
+ MV_9,
+%If (Qt_3_2_0 -)
+ MV_10_DOT_0,
+%End
+ MV_10_DOT_1,
+ MV_10_DOT_2,
+%If (Qt_3_2_0 -)
+ MV_10_DOT_3,
+%End
+%If (Qt_3_3_5 -)
+ MV_10_DOT_4,
+%End
+
+%If (Qt_3_2_0 -)
+ MV_CHEETAH,
+ MV_PUMA,
+%End
+ MV_JAGUAR,
+%If (Qt_3_2_0 -)
+ MV_PANTHER,
+%End
+%If (Qt_3_3_5 -)
+ MV_TIGER,
+%End
+ };
+%End
+
+ enum WindowsVersion {
+ WV_32s,
+ WV_95,
+ WV_98,
+%If (Qt_3_0_0 -)
+ WV_Me,
+%End
+%If (Qt_2_1_0 -)
+ WV_DOS_based,
+%End
+
+ WV_NT,
+%If (Qt_2_1_0 -)
+ WV_2000,
+%End
+%If (Qt_3_0_0 -)
+ WV_XP,
+%End
+%If (Qt_3_3_0 -)
+ WV_2003,
+%End
+%If (Qt_3_3_6 -)
+ WV_VISTA,
+%End
+%If (Qt_2_1_0 -)
+ WV_NT_based,
+%End
+
+%If (Qt_3_3_0 -)
+ WV_CE,
+ WV_CENET,
+ WV_CE_based,
+%End
+ };
+
+%If (Qt_2_2_0 -)
+ enum UIEffect {
+ UI_General,
+ UI_AnimateMenu,
+ UI_FadeMenu,
+ UI_AnimateCombo,
+ UI_AnimateTooltip,
+ UI_FadeTooltip,
+%If (Qt_3_2_0 -)
+ UI_AnimateToolBox,
+%End
+ };
+%End
+
+%If (Qt_3_0_0 -)
+ enum CursorShape {
+ ArrowCursor,
+ UpArrowCursor,
+ CrossCursor,
+ WaitCursor,
+ IbeamCursor,
+ SizeVerCursor,
+ SizeHorCursor,
+ SizeBDiagCursor,
+ SizeFDiagCursor,
+ SizeAllCursor,
+ BlankCursor,
+ SplitVCursor,
+ SplitHCursor,
+ PointingHandCursor,
+ ForbiddenCursor,
+ WhatsThisCursor,
+%If (Qt_3_3_0 -)
+ BusyCursor,
+%End
+ LastCursor,
+ BitmapCursor
+ };
+%End
+
+ static const QCursor &arrowCursor;
+ static const QCursor &upArrowCursor;
+ static const QCursor &crossCursor;
+ static const QCursor &waitCursor;
+ static const QCursor &ibeamCursor;
+ static const QCursor &sizeVerCursor;
+ static const QCursor &sizeHorCursor;
+ static const QCursor &sizeBDiagCursor;
+ static const QCursor &sizeFDiagCursor;
+ static const QCursor &sizeAllCursor;
+ static const QCursor &blankCursor;
+ static const QCursor &splitVCursor;
+ static const QCursor &splitHCursor;
+ static const QCursor &pointingHandCursor;
+%If (Qt_2_1_0 -)
+ static const QCursor &forbiddenCursor;
+%End
+%If (Qt_3_0_0 -)
+ static const QCursor &whatsThisCursor;
+%End
+%If (Qt_3_3_0 -)
+ static const QCursor &busyCursor;
+%End
+
+ enum TextFormat {
+ PlainText,
+ RichText,
+ AutoText,
+%If (Qt_3_1_0 -)
+ LogText,
+%End
+ };
+
+%If (Qt_3_1_0 -)
+ enum AnchorAttribute {
+ AnchorName,
+ AnchorHref
+ };
+%End
+
+%If (Qt_3_0_0 -)
+ enum Dock {
+ DockUnmanaged,
+ DockTornOff,
+ DockTop,
+ DockBottom,
+ DockRight,
+ DockLeft,
+ DockMinimized
+ };
+
+ enum DateFormat {
+ TextDate,
+ ISODate,
+ LocalDate
+ };
+
+%If (Qt_3_1_0 -)
+ enum TimeSpec {
+ LocalTime,
+ UTC
+ };
+%End
+
+ enum BackgroundMode {
+ FixedColor,
+ FixedPixmap,
+ NoBackground,
+ PaletteForeground,
+ PaletteButton,
+ PaletteLight,
+ PaletteMidlight,
+ PaletteDark,
+ PaletteMid,
+ PaletteText,
+ PaletteBrightText,
+ PaletteBase,
+ PaletteBackground,
+ PaletteShadow,
+ PaletteHighlight,
+ PaletteHighlightedText,
+ PaletteButtonText,
+ PaletteLink,
+ PaletteLinkVisited,
+ X11ParentRelative
+ };
+
+ typedef uint ComparisonFlags;
+
+ enum StringComparisonMode {
+ CaseSensitive,
+ BeginsWith,
+ EndsWith,
+ Contains,
+ ExactMatch
+ };
+
+%If (Qt_3_2_0 -)
+ enum Corner {
+ TopLeft,
+ TopRight,
+ BottomLeft,
+ BottomRight
+ };
+%End
+
+%If (WS_X11)
+ typedef unsigned long HANDLE;
+%End
+%End
+};
+
+%End
diff --git a/sip/qt/qnetworkprotocol.sip b/sip/qt/qnetworkprotocol.sip
new file mode 100644
index 0000000..6af512b
--- /dev/null
+++ b/sip/qt/qnetworkprotocol.sip
@@ -0,0 +1,227 @@
+// This is the SIP interface definition for QNetworkOperation, QNetworkProtocol
+// and QNetworkProtocolFactoryBase.
+//
+// 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>QNetworkOperation (Qt v2.1+)</Title>
+<Para>
+<Literal>QNetworkOperation</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QNetworkProtocol (Qt v2.1+)</Title>
+<Para>
+<Literal>QNetworkProtocol</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QNetworkProtocolFactoryBase (Qt v2.1+)</Title>
+<Para>
+<Literal>QNetworkProtocolFactoryBase</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_NETWORKPROTOCOL)
+%If (Qt_2_1_0 -)
+
+class QNetworkProtocolFactoryBase
+{
+%TypeHeaderCode
+#include <qnetworkprotocol.h>
+%End
+
+public:
+ virtual QNetworkProtocol *createObject() = 0 /Factory/;
+
+};
+
+
+class QNetworkProtocol : QObject
+{
+%TypeHeaderCode
+#include <qnetworkprotocol.h>
+%End
+
+public:
+ enum State {
+ StWaiting,
+ StInProgress,
+ StDone,
+ StFailed,
+ StStopped
+ };
+
+%If (- Qt_3_0_0)
+ enum Operation {
+ OpListChildren,
+ OpMkdir,
+ OpRemove,
+ OpRename,
+ OpGet,
+ OpPut
+ };
+%End
+%If (Qt_3_0_0 -)
+ enum Operation {
+ OpListChildren,
+ OpMkDir,
+ OpRemove,
+ OpRename,
+ OpGet,
+ OpPut
+ };
+%End
+
+ enum ConnectionState {
+ ConHostFound,
+ ConConnected,
+ ConClosed
+ };
+
+%If (- Qt_3_0_0)
+ enum Error {
+ NoError,
+ ErrValid,
+ ErrUnknownProtocol,
+ ErrUnsupported,
+ ErrParse,
+ ErrLoginIncorrect,
+ ErrHostNotFound,
+ ErrListChlidren,
+ ErrMkdir,
+ ErrRemove,
+ ErrRename,
+ ErrGet,
+ ErrPut,
+ ErrFileNotExisting,
+ ErrPermissionDenied
+ };
+%End
+%If (Qt_3_0_0 -)
+ enum Error {
+ NoError,
+ ErrValid,
+ ErrUnknownProtocol,
+ ErrUnsupported,
+ ErrParse,
+ ErrLoginIncorrect,
+ ErrHostNotFound,
+ ErrListChildren,
+ ErrMkDir,
+ ErrRemove,
+ ErrRename,
+ ErrGet,
+ ErrPut,
+ ErrFileNotExisting,
+ ErrPermissionDenied
+ };
+%End
+
+ QNetworkProtocol();
+
+ virtual void setUrl(QUrlOperator *);
+
+ virtual void setAutoDelete(bool,int = 10000);
+ bool autoDelete() const;
+
+ static void registerNetworkProtocol(const QString &,
+ QNetworkProtocolFactoryBase *);
+ static QNetworkProtocol *getNetworkProtocol(const QString &) /Factory/;
+ static bool hasOnlyLocalFileSystem();
+
+ virtual int supportedOperations() const;
+ virtual void addOperation(QNetworkOperation *);
+
+ QUrlOperator *url() const;
+ QNetworkOperation *operationInProgress() const;
+ virtual void clearOperationQueue();
+ virtual void stop();
+
+signals:
+ void data(const QByteArray &,QNetworkOperation *);
+ void connectionStateChanged(int,const QString &);
+ void finished(QNetworkOperation *);
+ void start(QNetworkOperation *);
+ void newChildren(const QValueList<QUrlInfo> &,QNetworkOperation *);
+ void newChild(const QUrlInfo &,QNetworkOperation *);
+ void createdDirectory(const QUrlInfo &,QNetworkOperation *);
+ void removed(QNetworkOperation *);
+ void itemChanged(QNetworkOperation *);
+ void dataTransferProgress(int,int,QNetworkOperation *);
+
+protected:
+ virtual void processOperation(QNetworkOperation *);
+ virtual void operationListChildren(QNetworkOperation *);
+ virtual void operationMkDir(QNetworkOperation *);
+ virtual void operationRemove(QNetworkOperation *);
+ virtual void operationRename(QNetworkOperation *);
+ virtual void operationGet(QNetworkOperation *);
+ virtual void operationPut(QNetworkOperation *);
+%If (Qt_3_0_0 -)
+ virtual void operationPutChunk(QNetworkOperation *);
+%End
+ virtual bool checkConnection(QNetworkOperation *);
+
+private:
+%If (Qt_3_1_0 -)
+ QNetworkProtocol(const QNetworkProtocol &);
+%End
+};
+
+
+class QNetworkOperation : QObject
+{
+%TypeHeaderCode
+#include <qnetworkprotocol.h>
+%End
+
+public:
+ QNetworkOperation(QNetworkProtocol::Operation,const QString &,
+ const QString &,const QString &);
+ QNetworkOperation(QNetworkProtocol::Operation,const QByteArray &,
+ const QByteArray &,const QByteArray &);
+
+ void setState(QNetworkProtocol::State);
+ void setProtocolDetail(const QString &);
+ void setErrorCode(int);
+ void setArg(int,const QString &);
+ void setRawArg(int,const QByteArray &);
+
+ QNetworkProtocol::Operation operation() const;
+ QNetworkProtocol::State state() const;
+ QString arg(int) const;
+ QByteArray rawArg(int) const;
+ QString protocolDetail() const;
+ int errorCode() const;
+
+ void free();
+
+private:
+%If (Qt_3_1_0 -)
+ QNetworkOperation(const QNetworkOperation &);
+%End
+};
+
+%End
+%End
diff --git a/sip/qt/qobject.sip b/sip/qt/qobject.sip
new file mode 100644
index 0000000..0129284
--- /dev/null
+++ b/sip/qt/qobject.sip
@@ -0,0 +1,2319 @@
+// This is the SIP interface definition for QObject.
+//
+// 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>QObject</Title>
+<FuncSynopsis>
+ <FuncDef>bool <Function>disconnect</Function></FuncDef>
+ <ParamDef>const QObject *<Parameter>receiver</Parameter></ParamDef>
+ <ParamDef>const char *<Parameter>member</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>disconnect</Function></FuncDef>
+ <ParamDef>const char *<Parameter>signal</Parameter> = 0</ParamDef>
+ <ParamDef>const QObject *<Parameter>receiver</Parameter> = 0</ParamDef>
+ <ParamDef>const char *<Parameter>member</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>static bool <Function>disconnect</Function></FuncDef>
+ <ParamDef>const QObject *<Parameter>sender</Parameter></ParamDef>
+ <ParamDef>const char *<Parameter>signal</Parameter></ParamDef>
+ <ParamDef>const QObject *<Parameter>receiver</Parameter></ParamDef>
+ <ParamDef>const char *<Parameter>member</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+At the moment PyQt does not support the full behaviour of the corresponding Qt
+method. In particular, specifying None (ie. 0 in C++) for the
+<Literal>signal</Literal> and <Literal>receiver</Literal> parameters is not yet
+supported.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QObject : Qt
+{
+%TypeHeaderCode
+#include <qobject.h>
+#include <qapplication.h>
+%End
+
+public:
+ QObject(QObject * /TransferThis/ = 0,const char * = 0);
+
+%ConvertToSubClassCode
+ static struct class_graph {
+ const char *name;
+ sipWrapperType **type;
+ int yes, no;
+ } graph[] = {
+ {sipName_QWidget, &sipClass_QWidget, 25, 1},
+#if QT_VERSION >= 0x030100 && defined(SIP_FEATURE_Qt_ASSISTANTCLIENT)
+ {sipName_QAssistantClient, &sipClass_QAssistantClient, -1, 2},
+#else
+ {NULL, NULL, -1, 2},
+#endif
+ {sipName_QSessionManager, &sipClass_QSessionManager, -1, 3},
+ {sipName_QTranslator, &sipClass_QTranslator, -1, 4},
+#if QT_VERSION >= 0x030000
+ {sipName_QProcess, &sipClass_QProcess, -1, 5},
+#else
+ {NULL, NULL, -1, 5},
+#endif
+ {sipName_QToolTipGroup, &sipClass_QToolTipGroup, -1, 6},
+#if defined(SIP_FEATURE_Qt_FILEDIALOG)
+ {sipName_QFileIconProvider, &sipClass_QFileIconProvider, -1, 7},
+#else
+ {NULL, NULL, -1, 7},
+#endif
+#if QT_VERSION >= 220 && defined(SIP_FEATURE_Qt_ACTION)
+ {sipName_QAction, &sipClass_QAction, 89, 8},
+#else
+ {NULL, NULL, -1, 8},
+#endif
+#if QT_VERSION >= 0x030000
+ {sipName_QObjectCleanupHandler, &sipClass_QObjectCleanupHandler, -1, 9},
+#else
+ {NULL, NULL, -1, 9},
+#endif
+ {sipName_QTimer, &sipClass_QTimer, -1, 10},
+ {sipName_QLayout, &sipClass_QLayout, 90, 11},
+#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_NETWORKPROTOCOL)
+ {sipName_QUrlOperator, &sipClass_QUrlOperator, -1, 12},
+#else
+ {NULL, NULL, -1, 12},
+#endif
+ {sipName_QStyleSheet, &sipClass_QStyleSheet, -1, 13},
+ {sipName_QValidator, &sipClass_QValidator, 94, 14},
+#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_NETWORKPROTOCOL)
+ {sipName_QNetworkOperation, &sipClass_QNetworkOperation, -1, 15},
+#else
+ {NULL, NULL, -1, 15},
+#endif
+ {sipName_QAccel, &sipClass_QAccel, -1, 16},
+#if QT_VERSION >= 0x030100
+ {sipName_QEventLoop, &sipClass_QEventLoop, -1, 17},
+#else
+ {NULL, NULL, -1, 17},
+#endif
+#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_NETWORKPROTOCOL)
+ {sipName_QNetworkProtocol, &sipClass_QNetworkProtocol, -1, 18},
+#else
+ {NULL, NULL, -1, 18},
+#endif
+#if QT_VERSION >= 220 && defined(SIP_FEATURE_Qt_SOUND)
+ {sipName_QSound, &sipClass_QSound, -1, 19},
+#else
+ {NULL, NULL, -1, 19},
+#endif
+ {sipName_QApplication, &sipClass_QApplication, -1, 20},
+ {sipName_QDragObject, &sipClass_QDragObject, 97, 21},
+ {sipName_QSocketNotifier, &sipClass_QSocketNotifier, -1, 22},
+ {sipName_QStyle, &sipClass_QStyle, 103, 23},
+ {sipName_QSignalMapper, &sipClass_QSignalMapper, -1, 24},
+#if defined(SIP_FEATURE_Qt_CLIPBOARD)
+ {sipName_QClipboard, &sipClass_QClipboard, -1, -1},
+#else
+ {NULL, NULL, -1, -1},
+#endif
+ {sipName_QStatusBar, &sipClass_QStatusBar, -1, 26},
+#if defined(SIP_FEATURE_Qt_SIZEGRIP)
+ {sipName_QSizeGrip, &sipClass_QSizeGrip, -1, 27},
+#else
+ {NULL, NULL, -1, 27},
+#endif
+ {sipName_QTabWidget, &sipClass_QTabWidget, -1, 28},
+#if QT_VERSION >= 0x030000
+ {sipName_QDateEdit, &sipClass_QDateEdit, -1, 29},
+#else
+ {NULL, NULL, -1, 29},
+#endif
+ {sipName_QMainWindow, &sipClass_QMainWindow, -1, 30},
+#if QT_VERSION >= 0x030000
+ {sipName_QDateTimeEdit, &sipClass_QDateTimeEdit, -1, 31},
+#else
+ {NULL, NULL, -1, 31},
+#endif
+#if QT_VERSION >= 0x030000
+ {sipName_QTimeEdit, &sipClass_QTimeEdit, -1, 32},
+#else
+ {NULL, NULL, -1, 32},
+#endif
+ {sipName_QFrame, &sipClass_QFrame, 46, 33},
+ {sipName_QScrollBar, &sipClass_QScrollBar, -1, 34},
+#if QT_VERSION >= 220 && defined(SIP_FEATURE_Qt_DIAL)
+ {sipName_QDial, &sipClass_QDial, -1, 35},
+#else
+ {NULL, NULL, -1, 35},
+#endif
+ {sipName_QButton, &sipClass_QButton, 75, 36},
+ {sipName_QTabBar, &sipClass_QTabBar, -1, 37},
+ {sipName_QDialog, &sipClass_QDialog, 79, 38},
+ {sipName_QComboBox, &sipClass_QComboBox, -1, 39},
+ {sipName_QHeader, &sipClass_QHeader, -1, 40},
+#if QT_VERSION >= 0x030000
+ {sipName_QDockArea, &sipClass_QDockArea, -1, 41},
+#else
+ {NULL, NULL, -1, 41},
+#endif
+#if QT_VERSION >= 0x030200
+ {sipName_QSplashScreen, &sipClass_QSplashScreen, -1, 42},
+#else
+ {NULL, NULL, -1, 42},
+#endif
+ {sipName_QSlider, &sipClass_QSlider, -1, 43},
+ {sipName_QSpinBox, &sipClass_QSpinBox, -1, 44},
+#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_WORKSPACE)
+ {sipName_QWorkspace, &sipClass_QWorkspace, -1, 45},
+#else
+ {NULL, NULL, -1, 45},
+#endif
+#if QT_VERSION >= 0x030000
+ {sipName_QDesktopWidget, &sipClass_QDesktopWidget, -1, -1},
+#else
+ {NULL, NULL, -1, -1},
+#endif
+ {sipName_QGrid, &sipClass_QGrid, -1, 47},
+ {sipName_QLineEdit, &sipClass_QLineEdit, -1, 48},
+#if QT_VERSION >= 0x030200
+ {sipName_QToolBox, &sipClass_QToolBox, -1, 49},
+#else
+ {NULL, NULL, -1, 49},
+#endif
+ {sipName_QWidgetStack, &sipClass_QWidgetStack, -1, 50},
+#if QT_VERSION >= 0x030000
+ {sipName_QDockWindow, &sipClass_QDockWindow, 60, 51},
+#else
+ {NULL, NULL, -1, 51},
+#endif
+ {sipName_QMenuBar, &sipClass_QMenuBar, -1, 52},
+ {sipName_QLabel, &sipClass_QLabel, -1, 53},
+ {sipName_QGroupBox, &sipClass_QGroupBox, 61, 54},
+ {sipName_QPopupMenu, &sipClass_QPopupMenu, -1, 55},
+#if defined(SIP_FEATURE_Qt_SPLITTER)
+ {sipName_QSplitter, &sipClass_QSplitter, -1, 56},
+#else
+ {NULL, NULL, -1, 56},
+#endif
+ {sipName_QProgressBar, &sipClass_QProgressBar, -1, 57},
+ {sipName_QScrollView, &sipClass_QScrollView, 66, 58},
+ {sipName_QHBox, &sipClass_QHBox, 74, 59},
+ {sipName_QLCDNumber, &sipClass_QLCDNumber, -1, -1},
+ {sipName_QToolBar, &sipClass_QToolBar, -1, -1},
+ {sipName_QButtonGroup, &sipClass_QButtonGroup, 64, 62},
+ {sipName_QHGroupBox, &sipClass_QHGroupBox, -1, 63},
+ {sipName_QVGroupBox, &sipClass_QVGroupBox, -1, -1},
+ {sipName_QVButtonGroup, &sipClass_QVButtonGroup, -1, 65},
+ {sipName_QHButtonGroup, &sipClass_QHButtonGroup, -1, -1},
+#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_ICONVIEW)
+ {sipName_QIconView, &sipClass_QIconView, -1, 67},
+#else
+ {NULL, NULL, -1, 67},
+#endif
+ {sipName_QListView, &sipClass_QListView, -1, 68},
+ {sipName_QListBox, &sipClass_QListBox, -1, 69},
+#if QT_VERSION >= 0x030000
+ {sipName_QGridView, &sipClass_QGridView, -1, 70},
+#else
+ {NULL, NULL, -1, 70},
+#endif
+#if QT_VERSION >= 0x030000
+ {sipName_QTextEdit, &sipClass_QTextEdit, 71, -1},
+#else
+ {NULL, NULL, -1, -1},
+#endif
+ {sipName_QTextBrowser, &sipClass_QTextBrowser, -1, 72},
+ {sipName_QMultiLineEdit, &sipClass_QMultiLineEdit, -1, 73},
+ {sipName_QTextView, &sipClass_QTextView, -1, -1},
+ {sipName_QVBox, &sipClass_QVBox, -1, -1},
+ {sipName_QToolButton, &sipClass_QToolButton, -1, 76},
+ {sipName_QRadioButton, &sipClass_QRadioButton, -1, 77},
+ {sipName_QPushButton, &sipClass_QPushButton, -1, 78},
+ {sipName_QCheckBox, &sipClass_QCheckBox, -1, -1},
+#if defined(WS_X11) && defined(SIP_FEATURE_Qt_PRINTDIALOG)
+ {sipName_QPrintDialog, &sipClass_QPrintDialog, -1, 80},
+#else
+ {NULL, NULL, -1, 80},
+#endif
+#if QT_VERSION >= 0x030000
+ {sipName_QErrorMessage, &sipClass_QErrorMessage, -1, 81},
+#else
+ {NULL, NULL, -1, 81},
+#endif
+#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_INPUTDIALOG)
+ {sipName_QInputDialog, &sipClass_QInputDialog, -1, 82},
+#else
+ {NULL, NULL, -1, 82},
+#endif
+#if defined(SIP_FEATURE_Qt_MESSAGEBOX)
+ {sipName_QMessageBox, &sipClass_QMessageBox, -1, 83},
+#else
+ {NULL, NULL, -1, 83},
+#endif
+#if defined(SIP_FEATURE_Qt_WIZARD)
+ {sipName_QWizard, &sipClass_QWizard, -1, 84},
+#else
+ {NULL, NULL, -1, 84},
+#endif
+#if defined(SIP_FEATURE_Qt_COLORDIALOG)
+ {sipName_QColorDialog, &sipClass_QColorDialog, -1, 85},
+#else
+ {NULL, NULL, -1, 85},
+#endif
+#if defined(SIP_FEATURE_Qt_FONTDIALOG)
+ {sipName_QFontDialog, &sipClass_QFontDialog, -1, 86},
+#else
+ {NULL, NULL, -1, 86},
+#endif
+#if defined(SIP_FEATURE_Qt_FILEDIALOG)
+ {sipName_QFileDialog, &sipClass_QFileDialog, -1, 87},
+#else
+ {NULL, NULL, -1, 87},
+#endif
+#if defined(SIP_FEATURE_Qt_PROGRESSDIALOG)
+ {sipName_QProgressDialog, &sipClass_QProgressDialog, -1, 88},
+#else
+ {NULL, NULL, -1, 88},
+#endif
+#if defined(SIP_FEATURE_Qt_TABDIALOG)
+ {sipName_QTabDialog, &sipClass_QTabDialog, -1, -1},
+#else
+ {NULL, NULL, -1, -1},
+#endif
+#if QT_VERSION >= 220 && defined(SIP_FEATURE_Qt_ACTION)
+ {sipName_QActionGroup, &sipClass_QActionGroup, -1, -1},
+#else
+ {NULL, NULL, -1, -1},
+#endif
+ {sipName_QGridLayout, &sipClass_QGridLayout, -1, 91},
+ {sipName_QBoxLayout, &sipClass_QBoxLayout, 92, -1},
+ {sipName_QHBoxLayout, &sipClass_QHBoxLayout, -1, 93},
+ {sipName_QVBoxLayout, &sipClass_QVBoxLayout, -1, -1},
+ {sipName_QDoubleValidator, &sipClass_QDoubleValidator, -1, 95},
+ {sipName_QIntValidator, &sipClass_QIntValidator, -1, 96},
+#if QT_VERSION >= 0x030000
+ {sipName_QRegExpValidator, &sipClass_QRegExpValidator, -1, -1},
+#else
+ {NULL, NULL, -1, -1},
+#endif
+ {sipName_QTextDrag, &sipClass_QTextDrag, -1, 98},
+ {sipName_QStoredDrag, &sipClass_QStoredDrag, 101, 99},
+#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_ICONVIEW) && defined(SIP_FEATURE_Qt_DRAGANDDROP)
+ {sipName_QIconDrag, &sipClass_QIconDrag, -1, 100},
+#else
+ {NULL, NULL, -1, 100},
+#endif
+ {sipName_QImageDrag, &sipClass_QImageDrag, -1, -1},
+#if QT_VERSION >= 210
+ {sipName_QColorDrag, &sipClass_QColorDrag, -1, 102},
+#else
+ {NULL, NULL, -1, 102},
+#endif
+ {sipName_QUriDrag, &sipClass_QUriDrag, -1, -1},
+ {sipName_QCommonStyle, &sipClass_QCommonStyle, 104, -1},
+#if defined(SIP_FEATURE_Qt_STYLE_WINDOWS)
+ {sipName_QWindowsStyle, &sipClass_QWindowsStyle, 106, 105},
+#else
+ {NULL, NULL, -1, 105},
+#endif
+#if defined(SIP_FEATURE_Qt_STYLE_MOTIF)
+ {sipName_QMotifStyle, &sipClass_QMotifStyle, 107, -1},
+#else
+ {NULL, NULL, -1, -1},
+#endif
+#if defined(SIP_FEATURE_Qt_STYLE_PLATINUM)
+ {sipName_QPlatinumStyle, &sipClass_QPlatinumStyle, -1, 110},
+#else
+ {NULL, NULL, -1, 110},
+#endif
+#if defined(SIP_FEATURE_Qt_STYLE_CDE)
+ {sipName_QCDEStyle, &sipClass_QCDEStyle, -1, 108},
+#else
+ {NULL, NULL, -1, 108},
+#endif
+#if QT_VERSION >= 220 && defined(SIP_FEATURE_Qt_STYLE_MOTIFPLUS)
+ {sipName_QMotifPlusStyle, &sipClass_QMotifPlusStyle, -1, 109},
+#else
+ {NULL, NULL, -1, 109},
+#endif
+#if QT_VERSION >= 220 && defined(SIP_FEATURE_Qt_STYLE_SGI)
+ {sipName_QSGIStyle, &sipClass_QSGIStyle, -1, -1},
+#else
+ {NULL, NULL, -1, -1},
+#endif
+#if defined(PYQT_STYLE_WINDOWSXP)
+ {sipName_QWindowsXPStyle, &sipClass_QWindowsXPStyle, -1, -1},
+#else
+ {NULL, NULL, -1, -1},
+#endif
+ };
+
+ int i = 0;
+
+ sipClass = NULL;
+
+ do
+ {
+ struct class_graph *cg = &graph[i];
+
+ if (cg->name != NULL && sipCpp->inherits(cg->name))
+ {
+ sipClass = *cg->type;
+ i = cg->yes;
+ }
+ else
+ i = cg->no;
+ }
+ while (i >= 0);
+%End
+
+ // This is really virtual. With the way we are implementing it doesn't
+ // need to be and has the advantage that the C++ implementation can be
+ // used in %ConvertToSubClassCode to get the C++ name for Python
+ // sub-classes. However, it is also means that C++ plugins can't get
+ // the true (Python) class name.
+ SIP_PYOBJECT className() const;
+%MethodCode
+ sipRes = sipClassName(sipSelf);
+%End
+
+%If (- Qt_3_0_0)
+ static QString tr(const char *) /AutoGen=Qt_TRANSLATION/;
+%End
+%If (Qt_2_2_0 - Qt_2_3_1)
+ // There was an apparent bug in moc prior to Qt v2.3.1 where this
+ // method wasn't automatically generated.
+
+ static QString tr(const char *,const char *);
+%End
+%If (Qt_2_3_1 - Qt_3_0_0)
+ static QString tr(const char *,const char *) /AutoGen=Qt_TRANSLATION/;
+%End
+%If (Qt_3_0_0 -)
+ // Note that tr() and trUtf8() are really static methods. We pretend
+ // they aren't so that we can use self to get hold of the class name.
+ // We could mimic moc's behaviour more accurately by creating tr() and
+ // trUtf8() methods for a Python sub-class instance in the sub-class's
+ // ctor.
+
+ QString tr(const char *,const char * = 0);
+%MethodCode
+ PyObject *nmobj;
+
+ if ((nmobj = sipClassName(sipSelf)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ char *cname = PyString_AsString(nmobj);
+
+ Py_BEGIN_ALLOW_THREADS
+
+ if (cname && qApp)
+ sipRes = new QString(qApp -> translate(cname,a0,a1,QApplication::DefaultCodec));
+ else
+ sipRes = new QString(QString::fromLatin1(a0));
+
+ Py_END_ALLOW_THREADS
+
+ Py_DECREF(nmobj);
+ }
+%End
+
+ QString trUtf8(const char *,const char * = 0);
+%MethodCode
+ PyObject *nmobj;
+
+ if ((nmobj = sipClassName(sipSelf)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ char *cname = PyString_AsString(nmobj);
+
+ Py_BEGIN_ALLOW_THREADS
+
+ if (cname && qApp)
+ sipRes = new QString(qApp -> translate(cname,a0,a1,QApplication::UnicodeUTF8));
+ else
+ sipRes = new QString(QString::fromUtf8(a0));
+
+ Py_END_ALLOW_THREADS
+
+ Py_DECREF(nmobj);
+ }
+%End
+%End
+ virtual QMetaObject *metaObject() const /AutoGen/;
+ virtual bool event(QEvent *);
+ virtual bool eventFilter(QObject *,QEvent *);
+
+ bool isA(const char *) const;
+%MethodCode
+ // The Qt implementation doesn't know anything about Python
+ // sub-classes. For SIP v4 we use the Python type's name. For
+ // SIP v3 we use the broken Qt behaviour as it's deprecated and
+ // we want to keep things simple.
+
+#if SIP_VERSION >= 0x040000
+ sipRes = (strcmp(sipSelf -> ob_type -> tp_name,a0) == 0);
+#else
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = sipCpp -> QObject::isA(a0);
+ Py_END_ALLOW_THREADS
+#endif
+%End
+
+ bool inherits(const char *) const;
+%MethodCode
+ // The Qt implementation doesn't know anything about Python
+ // sub-classes. For SIP v4 we use the Python type's MRO. For
+ // SIP v3 we use the broken Qt behaviour as it's deprecated and
+ // we want to keep things simple.
+
+#if SIP_VERSION >= 0x040000
+ PyObject *mro = sipSelf -> ob_type -> tp_mro;
+
+ sipRes = 0;
+
+ for (int i = 0; i < PyTuple_GET_SIZE(mro); ++i)
+ if (strcmp(((PyTypeObject *)PyTuple_GET_ITEM(mro,i)) -> tp_name,a0) == 0)
+ {
+ sipRes = 1;
+ break;
+ }
+#else
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = sipCpp -> QObject::inherits(a0);
+ Py_END_ALLOW_THREADS
+#endif
+%End
+
+%If (- Qt_3_0_0)
+ QStringList superClasses(bool = 0) const;
+%End
+ const char *name() const;
+ const char *name(const char *) const;
+ virtual void setName(const char *);
+ bool isWidgetType() const;
+ bool highPriority() const;
+ bool signalsBlocked() const;
+ void blockSignals(bool);
+ int startTimer(int);
+ void killTimer(int);
+ void killTimers();
+%If (- Qt_3_0_0)
+ QObject *child(const char *,const char * = 0);
+%End
+%If (Qt_3_0_0 -)
+ QObject *child(const char *,const char * = 0,bool = 1);
+%End
+ const QObjectList *children() const;
+%If (Qt_2_1_0 -)
+ static const QObjectList *objectTrees();
+%End
+%If (- Qt_3_0_0)
+ QObjectList *queryList(char * = 0,char * = 0,bool = 1,bool = 1);
+%End
+
+%If (Qt_3_0_0 -)
+ QObjectList *queryList(char * = 0,char * = 0,bool = 1,bool = 1) const;
+%MethodCode
+ // The Qt implementation doesn't know anything about Python
+ // sub-classes. For SIP v4 we get all classes and then use the
+ // Python type's MRO to weed out those we don't want. For SIP
+ // v3 we use the broken Qt behaviour as it's deprecated and we
+ // want to keep things simple.
+
+#if SIP_VERSION >= 0x040000
+ sipRes = sipCpp -> QObject::queryList(0, a1, a2, a3);
+
+ if (a0 && sipRes)
+ {
+ QObject *o = sipRes -> first();
+
+ while (o)
+ {
+ bool remove = TRUE;
+ PyObject *pyo = sipConvertFromInstance(o, sipClass_QObject, 0);
+
+ if (pyo)
+ {
+ PyObject *mro = pyo -> ob_type -> tp_mro;
+
+ for (int i = 0; i < PyTuple_GET_SIZE(mro); ++i)
+ if (strcmp(((PyTypeObject *)PyTuple_GET_ITEM(mro,i)) -> tp_name,a0) == 0)
+ {
+ remove = FALSE;
+ break;
+ }
+
+ Py_DECREF(pyo);
+ }
+
+ if (remove)
+ {
+ sipRes -> remove();
+ o = sipRes -> current();
+ }
+ else
+ o = sipRes -> next();
+ }
+ }
+#else
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = sipCpp -> QObject::queryList(a0, a1, a2, a3);
+ Py_END_ALLOW_THREADS
+#endif
+%End
+%End
+
+ virtual void insertChild(QObject * /Transfer/);
+ virtual void removeChild(QObject * /TransferBack/);
+ void installEventFilter(const QObject *);
+ void removeEventFilter(const QObject *);
+
+ static SIP_PYOBJECT connect(SIP_QOBJECT,SIP_SIGNAL,SIP_QOBJECT,SIP_SLOT);
+%MethodCode
+ sipRes = sipConnectRx(a0,a1,a2,a3,0);
+%End
+
+ static SIP_PYOBJECT connect(SIP_QOBJECT,SIP_SIGNAL,SIP_PYCALLABLE);
+%MethodCode
+ sipRes = sipConnectRx(a0,a1,a2,0,0);
+%End
+
+ SIP_PYOBJECT connect(SIP_QOBJECT,SIP_SIGNAL,SIP_SLOT) const;
+%MethodCode
+ sipRes = sipConnectRx(a0,a1,sipSelf,a2,0);
+%End
+
+ static SIP_PYOBJECT disconnect(SIP_QOBJECT,SIP_SIGNAL,SIP_QOBJECT,SIP_SLOT);
+%MethodCode
+ sipRes = sipDisconnectRx(a0,a1,a2,a3);
+%End
+
+ static SIP_PYOBJECT disconnect(SIP_QOBJECT,SIP_SIGNAL,SIP_PYCALLABLE);
+%MethodCode
+ sipRes = sipDisconnectRx(a0,a1,a2,0);
+%End
+
+// bool disconnect(const char * = 0,const QObject * = 0,const char * = 0);
+// bool disconnect(const QObject *,const char * = 0);
+ void dumpObjectTree();
+ void dumpObjectInfo();
+ QObject *parent() const;
+
+ void emit(SIP_SIGNAL,SIP_PYTUPLE);
+%MethodCode
+ if (pyqt3EmitSignal(sipSelf, a0, a1) < 0)
+ sipIsErr = 1;
+%End
+
+%If (Qt_PROPERTIES)
+%If (Qt_2_1_0 - Qt_3_0_0)
+ bool setProperty(const char *,const QVariant &);
+ QVariant property(const char *) const;
+%End
+%If (Qt_3_0_0 -)
+ virtual bool setProperty(const char *,const QVariant &);
+ virtual QVariant property(const char *) const;
+%End
+%End
+
+signals:
+ void destroyed();
+%If (Qt_3_0_0 -)
+ void destroyed(QObject *);
+%End
+
+public slots:
+%If (Qt_3_0_0 -)
+ void deleteLater();
+%End
+
+public:
+ // This is actually protected, but we never need to call the real
+ // method.
+ SIP_PYOBJECT sender();
+%MethodCode
+ sipRes = pyqt3GetSender();
+%End
+
+protected:
+ virtual void timerEvent(QTimerEvent *);
+ virtual void childEvent(QChildEvent *);
+%If (Qt_3_0_0 -)
+ virtual void customEvent(QCustomEvent *);
+%End
+
+private:
+ QObject(const QObject &);
+};
+
+
+SIP_PYOBJECT QT_TR_NOOP(SIP_PYOBJECT);
+%MethodCode
+ Py_INCREF(a0);
+ sipRes = a0;
+%End
+
+
+SIP_PYOBJECT QT_TRANSLATE_NOOP(SIP_PYOBJECT,SIP_PYOBJECT);
+%MethodCode
+ Py_INCREF(a1);
+ sipRes = a1;
+%End
+
+%End
+
+
+%If (- Qt_2_00)
+
+class QObject
+{
+%TypeHeaderCode
+#include <qobject.h>
+%End
+
+public:
+ QObject(QObject * /TransferThis/ = 0,const char * = 0);
+
+%ConvertToSubClassCode
+ // The table of Python class objects indexed by their names. The table
+ // must be sorted by name.
+
+ static sipStringTypeClassMap map[] = {
+ {sipName_QAccel, &sipClass_QAccel},
+ {sipName_QApplication, &sipClass_QApplication},
+ {sipName_QBoxLayout, &sipClass_QBoxLayout},
+ {sipName_QButton, &sipClass_QButton},
+ {sipName_QButtonGroup, &sipClass_QButtonGroup},
+ {sipName_QCheckBox, &sipClass_QCheckBox},
+#if defined(SIP_FEATURE_Qt_CLIPBOARD)
+ {sipName_QClipboard, &sipClass_QClipboard},
+#endif
+ {sipName_QComboBox, &sipClass_QComboBox},
+ {sipName_QDialog, &sipClass_QDialog},
+ {sipName_QDoubleValidator, &sipClass_QDoubleValidator},
+ {sipName_QDragObject, &sipClass_QDragObject},
+#if defined(SIP_FEATURE_Qt_FILEDIALOG)
+ {sipName_QFileDialog, &sipClass_QFileDialog},
+ {sipName_QFileIconProvider, &sipClass_QFileIconProvider},
+#endif
+ {sipName_QFrame, &sipClass_QFrame},
+ {sipName_QGridLayout, &sipClass_QGridLayout},
+ {sipName_QGroupBox, &sipClass_QGroupBox},
+ {sipName_QHBoxLayout, &sipClass_QHBoxLayout},
+ {sipName_QHeader, &sipClass_QHeader},
+ {sipName_QImageDrag, &sipClass_QImageDrag},
+ {sipName_QIntValidator, &sipClass_QIntValidator},
+ {sipName_QLCDNumber, &sipClass_QLCDNumber},
+ {sipName_QLabel, &sipClass_QLabel},
+ {sipName_QLayout, &sipClass_QLayout},
+ {sipName_QLineEdit, &sipClass_QLineEdit},
+ {sipName_QListBox, &sipClass_QListBox},
+ {sipName_QListView, &sipClass_QListView},
+ {sipName_QMainWindow, &sipClass_QMainWindow},
+ {sipName_QMenuBar, &sipClass_QMenuBar},
+#if defined(SIP_FEATURE_Qt_MESSAGEBOX)
+ {sipName_QMessageBox, &sipClass_QMessageBox},
+#endif
+ {sipName_QMultiLineEdit, &sipClass_QMultiLineEdit},
+ {sipName_QPopupMenu, &sipClass_QPopupMenu},
+#if defined(WS_X11) && defined(SIP_FEATURE_Qt_PRINTDIALOG)
+ {sipName_QPrintDialog, &sipClass_QPrintDialog},
+#endif
+ {sipName_QProgressBar, &sipClass_QProgressBar},
+#if defined(SIP_FEATURE_Qt_PROGRESSDIALOG)
+ {sipName_QProgressDialog, &sipClass_QProgressDialog},
+#endif
+ {sipName_QPushButton, &sipClass_QPushButton},
+ {sipName_QRadioButton, &sipClass_QRadioButton},
+ {sipName_QScrollBar, &sipClass_QScrollBar},
+ {sipName_QScrollView, &sipClass_QScrollView},
+ {sipName_QSlider, &sipClass_QSlider},
+ {sipName_QSocketNotifier, &sipClass_QSocketNotifier},
+ {sipName_QSpinBox, &sipClass_QSpinBox},
+#if defined(SIP_FEATURE_Qt_SPLITTER)
+ {sipName_QSplitter, &sipClass_QSplitter},
+#endif
+ {sipName_QStatusBar, &sipClass_QStatusBar},
+ {sipName_QStoredDrag, &sipClass_QStoredDrag},
+ {sipName_QTabBar, &sipClass_QTabBar},
+ {sipName_QTextDrag, &sipClass_QTextDrag},
+ {sipName_QTimer, &sipClass_QTimer},
+ {sipName_QToolBar, &sipClass_QToolBar},
+ {sipName_QToolButton, &sipClass_QToolButton},
+ {sipName_QToolTipGroup, &sipClass_QToolTipGroup},
+ {sipName_QVBoxLayout, &sipClass_QVBoxLayout},
+ {sipName_QValidator, &sipClass_QValidator},
+ {sipName_QWidget, &sipClass_QWidget},
+ {sipName_QWidgetStack, &sipClass_QWidgetStack}
+ };
+
+ sipClass = sipMapStringToClass(sipCpp -> className(),map,sizeof (map)/sizeof (map[0]));
+%End
+
+ static SIP_PYOBJECT connect(SIP_QOBJECT,SIP_SIGNAL,SIP_QOBJECT,SIP_SLOT);
+%MethodCode
+ sipRes = sipConnectRx(a0,a1,a2,a3,0);
+%End
+
+ static SIP_PYOBJECT connect(SIP_QOBJECT,SIP_SIGNAL,SIP_PYCALLABLE);
+%MethodCode
+ sipRes = sipConnectRx(a0,a1,a2,0,0);
+%End
+
+ static SIP_PYOBJECT disconnect(SIP_QOBJECT,SIP_SIGNAL,SIP_QOBJECT,SIP_SLOT);
+%MethodCode
+ sipRes = sipDisconnectRx(a0,a1,a2,a3);
+%End
+
+ static SIP_PYOBJECT disconnect(SIP_QOBJECT,SIP_SIGNAL,SIP_PYCALLABLE);
+%MethodCode
+ sipRes = sipDisconnectRx(a0,a1,a2,0);
+%End
+
+ virtual bool event(QEvent *);
+ virtual bool eventFilter(QObject *,QEvent *);
+ const char *tr(const char *) const;
+ virtual QMetaObject *metaObject() const /AutoGen/;
+
+ // This is actually virtual. However, with the way we are implementing
+ // it we can ignore it.
+ SIP_PYOBJECT className() const;
+%MethodCode
+ sipRes = sipClassName(sipSelf);
+%End
+
+ bool isA(const char *) const;
+ bool inherits(const char *) const;
+ const char *name() const;
+ const char *name(const char *) const;
+ void setName(const char *);
+ bool isWidgetType() const;
+ bool highPriority() const;
+ bool signalsBlocked() const;
+ void blockSignals(bool);
+ int startTimer(int);
+ void killTimer(int);
+ void killTimers();
+ const QObjectList *children() const;
+ QObjectList *queryList(char * = 0,char * = 0,bool = 1,bool = 1);
+ void insertChild(QObject * /Transfer/);
+ void removeChild(QObject * /TransferBack/);
+ void installEventFilter(const QObject *);
+ void removeEventFilter(const QObject *);
+// bool connect(QObject *,const char *,const char *);
+// bool disconnect(const char * = 0,const QObject * = 0,const char * = 0);
+// bool disconnect(const QObject *,const char * = 0);
+ void dumpObjectTree();
+ void dumpObjectInfo();
+ QObject *parent() const;
+
+ void emit(SIP_SIGNAL,SIP_PYTUPLE);
+%MethodCode
+ if (sipEmitSignal(sipSelf,a0,a1) < 0)
+ sipIsErr = 1;
+%End
+
+signals:
+ void destroyed();
+
+public:
+ // This is actually protected, but we never need to call the real
+ // method.
+ SIP_PYOBJECT sender();
+%MethodCode
+ sipRes = pyqt3GetSender();
+%End
+
+protected:
+ virtual void timerEvent(QTimerEvent *);
+
+private:
+ QObject(const QObject &);
+};
+
+%End
+
+
+SIP_PYOBJECT SLOT(const char *);
+%MethodCode
+ if (!a0)
+ {
+ PyErr_Format(PyExc_TypeError,"qt.SLOT() slot name cannot be None");
+ sipIsErr = 1;
+ }
+ else
+ {
+ int len = strlen(a0);
+
+ if ((sipRes = PyString_FromStringAndSize(NULL,1 + len)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ char *dp = PyString_AS_STRING(sipRes);
+
+ *dp++ = '1';
+
+ memcpy(dp,a0,len + 1);
+ }
+ }
+%End
+
+
+SIP_PYOBJECT SIGNAL(const char *);
+%MethodCode
+ if (!a0)
+ {
+ PyErr_Format(PyExc_TypeError,"qt.SIGNAL() signal cannot be None");
+ sipIsErr = 1;
+ }
+ else
+ {
+ int len = strlen(a0);
+
+ if ((sipRes = PyString_FromStringAndSize(NULL,1 + len)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ char *dp = PyString_AS_STRING(sipRes);
+
+ *dp++ = '2';
+
+ memcpy(dp,a0,len + 1);
+ }
+ }
+%End
+
+
+SIP_PYOBJECT PYSIGNAL(const char *);
+%MethodCode
+ if (!a0)
+ {
+ PyErr_Format(PyExc_TypeError,"qt.PYSIGNAL() signal cannot be None");
+ sipIsErr = 1;
+ }
+ else
+ {
+ int len = strlen(a0);
+
+ if ((sipRes = PyString_FromStringAndSize(NULL,1 + len)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ char *dp = PyString_AS_STRING(sipRes);
+
+ *dp++ = '9';
+
+ memcpy(dp,a0,len + 1);
+ }
+ }
+%End
+
+
+%ModuleHeaderCode
+
+int pyqt3EmitSignal(PyObject *self, const char *sig, PyObject *sigargs);
+PyObject *pyqt3GetSender();
+
+%End
+
+
+// This is the Qt support code for SIP v4.4 and later.
+%ModuleCode
+
+#include <string.h>
+
+#include <qobject.h>
+#include <qvariant.h>
+#include <qmetaobject.h>
+#include <private/qucom_p.h>
+#include <private/qucomextra_p.h>
+
+
+// These optional parts of the legacy Qt support API for SIP are implemented.
+#undef sipQtEmitSignal
+#undef sipQtConnectPySignal
+#undef sipQtDisconnectPySignal
+
+
+// Declare explicit C linkage.
+extern "C"
+{
+ static void *sipQtCreateUniversalSlot(sipWrapper *, const char *,
+ PyObject *, const char *, const char **, int);
+ static void sipQtDestroyUniversalSlot(void *);
+ static void *sipQtFindSlot(void *, const char *, PyObject *, const char *,
+ const char **);
+ static int sipQtConnect(void *, const char *, void *, const char *, int);
+ static int sipQtDisconnect(void *, const char *, void *, const char *);
+ static int sipQtSameSignalSlotName(const char *, const char *);
+ static sipSlot *sipQtFindSipslot(void *, void **);
+ static int sipQtEmitSignal(PyObject *, const char *, PyObject *);
+ static int sipQtConnectPySignal(PyObject *, const char *, PyObject *,
+ const char *);
+ static void sipQtDisconnectPySignal(PyObject *, const char *,
+ PyObject *, const char *);
+}
+
+
+extern "C" {
+
+// The meta-type for PyQt classes. It is just a marker type so that we can
+// safely cast to get access to PyQt3-specific data structures.
+PyTypeObject pyqtWrapperType_Type = {
+ PyObject_HEAD_INIT(NULL)
+ 0, /* ob_size */
+ "qt.pyqtWrapperType", /* tp_name */
+ sizeof (sipWrapperType), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ 0, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ 0, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+ 0, /* tp_del */
+#if PY_VERSION_HEX >= 0x02060000
+ 0, /* tp_version_tag */
+#endif
+};
+
+
+/*
+ * An entry in a linked list of slots.
+ */
+typedef struct _pyqt3SlotList {
+ /* The receiver. */
+ sipSlot rx;
+
+ /* Next in the list. */
+ struct _pyqt3SlotList *next;
+} pyqt3SlotList;
+
+
+/*
+ * A Python signal.
+ */
+typedef struct _pyqt3PySig {
+ /* The name of the signal. */
+ char *name;
+
+ /* The list of receivers. */
+ pyqt3SlotList *rxlist;
+
+ /* Next in the list. */
+ struct _pyqt3PySig *next;
+} pyqt3PySig;
+
+
+/*
+ * The C++ wrapper object used by PyQt3.
+ */
+typedef struct _pyqtWrapper {
+ /* The super-type. */
+ sipWrapper super;
+
+ /* The list of Python signals. */
+ pyqt3PySig *pySigList;
+} pyqtWrapper;
+
+
+/*
+ * Clear any slots connected to any Python signals.
+ */
+static void clear_py_signals_slots(pyqtWrapper *pw)
+{
+ pyqt3PySig *ps;
+
+ for (ps = pw->pySigList; ps != NULL; ps = ps->next)
+ {
+ pyqt3SlotList *psrx;
+
+ for (psrx = ps->rxlist; psrx != NULL; psrx = psrx->next)
+ sipClearAnySlotReference(&psrx->rx);
+ }
+}
+
+
+/*
+ * Find the given Python signal.
+ */
+static pyqt3PySig *find_py_signal(pyqtWrapper *pw, const char *sig)
+{
+ pyqt3PySig *ps;
+
+ for (ps = pw->pySigList; ps != NULL; ps = ps->next)
+ if (sipQtSameSignalSlotName(ps->name, sig))
+ return ps;
+
+ return 0;
+}
+
+
+/*
+ * Free an slot list entry.
+ */
+static void free_slot_list(pyqt3SlotList *sl)
+{
+ sipFreeSipslot(&sl->rx);
+ sipFree(sl);
+}
+
+
+/*
+ * The instance clear slot.
+ */
+static int pyqtWrapper_clear(pyqtWrapper *self)
+{
+ clear_py_signals_slots(self);
+
+ return sipWrapper_Type->tp_clear((PyObject *)self);
+}
+
+
+/*
+ * The instance dealloc slot.
+ */
+static void pyqtWrapper_dealloc(pyqtWrapper *self)
+{
+ clear_py_signals_slots(self);
+
+ while (self->pySigList != NULL)
+ {
+ pyqt3PySig *ps;
+ pyqt3SlotList *psrx;
+
+ /* Take this one out of the list. */
+ ps = self->pySigList;
+ self->pySigList = ps->next;
+
+ while ((psrx = ps->rxlist) != NULL)
+ {
+ ps->rxlist = psrx->next;
+ free_slot_list(psrx);
+ }
+
+ sipFree(ps->name);
+ sipFree(ps);
+ }
+
+ sipWrapper_Type->tp_dealloc((PyObject *)self);
+}
+
+
+/*
+ * The instance traverse slot.
+ */
+static int pyqtWrapper_traverse(pyqtWrapper *self, visitproc visit, void *arg)
+{
+ int vret;
+ pyqt3PySig *ps;
+
+ if ((vret = sipWrapper_Type->tp_traverse((PyObject *)self, visit, arg)) != 0)
+ return vret;
+
+ for (ps = self->pySigList; ps != NULL; ps = ps->next)
+ {
+ pyqt3SlotList *psrx;
+
+ for (psrx = ps->rxlist; psrx != NULL; psrx = psrx->next)
+ if ((vret = sipVisitSlot(&psrx->rx, visit, arg)) != 0)
+ return vret;
+ }
+
+ return 0;
+}
+
+
+static sipWrapperType pyqtWrapper_Type = {
+#if !defined(STACKLESS)
+ {
+#endif
+ {
+ PyObject_HEAD_INIT(&pyqtWrapperType_Type)
+ 0, /* ob_size */
+ "qt.pyqtWrapper", /* tp_name */
+ sizeof (pyqtWrapper), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor)pyqtWrapper_dealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_compare */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC, /* tp_flags */
+ 0, /* tp_doc */
+ (traverseproc)pyqtWrapper_traverse, /* tp_traverse */
+ (inquiry)pyqtWrapper_clear, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ 0, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+ 0, /* tp_del */
+#if PY_VERSION_HEX >= 0x02060000
+ 0, /* tp_version_tag */
+#endif
+ },
+#if !defined(STACKLESS)
+ },
+#endif
+ 0,
+ 0,
+ 0
+};
+
+};
+
+
+// This enumerates the different dynamic signal argument types.
+enum pyqt3SigArgType {
+ unknown_sat,
+ char_sat,
+ uchar_sat,
+ string_sat,
+ ustring_sat,
+ short_sat,
+ ushort_sat,
+ int_sat,
+ uint_sat,
+ long_sat,
+ ulong_sat,
+ longlong_sat,
+ ulonglong_sat,
+ float_sat,
+ double_sat,
+ enum_sat,
+ bool_sat,
+ void_sat,
+ class_sat,
+ classp_sat,
+ mtype_sat,
+ mtypep_sat,
+ qvariant_sat,
+ qvariantp_sat,
+ pyobject_sat,
+ schar_sat,
+ sstring_sat,
+ wchar_sat,
+ wstring_sat
+};
+
+
+// This defines a single dynamic signal argument type.
+struct pyqt3SigArg
+{
+ // The type.
+ pyqt3SigArgType atype;
+
+ union {
+ // The Python type for classes.
+ sipWrapperType *wt;
+
+ // The data for mapped types.
+ const sipTypeDef *mt;
+
+ // The Python type for named enums.
+ PyTypeObject *et;
+ } u;
+};
+
+
+// A parsed signal signature.
+struct pyqt3Signature {
+ // The number of arguments.
+ int sg_nrargs;
+
+ // The parsed arguments (heap).
+ pyqt3SigArg *sg_args;
+
+ // The unparsed signature (heap).
+ char *sg_signature;
+
+ // The next in the list.
+ pyqt3Signature *sg_next;
+};
+
+
+// A connection to a universal slot.
+struct pyqt3SlotConnection
+{
+ // The transmitter QObject.
+ void *sc_transmitter;
+
+ // The parsed signature.
+ const pyqt3Signature *sc_signature;
+
+ // The slot.
+ sipSlot sc_slot;
+};
+
+
+// This class is used as a slot on behalf of connections to a Python callable.
+// It is derived from QObject but is not run through moc. Instead the normal
+// moc-generated methods are handwritten in order to implement a universal
+// slot. This requires some knowledge of the internal implementation of
+// signals and slots but it is likely that they will only change between major
+// Qt versions.
+class UniversalSlot : public QObject
+{
+public:
+ UniversalSlot(QObject *qtx, pyqt3SlotConnection *conn, const char **member);
+ ~UniversalSlot();
+
+ virtual QMetaObject *metaObject() const
+ {
+ return staticMetaObject();
+ }
+
+ virtual bool qt_invoke(int, QUObject *args);
+ static QMetaObject *staticMetaObject();
+
+ static QObject *lastSender;
+
+ static UniversalSlot *unislots;
+ UniversalSlot *nextus, *prevus;
+ pyqt3SlotConnection conn;
+
+private:
+ static QMetaObject *metaObj;
+};
+
+
+// Create a universal slot. Note that this will leak if there is no signal
+// transmitter (ie. no parent) - QTimer.singleShot() for example.
+UniversalSlot::UniversalSlot(QObject *qtx, pyqt3SlotConnection *connection, const char **member) : QObject()
+{
+ // Save the connection.
+ conn = *connection;
+
+ // Detect when the transmitter is destroyed.
+ if (qtx)
+ connect(qtx, SIGNAL(destroyed(QObject *)), SLOT(deleteLater()));
+
+ // Return the slot to connect to.
+ *member = SLOT(unislot());
+
+ // Add this one to the global list.
+ nextus = unislots;
+
+ if (nextus)
+ nextus -> prevus = this;
+
+ prevus = 0;
+ unislots = this;
+}
+
+
+// Destroy a universal slot.
+UniversalSlot::~UniversalSlot()
+{
+ SIP_BLOCK_THREADS
+ sipFreeSipslot(&conn.sc_slot);
+ SIP_UNBLOCK_THREADS
+
+ // Remove this one from the global list.
+ if (nextus)
+ nextus -> prevus = prevus;
+
+ if (prevus)
+ prevus -> nextus = nextus;
+ else
+ unislots = nextus;
+}
+
+
+// The last Python signal sender.
+static PyObject *py_sender = 0;
+
+
+QMetaObject *UniversalSlot::metaObj = 0;
+
+#if QT_VERSION >= 0x030100
+static QMetaObjectCleanUp cleanUp_UniversalSlot("UniversalSlot", &UniversalSlot::staticMetaObject);
+#else
+static QMetaObjectCleanUp cleanUp_UniversalSlot;
+#endif
+
+QObject *UniversalSlot::lastSender = 0;
+UniversalSlot *UniversalSlot::unislots = 0;
+
+
+QMetaObject *UniversalSlot::staticMetaObject()
+{
+ if (metaObj)
+ return metaObj;
+
+ // Define a single slot that takes no arguments and so will accept any
+ // connection.
+ static const QUMethod slot = {"unislot", 0, 0};
+ static const QMetaData slot_tbl[] = {
+ {"unislot()", &slot, QMetaData::Public}
+ };
+
+ metaObj = QMetaObject::new_metaobject(
+ "UniversalSlot", QObject::staticMetaObject(),
+ slot_tbl, 1,
+ 0, 0,
+#ifndef QT_NO_PROPERTIES
+ 0, 0,
+ 0, 0,
+#endif
+ 0, 0);
+
+ cleanUp_UniversalSlot.setMetaObject(metaObj);
+
+ return metaObj;
+}
+
+
+bool UniversalSlot::qt_invoke(int id, QUObject *qargs)
+{
+ if (id - staticMetaObject()->slotOffset() != 0)
+ return QObject::qt_invoke(id, qargs);
+
+ bool ok = TRUE;
+ const pyqt3Signature *psig = conn.sc_signature;
+ QVariant *qv;
+
+ // Save in case it is asked for later.
+ lastSender = const_cast<QObject *>(sender());
+
+ // If the sender was a QSignal then the single argument will be wrapped
+ // in a QVariant instance. At the moment we handle int argument as
+ // that is all that is needed by PyQt (and PyKDE).
+ if (lastSender->inherits("QSignal"))
+ qv = &static_QUType_QVariant.get(qargs + 1);
+ else
+ qv = 0;
+
+#ifdef WITH_THREAD
+ PyGILState_STATE state = PyGILState_Ensure();
+#endif
+
+ PyObject *argtup = PyTuple_New(psig->sg_nrargs);
+
+ if (!argtup)
+ ok = FALSE;
+ else
+ {
+ for (int a = 0; a < psig->sg_nrargs; ++a)
+ {
+ PyObject *arg;
+
+ ++qargs;
+
+ switch (psig->sg_args[a].atype)
+ {
+ case char_sat:
+ case schar_sat:
+ case uchar_sat:
+ arg = PyString_FromStringAndSize((char *)static_QUType_ptr.get(qargs), 1);
+ break;
+
+ case string_sat:
+ case sstring_sat:
+ case ustring_sat:
+ arg = PyString_FromString((char *)static_QUType_ptr.get(qargs));
+ break;
+
+ case short_sat:
+ arg = PyInt_FromLong(*(short *)static_QUType_ptr.get(qargs));
+ break;
+
+ case ushort_sat:
+ arg = PyLong_FromUnsignedLong(*(unsigned short *)static_QUType_ptr.get(qargs));
+ break;
+
+ case int_sat:
+ if (qv)
+ arg = PyInt_FromLong(qv -> asInt());
+ else
+ arg = PyInt_FromLong(static_QUType_int.get(qargs));
+ break;
+
+ case uint_sat:
+ arg = PyLong_FromUnsignedLong(*(unsigned *)static_QUType_ptr.get(qargs));
+ break;
+
+ case long_sat:
+ arg = PyLong_FromLong(*(long *)static_QUType_ptr.get(qargs));
+ break;
+
+ case ulong_sat:
+ arg = PyLong_FromUnsignedLong(*(unsigned long *)static_QUType_ptr.get(qargs));
+ break;
+
+ case longlong_sat:
+ arg = PyLong_FromLongLong(*(PY_LONG_LONG *)static_QUType_ptr.get(qargs));
+ break;
+
+ case ulonglong_sat:
+ arg = PyLong_FromUnsignedLongLong(*(unsigned PY_LONG_LONG *)static_QUType_ptr.get(qargs));
+ break;
+
+ case float_sat:
+ arg = PyFloat_FromDouble(*(float *)static_QUType_ptr.get(qargs));
+ break;
+
+ case double_sat:
+ arg = PyFloat_FromDouble(static_QUType_double.get(qargs));
+ break;
+
+ case enum_sat:
+ arg = sipConvertFromNamedEnum(*(int *)static_QUType_ptr.get(qargs), psig->sg_args[a].u.et);
+ break;
+
+ case bool_sat:
+ arg = PyInt_FromLong(static_QUType_bool.get(qargs));
+ break;
+
+ case void_sat:
+ arg = sipConvertFromVoidPtr((void *)static_QUType_ptr.get(qargs));
+ break;
+
+ case class_sat:
+ case classp_sat:
+ arg = sipConvertFromInstance((void *)static_QUType_ptr.get(qargs),psig->sg_args[a].u.wt,0);
+ break;
+
+ case mtype_sat:
+ case mtypep_sat:
+ arg = sipConvertFromMappedType((void *)static_QUType_ptr.get(qargs),psig->sg_args[a].u.mt,0);
+ break;
+
+ case qvariant_sat:
+ case qvariantp_sat:
+ arg = sipConvertFromInstance((void *)&static_QUType_QVariant.get(qargs),sipClass_QVariant,0);
+ break;
+
+ case pyobject_sat:
+ arg = (PyObject *)static_QUType_ptr.get(qargs);
+ break;
+
+ default:
+ arg = Py_NotImplemented;
+ Py_INCREF(Py_NotImplemented);
+ }
+
+ PyTuple_SET_ITEM(argtup, a, arg);
+ }
+
+ // Dispatch to the real slot.
+ if (ok)
+ {
+ PyObject *res = sipInvokeSlot(&conn.sc_slot, argtup);
+
+ if (res)
+ Py_DECREF(res);
+ else
+ ok = FALSE;
+ }
+
+ Py_DECREF(argtup);
+ }
+
+ if (!ok)
+ PyErr_Print();
+
+#ifdef WITH_THREAD
+ PyGILState_Release(state);
+#endif
+
+ return ok;
+}
+
+
+static pyqt3Signature *parseSignature(const char *sig);
+static void parseType(const char *type, pyqt3SigArg *arg);
+
+
+// Factory function to create a universal slot instance. Returns a pointer to
+// the instance or 0 if there was an error.
+static void *sipQtCreateUniversalSlot(sipWrapper *tx, const char *sig,
+ PyObject *rxObj, const char *slot, const char **member, int)
+{
+ pyqt3SlotConnection conn;
+
+ /* Initialise the connection. */
+ conn.sc_transmitter = (tx ? sipGetCppPtr((sipSimpleWrapper *)tx, 0) : 0);
+
+ /* Save the real slot. */
+ if (sipSaveSlot(&conn.sc_slot, rxObj, slot) < 0)
+ return 0;
+
+ /* Parse the signature and create the universal slot. */
+ if ((conn.sc_signature = parseSignature(sig)) == NULL)
+ {
+ sipFreeSipslot(&conn.sc_slot);
+ return 0;
+ }
+
+ QObject *qtx = 0;
+
+ // See if the transmitter is a QObject in which case we will connect
+ // to it's destroyed signal so that the universal slot can be destroyed
+ // at the same time. (Note that we used to do this by making the
+ // universal slot a child of the transmitter. This doesn't work as
+ // expected because QWidget destroys its children before emitting the
+ // destroyed signal.)
+ if (tx && PyObject_TypeCheck((PyObject *)tx, (PyTypeObject *)sipClass_QObject))
+ qtx = reinterpret_cast<QObject *>(conn.sc_transmitter);
+
+ return new UniversalSlot(qtx, &conn, member);
+}
+
+
+// Parse the signal arguments for a connection.
+static pyqt3Signature *parseSignature(const char *sig)
+{
+ static pyqt3Signature *psig_list = NULL;
+ pyqt3Signature *psig;
+ const char *sp, *ep;
+
+ // First see if it has already been parsed. Note that both sides of a
+ // connection will probably be parsed twice because the function names will
+ // be different even though the signatures will probably be the same. We
+ // could be more clever, the most saving is when repeatedly emitting a
+ // signal for which this is sufficient.
+ for (psig = psig_list; psig != NULL; psig = psig->sg_next)
+ if (sipQtSameSignalSlotName(psig->sg_signature, sig))
+ return psig;
+
+ // Create a new one including space for the copy of the signature.
+ if ((psig = (pyqt3Signature *)sipMalloc(sizeof (pyqt3Signature) + strlen(sig) + 1)) == NULL)
+ return NULL;
+
+ psig->sg_signature = (char *)&psig[1];
+ psig->sg_nrargs = 0;
+ psig->sg_args = 0;
+
+ // Find the start and end of the arguments.
+ sp = strchr(sig, '(');
+ ep = strrchr(sig, ')');
+
+ // If the signal isn't well formed we assume Qt will pick it up.
+ if (sp && ep && sp < ep)
+ {
+ // Copy the signature arguments while counting them and removing
+ // non-significant spaces. Each argument is left as a '\0' terminated
+ // string.
+ char *dp = psig->sg_signature;
+ int depth = 0, nrcommas = 0, argstart = TRUE;
+
+ for (;;)
+ {
+ char ch = *++sp;
+
+ if (strchr(",*&)<>", ch))
+ {
+ // Backup over any previous trailing space.
+ if (dp > psig->sg_signature && dp[-1] == ' ')
+ --dp;
+
+ if (sp == ep)
+ {
+ *dp = '\0';
+ break;
+ }
+
+ if (ch == ',' && depth == 0)
+ {
+ *dp++ = '\0';
+ ++nrcommas;
+ argstart = TRUE;
+ }
+ else
+ {
+ *dp++ = ch;
+
+ // Make sure commas in template arguments are ignored.
+ if (ch == '<')
+ ++depth;
+ else if (ch == '>')
+ --depth;
+ }
+ }
+ else if (ch == ' ')
+ {
+ // Ignore leading and multiple spaces.
+ if (!argstart && dp[-1] != ' ')
+ *dp++ = ch;
+ }
+ else
+ {
+ *dp++ = ch;
+ argstart = FALSE;
+ }
+ }
+
+ // Handle the arguments now they are in a normal form.
+ if (*psig->sg_signature)
+ {
+ char *arg = psig->sg_signature;
+ int a;
+
+ // Allocate the space.
+ psig->sg_nrargs = nrcommas + 1;
+
+ if ((psig->sg_args = (pyqt3SigArg *)sipMalloc(sizeof (pyqt3SigArg) * psig->sg_nrargs)) == NULL)
+ {
+ sipFree(psig);
+ return NULL;
+ }
+
+ for (a = 0; a < psig->sg_nrargs; ++a)
+ {
+ parseType(arg, &psig->sg_args[a]);
+
+ // Move to the start of the next argument.
+ arg += strlen(arg) + 1;
+ }
+ }
+ }
+
+ // Make a deep copy of the signal.
+ strcpy(psig->sg_signature, sig);
+
+ // Add it to the list so it can be re-used.
+ psig->sg_next = psig_list;
+ psig_list = psig;
+
+ return psig;
+}
+
+
+// Parse a single type.
+static void parseType(const char *type, pyqt3SigArg *arg)
+{
+ size_t btlen = 0;
+ int unsup, isref = FALSE, indir = 0;
+ const char *ep;
+ pyqt3SigArgType sat = unknown_sat;
+
+ // Find the start of the significant part of the type.
+ if (strncmp(type, "const ", 6) == 0)
+ type += 6;
+
+ // Find the length of the base type, the number of indirections and if it
+ // is a reference.
+ for (ep = type; *ep; ++ep)
+ if (*ep == '&')
+ isref = TRUE;
+ else if (*ep == '*')
+ ++indir;
+ else
+ ++btlen;
+
+ // Extract the base type as a separate string.
+ char type_str[btlen + 1];
+
+ strncpy(type_str, type, btlen);
+ type_str[btlen] = '\0';
+
+ // Resolve any typedef which may mean more indirection.
+ type = sipResolveTypedef(type_str);
+
+ // See if we need to make another copy.
+ bool copy = false;
+
+ if (type)
+ {
+ btlen = strlen(type);
+
+ // Remove any additional indirection.
+ while (btlen)
+ {
+ if (type[--btlen] == '*')
+ {
+ copy = true;
+ ++indir;
+ }
+ }
+ }
+ else
+ type = type_str;
+
+ // Make sure this doesn't go out of scope while it is being used.
+ char base_type_str[btlen + 1];
+
+ if (copy)
+ {
+ // Extract the base type again.
+ strncpy(base_type_str, type, btlen);
+ base_type_str[btlen] = '\0';
+ type = base_type_str;
+ }
+
+ // Assume that anything other than a base type is unsupported.
+ unsup = (isref || indir);
+
+ // Parse the base type.
+ switch (btlen)
+ {
+ case 3:
+ if (strcmp(type, "int") == 0)
+ sat = int_sat;
+ break;
+
+ case 4:
+ if (strcmp(type, "bool") == 0)
+ sat = bool_sat;
+ else if (strcmp(type, "long") == 0)
+ sat = long_sat;
+ else if (strcmp(type, "char") == 0)
+ {
+ sat = (indir ? string_sat : char_sat);
+ unsup = (isref || indir > 1);
+ }
+ else if (strcmp(type, "void") == 0)
+ {
+ sat = void_sat;
+ unsup = (isref || indir != 1);
+ }
+ break;
+
+ case 5:
+ if (strcmp(type, "float") == 0)
+ sat = float_sat;
+ else if (strcmp(type, "short") == 0)
+ sat = short_sat;
+ break;
+
+ case 6:
+ if (strcmp(type, "double") == 0)
+ sat = double_sat;
+ break;
+
+ case 7:
+ if (strcmp(type, "__int64") == 0)
+ sat = longlong_sat;
+ else if (strcmp(type, "wchar_t") == 0)
+ {
+ sat = (indir ? wstring_sat : wchar_sat);
+ unsup = (isref || indir > 1);
+ }
+ break;
+
+ case 8:
+ if (strcmp(type, "unsigned") == 0)
+ sat = uint_sat;
+ else if (strcmp(type, "QVariant") == 0)
+ {
+ if (indir == 0)
+ {
+ sat = qvariant_sat;
+ unsup = FALSE;
+ }
+ else if (indir == 1)
+ {
+ sat = qvariantp_sat;
+ unsup = FALSE;
+ }
+ }
+ break;
+
+ case 9:
+ if (strcmp(type, "long long") == 0)
+ sat = longlong_sat;
+ break;
+
+ case 11:
+ if (strcmp(type, "signed char") == 0)
+ {
+ sat = (indir ? sstring_sat : schar_sat);
+ unsup = (isref || indir > 1);
+ }
+ break;
+
+ case 12:
+ if (strcmp(type, "unsigned int") == 0)
+ sat = uint_sat;
+ break;
+
+ case 13:
+ if (strcmp(type, "unsigned long") == 0)
+ sat = ulong_sat;
+ else if (strcmp(type, "unsigned char") == 0)
+ {
+ sat = (indir ? ustring_sat : uchar_sat);
+ unsup = (isref || indir > 1);
+ }
+ else if (strcmp(type, "PyQt_PyObject") == 0 && indir == 0)
+ {
+ sat = pyobject_sat;
+ unsup = FALSE;
+ }
+ break;
+
+ case 14:
+ if (strcmp(type, "unsigned short") == 0)
+ sat = ushort_sat;
+ break;
+
+ case 16:
+ if (strcmp(type, "unsigned __int64") == 0)
+ sat = ulonglong_sat;
+ break;
+
+ case 18:
+ if (strcmp(type, "unsigned long long") == 0)
+ sat = ulonglong_sat;
+ break;
+ }
+
+ if (sat == unknown_sat)
+ {
+ const sipTypeDef *td = sipFindType(type);
+
+ if (td)
+ {
+ if (sipTypeIsClass(td))
+ {
+ if (indir == 0)
+ sat = class_sat;
+ else if (indir == 1)
+ sat = classp_sat;
+
+ arg->u.wt = (sipWrapperType *)sipTypeAsPyTypeObject(td);
+ }
+ else if (sipTypeIsMapped(td))
+ {
+ if (indir == 0)
+ sat = mtype_sat;
+ else if (indir == 1)
+ sat = mtypep_sat;
+
+ arg->u.mt = td;
+ }
+ else if (sipTypeIsEnum(td))
+ {
+ if (indir == 0)
+ sat = enum_sat;
+
+ arg->u.et = sipTypeAsPyTypeObject(td);
+ }
+ }
+ }
+ else if (unsup)
+ sat = unknown_sat;
+
+ arg->atype = sat;
+}
+
+
+// Dispose of a receiver that might be a universal slot.
+static void sipQtDestroyUniversalSlot(void *rx)
+{
+ for (UniversalSlot *us = UniversalSlot::unislots; us; us = us->nextus)
+ if (us == reinterpret_cast<QObject *>(rx))
+ {
+ delete us;
+ break;
+ }
+}
+
+
+// Search for the universal slot connected to a particular Qt signal.
+static void *sipQtFindSlot(void *tx, const char *sig, PyObject *rxObj,
+ const char *slot, const char **member)
+{
+ for (UniversalSlot *us = UniversalSlot::unislots; us; us = us->nextus)
+ {
+ pyqt3SlotConnection *conn = &us->conn;
+
+ if (conn->sc_transmitter != tx)
+ continue;
+
+ if (!sipQtSameSignalSlotName(conn->sc_signature->sg_signature, sig))
+ continue;
+
+ if (sipSameSlot(&conn->sc_slot, rxObj, slot))
+ {
+ *member = SLOT(unislot());
+ return us;
+ }
+ }
+
+ return 0;
+}
+
+
+// Connect a Qt signal to a Qt slot.
+static int sipQtConnect(void *tx, const char *sig, void *rx, const char *slot, int)
+{
+ return QObject::connect(reinterpret_cast<QObject *>(tx), sig,
+ reinterpret_cast<QObject *>(rx), slot);
+}
+
+
+// Disconnect a Qt signal from a Qt slot.
+static int sipQtDisconnect(void *tx, const char *sig, void *rx, const char *slot)
+{
+ return QObject::disconnect(reinterpret_cast<QObject *>(tx), sig,
+ reinterpret_cast<QObject *>(rx), slot);
+}
+
+
+// See if two signal or slot names are the same.
+static int sipQtSameSignalSlotName(const char *s1, const char *s2)
+{
+ // moc formats signal names, so we should first convert the supplied
+ // string to the same format before comparing them. Instead we just
+ // compare them as they are, but ignoring all spaces - this will have
+ // the same result.
+ do
+ {
+ // Skip any spaces.
+
+ while (*s1 == ' ')
+ ++s1;
+
+ while (*s2 == ' ')
+ ++s2;
+
+ if (*s1++ != *s2)
+ return 0;
+ }
+ while (*s2++ != '\0');
+
+ return 1;
+}
+
+
+// Return the next slot for a particular transmitter. This will be called with
+// the GIL locked.
+static sipSlot *sipQtFindSipslot(void *tx, void **context)
+{
+ UniversalSlot *us = *reinterpret_cast<UniversalSlot **>(context);
+
+ if (!us)
+ us = UniversalSlot::unislots;
+
+ sipSlot *slot = 0;
+
+ while (us)
+ {
+ pyqt3SlotConnection *this_conn = &us->conn;
+
+ us = us->nextus;
+
+ if (this_conn->sc_transmitter == tx)
+ {
+ slot = &this_conn->sc_slot;
+ break;
+ }
+ }
+
+ *context = us;
+
+ return slot;
+}
+
+
+// Connect a slot from a Python signal.
+static int sipQtConnectPySignal(PyObject *txObj, const char *sig,
+ PyObject *rxObj, const char *slot)
+{
+ pyqt3PySig *ps;
+ pyqt3SlotList *psrx;
+ pyqtWrapper *pw = (pyqtWrapper *)txObj;
+
+ /* Create a new one if necessary. */
+ if ((ps = find_py_signal(pw, sig)) == NULL)
+ {
+ if ((ps = (pyqt3PySig *)sipMalloc(sizeof (pyqt3PySig))) == NULL)
+ return -1;
+
+ if ((ps->name = (char *)sipMalloc(strlen(sig) + 1)) == NULL)
+ {
+ sipFree(ps);
+ return -1;
+ }
+
+ strcpy(ps->name, sig);
+
+ ps->rxlist = NULL;
+ ps->next = pw->pySigList;
+
+ pw->pySigList = ps;
+ }
+
+ /* Create the new receiver. */
+ if ((psrx = (pyqt3SlotList *)sipMalloc(sizeof (pyqt3SlotList))) == NULL)
+ return -1;
+
+ if (sipSaveSlot(&psrx->rx, rxObj, slot) < 0)
+ {
+ sipFree(psrx);
+ return -1;
+ }
+
+ psrx->next = ps->rxlist;
+ ps->rxlist = psrx;
+
+ return 0;
+}
+
+
+// Disconnect a slot from a Python signal.
+static void sipQtDisconnectPySignal(PyObject *txObj, const char *sig,
+ PyObject *rxObj, const char *slot)
+{
+ pyqt3PySig *ps;
+
+ if ((ps = find_py_signal((pyqtWrapper *)txObj, sig)) != NULL)
+ {
+ pyqt3SlotList **psrxp;
+
+ for (psrxp = &ps->rxlist; *psrxp != NULL; psrxp = &(*psrxp)->next)
+ {
+ pyqt3SlotList *psrx = *psrxp;
+
+ if (sipSameSlot(&psrx->rx, rxObj, slot))
+ {
+ *psrxp = psrx->next;
+ free_slot_list(psrx);
+ break;
+ }
+ }
+ }
+}
+
+
+// Emit a signal for the sip module.
+static int sipQtEmitSignal(PyObject *self, const char *sig, PyObject *sigargs)
+{
+ return pyqt3EmitSignal(self, sig, sigargs);
+}
+
+
+// Emit a Python or Qt signal.
+int pyqt3EmitSignal(PyObject *self, const char *sig, PyObject *sigargs)
+{
+ // Don't do anything if signals are blocked. Qt signals would be blocked
+ // anyway, but this blocks Python signals as well.
+ void *tx = sipGetCppPtr((sipSimpleWrapper *)self, sipType_QObject);
+
+ if (!tx)
+ return 0;
+
+ if (reinterpret_cast<QObject *>(tx)->signalsBlocked())
+ return 0;
+
+ // See if it is a Qt signal.
+ if (*sig == '2')
+ {
+ pyqt3QtSignal *tab;
+
+ // Search the table.
+ for (tab = ((pyqt3ClassTypeDef *)((sipWrapperType *)(self->ob_type))->type)->qt3_emit; tab->st_name != NULL; ++tab)
+ {
+ const char *sp, *tp;
+ bool found;
+
+ // Compare only the base name.
+ sp = &sig[1];
+ tp = tab->st_name;
+
+ found = true;
+
+ while (*sp != '\0' && *sp != '(' && *tp != '\0')
+ if (*sp++ != *tp++)
+ {
+ found = false;
+ break;
+ }
+
+ if (found)
+ return (*tab->st_emitfunc)((sipSimpleWrapper *)self, sigargs);
+ }
+
+ // It wasn't found if we got this far.
+ PyErr_Format(PyExc_NameError, "Invalid signal %s", &sig[1]);
+
+ return -1;
+ }
+
+ pyqt3PySig *ps = find_py_signal((pyqtWrapper *)self, sig);
+
+ if (ps)
+ {
+ int rc = 0;
+ pyqt3SlotList *rxlist = ps->rxlist;
+
+ // Forget the last Qt sender and remember this one.
+ UniversalSlot::lastSender = 0;
+ py_sender = self;
+
+ // Apply the arguments to each slot method.
+ while (rxlist && rc >= 0)
+ {
+ pyqt3SlotList *next;
+ PyObject *res;
+
+ // We get the next in the list before calling the slot in case the
+ // list gets changed by the slot - usually because the slot
+ // disconnects itself.
+ next = rxlist->next;
+
+ res = sipInvokeSlot(&rxlist->rx, sigargs);
+
+ if (res)
+ Py_DECREF(res);
+ else
+ rc = -1;
+
+ rxlist = next;
+ }
+
+ // Forget this as a sender.
+ py_sender = NULL;
+
+ return rc;
+ }
+
+ return 0;
+}
+
+
+// Return the most recent signal sender.
+PyObject *pyqt3GetSender()
+{
+ PyObject *sender;
+
+ // If there is a Qt sender then it is more recent than the last Python
+ // sender, so use it instead.
+ if (UniversalSlot::lastSender)
+ {
+ sender = sipConvertFromType(UniversalSlot::lastSender, sipType_QObject,
+ NULL);
+ }
+ else
+ {
+ sender = (py_sender ? py_sender : Py_None);
+ Py_INCREF(sender);
+ }
+
+ return sender;
+}
+
+%End
+
+%InitialisationCode
+ // Initialise the meta-type.
+ pyqtWrapperType_Type.tp_base = sipWrapperType_Type;
+
+ if (PyType_Ready(&pyqtWrapperType_Type) < 0)
+ Py_FatalError("qt: Failed to initialise pyqtWrapperType type");
+
+ // Register the meta-type.
+ if (sipRegisterPyType((PyTypeObject *)&pyqtWrapperType_Type) < 0)
+ Py_FatalError("qt: Failed to register pyqtWrapperType type");
+
+ // Initialise the super-type.
+#if PY_VERSION_HEX >= 0x02050000
+ pyqtWrapper_Type.super.ht_type.tp_base = sipWrapper_Type;
+#else
+ pyqtWrapper_Type.super.type.tp_base = sipWrapper_Type;
+#endif
+
+ if (PyType_Ready((PyTypeObject *)&pyqtWrapper_Type) < 0)
+ Py_FatalError("qt: Failed to initialise pyqtWrapper type");
+
+ // Register the super-type.
+ if (sipRegisterPyType((PyTypeObject *)&pyqtWrapper_Type) < 0)
+ Py_FatalError("qt: Failed to register pyqtWrapper type");
+%End
diff --git a/sip/qt/qobjectcleanuphandler.sip b/sip/qt/qobjectcleanuphandler.sip
new file mode 100644
index 0000000..0828fc7
--- /dev/null
+++ b/sip/qt/qobjectcleanuphandler.sip
@@ -0,0 +1,49 @@
+// This is the SIP interface definition for QObjectCleanupHandler.
+//
+// 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>QObjectCleanupHandler (Qt v3+)</Title>
+<Para>
+<Literal>QObjectCleanupHandler</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QObjectCleanupHandler : QObject
+{
+%TypeHeaderCode
+#include <qobjectcleanuphandler.h>
+%End
+
+public:
+ QObjectCleanupHandler();
+
+ QObject *add(QObject *);
+ void remove(QObject *);
+ bool isEmpty() const;
+ void clear();
+};
+
+%End
diff --git a/sip/qt/qobjectlist.sip b/sip/qt/qobjectlist.sip
new file mode 100644
index 0000000..6fe34fc
--- /dev/null
+++ b/sip/qt/qobjectlist.sip
@@ -0,0 +1,107 @@
+// This is the SIP interface definition for QObjectList.
+//
+// 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>QObjectList</Title>
+<Para>
+This class isn't implemented. Whenever a <Literal>QObjectList</Literal> is the
+return type of a function or the type of an argument, a Python list of
+<Literal>QObject</Literal> instances is used instead.
+</Para>
+</Sect2>
+%End
+
+
+%MappedType QObjectList
+{
+%TypeHeaderCode
+#include <qobjectlist.h>
+%End
+
+%ConvertFromTypeCode
+ // Convert the list.
+
+ PyObject *pl;
+ QObject *obj;
+
+ if ((pl = PyList_New(0)) == NULL)
+ return NULL;
+
+ for (QObjectListIt it(*sipCpp); (obj = it.current()) != NULL; ++it)
+ {
+ PyObject *inst;
+
+ if ((inst = sipConvertFromInstance(obj,sipClass_QObject,sipTransferObj)) == NULL || PyList_Append(pl,inst) < 0)
+ {
+ Py_XDECREF(inst);
+ Py_DECREF(pl);
+
+ return NULL;
+ }
+
+ Py_DECREF(inst);
+ }
+
+ return pl;
+%End
+
+%ConvertToTypeCode
+ // Convert a Python list of QObject instances to a QObjectList on the
+ // heap.
+
+ if (sipIsErr == NULL)
+ {
+ if (!PyList_Check(sipPy))
+ return 0;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QObject,0))
+ return 0;
+
+ return 1;
+ }
+
+ QObjectList *qol = new QObjectList;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ {
+ QObject *qobj;
+
+ // We apply the transfer to the list itself, not the elements.
+ // Note that any temporary element will never be destroyed.
+ // There is nothing that can be done about this.
+ qobj = reinterpret_cast<QObject *>(sipConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QObject,0,0,0,sipIsErr));
+
+ if (*sipIsErr)
+ {
+ delete qol;
+ return 0;
+ }
+
+ qol -> append(qobj);
+ }
+
+ *sipCppPtr = qol;
+
+ return sipGetState(sipTransferObj);
+%End
+};
diff --git a/sip/qt/qpaintdevice.sip b/sip/qt/qpaintdevice.sip
new file mode 100644
index 0000000..52b78f2
--- /dev/null
+++ b/sip/qt/qpaintdevice.sip
@@ -0,0 +1,247 @@
+// This is the SIP interface definition for QPaintDevice.
+//
+// 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>QPaintDevice</Title>
+<FuncSynopsis>
+ <FuncDef>virtual bool <Function>cmd</Function></FuncDef>
+ <ParamDef>int</ParamDef>
+ <ParamDef>QPainter *</ParamDef>
+ <ParamDef>QPDevCmdParam *</ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+%End
+
+
+%ModuleHeaderCode
+#include <qpaintdevice.h>
+%End
+
+
+%If (- Qt_2_00)
+
+// Painter device types.
+
+const int PDT_UNDEF;
+const int PDT_WIDGET;
+const int PDT_PIXMAP;
+const int PDT_PRINTER;
+const int PDT_PICTURE;
+const int PDT_MASK;
+
+// Painter device flags.
+
+const int PDF_EXTDEV;
+const int PDF_PAINTACTIVE;
+
+
+void bitBlt(QPaintDevice *,int,int,const QPaintDevice *,int = 0,int = 0,
+ int = -1,int = -1,RasterOp = CopyROP,bool = 0);
+void bitBlt(QPaintDevice *,int,int,const QImage *,int = 0,int = 0,int = -1,
+ int = -1,int = 0);
+void bitBlt(QPaintDevice *,const QPoint &,const QPaintDevice *,
+ const QRect & = QRect(0,0,-1,-1),RasterOp = CopyROP,bool = 0);
+
+%End
+
+%If (Qt_2_00 -)
+
+void bitBlt(QPaintDevice *,int,int,const QPaintDevice *,int = 0,int = 0,
+ int = -1,int = -1,Qt::RasterOp = Qt::CopyROP,bool = 0);
+void bitBlt(QPaintDevice *,int,int,const QImage *,int = 0,int = 0,int = -1,
+ int = -1,int = 0);
+void bitBlt(QPaintDevice *,const QPoint &,const QPaintDevice *,
+ const QRect & = QRect(0,0,-1,-1),Qt::RasterOp = Qt::CopyROP,
+ bool = 0);
+
+%End
+
+
+class QPaintDevice
+{
+%TypeHeaderCode
+#include <qpaintdevice.h>
+%End
+
+public:
+ int devType() const;
+ bool isExtDev() const;
+ bool paintingActive() const;
+
+%If (Qt_3_0_0 -)
+ virtual void setResolution(int);
+ virtual int resolution() const;
+%End
+
+%If (- Qt_2_00)
+ HANDLE handle() const;
+%If (WS_X11)
+ Display *x11Display() const;
+ static int x11Screen();
+ static int x11Depth();
+ static int x11Cells();
+ static HANDLE x11Colormap();
+ static bool x11DefaultColormap();
+ static void *x11Visual();
+ static bool x11DefaultVisual();
+%End
+%End
+
+%If (Qt_2_00 -)
+%If (WS_X11)
+%If (- Qt_3_0_0)
+ HANDLE handle() const;
+%End
+%If (Qt_3_0_0 -)
+ Qt::HANDLE handle() const;
+ Qt::HANDLE x11RenderHandle() const;
+%End
+ Display *x11Display() const;
+ int x11Screen() const;
+ int x11Depth() const;
+ int x11Cells() const;
+%If (- Qt_3_0_0)
+ HANDLE x11Colormap() const;
+%End
+%If (Qt_3_0_0 -)
+ Qt::HANDLE x11Colormap() const;
+%End
+ bool x11DefaultColormap() const;
+ void *x11Visual() const;
+ bool x11DefaultVisual() const;
+
+ static Display *x11AppDisplay();
+ static int x11AppScreen();
+
+ static int x11AppDpiX();
+ static int x11AppDpiY();
+%If (Qt_2_1_0 -)
+ static void x11SetAppDpiX(int);
+ static void x11SetAppDpiY(int);
+%End
+ static int x11AppDepth();
+ static int x11AppCells();
+%If (Qt_3_1_0 -)
+ static Qt::HANDLE x11AppRootWindow();
+%End
+%If (Qt_3_0_0 -)
+ static Qt::HANDLE x11AppColormap();
+%End
+%If (- Qt_3_0_0)
+ static HANDLE x11AppColormap();
+%End
+ static bool x11AppDefaultColormap();
+ static void *x11AppVisual();
+ static bool x11AppDefaultVisual();
+
+%If (Qt_3_1_0 -)
+ static int x11AppDepth(int);
+ static int x11AppCells(int);
+ static Qt::HANDLE x11AppRootWindow(int);
+ static Qt::HANDLE x11AppColormap(int);
+ static void *x11AppVisual(int);
+ static bool x11AppDefaultColormap(int);
+ static bool x11AppDefaultVisual(int);
+ static int x11AppDpiX(int);
+ static int x11AppDpiY(int);
+ static void x11SetAppDpiX(int,int);
+ static void x11SetAppDpiY(int,int);
+%End
+%End
+
+ enum PDevCmd
+ {
+ PdcNOP,
+ PdcDrawPoint,
+ PdcDrawFirst,
+ PdcMoveTo,
+ PdcLineTo,
+ PdcDrawLine,
+ PdcDrawRect,
+ PdcDrawRoundRect,
+ PdcDrawEllipse,
+ PdcDrawArc,
+ PdcDrawPie,
+ PdcDrawChord,
+ PdcDrawLineSegments,
+ PdcDrawPolyline,
+ PdcDrawPolygon,
+%If (Qt_3_0_0 -)
+ PdcDrawCubicBezier,
+%End
+%If (- Qt_3_0_0)
+ PdcDrawQuadBezier,
+%End
+ PdcDrawText,
+ PdcDrawTextFormatted,
+ PdcDrawPixmap,
+ PdcDrawImage,
+ PdcDrawText2,
+ PdcDrawText2Formatted,
+%If (Qt_3_2_0 -)
+ PdcDrawTextItem,
+%End
+ PdcDrawLast,
+
+ PdcBegin,
+ PdcEnd,
+ PdcSave,
+ PdcRestore,
+ PdcSetdev,
+ PdcSetBkColor,
+ PdcSetBkMode,
+ PdcSetROP,
+ PdcSetBrushOrigin,
+ PdcSetFont,
+ PdcSetPen,
+ PdcSetBrush,
+ PdcSetTabStops,
+ PdcSetTabArray,
+ PdcSetUnit,
+ PdcSetVXform,
+ PdcSetWindow,
+ PdcSetViewport,
+ PdcSetWXform,
+ PdcSetWMatrix,
+ PdcSaveWMatrix,
+ PdcRestoreWMatrix,
+ PdcSetClip,
+ PdcSetClipRegion,
+ PdcReservedStart,
+ PdcReservedStop
+ };
+
+%End
+
+protected:
+ QPaintDevice(uint);
+// virtual bool cmd(int,QPainter *,QPDevCmdParam *);
+// virtual int metric(int) const;
+// virtual int fontMet(QFont *,int,const char *,int = 0) const;
+// virtual int fontInf(QFont *,int) const;
+
+private:
+ QPaintDevice(const QPaintDevice &);
+};
diff --git a/sip/qt/qpaintdevicemetrics.sip b/sip/qt/qpaintdevicemetrics.sip
new file mode 100644
index 0000000..ece9356
--- /dev/null
+++ b/sip/qt/qpaintdevicemetrics.sip
@@ -0,0 +1,55 @@
+// This is the SIP interface definition for QPaintDeviceMetrics.
+//
+// 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>QPaintDeviceMetrics</Title>
+<Para>
+<Literal>QPaintDeviceMetrics</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QPaintDeviceMetrics
+{
+%TypeHeaderCode
+#include <qpaintdevicemetrics.h>
+%End
+
+public:
+ QPaintDeviceMetrics(const QPaintDevice *);
+
+ int width() const;
+ int height() const;
+ int widthMM() const;
+ int heightMM() const;
+%If (Qt_2_00 -)
+ int logicalDpiX() const;
+ int logicalDpiY() const;
+%End
+%If (Qt_3_0_0 -)
+ int physicalDpiX() const;
+ int physicalDpiY() const;
+%End
+ int numColors() const;
+ int depth() const;
+};
diff --git a/sip/qt/qpainter.sip b/sip/qt/qpainter.sip
new file mode 100644
index 0000000..f9b1fca
--- /dev/null
+++ b/sip/qt/qpainter.sip
@@ -0,0 +1,676 @@
+// This is the SIP interface definition for QPainter.
+//
+// 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>QPainter</Title>
+<FuncSynopsis>
+ <FuncDef>QRect <Function>boundingRect</Function></FuncDef>
+ <ParamDef>int <Parameter>x</Parameter></ParamDef>
+ <ParamDef>int <Parameter>y</Parameter></ParamDef>
+ <ParamDef>int <Parameter>w</Parameter></ParamDef>
+ <ParamDef>int <Parameter>h</Parameter></ParamDef>
+ <ParamDef>int <Parameter>flags</Parameter></ParamDef>
+ <ParamDef>const char *<Parameter>str</Parameter></ParamDef>
+ <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef>
+ <ParamDef>char **<Parameter>intern</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>intern</Literal> parameter is not supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QRect <Function>boundingRect</Function></FuncDef>
+ <ParamDef>const QRect&</ParamDef>
+ <ParamDef>int <Parameter>flags</Parameter></ParamDef>
+ <ParamDef>const char *<Parameter>str</Parameter></ParamDef>
+ <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef>
+ <ParamDef>char **<Parameter>intern</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>intern</Literal> parameter is not supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>drawText</Function></FuncDef>
+ <ParamDef>int <Parameter>x</Parameter></ParamDef>
+ <ParamDef>int <Parameter>y</Parameter></ParamDef>
+ <ParamDef>int <Parameter>w</Parameter></ParamDef>
+ <ParamDef>int <Parameter>h</Parameter></ParamDef>
+ <ParamDef>int <Parameter>flags</Parameter></ParamDef>
+ <ParamDef>const char *<Parameter>str</Parameter></ParamDef>
+ <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef>
+ <ParamDef>QRect *<Parameter>br</Parameter> = 0</ParamDef>
+ <ParamDef>char **<Parameter>intern</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>intern</Literal> parameter is not supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>drawText</Function></FuncDef>
+ <ParamDef>const QRect&</ParamDef>
+ <ParamDef>int <Parameter>flags</Parameter></ParamDef>
+ <ParamDef>const char *<Parameter>str</Parameter></ParamDef>
+ <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef>
+ <ParamDef>QRect *<Parameter>br</Parameter> = 0</ParamDef>
+ <ParamDef>char **<Parameter>intern</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>intern</Literal> parameter is not supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>setTabArray</Function></FuncDef>
+ <ParamDef>int *<Parameter>ta</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a single parameter which is a list of tab stops.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int *<Function>tabArray</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a list of tab stops.
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_2_00)
+
+%ModuleHeaderCode
+#include <qpainter.h>
+%End
+
+enum BGMode {
+ TransparentMode,
+ OpaqueMode
+};
+
+enum PaintUnit {
+ PixelUnit,
+ LoMetricUnit,
+ HiMetricUnit,
+ LoEnglishUnit,
+ HiEnglishUnit,
+ TwipsUnit
+};
+
+
+class QPainter
+{
+%TypeHeaderCode
+#include <qpainter.h>
+%End
+
+public:
+ QPainter();
+ QPainter(const QPaintDevice *);
+ QPainter(const QPaintDevice *,const QWidget *);
+
+ bool begin(const QPaintDevice *);
+ bool begin(const QPaintDevice *,const QWidget *);
+ bool end();
+ QPaintDevice *device() const;
+
+ static void redirect(QPaintDevice *,QPaintDevice *);
+%If (Qt_3_2_0 -)
+ static QPaintDevice *redirect(QPaintDevice *);
+%End
+
+ bool isActive() const;
+ void flush();
+ void save();
+ void restore();
+ QFontMetrics fontMetrics() const;
+ QFontInfo fontInfo() const;
+ const QFont &font() const;
+ void setFont(const QFont&);
+ const QPen &pen() const;
+ void setPen(const QPen &);
+ void setPen(PenStyle);
+ void setPen(const QColor &);
+ const QBrush &brush() const;
+ void setBrush(const QBrush &);
+ void setBrush(BrushStyle);
+ void setBrush(const QColor &);
+ const QColor &backgroundColor() const;
+ void setBackgroundColor(const QColor &);
+ BGMode backgroundMode() const;
+ void setBackgroundMode(BGMode);
+ RasterOp rasterOp() const;
+ void setRasterOp(RasterOp);
+ const QPoint &brushOrigin() const;
+ void setBrushOrigin(int,int);
+ void setBrushOrigin(const QPoint &);
+
+ bool hasViewXForm() const;
+ bool hasWorldXForm() const;
+
+ void setViewXForm(bool);
+ QRect window() const;
+ void setWindow(const QRect &);
+ void setWindow(int,int,int,int);
+ QRect viewport() const;
+ void setViewport(const QRect &);
+ void setViewport(int,int,int,int);
+
+ void setWorldXForm(bool);
+ const QWMatrix &worldMatrix() const;
+ void setWorldMatrix(const QWMatrix &,bool = 0);
+
+ void scale(float,float);
+ void shear(float,float);
+ void rotate(float);
+
+ void translate(float,float);
+ void resetXForm();
+
+ QPoint xForm(QPoint &) const;
+ QRect xForm(QRect &) const;
+ QPointArray xForm(QPointArray &) const;
+ QPointArray xForm(QPointArray &,int,int) const;
+ QPoint xFormDev(QPoint &) const;
+ QRect xFormDev(QRect &) const;
+ QPointArray xFormDev(QPointArray &) const;
+ QPointArray xFormDev(QPointArray &,int,int) const;
+ void setClipping(bool);
+ bool hasClipping() const;
+ const QRegion &clipRegion() const;
+ void setClipRect(const QRect &);
+ void setClipRect(int,int,int,int);
+ void setClipRegion(const QRegion &);
+ void drawPoint(int,int);
+ void drawPoint(const QPoint &);
+ void drawPoints(const QPointArray &,int,int = -1);
+ void moveTo(int,int);
+ void moveTo(const QPoint &);
+ void lineTo(int,int);
+ void lineTo(const QPoint &);
+ void drawLine(int,int,int,int);
+ void drawLine(const QPoint &,const QPoint &);
+ void drawRect(int,int,int,int);
+ void drawRect(const QRect &);
+ void drawWinFocusRect(int,int,int,int);
+ void drawWinFocusRect(int,int,int,int,const QColor &);
+ void drawWinFocusRect(const QRect &);
+ void drawWinFocusRect(const QRect &,const QColor &);
+ void drawRoundRect(int,int,int,int,int,int);
+ void drawRoundRect(const QRect &,int,int);
+ void drawEllipse(int,int,int,int);
+ void drawEllipse(const QRect &);
+ void drawArc(int,int,int,int,int,int);
+ void drawArc(const QRect &,int,int);
+ void drawPie(int,int,int,int,int,int);
+ void drawPie(const QRect &,int,int);
+ void drawChord(int,int,int,int,int,int);
+ void drawChord(const QRect &,int,int);
+ void drawLineSegments(const QPointArray &,int = 0,int = -1);
+ void drawPolyline(const QPointArray &,int = 0,int = -1);
+ void drawPolygon(const QPointArray &,bool = 0,int = 0,int = -1);
+ void drawQuadBezier(const QPointArray &,int = 0);
+ void drawPixmap(int,int,const QPixmap &,int = 0,int = 0,int = -1,int = -1);
+ void drawPixmap(const QPoint &,const QPixmap &,const QRect &);
+ void drawPixmap(const QPoint &,const QPixmap &);
+ void drawImage(int,int,const QImage &,int = 0,int = 0,int = -1,int = -1);
+ void drawImage(const QPoint &,const QImage &,const QRect &);
+ void drawImage(const QPoint &,const QImage &);
+ void drawTiledPixmap(int,int,int,int,const QPixmap &,int = 0,int = 0);
+ void drawTiledPixmap(const QRect &,const QPixmap &,const QPoint &);
+ void drawTiledPixmap(const QRect &,const QPixmap &);
+ void drawPicture(const QPicture &);
+ void fillRect(int,int,int,int,const QBrush &);
+ void fillRect(const QRect &,const QBrush &);
+ void eraseRect(int,int,int,int);
+ void eraseRect(const QRect &);
+ void drawText(int,int,char *,int = -1);
+ void drawText(const QPoint &,const char *,int = -1);
+ void drawText(int,int,int,int,int,const char *,int = -1,QRect * = 0);
+ void drawText(const QRect &,int,const char *,int = -1,QRect * = 0);
+
+%If (Qt_3_2_0 -)
+ void drawTextItem(int,int,const QTextItem &,int = 0);
+ void drawTextItem(const QPoint &,const QTextItem &,int = 0);
+%End
+
+ QRect boundingRect(int,int,int,int,int,const char *,int = -1);
+ QRect boundingRect(const QRect &,int,const char *,int = -1);
+
+ int tabStops() const;
+ void setTabStops(int);
+
+ SIP_PYLIST tabArray() const;
+%MethodCode
+ int *tabs;
+
+ Py_BEGIN_ALLOW_THREADS
+ tabs = sipCpp -> tabArray();
+ Py_END_ALLOW_THREADS
+
+ int len = 0;
+
+ if (tabs)
+ {
+ int *tp = tabs;
+
+ do
+ ++len;
+ while (*tp++ != 0);
+ }
+
+ if ((sipRes = PyList_New(len)) == NULL)
+ sipIsErr = 1;
+ else if (tabs)
+ {
+ int *tp = tabs;
+
+ len = 0;
+
+ do
+ {
+ if (PyList_SET_ITEM(sipRes,len,PyInt_FromLong((long)*tp)) < 0)
+ {
+ Py_DECREF(sipRes);
+ sipIsErr = 1;
+ break;
+ }
+
+ ++len;
+ }
+ while (*tp++ != 0);
+ }
+%End
+
+ void setTabArray(SIP_PYLIST);
+%MethodCode
+ int len, *tabs;
+
+ len = PyList_GET_SIZE(a0);
+
+ // Allocate space for the array. Note, this memory is never
+ // reclaimed.
+ if ((tabs = (int *)sipMalloc(len * sizeof (int))) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ // Convert the list.
+
+ int *tp = tabs;
+
+ for (int i = 0; i < len; ++i)
+ {
+ *tp++ = (int)PyInt_AsLong(PyList_GET_ITEM(a0,i));
+
+ if (PyErr_Occurred() != NULL)
+ {
+ sipFree((ANY *)tabs);
+ sipIsErr = 1;
+ break;
+ }
+ }
+
+ if (!sipIsErr)
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp -> setTabArray(tabs);
+ Py_END_ALLOW_THREADS
+ }
+ }
+%End
+
+ HANDLE handle() const;
+ static void initialize();
+ static void cleanup();
+
+private:
+ QPainter(const QPainter &);
+};
+
+%End
+
+%If (Qt_2_00 -)
+
+class QPainter : Qt
+{
+%TypeHeaderCode
+#include <qpainter.h>
+%End
+
+public:
+%If (Qt_3_0_0 -)
+ enum CoordinateMode {
+ CoordDevice,
+ CoordPainter
+ };
+%End
+
+ QPainter();
+%If (- Qt_3_0_0)
+ QPainter(const QPaintDevice *);
+ QPainter(const QPaintDevice *,const QWidget *);
+%End
+%If (Qt_3_0_0 -)
+ QPainter(const QPaintDevice *,bool = 0);
+ QPainter(const QPaintDevice *,const QWidget *,bool = 0);
+%End
+
+%If (- Qt_3_0_0)
+ bool begin(const QPaintDevice *);
+ bool begin(const QPaintDevice *,const QWidget *);
+%End
+%If (Qt_3_0_0 -)
+ bool begin(const QPaintDevice *,bool = 0);
+ bool begin(const QPaintDevice *,const QWidget *,bool = 0);
+%End
+ bool end();
+ QPaintDevice *device() const;
+
+ static void redirect(QPaintDevice *,QPaintDevice *);
+
+ bool isActive() const;
+
+%If (Qt_3_0_0 -)
+ void flush(const QRegion &,CoordinateMode = CoordDevice);
+%End
+ void flush();
+ void save();
+ void restore();
+
+ QFontMetrics fontMetrics() const;
+ QFontInfo fontInfo() const;
+
+ const QFont &font() const;
+ void setFont(const QFont&);
+ const QPen &pen() const;
+ void setPen(const QPen &);
+ void setPen(PenStyle);
+ void setPen(const QColor &);
+ const QBrush &brush() const;
+ void setBrush(const QBrush &);
+ void setBrush(BrushStyle);
+ void setBrush(const QColor &);
+%If (Qt_2_1_0 -)
+ // The omission of this from Qt/Embedded is probably a bug.
+%End
+
+ const QColor &backgroundColor() const;
+ void setBackgroundColor(const QColor &);
+ BGMode backgroundMode() const;
+ void setBackgroundMode(BGMode);
+ RasterOp rasterOp() const;
+ void setRasterOp(RasterOp);
+ const QPoint &brushOrigin() const;
+ void setBrushOrigin(int,int);
+ void setBrushOrigin(const QPoint &);
+
+ bool hasViewXForm() const;
+ bool hasWorldXForm() const;
+
+%If (Qt_TRANSFORMATIONS)
+ void setViewXForm(bool);
+ QRect window() const;
+ void setWindow(const QRect &);
+ void setWindow(int,int,int,int);
+ QRect viewport() const;
+ void setViewport(const QRect &);
+ void setViewport(int,int,int,int);
+
+ void setWorldXForm(bool);
+ const QWMatrix &worldMatrix() const;
+ void setWorldMatrix(const QWMatrix &,bool = 0);
+
+ void saveWorldMatrix();
+ void restoreWorldMatrix();
+
+ void scale(double,double);
+ void shear(double,double);
+ void rotate(double);
+%End
+ void translate(double,double);
+ void resetXForm();
+%If (Qt_3_0_0 -)
+ double translationX() const;
+ double translationY() const;
+%End
+
+ QPoint xForm(const QPoint &) const;
+ QRect xForm(const QRect &) const;
+ QPointArray xForm(const QPointArray &) const;
+ QPointArray xForm(const QPointArray &,int,int) const;
+ QPoint xFormDev(const QPoint &) const;
+ QRect xFormDev(const QRect &) const;
+ QPointArray xFormDev(const QPointArray &) const;
+ QPointArray xFormDev(const QPointArray &,int,int) const;
+
+ void setClipping(bool);
+ bool hasClipping() const;
+%If (- Qt_3_0_0)
+ const QRegion &clipRegion() const;
+ void setClipRect(const QRect &);
+ void setClipRect(int,int,int,int);
+ void setClipRegion(const QRegion &);
+%End
+%If (Qt_3_0_0 -)
+ QRegion clipRegion(CoordinateMode = CoordDevice) const;
+ void setClipRect(const QRect &,CoordinateMode = CoordDevice);
+ void setClipRect(int,int,int,int,CoordinateMode = CoordDevice);
+ void setClipRegion(const QRegion &,CoordinateMode = CoordDevice);
+%End
+
+ void drawPoint(int,int);
+ void drawPoint(const QPoint &);
+ void drawPoints(const QPointArray &,int,int = -1);
+ void moveTo(int,int);
+ void moveTo(const QPoint &);
+ void lineTo(int,int);
+ void lineTo(const QPoint &);
+ void drawLine(int,int,int,int);
+ void drawLine(const QPoint &,const QPoint &);
+ void drawRect(int,int,int,int);
+ void drawRect(const QRect &);
+ void drawWinFocusRect(int,int,int,int);
+ void drawWinFocusRect(int,int,int,int,const QColor &);
+ void drawWinFocusRect(const QRect &);
+ void drawWinFocusRect(const QRect &,const QColor &);
+%If (- Qt_3_0_0)
+ void drawRoundRect(int,int,int,int,int,int);
+ void drawRoundRect(const QRect &,int,int);
+%End
+%If (Qt_3_0_0 -)
+ void drawRoundRect(int,int,int,int,int = 25,int = 25);
+ void drawRoundRect(const QRect &,int = 25,int = 25);
+%End
+ void drawEllipse(int,int,int,int);
+ void drawEllipse(const QRect &);
+ void drawArc(int,int,int,int,int,int);
+ void drawArc(const QRect &,int,int);
+ void drawPie(int,int,int,int,int,int);
+ void drawPie(const QRect &,int,int);
+ void drawChord(int,int,int,int,int,int);
+ void drawChord(const QRect &,int,int);
+ void drawLineSegments(const QPointArray &,int = 0,int = -1);
+ void drawPolyline(const QPointArray &,int = 0,int = -1);
+ void drawPolygon(const QPointArray &,bool = 0,int = 0,int = -1);
+%If (- Qt_3_0_0)
+ void drawQuadBezier(const QPointArray &,int = 0);
+%End
+%If (Qt_3_0_0 -)
+ void drawConvexPolygon(const QPointArray &,int = 0,int = -1);
+ void drawCubicBezier(const QPointArray &,int = 0);
+%End
+ void drawPixmap(int,int,const QPixmap &,int = 0,int = 0,int = -1,
+ int = -1);
+ void drawPixmap(const QPoint &,const QPixmap &,const QRect &);
+ void drawPixmap(const QPoint &,const QPixmap &);
+%If (Qt_3_0_0 -)
+ void drawPixmap(const QRect &,const QPixmap &);
+%End
+%If (- Qt_3_0_0)
+ void drawImage(int,int,const QImage &,int = 0,int = 0,int = -1,
+ int = -1);
+ void drawImage(const QPoint &,const QImage &,const QRect &);
+ void drawImage(const QPoint &,const QImage &);
+%End
+%If (Qt_3_0_0 -)
+ void drawImage(int,int,const QImage &,int = 0,int = 0,int = -1,
+ int = -1,int = 0);
+ void drawImage(const QPoint &,const QImage &,const QRect &,int = 0);
+ void drawImage(const QPoint &,const QImage &,int = 0);
+ void drawImage(const QRect &,const QImage &);
+%End
+ void drawTiledPixmap(int,int,int,int,const QPixmap &,int = 0,int = 0);
+ void drawTiledPixmap(const QRect &,const QPixmap &,const QPoint &);
+ void drawTiledPixmap(const QRect &,const QPixmap &);
+%If (Qt_PICTURE)
+ void drawPicture(const QPicture &);
+%If (Qt_3_0_0 -)
+ void drawPicture(int,int,const QPicture &);
+ void drawPicture(const QPoint &,const QPicture &);
+%End
+%End
+
+ void fillRect(int,int,int,int,const QBrush &);
+ void fillRect(const QRect &,const QBrush &);
+ void eraseRect(int,int,int,int);
+ void eraseRect(const QRect &);
+
+%If (Qt_3_0_0 -)
+ enum TextDirection {
+ Auto,
+ RTL,
+ LTR
+ };
+%End
+
+%If (- Qt_3_0_0)
+ void drawText(int,int,const QString &,int = -1);
+ void drawText(const QPoint &,const QString &,int = -1);
+%End
+%If (Qt_3_0_0 -)
+ void drawText(int,int,const QString &,int = -1,TextDirection = Auto);
+ void drawText(const QPoint &,const QString &,int = -1,
+ TextDirection = Auto);
+ void drawText(int,int,const QString &,int,int,TextDirection = Auto);
+ void drawText(const QPoint &,const QString &,int,int,
+ TextDirection = Auto);
+%End
+ void drawText(int,int,int,int,int,const QString &,int = -1,QRect * = 0);
+ void drawText(const QRect &,int,const QString &,int = -1,QRect * = 0);
+
+ QRect boundingRect(int,int,int,int,int,const QString &,int = -1);
+ QRect boundingRect(const QRect &,int,const QString &,int = -1);
+ int tabStops() const;
+ void setTabStops(int);
+
+ SIP_PYLIST tabArray() const;
+%MethodCode
+ int *tabs;
+
+ Py_BEGIN_ALLOW_THREADS
+ tabs = sipCpp -> tabArray();
+ Py_END_ALLOW_THREADS
+
+ int len = 0;
+
+ if (tabs)
+ {
+ int *tp = tabs;
+
+ do
+ ++len;
+ while (*tp++ != 0);
+ }
+
+ if ((sipRes = PyList_New(len)) == NULL)
+ sipIsErr = 1;
+ else if (tabs)
+ {
+ int *tp = tabs;
+
+ len = 0;
+
+ do
+ {
+ if (PyList_SET_ITEM(sipRes,len,PyInt_FromLong((long)*tp)) < 0)
+ {
+ Py_DECREF(sipRes);
+ sipIsErr = 1;
+ break;
+ }
+
+ ++len;
+ }
+ while (*tp++ != 0);
+ }
+%End
+
+ void setTabArray(SIP_PYLIST);
+%MethodCode
+ int len, *tabs;
+
+ len = PyList_GET_SIZE(a0);
+
+ // Allocate space for the array. Note, this memory is never
+ // reclaimed.
+ if ((tabs = (int *)sipMalloc(len * sizeof (int))) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ // Convert the list.
+
+ int *tp = tabs;
+
+ for (int i = 0; i < len; ++i)
+ {
+ *tp++ = (int)PyInt_AsLong(PyList_GET_ITEM(a0,i));
+
+ if (PyErr_Occurred() != NULL)
+ {
+ sipFree((ANY *)tabs);
+ sipIsErr = 1;
+ break;
+ }
+ }
+
+ if (!sipIsErr)
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp -> setTabArray(tabs);
+ Py_END_ALLOW_THREADS
+ }
+ }
+%End
+
+%If (WS_X11)
+ HANDLE handle() const;
+%End
+
+ static void initialize();
+ static void cleanup();
+
+private:
+ QPainter(const QPainter &);
+};
+
+%End
diff --git a/sip/qt/qpair.sip b/sip/qt/qpair.sip
new file mode 100644
index 0000000..6064e22
--- /dev/null
+++ b/sip/qt/qpair.sip
@@ -0,0 +1,83 @@
+// This is the SIP interface definition for all types based on the QPair
+// template.
+//
+// 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>QPair&lt;type,type&gt; (Qt v3+)</Title>
+<Para>
+Types based on the <Literal>QPair</Literal> template are automatically
+converted to and from Python tuples of two elements.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+%MappedType QPair<int,int>
+{
+%TypeHeaderCode
+#include <qpair.h>
+%End
+
+%ConvertFromTypeCode
+ // Convert to a Python list of integers.
+
+ PyObject *t;
+
+ // Create the tuple.
+
+ if ((t = PyTuple_New(2)) == NULL)
+ return NULL;
+
+ // Fill it.
+
+ PyTuple_SET_ITEM(t,0,PyInt_FromLong((long)sipCpp -> first));
+ PyTuple_SET_ITEM(t,1,PyInt_FromLong((long)sipCpp -> second));
+
+ return t;
+%End
+
+%ConvertToTypeCode
+ // Convert a Python tuple of integers to a QPair<int,int> on the heap.
+
+ if (sipIsErr == NULL)
+ return (PyTuple_Size(sipPy) == 2);
+
+ PyErr_Clear();
+
+ int fst = (int)PyInt_AsLong(PyTuple_GET_ITEM(sipPy,0));
+ int sec = (int)PyInt_AsLong(PyTuple_GET_ITEM(sipPy,1));
+
+ if (PyErr_Occurred() != NULL)
+ {
+ *sipIsErr = 1;
+ return 0;
+ }
+
+ *sipCppPtr = new QPair<int,int>(fst,sec);
+
+ return 1;
+%End
+};
+
+%End
diff --git a/sip/qt/qpalette.sip b/sip/qt/qpalette.sip
new file mode 100644
index 0000000..ae7b94c
--- /dev/null
+++ b/sip/qt/qpalette.sip
@@ -0,0 +1,102 @@
+// This is the SIP interface definition for QPalette.
+//
+// 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>QPalette</Title>
+<Para>
+<Literal>QPalette</Literal> is fully implemented, including the Python
+<Literal>==</Literal> and <Literal>!=</Literal> operators.
+</Para>
+</Sect2>
+%End
+
+
+class QPalette
+{
+%TypeHeaderCode
+#include <qpalette.h>
+%End
+
+public:
+ QPalette();
+ QPalette(const QColor &);
+%If (Qt_2_00 -)
+ QPalette(const QColor &,const QColor &);
+%End
+ QPalette(const QColorGroup &,const QColorGroup &,const QColorGroup &);
+ QPalette(const QPalette &);
+
+%If (Qt_2_00 - Qt_2_1_0)
+ enum ColorGroup {
+ Normal,
+ Disabled,
+ Active,
+ NColorGroups
+ };
+%End
+%If (Qt_2_1_0 -)
+ enum ColorGroup {
+ Normal,
+ Disabled,
+ Active,
+ Inactive,
+ NColorGroups
+ };
+%End
+
+%If (Qt_2_00 -)
+ const QColor &color(ColorGroup,QColorGroup::ColorRole) const;
+ const QBrush &brush(ColorGroup,QColorGroup::ColorRole) const;
+ void setColor(ColorGroup,QColorGroup::ColorRole,const QColor &);
+ void setBrush(ColorGroup,QColorGroup::ColorRole,const QBrush &);
+ void setColor(QColorGroup::ColorRole,const QColor &);
+ void setBrush(QColorGroup::ColorRole,const QBrush &);
+%End
+
+ QPalette copy() const;
+
+ const QColorGroup &active() const;
+ const QColorGroup &disabled() const;
+%If (Qt_2_1_0 -)
+ const QColorGroup &inactive() const;
+%End
+ const QColorGroup &normal() const;
+
+ void setActive(const QColorGroup &);
+ void setDisabled(const QColorGroup &);
+%If (Qt_2_1_0 -)
+ void setInactive(const QColorGroup &);
+%End
+ void setNormal(const QColorGroup &);
+
+ bool operator==(const QPalette &) const;
+ bool operator!=(const QPalette &) const;
+
+ bool isCopyOf(const QPalette &);
+ int serialNumber() const;
+
+%If (Qt_3_0_0 -)
+ // These are defined in Qt3, but don't appear in the documentation.
+ //static QColorGroup::ColorRole foregroundRoleFromMode(Qt::BackgroundMode);
+ //static QColorGroup::ColorRole backgroundRoleFromMode(Qt::BackgroundMode);
+%End
+};
diff --git a/sip/qt/qpen.sip b/sip/qt/qpen.sip
new file mode 100644
index 0000000..f59db98
--- /dev/null
+++ b/sip/qt/qpen.sip
@@ -0,0 +1,101 @@
+// This is the SIP interface definition for QPen.
+//
+// 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>QPen</Title>
+<Para>
+<Literal>QPen</Literal> is fully implemented, including the Python
+<Literal>==</Literal> and <Literal>!=</Literal> operators.
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_2_00)
+
+enum PenStyle {
+ NoPen,
+ SolidLine,
+ DashLine,
+ DotLine,
+ DashDotLine,
+ DashDotDotLine
+};
+
+
+class QPen
+{
+%TypeHeaderCode
+#include <qpen.h>
+%End
+
+public:
+ QPen();
+ QPen(PenStyle);
+ QPen(const QColor &,uint = 0,PenStyle = SolidLine);
+ QPen(const QPen &);
+
+ PenStyle style() const;
+ void setStyle(PenStyle);
+ uint width() const;
+ void setWidth(uint);
+ const QColor &color() const;
+ void setColor(const QColor &);
+};
+
+%End
+
+%If (Qt_2_00 -)
+
+class QPen : Qt
+{
+%TypeHeaderCode
+#include <qpen.h>
+%End
+
+public:
+ QPen();
+ QPen(PenStyle);
+ QPen(const QColor &,uint = 0,PenStyle = SolidLine);
+%If (Qt_2_1_0 -)
+ QPen(const QColor &,uint,PenStyle,PenCapStyle,PenJoinStyle);
+%End
+ QPen(const QPen &);
+
+ PenStyle style() const;
+ void setStyle(PenStyle);
+ uint width() const;
+ void setWidth(uint);
+ const QColor &color() const;
+ void setColor(const QColor &);
+%If (Qt_2_1_0 -)
+ PenCapStyle capStyle() const;
+ void setCapStyle(PenCapStyle);
+ PenJoinStyle joinStyle() const;
+ void setJoinStyle(PenJoinStyle);
+%End
+
+ bool operator==(const QPen &) const;
+ bool operator!=(const QPen &) const;
+};
+
+%End
diff --git a/sip/qt/qpicture.sip b/sip/qt/qpicture.sip
new file mode 100644
index 0000000..dbeb309
--- /dev/null
+++ b/sip/qt/qpicture.sip
@@ -0,0 +1,111 @@
+// This is the SIP interface definition for QPicture.
+//
+// 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>QPicture</Title>
+<FuncSynopsis>
+ <FuncDef>const char *<Function>data</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>setData</Function></FuncDef>
+ <ParamDef>const char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>size</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+<Literal>size</Literal> is derived from <Literal>data</Literal> and not passed
+as a parameter.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_PICTURE)
+
+class QPicture : QPaintDevice
+{
+%TypeHeaderCode
+#include <qpicture.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QPicture();
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ QPicture(int = 0);
+%End
+%If (Qt_3_0_0 -)
+ QPicture(int = -1);
+ QPicture(const QPicture &);
+%End
+
+ bool isNull() const;
+
+ uint size() const;
+// const char *data() const;
+%If (- Qt_2_00)
+ void setData(const char * /Array/,uint /ArraySize/);
+%End
+%If (Qt_2_00 -)
+ virtual void setData(const char * /Array/,uint /ArraySize/);
+%End
+
+ bool play(QPainter *);
+
+%If (- Qt_2_00)
+ bool load(const char *);
+ bool save(const char *);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ bool load(const QString &);
+ bool save(const QString &);
+%End
+%If (Qt_3_0_0 -)
+ bool load(QIODevice *,const char * = 0);
+ bool load(const QString &,const char * = 0);
+ bool save(QIODevice *,const char * = 0);
+ bool save(const QString &,const char * = 0);
+
+ QRect boundingRect() const;
+%End
+%If (Qt_3_1_0 -)
+ void setBoundingRect(const QRect &);
+%End
+
+protected:
+%If (Qt_3_0_0 -)
+ void detach();
+ QPicture copy() const;
+%End
+
+private:
+%If (- Qt_3_0_0)
+ QPicture(const QPicture &);
+%End
+};
+
+%End
diff --git a/sip/qt/qpixmap.sip b/sip/qt/qpixmap.sip
new file mode 100644
index 0000000..d00cd78
--- /dev/null
+++ b/sip/qt/qpixmap.sip
@@ -0,0 +1,288 @@
+// This is the SIP interface definition for QPixmap.
+//
+// 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>QPixmap</Title>
+<FuncSynopsis>
+ <FuncDef><Function>QPixmap</Function></FuncDef>
+ <ParamDef>const char *<Parameter>xpm</Parameter>[]</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a list of strings as its parameter.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>loadFromData</Function></FuncDef>
+ <ParamDef>const uchar *<Parameter>buf</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>len</Parameter></ParamDef>
+ <ParamDef>const char *<Parameter>format</Parameter> = 0</ParamDef>
+ <ParamDef>ColorMode <Parameter>mode</Parameter> = Auto</ParamDef>
+</FuncSynopsis>
+<Para>
+<Literal>len</Literal> is derived from <Literal>buf</Literal> and not passed as
+a parameter.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>loadFromData</Function></FuncDef>
+ <ParamDef>const uchar *<Parameter>buf</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>len</Parameter></ParamDef>
+ <ParamDef>const char *<Parameter>format</Parameter></ParamDef>
+ <ParamDef>int <Parameter>conversion_flags</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_2_00)
+
+class QPixmap : QPaintDevice
+{
+%TypeHeaderCode
+#include <qpixmap.h>
+%End
+
+public:
+ enum ColorMode
+ {
+ Auto,
+ Color,
+ Mono
+ };
+
+ QPixmap();
+ QPixmap(int,int,int = -1);
+ QPixmap(const QSize &,int = -1);
+ QPixmap(const char *,const char * = 0,ColorMode = Auto);
+ QPixmap(const char *,const char *,int);
+
+ QPixmap(SIP_PYLIST) [(const char **)];
+%MethodCode
+ // The Python interface is a list of strings that make up the
+ // image.
+
+ const char **str;
+
+ if ((str = PyQt_qt_ListToArray(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp = new sipQPixmap(str);
+ Py_END_ALLOW_THREADS
+
+ sipFree((ANY *)str);
+ }
+%End
+
+ QPixmap(const QPixmap &);
+
+ bool isNull() const;
+ int width() const;
+ int height() const;
+ QSize size() const;
+ QRect rect() const;
+ int depth() const;
+ static int defaultDepth();
+ void fill(const QColor & = white);
+ void fill(const QWidget *,int,int);
+ void fill(const QWidget *,const QPoint &);
+ void resize(int,int);
+ void resize(const QSize &);
+ const QBitmap *mask() const;
+ void setMask(const QBitmap &);
+ bool selfMask() const;
+ QBitmap createHeuristicMask(bool = 1) const;
+ static QPixmap grabWindow(WId,int = 0,int = 0,int = -1,int = -1);
+ QPixmap xForm(const QWMatrix &) const;
+ static QWMatrix trueMatrix(const QWMatrix &,int,int);
+ QImage convertToImage() const;
+ bool convertFromImage(const QImage &,ColorMode = Auto);
+ bool convertFromImage(const QImage &,int);
+ static const char *imageFormat(const char *);
+ bool load(const char *,const char * = 0,ColorMode = Auto);
+ bool load(const char *,const char *,int);
+ bool loadFromData(const uchar * /Array/,uint /ArraySize/,
+ const char * = 0,ColorMode = Auto);
+// bool loadFromData(const uchar *,uint,const char *,int);
+ bool loadFromData(QByteArray,const char * = 0,int = 0);
+ bool save(const char *,const char *) const;
+ int serialNumber() const;
+
+ enum Optimization
+ {
+ NoOptim,
+ NormalOptim,
+ BestOptim
+ };
+
+ Optimization optimization() const;
+ void setOptimization(Optimization);
+ static Optimization defaultOptimization();
+ static void setDefaultOptimization(Optimization);
+ virtual void detach();
+ bool isQBitmap() const;
+
+protected:
+ QPixmap(int,int,const uchar *,bool);
+};
+
+%End
+
+%If (Qt_2_00 -)
+
+class QPixmap : QPaintDevice, Qt
+{
+%TypeHeaderCode
+#include <qpixmap.h>
+%End
+
+public:
+ enum ColorMode
+ {
+ Auto,
+ Color,
+ Mono
+ };
+
+ enum Optimization
+ {
+ DefaultOptim,
+ NoOptim,
+ MemoryOptim,
+ NormalOptim,
+ BestOptim
+ };
+
+ QPixmap();
+%If (Qt_3_0_0 -)
+ QPixmap(const QImage &);
+%End
+ QPixmap(int,int,int = -1,Optimization = DefaultOptim);
+ QPixmap(const QSize &,int = -1,Optimization = DefaultOptim);
+ QPixmap(const QString &,const char * = 0,ColorMode = Auto);
+ QPixmap(const QString &,const char *,int);
+
+ QPixmap(SIP_PYLIST) [(const char **)];
+%MethodCode
+ // The Python interface is a list of strings that make up the
+ // image.
+
+ const char **str;
+
+ if ((str = PyQt_qt_ListToArray(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp = new sipQPixmap(str);
+ Py_END_ALLOW_THREADS
+
+ sipFree((ANY *)str);
+ }
+%End
+
+ QPixmap(const QByteArray &);
+ QPixmap(const QPixmap &);
+
+ bool isNull() const;
+ int width() const;
+ int height() const;
+ QSize size() const;
+ QRect rect() const;
+ int depth() const;
+ static int defaultDepth();
+ void fill(const QColor & = Qt::white);
+ void fill(const QWidget *,int,int);
+ void fill(const QWidget *,const QPoint &);
+ void resize(int,int);
+ void resize(const QSize &);
+ const QBitmap *mask() const;
+ void setMask(const QBitmap &);
+ bool selfMask() const;
+%If (Qt_3_1_0 -)
+ bool hasAlpha() const;
+%End
+%If (Qt_3_2_0 -)
+ bool hasAlphaChannel() const;
+%End
+ QBitmap createHeuristicMask(bool = 1) const;
+%If (Qt_3_1_0 -)
+ static QPixmap fromMimeSource(const QString &);
+%End
+ static QPixmap grabWindow(WId,int = 0,int = 0,int = -1,int = -1);
+%If (Qt_2_1_0 -)
+ static QPixmap grabWidget(QWidget *,int = 0,int = 0,int = -1,int = -1);
+%End
+
+ QPixmap xForm(const QWMatrix &) const;
+ static QWMatrix trueMatrix(const QWMatrix &,int,int);
+ QImage convertToImage() const;
+ bool convertFromImage(const QImage &,ColorMode = Auto);
+ bool convertFromImage(const QImage &,int);
+ static const char *imageFormat(const QString &);
+ bool load(const QString &,const char * = 0,ColorMode = Auto);
+ bool load(const QString &,const char *,int);
+ bool loadFromData(const uchar * /Array/,uint /ArraySize/,
+ const char * = 0,ColorMode = Auto);
+// bool loadFromData(const uchar *,uint,const char *,int);
+ bool loadFromData(QByteArray,const char * = 0,int = 0);
+%If (- Qt_3_0_0)
+ bool save(const QString &,const char *) const;
+%End
+%If (Qt_2_2_0 - Qt_3_0_0)
+ bool save(const QString &,const char *,int) const;
+%End
+%If (Qt_3_0_0 -)
+ bool save(const QString &,const char *,int = -1) const;
+%End
+%If (Qt_3_2_0 -)
+ bool save(QIODevice *,const char *,int = -1) const;
+%End
+ int serialNumber() const;
+ Optimization optimization() const;
+ void setOptimization(Optimization);
+ static Optimization defaultOptimization();
+ static void setDefaultOptimization(Optimization);
+ virtual void detach();
+ bool isQBitmap() const;
+
+%If (Qt_3_0_0 -)
+%If (WS_X11)
+ static int x11SetDefaultScreen(int);
+ void x11SetScreen(int);
+%End
+%End
+
+protected:
+ QPixmap(int,int,const uchar *,bool);
+};
+
+%End
+
+%If (Qt_3_2_0 -)
+void copyBlt(QPixmap *,int,int,const QPixmap *,int = 0,int = 0,int = -1,
+ int = -1);
+%End
diff --git a/sip/qt/qpixmapcache.sip b/sip/qt/qpixmapcache.sip
new file mode 100644
index 0000000..5e8e066
--- /dev/null
+++ b/sip/qt/qpixmapcache.sip
@@ -0,0 +1,53 @@
+// This is the SIP interface definition for QPixmapCache.
+//
+// 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>QPixmapCache (Qt v3+)</Title>
+<Para>
+<Literal>QPixmapCache</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QPixmapCache
+{
+%TypeHeaderCode
+#include <qpixmapcache.h>
+%End
+
+public:
+ static int cacheLimit();
+ static void setCacheLimit(int);
+ static QPixmap *find(const QString &);
+ static bool find(const QString &,QPixmap &);
+// static bool insert(const QString &,QPixmap *);
+ static bool insert(const QString &,const QPixmap &);
+%If (Qt_3_2_0 -)
+ static void remove(const QString &);
+%End
+ static void clear();
+};
+
+%End
diff --git a/sip/qt/qplatinumstyle.sip b/sip/qt/qplatinumstyle.sip
new file mode 100644
index 0000000..5392eea
--- /dev/null
+++ b/sip/qt/qplatinumstyle.sip
@@ -0,0 +1,142 @@
+// This is the SIP interface definition for QPlatinumStyle.
+//
+// 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>QPlatinumStyle (Qt v2+)</Title>
+<FuncSynopsis>
+ <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef>
+ <ParamDef>const QTabBar *<Parameter>sb</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>sliderMin</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>sliderMax</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>sliderLength</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>buttonDim</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>sb</Literal> parameter and returns a tuple of the
+<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>,
+<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values.
+(Qt v2)
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+%If (Qt_STYLE_PLATINUM)
+
+class QPlatinumStyle : QWindowsStyle
+{
+%TypeHeaderCode
+#include <qplatinumstyle.h>
+%End
+
+public:
+ QPlatinumStyle();
+
+%If (- Qt_3_0_0)
+ void drawPopupPanel(QPainter *,int,int,int,int,const QColorGroup &,
+ int = 2,const QBrush * = 0);
+ void drawButton(QPainter *,int,int,int,int,const QColorGroup &,bool = 0,
+ const QBrush * = 0);
+ QRect buttonRect(int,int,int,int);
+ void drawBevelButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,const QBrush * = 0);
+ void drawPushButton(QPushButton *,QPainter *);
+ void drawPushButtonLabel(QPushButton *,QPainter *);
+
+ void scrollBarMetrics(const QScrollBar *,int &,int &,int &,int &);
+
+ void drawScrollBarControls(QPainter *,const QScrollBar *,int,uint,uint);
+ ScrollControl scrollBarPointOver(const QScrollBar *,int,const QPoint &);
+ QSize indicatorSize() const;
+ void drawIndicator(QPainter *,int,int,int,int,const QColorGroup &,int,
+ bool = 0,bool = 1);
+ void drawIndicatorMask(QPainter *,int,int,int,int,int);
+ QSize exclusiveIndicatorSize() const;
+ void drawExclusiveIndicator(QPainter *,int,int,int,int,
+ const QColorGroup &,bool,bool = 0,bool = 1);
+ void drawComboButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,bool = 0,bool = 1,const QBrush * = 0);
+ QRect comboButtonRect(int,int,int,int);
+ QRect comboButtonFocusRect(int,int,int,int);
+ int sliderLength() const;
+ void drawSlider(QPainter *,int,int,int,int,const QColorGroup &,
+ Orientation,bool,bool);
+ void drawSliderMask(QPainter *,int,int,int,int,Orientation,bool,bool);
+ void drawSliderGroove(QPainter *,int,int,int,int,const QColorGroup &,
+ QCOORD,Orientation);
+ int maximumSliderDragDistance() const;
+ void drawCheckMark(QPainter *,int,int,int,int,const QColorGroup &,
+ bool,bool);
+ void polishPopupMenu(QPopupMenu *);
+ int extraPopupMenuItemWidth(bool,int,QMenuItem *,const QFontMetrics &);
+ int popupMenuItemHeight(bool,QMenuItem *,const QFontMetrics &);
+ void drawPopupMenuItem(QPainter *,bool,int,int,QMenuItem *,
+ const QPalette &,bool,bool,int,int,int,int);
+%End
+%If (Qt_3_0_0 -)
+ void drawPrimitive(PrimitiveElement,QPainter *,const QRect &,
+ const QColorGroup &,SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const;
+
+ void drawControl(ControlElement,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const;
+
+ void drawComplexControl(ComplexControl,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,SCFlags = SC_All,
+ SCFlags = SC_None,
+ const QStyleOption & = QStyleOption()) const;
+
+ QRect querySubControlMetrics(ComplexControl,const QWidget *,SubControl,
+ const QStyleOption & = QStyleOption()) const;
+
+ int pixelMetric(PixelMetric,const QWidget * = 0) const;
+
+ QRect subRect(SubRect,const QWidget *) const;
+%End
+
+protected:
+%If (- Qt_3_0_0)
+ void drawScrollBarBackground(QPainter *,int,int,int,int,
+ const QColorGroup &,bool,
+ const QBrush * = 0);
+%End
+ QColor mixedColor(const QColor &,const QColor &) const;
+%If (- Qt_3_0_0)
+ void drawRiffles(QPainter *,int,int,int,int,const QColorGroup &,bool);
+%End
+%If (Qt_3_0_0 -)
+ void drawRiffles(QPainter *,int,int,int,int,const QColorGroup &,
+ bool) const;
+%End
+
+private:
+%If (Qt_3_0_0 -)
+ QPlatinumStyle(const QPlatinumStyle &);
+%End
+};
+
+%End
+%End
diff --git a/sip/qt/qpoint.sip b/sip/qt/qpoint.sip
new file mode 100644
index 0000000..5265d57
--- /dev/null
+++ b/sip/qt/qpoint.sip
@@ -0,0 +1,100 @@
+// This is the SIP interface definition for QPoint.
+//
+// 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>QPoint</Title>
+<Para>
+The Python
+<Literal>+</Literal>, <Literal>+=</Literal>,
+<Literal>-</Literal>, <Literal>-=</Literal>, unary <Literal>-</Literal>,
+<Literal>*</Literal>, <Literal>*=</Literal>,
+<Literal>/</Literal>, <Literal>/=</Literal>,
+<Literal>==</Literal>, <Literal>!=</Literal> and <Literal>__nonzero__</Literal>
+operators are supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QCOORD &amp;<Function>rx</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QCOORD &amp;<Function>ry</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QPoint
+{
+%TypeHeaderCode
+#include <qpoint.h>
+%End
+
+public:
+ QPoint();
+ QPoint(int,int);
+
+ bool isNull() const;
+ int x() const;
+ int y() const;
+ void setX(int);
+ void setY(int);
+%If (Qt_2_00 -)
+ int manhattanLength() const;
+%End
+// QCOORD &rx();
+// QCOORD &ry();
+
+ QPoint &operator+=(const QPoint &);
+ QPoint &operator-=(const QPoint &);
+ QPoint &operator*=(int /Constrained/);
+ QPoint &operator*=(double);
+ QPoint &operator/=(int /Constrained/);
+ QPoint &operator/=(double);
+
+ int __nonzero__();
+%MethodCode
+ sipRes = !sipCpp -> isNull();
+%End
+
+ const QPoint __neg__();
+%MethodCode
+ sipRes = new QPoint(-(*sipCpp));
+%End
+};
+
+bool operator==(const QPoint &,const QPoint &);
+bool operator!=(const QPoint &,const QPoint &);
+const QPoint operator+(const QPoint &,const QPoint &);
+const QPoint operator-(const QPoint &,const QPoint &);
+const QPoint operator*(const QPoint &,int /Constrained/);
+const QPoint operator*(const QPoint &,double);
+const QPoint operator/(const QPoint &,int /Constrained/);
+const QPoint operator/(const QPoint &,double);
diff --git a/sip/qt/qpointarray.sip b/sip/qt/qpointarray.sip
new file mode 100644
index 0000000..c88b56b
--- /dev/null
+++ b/sip/qt/qpointarray.sip
@@ -0,0 +1,247 @@
+// This is the SIP interface definition for QPointArray.
+//
+// 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>QPointArray</Title>
+<FuncSynopsis>
+ <FuncDef><Function>QPointArray</Function></FuncDef>
+ <ParamDef>int <Parameter>nPoints</Parameter></ParamDef>
+ <ParamDef>const QCOORD *<Parameter>points</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a single parameter which is a list of points.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>point</Function></FuncDef>
+ <ParamDef>uint <Parameter>i</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>x</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>y</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the single parameter <Literal>i</Literal> and returns the
+<Literal>x</Literal> and <Literal>y</Literal> values as a tuple.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>putPoints</Function></FuncDef>
+ <ParamDef>int <Parameter>index</Parameter></ParamDef>
+ <ParamDef>int <Parameter>nPoints</Parameter></ParamDef>
+ <ParamDef>const QCOORD *<Parameter>points</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes two parameters, <Literal>index</Literal> and a list of points.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>putPoints</Function></FuncDef>
+ <ParamDef>int <Parameter>index</Parameter></ParamDef>
+ <ParamDef>int <Parameter>nPoints</Parameter></ParamDef>
+ <ParamDef>int <Parameter>firstx</Parameter></ParamDef>
+ <ParamDef>int <Parameter>firsty</Parameter></ParamDef>
+ <ParamDef>...</ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>setPoints</Function></FuncDef>
+ <ParamDef>int <Parameter>nPoints</Parameter></ParamDef>
+ <ParamDef>const QCOORD *<Parameter>points</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a single parameter which is a list of points.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>setPoints</Function></FuncDef>
+ <ParamDef>int <Parameter>nPoints</Parameter></ParamDef>
+ <ParamDef>int <Parameter>firstx</Parameter></ParamDef>
+ <ParamDef>int <Parameter>firsty</Parameter></ParamDef>
+ <ParamDef>...</ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QPointArray
+{
+%TypeHeaderCode
+#include <qpointarray.h>
+%End
+
+%TypeCode
+// Convert a list of numbers to an array on QCOORDs on the heap.
+
+static QCOORD *getPoints(int nrpnts,PyObject *pntlist)
+{
+ QCOORD *pnts, *pp;
+
+ if ((pnts = (QCOORD *)sipMalloc(nrpnts * sizeof (QCOORD))) == NULL)
+ return NULL;
+
+ // Convert the list.
+
+ pp = pnts;
+
+ for (int i = 0; i < nrpnts; ++i)
+ {
+ *pp++ = (QCOORD)PyInt_AsLong(PyList_GetItem(pntlist,i));
+
+ if (PyErr_Occurred() != NULL)
+ {
+ sipFree((ANY *)pnts);
+ return NULL;
+ }
+ }
+
+ return pnts;
+}
+%End
+
+public:
+ QPointArray();
+ QPointArray(int);
+ QPointArray(const QPointArray &);
+ QPointArray(const QRect &,bool = 0);
+
+ QPointArray(SIP_PYLIST) [(int,const QCOORD *)];
+%MethodCode
+ // The Python interface is a list of QCOORDs.
+
+ int nrpnts;
+ QCOORD *pnts;
+
+ nrpnts = PyList_GET_SIZE(a0);
+
+ if ((pnts = getPoints(nrpnts,a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ // No wrapper class for QPointArray.
+
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp = new QPointArray(nrpnts / 2,pnts);
+ Py_END_ALLOW_THREADS
+
+ sipFree((ANY *)pnts);
+ }
+%End
+
+ QPointArray copy() const;
+ void translate(int,int);
+ QRect boundingRect() const;
+
+ void point(uint,int *,int *) const;
+ // This is hidden by the above. It would probably be better to remove
+ // the one above, but that would break backwards compatibility.
+ //QPoint point(uint) const;
+ void setPoint(uint,int,int);
+ void setPoint(uint,const QPoint &);
+
+ bool setPoints(SIP_PYLIST);
+%MethodCode
+ int nrpnts;
+ QCOORD *pnts;
+
+ nrpnts = PyList_GET_SIZE(a0);
+
+ if ((pnts = getPoints(nrpnts,a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = sipCpp -> setPoints(nrpnts / 2,pnts);
+ Py_END_ALLOW_THREADS
+
+ sipFree((ANY *)pnts);
+ }
+%End
+
+// bool setPoints(int,int,int,...);
+
+ bool putPoints(int,SIP_PYLIST);
+%MethodCode
+ int nrpnts;
+ QCOORD *pnts;
+
+ nrpnts = PyList_GET_SIZE(a1);
+
+ if ((pnts = getPoints(nrpnts,a1)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = sipCpp -> putPoints(a0,nrpnts / 2,pnts);
+ Py_END_ALLOW_THREADS
+
+ sipFree((ANY *)pnts);
+ }
+%End
+
+// bool putPoints(int,int,int,int,...);
+%If (Qt_3_0_0 -)
+ bool putPoints(int,int,const QPointArray &,int = 0);
+%End
+
+%If (- Qt_2_00)
+ QPoint at(uint) const;
+%End
+
+ void makeArc(int,int,int,int,int,int);
+ void makeEllipse(int,int,int,int);
+%If (Qt_TRANSFORMATIONS)
+%If (Qt_2_00 -)
+ void makeArc(int,int,int,int,int,int,const QWMatrix &);
+%End
+%End
+%If (- Qt_3_0_0)
+ QPointArray quadBezier() const;
+%End
+%If (Qt_3_0_0 -)
+ QPointArray cubicBezier() const;
+%End
+
+ // These are actually in QArray, which isn't implemented so pretend
+ // they are here.
+
+ uint nrefs() const;
+ bool isEmpty() const;
+ bool isNull() const;
+ bool resize(uint);
+ uint size() const;
+ bool truncate(uint);
+ bool fill(const QPoint &,int = -1);
+%If (Qt_2_00 -)
+ QPoint &at(uint) const;
+%End
+%If (Qt_2_1_0 -)
+ void sort();
+ int bsearch(const QPoint &) const;
+%End
+ int find(const QPoint &,uint = 0) const;
+ int contains(const QPoint &) const;
+};
diff --git a/sip/qt/qpopupmenu.sip b/sip/qt/qpopupmenu.sip
new file mode 100644
index 0000000..08366b4
--- /dev/null
+++ b/sip/qt/qpopupmenu.sip
@@ -0,0 +1,282 @@
+// This is the SIP interface definition for QPopupMenu.
+//
+// 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>QPopupMenu</Title>
+<FuncSynopsis>
+ <FuncDef>int <Function>exec</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>exec_loop</Literal> in Python.
+</Para>
+<Para>
+This method also causes ownership of the underlying C++ menu to be transfered
+to Python. This means that the C++ menu will be deleted when the Python
+wrapper is garbage collected. Although this is a little inconsistent, it
+ensures that the menu is deleted without having to explicity code it using
+<Literal>QObject.deleteLater()</Literal> or other techniques.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int <Function>exec</Function></FuncDef>
+ <ParamDef>const QPoint &<Parameter>pos</Parameter></ParamDef>
+ <ParamDef>int <Parameter>indexAtPoint</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>exec_loop</Literal> in Python.
+</Para>
+<Para>
+This method also causes ownership of the underlying C++ menu to be transfered
+to Python. This means that the C++ menu will be deleted when the Python
+wrapper is garbage collected. Although this is a little inconsistent, it
+ensures that the menu is deleted without having to explicity code it using
+<Literal>QObject.deleteLater()</Literal> or other techniques.
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_2_00)
+
+class QPopupMenu : QTableView, QMenuData
+{
+%TypeHeaderCode
+#include <qpopupmenu.h>
+%End
+
+public:
+ QPopupMenu(QWidget * /TransferThis/ = 0,const char * = 0);
+
+ void popup(const QPoint &,int = 0);
+ void updateItem(int);
+ void setCheckable(bool);
+ bool isCheckable() const;
+ void setFont(const QFont &);
+ void show();
+ void hide();
+
+ int exec() /PyName=exec_loop, ReleaseGIL,
+ PreHook=__pyQtPreEventLoopHook__,
+ PostHook=__pyQtPostEventLoopHook__/;
+%MethodCode
+ // Transfer ownership back to Python (a modal menu will
+ // probably have the main window as it's parent). This means
+ // the Qt menu will be deleted when the Python wrapper is
+ // garbage collected. Although this is a little inconsistent,
+ // it saves having to code it explicitly to avoid the memory
+ // leak.
+ sipTransferBack(sipSelf);
+
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = sipCpp->QPopupMenu::exec();
+ Py_END_ALLOW_THREADS
+%End
+
+ int exec(const QPoint &,int = 0) /PyName=exec_loop, ReleaseGIL,
+ PreHook=__pyQtPreEventLoopHook__,
+ PostHook=__pyQtPostEventLoopHook__/;
+%MethodCode
+ // Transfer ownership back to Python (a modal menu will
+ // probably have the main window as it's parent). This means
+ // the Qt menu will be deleted when the Python wrapper is
+ // garbage collected. Although this is a little inconsistent,
+ // it saves having to code it explicitly to avoid the memory
+ // leak.
+ sipTransferBack(sipSelf);
+
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = sipCpp->QPopupMenu::exec(*a0,a1);
+ Py_END_ALLOW_THREADS
+%End
+
+ void setActiveItem(int);
+ int idAt(int) const;
+%If (Qt_1_43 -)
+ int idAt(const QPoint &) const;
+%End
+
+signals:
+ void activated(int);
+ void highlighted(int);
+ void activatedRedirect(int);
+ void highlightedRedirect(int);
+ void aboutToShow();
+
+protected:
+ int cellHeight(int);
+ int cellWidth(int);
+ void paintCell(QPainter *,int,int);
+ void paintEvent(QPaintEvent *);
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+ void keyPressEvent(QKeyEvent *);
+ void timerEvent(QTimerEvent *);
+
+private:
+ QPopupMenu(const QPopupMenu &);
+ void menuContentsChanged();
+ void menuStateChanged();
+ void menuInsPopup(QPopupMenu *);
+ void menuDelPopup(QPopupMenu *);
+ void frameChanged();
+};
+
+%End
+
+
+%If (Qt_2_00 -)
+
+class QPopupMenu : QFrame, QMenuData
+{
+%TypeHeaderCode
+#include <qpopupmenu.h>
+%End
+
+public:
+ QPopupMenu(QWidget * /TransferThis/ = 0,const char * = 0);
+
+%If (- Qt_3_0_5)
+ void popup(const QPoint &,int = 0);
+%End
+%If (Qt_3_0_5 -)
+ void popup(const QPoint &,int = -1);
+%End
+ void updateItem(int);
+
+ virtual void setCheckable(bool);
+ bool isCheckable() const;
+
+ void setFont(const QFont &);
+ void show();
+ void hide();
+
+ int exec() /PyName=exec_loop, ReleaseGIL,
+ PreHook=__pyQtPreEventLoopHook__,
+ PostHook=__pyQtPostEventLoopHook__/;
+%MethodCode
+ // Transfer ownership back to Python (a modal menu will
+ // probably have the main window as it's parent). This means
+ // the Qt menu will be deleted when the Python wrapper is
+ // garbage collected. Although this is a little inconsistent,
+ // it saves having to code it explicitly to avoid the memory
+ // leak.
+ sipTransferBack(sipSelf);
+
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = sipCpp->QPopupMenu::exec();
+ Py_END_ALLOW_THREADS
+%End
+
+ int exec(const QPoint &,int = 0) /PyName=exec_loop, ReleaseGIL,
+ PreHook=__pyQtPreEventLoopHook__,
+ PostHook=__pyQtPostEventLoopHook__/;
+%MethodCode
+ // Transfer ownership back to Python (a modal menu will
+ // probably have the main window as it's parent). This means
+ // the Qt menu will be deleted when the Python wrapper is
+ // garbage collected. Although this is a little inconsistent,
+ // it saves having to code it explicitly to avoid the memory
+ // leak.
+ sipTransferBack(sipSelf);
+
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = sipCpp->QPopupMenu::exec(*a0,a1);
+ Py_END_ALLOW_THREADS
+%End
+
+ virtual void setActiveItem(int);
+ QSize sizeHint() const;
+
+ int idAt(int) const;
+ int idAt(const QPoint &) const;
+
+ bool customWhatsThis() const;
+
+%If (Qt_2_1_0 -)
+ int insertTearOffHandle(int = -1,int = -1);
+%End
+
+%If (Qt_2_2_0 -)
+ void activateItemAt(int);
+%End
+%If (Qt_3_0_0 -)
+ QRect itemGeometry(int);
+%End
+
+signals:
+ void activated(int);
+ void highlighted(int);
+ void activatedRedirect(int);
+ void highlightedRedirect(int);
+ void aboutToShow();
+%If (Qt_2_2_0 -)
+ void aboutToHide();
+%End
+
+protected:
+ int itemHeight(int) const;
+ int itemHeight(QMenuItem *) const;
+ void drawItem(QPainter *,int,QMenuItem *,bool,int,int,int,int);
+
+ void drawContents(QPainter *);
+
+ void closeEvent(QCloseEvent *);
+ void paintEvent(QPaintEvent *);
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+ void keyPressEvent(QKeyEvent *);
+%If (Qt_2_1_0 -)
+ void focusInEvent(QFocusEvent *);
+ void focusOutEvent(QFocusEvent *);
+%End
+ void timerEvent(QTimerEvent *);
+%If (Qt_3_0_0 -)
+ void leaveEvent(QEvent *);
+%End
+ void styleChange(QStyle &);
+%If (Qt_3_1_0 -)
+ void enabledChange(bool);
+%End
+%If (Qt_2_1_0 -)
+ int columns() const;
+
+ bool focusNextPrevChild(bool);
+%End
+
+%If (Qt_3_0_0 -)
+ int itemAtPos(const QPoint &,bool = 1) const;
+%End
+
+private:
+ QPopupMenu(const QPopupMenu &);
+
+ void menuContentsChanged();
+ void menuStateChanged();
+ void menuInsPopup(QPopupMenu *);
+ void menuDelPopup(QPopupMenu *);
+ void frameChanged();
+};
+
+%End
diff --git a/sip/qt/qprintdialog.sip b/sip/qt/qprintdialog.sip
new file mode 100644
index 0000000..2ead1f9
--- /dev/null
+++ b/sip/qt/qprintdialog.sip
@@ -0,0 +1,64 @@
+// This is the SIP interface definition for QPrintDialog.
+//
+// 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>QPrintDialog (X11)</Title>
+<Para>
+<Literal>QPrintDialog</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (WS_X11)
+%If (Qt_PRINTDIALOG)
+
+class QPrintDialog : QDialog
+{
+%TypeHeaderCode
+#include <qprintdialog.h>
+%End
+
+public:
+ QPrintDialog(QPrinter *,QWidget * /TransferThis/ = 0,const char * = 0);
+
+%If (- Qt_3_0_0)
+ static bool getPrinterSetup(QPrinter *);
+%End
+%If (Qt_3_0_0 -)
+ static bool getPrinterSetup(QPrinter *,QWidget * = 0);
+ static void setGlobalPrintDialog(QPrintDialog *);
+%End
+
+ void setPrinter(QPrinter *,bool = 0);
+ QPrinter *printer() const;
+
+%If (Qt_2_1_0 -)
+ void addButton(QPushButton *);
+%End
+
+private:
+ QPrintDialog(const QPrintDialog &);
+};
+
+%End
+%End
diff --git a/sip/qt/qprinter.sip b/sip/qt/qprinter.sip
new file mode 100644
index 0000000..b8bf4f9
--- /dev/null
+++ b/sip/qt/qprinter.sip
@@ -0,0 +1,256 @@
+// This is the SIP interface definition for QPrinter.
+//
+// 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>QPrinter</Title>
+<Para>
+<Literal>QPrinter</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_PRINTER)
+
+class QPrinter : QPaintDevice
+{
+%TypeHeaderCode
+#include <qprinter.h>
+%End
+
+public:
+%If (Qt_3_0_0 -)
+ enum PrinterMode {
+ ScreenResolution,
+ PrinterResolution,
+ HighResolution,
+ Compatible
+ };
+%End
+
+%If (- Qt_3_0_0)
+ QPrinter();
+%End
+%If (Qt_3_0_0 -)
+ QPrinter(PrinterMode = ScreenResolution);
+%End
+
+ enum Orientation {
+ Portrait,
+ Landscape
+ };
+
+ enum PageSize {
+ A4, B5, Letter, Legal, Executive, A0, A1, A2, A3, A5, A6, A7,
+ A8, A9, B0, B1, B10, B2, B3, B4, B6, B7, B8, B9, C5E, Comm10E,
+ DLE, Folio, Ledger, Tabloid,
+%If (Qt_2_3_1 -)
+ Custom,
+%End
+%If (Qt_2_00 -)
+ NPageSize
+%End
+ };
+
+ enum PageOrder {
+ FirstPageFirst,
+ LastPageFirst
+ };
+
+ enum ColorMode {
+ GrayScale,
+ Color
+ };
+
+%If (Qt_3_0_0 -)
+ enum PaperSource {
+ OnlyOne,
+ Lower,
+ Middle,
+ Manual,
+ Envelope,
+ EnvelopeManual,
+ Auto,
+ Tractor,
+ SmallFormat,
+ LargeFormat,
+ LargeCapacity,
+ Cassette,
+ FormSource
+ };
+%End
+
+%If (Qt_3_2_0 -)
+ enum PrintRange {
+ AllPages,
+ Selection,
+ PageRange
+ };
+
+ enum PrinterOption {
+ PrintToFile,
+ PrintSelection,
+ PrintPageRange
+ };
+%End
+
+%If (- Qt_2_00)
+ const char *printerName() const;
+ void setPrinterName(const char *);
+%End
+%If (Qt_2_00 -)
+ QString printerName() const;
+ virtual void setPrinterName(const QString &);
+%End
+ bool outputToFile() const;
+%If (- Qt_2_00)
+ void setOutputToFile(bool);
+ const char *outputFileName() const;
+ void setOutputFileName(const char *);
+
+ const char *printProgram() const;
+ void setPrintProgram(const char *);
+
+ const char *docName() const;
+ void setDocName(const char *);
+ const char *creator() const;
+ void setCreator(const char *);
+%End
+%If (Qt_2_00 -)
+ virtual void setOutputToFile(bool);
+ QString outputFileName() const;
+ virtual void setOutputFileName(const QString &);
+
+ QString printProgram() const;
+ virtual void setPrintProgram(const QString &);
+
+ QString printerSelectionOption() const;
+ virtual void setPrinterSelectionOption(const QString &);
+
+ QString docName() const;
+ virtual void setDocName(const QString &);
+ QString creator() const;
+ virtual void setCreator(const QString &);
+%End
+
+ Orientation orientation() const;
+%If (- Qt_2_00)
+ void setOrientation(Orientation);
+%End
+%If (Qt_2_00 -)
+ virtual void setOrientation(Orientation);
+%End
+ PageSize pageSize() const;
+%If (- Qt_2_00)
+ void setPageSize(PageSize);
+
+ void setPageOrder(PageOrder);
+%End
+%If (Qt_2_00 -)
+ virtual void setPageSize(PageSize);
+
+ virtual void setPageOrder(PageOrder);
+%End
+ PageOrder pageOrder() const;
+
+%If (Qt_3_0_0 -)
+ void setResolution(int);
+ int resolution() const;
+%End
+
+%If (- Qt_2_00)
+ void setColorMode(ColorMode);
+%End
+%If (Qt_2_00 -)
+ virtual void setColorMode(ColorMode);
+%End
+ ColorMode colorMode() const;
+
+%If (Qt_2_00 -)
+ virtual void setFullPage(bool);
+ bool fullPage() const;
+ QSize margins() const;
+%End
+
+%If (Qt_3_1_0 -)
+ void setMargins(uint,uint,uint,uint);
+// void margins(uint *,uint *,uint *,uint *) const;
+%End
+
+ int fromPage() const;
+ int toPage() const;
+%If (- Qt_2_00)
+ void setFromTo(int,int);
+%End
+%If (Qt_2_00 -)
+ virtual void setFromTo(int,int);
+%End
+ int minPage() const;
+ int maxPage() const;
+%If (- Qt_2_00)
+ void setMinMax(int,int);
+%End
+%If (Qt_2_00 -)
+ virtual void setMinMax(int,int);
+%End
+ int numCopies() const;
+%If (- Qt_2_00)
+ void setNumCopies(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setNumCopies(int);
+%End
+
+%If (Qt_3_0_0 -)
+ bool collateCopiesEnabled() const;
+ void setCollateCopiesEnabled(bool);
+
+ bool collateCopies() const;
+ void setCollateCopies(bool);
+%End
+
+%If (Qt_3_2_0 -)
+ PrintRange printRange() const;
+ void setPrintRange(PrintRange);
+%End
+
+ bool newPage();
+ bool abort();
+ bool aborted() const;
+
+ bool setup(QWidget * = 0);
+
+%If (Qt_3_0_0 -)
+ PaperSource paperSource() const;
+ virtual void setPaperSource(PaperSource);
+%End
+
+%If (Qt_3_2_0 -)
+ void setOptionEnabled(PrinterOption,bool);
+ bool isOptionEnabled(PrinterOption);
+%End
+
+private:
+ QPrinter(const QPrinter &);
+};
+
+%End
diff --git a/sip/qt/qprocess.sip b/sip/qt/qprocess.sip
new file mode 100644
index 0000000..c02c512
--- /dev/null
+++ b/sip/qt/qprocess.sip
@@ -0,0 +1,112 @@
+// This is the SIP interface definition for QProcess.
+//
+// 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>QProcess (Qt v3+)</Title>
+<Para>
+<Literal>QProcess</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QProcess : QObject
+{
+%TypeHeaderCode
+#include <qprocess.h>
+%End
+
+public:
+ QProcess(QObject * /TransferThis/ = 0,const char * = 0);
+ QProcess(const QString &,QObject * /TransferThis/ = 0,
+ const char * = 0);
+ QProcess(const QStringList &,QObject * /TransferThis/ = 0,
+ const char * = 0);
+
+ QStringList arguments() const;
+ void clearArguments();
+ virtual void setArguments(const QStringList &);
+ virtual void addArgument(const QString &);
+ QDir workingDirectory() const;
+ virtual void setWorkingDirectory(const QDir &);
+
+ enum Communication {
+ Stdin,
+ Stdout,
+ Stderr,
+ DupStderr
+ };
+
+ void setCommunication(int);
+ int communication() const;
+
+ virtual bool start(QStringList * = 0);
+ virtual bool launch(const QString &, QStringList * = 0 );
+ virtual bool launch(const QByteArray &,QStringList * = 0 );
+
+ bool isRunning() const;
+ bool normalExit() const;
+ int exitStatus() const;
+
+ virtual QByteArray readStdout() /ReleaseGIL/;
+ virtual QByteArray readStderr() /ReleaseGIL/;
+ bool canReadLineStdout() const;
+ bool canReadLineStderr() const;
+ virtual QString readLineStdout() /ReleaseGIL/;
+ virtual QString readLineStderr() /ReleaseGIL/;
+
+%If (WS_X11 || WS_MACX || WS_QWS)
+ typedef long PID;
+%End
+
+ PID processIdentifier();
+
+ void flushStdin();
+
+signals:
+ void readyReadStdout();
+ void readyReadStderr();
+ void processExited();
+ void wroteToStdin();
+ void launchFinished();
+
+public slots:
+ void tryTerminate() const;
+ void kill() const;
+
+ virtual void writeToStdin(const QByteArray &);
+ virtual void writeToStdin(const QString &);
+ virtual void closeStdin();
+
+protected:
+ void connectNotify(const char *);
+ void disconnectNotify(const char *);
+
+private:
+%If (Qt_3_1_0 -)
+ QProcess(const QProcess &);
+%End
+};
+
+%End
diff --git a/sip/qt/qprogressbar.sip b/sip/qt/qprogressbar.sip
new file mode 100644
index 0000000..bcf3ad2
--- /dev/null
+++ b/sip/qt/qprogressbar.sip
@@ -0,0 +1,95 @@
+// This is the SIP interface definition for QProgressBar.
+//
+// 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>QProgressBar</Title>
+<Para>
+<Literal>QProgressBar</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QProgressBar : QFrame
+{
+%TypeHeaderCode
+#include <qprogressbar.h>
+%End
+
+public:
+ QProgressBar(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+ QProgressBar(int,QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+
+ int totalSteps() const;
+ int progress() const;
+%If (Qt_3_0_0 -)
+ const QString &progressString() const;
+%End
+
+ QSize sizeHint() const;
+%If (Qt_2_00 - Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+%If (Qt_2_00 -)
+ QSize minimumSizeHint() const;
+
+ void setCenterIndicator(bool);
+ bool centerIndicator() const;
+
+ void setIndicatorFollowsStyle(bool);
+ bool indicatorFollowsStyle() const;
+%End
+
+%If (Qt_3_0_0 -)
+ bool percentageVisible() const;
+ void setPercentageVisible(bool);
+%End
+
+ void show();
+
+public slots:
+ void reset();
+%If (- Qt_2_00)
+ void setTotalSteps(int);
+ void setProgress(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setTotalSteps(int);
+ virtual void setProgress(int);
+%End
+%If (Qt_3_1_0 -)
+ void setProgress(int,int);
+%End
+
+protected:
+ void drawContents(QPainter *);
+ virtual bool setIndicator(QString &,int,int);
+%If (Qt_2_00 - Qt_3_0_0)
+ void drawContentsMask(QPainter *);
+%End
+%If (Qt_2_00 -)
+ void styleChange(QStyle &);
+%End
+
+private:
+ QProgressBar(const QProgressBar &);
+};
diff --git a/sip/qt/qprogressdialog.sip b/sip/qt/qprogressdialog.sip
new file mode 100644
index 0000000..4963041
--- /dev/null
+++ b/sip/qt/qprogressdialog.sip
@@ -0,0 +1,194 @@
+// This is the SIP interface definition for QProgressDialog.
+//
+// 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>QProgressDialog</Title>
+<Para>
+<Literal>QProgressDialog</Literal> is fully implemented.
+value.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_PROGRESSDIALOG)
+
+%If (Qt_3_0_0 -)
+
+class QProgressDialog : QDialog
+{
+%TypeHeaderCode
+#include <qprogressdialog.h>
+%End
+
+public:
+ QProgressDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0,
+ WFlags = 0);
+ QProgressDialog(const QString &,const QString &,int,
+ QWidget * /TransferThis/ = 0,const char * = 0,bool = 0,
+ WFlags = 0);
+
+ void setLabel(QLabel *);
+ void setCancelButton(QPushButton *);
+ void setBar(QProgressBar *);
+
+ bool wasCancelled() const;
+%If (Qt_3_2_0 -)
+ bool wasCanceled() const;
+%End
+
+ int totalSteps() const;
+ int progress() const;
+
+ QSize sizeHint() const;
+
+ int minimumDuration() const;
+
+ QString labelText() const;
+
+ void setAutoReset(bool);
+ bool autoReset() const;
+ void setAutoClose(bool);
+ bool autoClose() const;
+
+public slots:
+ void cancel();
+ void reset();
+ void setTotalSteps(int);
+ void setProgress(int);
+%If (Qt_3_1_0 -)
+ void setProgress(int,int);
+%End
+ void setLabelText(const QString &);
+ void setCancelButtonText(const QString &);
+
+ void setMinimumDuration(int);
+
+signals:
+ void cancelled();
+%If (Qt_3_2_0 -)
+ void canceled();
+%End
+
+protected:
+ void resizeEvent(QResizeEvent *);
+ void closeEvent(QCloseEvent *);
+ void styleChange(QStyle &);
+ void showEvent(QShowEvent *);
+
+protected slots:
+ void forceShow();
+
+private:
+ QProgressDialog(const QProgressDialog &);
+};
+
+%End
+
+
+%If (- Qt_3_0_0)
+
+class QProgressDialog : QSemiModal
+{
+%TypeHeaderCode
+#include <qprogressdialog.h>
+%End
+
+public:
+ QProgressDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0,
+ WFlags = 0);
+%If (- Qt_2_00)
+ QProgressDialog(const char *,const char *,int,QWidget * /TransferThis/ = 0,
+ const char * = 0,bool = 0,WFlags = 0);
+%End
+%If (Qt_2_00 -)
+ QProgressDialog(const QString &,const QString &,int,
+ QWidget * /TransferThis/ = 0,const char * = 0,bool = 0,
+ WFlags = 0);
+%End
+
+ void setLabel(QLabel *);
+ void setCancelButton(QPushButton *);
+ void setBar(QProgressBar *);
+
+ bool wasCancelled() const;
+
+ int totalSteps() const;
+ int progress() const;
+
+ QSize sizeHint() const;
+
+ int minimumDuration() const;
+
+%If (Qt_2_1_0 -)
+ QString labelText() const;
+
+ void setAutoReset(bool);
+ bool autoReset() const;
+ void setAutoClose(bool);
+ bool autoClose() const;
+%End
+
+public slots:
+ void cancel();
+ void reset();
+ void setTotalSteps(int);
+ void setProgress(int);
+%If (- Qt_2_00)
+ void setLabelText(const char *);
+ void setCancelButtonText(const char *);
+%End
+%If (Qt_2_00 -)
+ void setLabelText(const QString &);
+ void setCancelButtonText(const QString &);
+%End
+
+ void setMinimumDuration(int);
+
+signals:
+ void cancelled();
+
+protected:
+ void resizeEvent(QResizeEvent *);
+%If (- Qt_2_00)
+ void styleChange(GUIStyle);
+%End
+%If (Qt_2_00 -)
+ void closeEvent(QCloseEvent *);
+ void styleChange(QStyle &);
+%End
+%If (Qt_2_1_0 -)
+ void showEvent(QShowEvent *);
+%End
+
+protected slots:
+%If (Qt_2_2_0 -)
+ void forceShow();
+%End
+
+private:
+ QProgressDialog(const QProgressDialog &);
+};
+
+%End
+
+%End
diff --git a/sip/qt/qptrlist.sip b/sip/qt/qptrlist.sip
new file mode 100644
index 0000000..c49afad
--- /dev/null
+++ b/sip/qt/qptrlist.sip
@@ -0,0 +1,111 @@
+// This is the SIP interface definition for all types based on the QPtrList
+// template.
+//
+// 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>QPtrList&lt;type&gt; (Qt v2+)</Title>
+<Para>
+Types based on the <Literal>QPtrList</Literal> template are automatically
+converted to and from Python lists of the type.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+template<Type>
+%MappedType QPtrList<Type>
+{
+%TypeHeaderCode
+#include <qptrlist.h>
+%End
+
+%ConvertFromTypeCode
+ Type *dw;
+ int i;
+ PyObject *l;
+
+ // Create the list.
+
+ if ((l = PyList_New(sipCpp -> count())) == NULL)
+ return NULL;
+
+ // Get it.
+
+ i = 0;
+
+ for (dw = sipCpp -> first(); dw != NULL; dw = sipCpp -> next())
+ {
+ PyObject *dwobj;
+
+ if ((dwobj = sipConvertFromInstance(dw,sipClass_Type,sipTransferObj)) == NULL || PyList_SetItem(l,i,dwobj) < 0)
+ {
+ Py_XDECREF(dwobj);
+ Py_DECREF(l);
+
+ return NULL;
+ }
+
+ ++i;
+ }
+
+ return l;
+%End
+
+%ConvertToTypeCode
+ if (sipIsErr == NULL)
+ {
+ if (!PyList_Check(sipPy))
+ return 0;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_Type,0))
+ return 0;
+
+ return 1;
+ }
+
+ QPtrList<Type> *qpl = new QPtrList<Type>;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ {
+ // We apply the transfer to the list itself, not the elements.
+ // Note that any temporary element will never be destroyed.
+ // There is nothing that can be done about this.
+ qpl -> append(reinterpret_cast<Type *>(sipConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_Type,0,0,0,sipIsErr)));
+
+ if (*sipIsErr)
+ {
+ delete qpl;
+
+ return 0;
+ }
+ }
+
+ *sipCppPtr = qpl;
+
+ return sipGetState(sipTransferObj);
+%End
+};
+
+%End
diff --git a/sip/qt/qpushbutton.sip b/sip/qt/qpushbutton.sip
new file mode 100644
index 0000000..93e6fa0
--- /dev/null
+++ b/sip/qt/qpushbutton.sip
@@ -0,0 +1,143 @@
+// This is the SIP interface definition for QPushButton.
+//
+// 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>QPushButton</Title>
+<Para>
+<Literal>QPushButton</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QPushButton : QButton
+{
+%TypeHeaderCode
+#include <qpushbutton.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QPushButton(QWidget * /TransferThis/ = 0,const char * = 0);
+ QPushButton(const char *,QWidget * /TransferThis/ = 0,const char * = 0);
+%End
+%If (Qt_2_00 -)
+ QPushButton(QWidget * /TransferThis/,const char * = 0);
+ QPushButton(const QString &,QWidget * /TransferThis/,const char * = 0);
+%End
+%If (Qt_2_1_0 -)
+ QPushButton(const QIconSet &,const QString &,QWidget * /TransferThis/,const char * = 0);
+%End
+
+ QSize sizeHint() const;
+%If (Qt_2_00 - Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+
+ void move(int,int);
+ void move(const QPoint &);
+ void resize(int,int);
+ void resize(const QSize &);
+%If (- Qt_2_00)
+ void setGeometry(int,int,int,int);
+
+ void setGeometry(const QRect &);
+
+ void setToggleButton(bool);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ virtual void setGeometry(int,int,int,int);
+
+ virtual void setGeometry(const QRect &);
+
+ virtual void setToggleButton(bool);
+%End
+%If (Qt_3_0_0 -)
+ void setGeometry(int,int,int,int);
+
+ void setGeometry(const QRect &);
+
+ void setToggleButton(bool);
+%End
+
+ bool autoDefault() const;
+%If (- Qt_2_00)
+ void setAutoDefault(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setAutoDefault(bool);
+%End
+ bool isDefault() const;
+%If (- Qt_2_00)
+ void setDefault(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setDefault(bool);
+%End
+
+%If (- Qt_2_00)
+ void setIsMenuButton(bool);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ virtual void setIsMenuButton(bool);
+%End
+%If (- Qt_3_0_0)
+ bool isMenuButton() const;
+%End
+
+%If (Qt_2_1_0 -)
+ void setPopup(QPopupMenu *);
+ QPopupMenu *popup() const;
+
+ void setIconSet(const QIconSet &);
+ QIconSet *iconSet() const;
+%End
+
+%If (Qt_2_2_0 -)
+ void setFlat(bool);
+ bool isFlat() const;
+%End
+
+public slots:
+%If (- Qt_2_00)
+ void setOn(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setOn(bool);
+%End
+%If (- Qt_3_0_0)
+ void toggle();
+%End
+
+protected:
+ void drawButton(QPainter *);
+ void drawButtonLabel(QPainter *);
+ void focusInEvent(QFocusEvent *);
+%If (Qt_2_00 -)
+ void focusOutEvent(QFocusEvent *);
+ void resizeEvent(QResizeEvent *);
+ void updateMask();
+%End
+
+private:
+ QPushButton(const QPushButton &);
+};
diff --git a/sip/qt/qradiobutton.sip b/sip/qt/qradiobutton.sip
new file mode 100644
index 0000000..77c00db
--- /dev/null
+++ b/sip/qt/qradiobutton.sip
@@ -0,0 +1,84 @@
+// This is the SIP interface definition for QRadioButton.
+//
+// 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>QRadioButton</Title>
+<Para>
+<Literal>QRadioButton</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QRadioButton : QButton
+{
+%TypeHeaderCode
+#include <qradiobutton.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QRadioButton(QWidget * /TransferThis/ = 0,const char * = 0);
+ QRadioButton(const char *,QWidget * /TransferThis/ = 0,const char * = 0);
+%End
+%If (Qt_2_00 -)
+ QRadioButton(QWidget * /TransferThis/,const char * = 0);
+ QRadioButton(const QString &,QWidget * /TransferThis/,const char * = 0);
+%End
+
+ bool isChecked() const;
+
+ QSize sizeHint() const;
+
+%If (- Qt_2_00)
+ void setChecked(bool);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ virtual void setChecked(bool);
+ QSizePolicy sizePolicy() const;
+%End
+
+public slots:
+%If (Qt_3_0_0 -)
+ virtual void setChecked(bool);
+%End
+
+protected:
+ bool hitButton(const QPoint &) const;
+ void drawButton(QPainter *);
+ void drawButtonLabel(QPainter *);
+%If (- Qt_2_00)
+ void mouseReleaseEvent(QMouseEvent *);
+ void keyPressEvent(QKeyEvent *);
+%End
+%If (Qt_2_00 -)
+ void updateMask();
+
+ void resizeEvent(QResizeEvent *);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ void focusInEvent(QFocusEvent *);
+%End
+
+private:
+ QRadioButton(const QRadioButton &);
+};
diff --git a/sip/qt/qrangecontrol.sip b/sip/qt/qrangecontrol.sip
new file mode 100644
index 0000000..2c1c3af
--- /dev/null
+++ b/sip/qt/qrangecontrol.sip
@@ -0,0 +1,79 @@
+// This is the SIP interface definition for QRangeControl.
+//
+// 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>QRangeControl</Title>
+<Para>
+<Literal>QRangeControl</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QRangeControl
+{
+%TypeHeaderCode
+#include <qrangecontrol.h>
+%End
+
+public:
+ QRangeControl();
+ QRangeControl(int,int,int,int,int);
+
+ int value() const;
+ void setValue(int);
+ void addPage();
+ void subtractPage();
+ void addLine();
+ void subtractLine();
+
+ int minValue() const;
+ int maxValue() const;
+ void setRange(int,int);
+%If (Qt_3_0_0 -)
+ void setMinValue(int);
+ void setMaxValue(int);
+%End
+
+ int lineStep() const;
+ int pageStep() const;
+ void setSteps(int,int);
+
+%If (Qt_2_00 -)
+ int bound(int) const;
+%End
+
+protected:
+%If (Qt_2_00 -)
+ int positionFromValue(int,int) const;
+ int valueFromPosition(int,int) const;
+%End
+ void directSetValue(int);
+ int prevValue() const;
+
+ virtual void valueChange();
+ virtual void rangeChange();
+ virtual void stepChange();
+
+private:
+ QRangeControl(const QRangeControl &);
+};
diff --git a/sip/qt/qrect.sip b/sip/qt/qrect.sip
new file mode 100644
index 0000000..0f5f213
--- /dev/null
+++ b/sip/qt/qrect.sip
@@ -0,0 +1,207 @@
+// This is the SIP interface definition for QRect.
+//
+// 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>QRect</Title>
+<Para>
+The Python
+<Literal>&amp;</Literal>, <Literal>&amp;=</Literal>,
+<Literal>|</Literal>, <Literal>|=</Literal>,
+<Literal>==</Literal>, <Literal>!=</Literal>, <Literal>in</Literal> and
+<Literal>__nonzero__</Literal> operators are supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>coords</Function></FuncDef>
+ <ParamDef>int *<Parameter>x1</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>y1</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>x2</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>y2</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns a tuple containing the four values.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>rect</Function></FuncDef>
+ <ParamDef>int *<Parameter>x</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>y</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>w</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>h</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns a tuple containing the four values.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QCOORD &amp;<Function>rBottom</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented. (Qt v2+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QCOORD &amp;<Function>rLeft</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented. (Qt v2+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QCOORD &amp;<Function>rRight</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented. (Qt v2+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QCOORD &amp;<Function>rTop</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented. (Qt v2+)
+</Para>
+</Sect2>
+%End
+
+
+class QRect
+{
+%TypeHeaderCode
+#include <qrect.h>
+%End
+
+public:
+ QRect();
+ QRect(const QPoint &,const QPoint &);
+ QRect(const QPoint &,const QSize &);
+ QRect(int,int,int,int);
+
+ bool isNull() const;
+ bool isEmpty() const;
+ bool isValid() const;
+ QRect normalize() const;
+
+ int left() const;
+ int top() const;
+ int right() const;
+ int bottom() const;
+
+%If (Qt_2_00 -)
+// QCOORD &rLeft();
+// QCOORD &rTop();
+// QCOORD &rRight();
+// QCOORD &rBottom();
+%End
+
+ int x() const;
+ int y() const;
+ void setLeft(int);
+ void setTop(int);
+ void setRight(int);
+ void setBottom(int);
+ void setX(int);
+ void setY(int);
+
+%If (Qt_3_1_0 -)
+ void setTopLeft(const QPoint &);
+ void setBottomRight(const QPoint &);
+ void setTopRight(const QPoint &);
+ void setBottomLeft(const QPoint &);
+%End
+
+ QPoint topLeft() const;
+ QPoint bottomRight() const;
+ QPoint topRight() const;
+ QPoint bottomLeft() const;
+ QPoint center() const;
+
+ void rect(int *,int *,int *,int *) const;
+ void coords(int *,int *,int *,int *) const;
+
+%If (Qt_3_1_0 -)
+ void moveLeft(int);
+ void moveTop(int);
+ void moveRight(int);
+ void moveBottom(int);
+%End
+ void moveTopLeft(const QPoint &);
+ void moveBottomLeft(const QPoint &);
+ void moveTopRight(const QPoint &);
+ void moveBottomRight(const QPoint &);
+ void moveCenter(const QPoint &);
+ void moveBy(int,int);
+
+ void setRect(int,int,int,int);
+ void setCoords(int,int,int,int);
+%If (Qt_3_0_0 -)
+ void addCoords(int,int,int,int);
+%End
+
+ QSize size() const;
+ int width() const;
+ int height() const;
+ void setWidth(int);
+ void setHeight(int);
+ void setSize(const QSize &);
+
+ QRect operator|(const QRect &) const;
+ QRect operator&(const QRect &) const;
+ QRect &operator|=(const QRect &);
+ QRect &operator&=(const QRect &);
+
+ int __nonzero__() const;
+%MethodCode
+ sipRes = sipCpp -> isValid();
+%End
+
+ bool contains(const QPoint &,bool = 0) const;
+
+ int __contains__(const QPoint &) const;
+%MethodCode
+ sipRes = sipCpp -> contains(*a0);
+%End
+
+%If (Qt_3_1_0 -)
+ bool contains(int,int) const;
+ bool contains(int,int,bool) const;
+%End
+%If (Qt_2_2_0 - Qt_3_1_0)
+ bool contains(int,int,bool = 0) const;
+%End
+ bool contains(const QRect &,bool = 0) const;
+
+ int __contains__(const QRect &) const;
+%MethodCode
+ sipRes = sipCpp -> contains(*a0);
+%End
+
+ QRect unite(const QRect &) const;
+ QRect intersect(const QRect &) const;
+ bool intersects(const QRect &) const;
+};
+
+bool operator==(const QRect &,const QRect &);
+bool operator!=(const QRect &,const QRect &);
diff --git a/sip/qt/qregexp.sip b/sip/qt/qregexp.sip
new file mode 100644
index 0000000..3d1dc40
--- /dev/null
+++ b/sip/qt/qregexp.sip
@@ -0,0 +1,139 @@
+// This is the SIP interface definition for QRegExp.
+//
+// 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>QRegExp</Title>
+<Para>
+The Python <Literal>==</Literal> and <Literal>!=</Literal> operators are
+supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int <Function>match</Function></FuncDef>
+ <ParamDef>const char *<Parameter>str</Parameter></ParamDef>
+ <ParamDef>int <Parameter>index</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>len</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes <Literal>str</Literal> and <Literal>index</Literal> parameters and
+returns a tuple of the <Literal>int</Literal> result and the
+<Literal>len</Literal> value. (Qt v1.x)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int <Function>match</Function></FuncDef>
+ <ParamDef>const QString &<Parameter>str</Parameter></ParamDef>
+ <ParamDef>int <Parameter>index</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>len</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes <Literal>str</Literal> and <Literal>index</Literal> parameters and
+returns a tuple of the <Literal>int</Literal> result and the
+<Literal>len</Literal> value. (Qt v2+)
+</Para>
+</Sect2>
+%End
+
+
+class QRegExp
+{
+%TypeHeaderCode
+#include <qregexp.h>
+%End
+
+public:
+%If (Qt_3_1_0 -)
+ enum CaretMode {
+ CaretAtZero,
+ CaretAtOffset,
+ CaretWontMatch
+ };
+%End
+
+ QRegExp();
+%If (- Qt_2_00)
+ QRegExp(const char *,bool = 1,bool = 0);
+%End
+%If (Qt_2_00 -)
+ QRegExp(const QString &,bool = 1,bool = 0);
+%End
+ QRegExp(const QRegExp &);
+
+ bool operator==(const QRegExp &) const;
+ bool operator!=(const QRegExp &) const;
+
+ bool isEmpty() const;
+ bool isValid() const;
+%If (- Qt_2_00)
+ const char *pattern() const;
+%End
+%If (Qt_2_00 -)
+ QString pattern() const;
+%End
+%If (Qt_2_2_0 -)
+ void setPattern(const QString &);
+%End
+ bool caseSensitive() const;
+ void setCaseSensitive(bool);
+ bool wildcard() const;
+ void setWildcard(bool);
+%If (Qt_3_0_0 -)
+ bool minimal() const;
+ void setMinimal(bool);
+
+ bool exactMatch(const QString &) const;
+%End
+
+%If (- Qt_2_00)
+ int match(const char *,int = 0,int * = 0) const;
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ int match(const QString &,int = 0,int * = 0) const;
+%End
+
+%If (Qt_2_2_0 - Qt_3_0_0)
+ int find(const QString &,int);
+%End
+
+%If (Qt_3_0_0 -)
+ int search(const QString &,int = 0) const;
+%If (Qt_3_1_0 -)
+ int search(const QString &,int,CaretMode) const;
+%End
+ int searchRev(const QString &,int = -1) const;
+%If (Qt_3_1_0 -)
+ int searchRev(const QString &,int,CaretMode) const;
+%End
+ int matchedLength() const;
+%If (Qt_3_1_0 -)
+ int numCaptures() const;
+%End
+ QStringList capturedTexts();
+ QString cap(int = 0);
+ int pos(int = 0);
+%End
+%If (Qt_3_1_0 -)
+ QString errorString();
+
+ static QString escape(const QString &);
+%End
+};
diff --git a/sip/qt/qregion.sip b/sip/qt/qregion.sip
new file mode 100644
index 0000000..38b9beb
--- /dev/null
+++ b/sip/qt/qregion.sip
@@ -0,0 +1,128 @@
+// This is the SIP interface definition for QRegion.
+//
+// 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>QRegion</Title>
+<Para>
+The Python
+<Literal>|</Literal>, <Literal>|=</Literal>,
+<Literal>+</Literal>, <Literal>+=</Literal>,
+<Literal>&amp;</Literal>, <Literal>&amp;=</Literal>,
+<Literal>-</Literal>, <Literal>-=</Literal>,
+<Literal>^</Literal>, <Literal>^=</Literal>,
+<Literal>==</Literal>, <Literal>!=</Literal>, <Literal>in</Literal> and
+<Literal>__nonzero__</Literal> operators are supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QArray&lt;QRect&gt; <Function>rects</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>setRects</Function></FuncDef>
+ <ParamDef>QRect *<Parameter>rects</Parameter></ParamDef>
+ <ParamDef>int <Parameter>num</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented. (Qt v2.2+)
+</Para>
+</Sect2>
+%End
+
+
+class QRegion
+{
+%TypeHeaderCode
+#include <qregion.h>
+%End
+
+public:
+ enum RegionType
+ {
+ Rectangle,
+ Ellipse
+ };
+
+ QRegion();
+ QRegion(int,int,int,int,RegionType = Rectangle);
+ QRegion(const QRect &,RegionType = Rectangle);
+ QRegion(const QPointArray &,bool = 0);
+ QRegion(const QRegion &);
+%If (Qt_1_43 -)
+ QRegion(const QBitmap &);
+%End
+
+ bool isNull() const;
+ bool isEmpty() const;
+
+ bool contains(const QPoint &) const;
+
+ int __contains__(const QPoint &) const;
+%MethodCode
+ sipRes = sipCpp -> contains(*a0);
+%End
+
+ bool contains(const QRect &) const;
+
+ int __contains__(const QRect &) const;
+%MethodCode
+ sipRes = sipCpp -> contains(*a0);
+%End
+
+ void translate(int,int);
+
+ QRegion unite(const QRegion &) const;
+ QRegion intersect(const QRegion &) const;
+ QRegion subtract(const QRegion &) const;
+ QRegion eor(const QRegion &) const;
+
+ QRect boundingRect() const;
+%If (Qt_3_0_0 -)
+ QMemArray<QRect> rects() const;
+%End
+%If (Qt_2_2_0 -)
+// void setRects(const QRect *,int);
+%End
+
+ const QRegion operator|(const QRegion &) const;
+ const QRegion operator+(const QRegion &) const;
+ const QRegion operator&(const QRegion &) const;
+ const QRegion operator-(const QRegion &) const;
+ const QRegion operator^(const QRegion &) const;
+ QRegion &operator|=(const QRegion &);
+ QRegion &operator+=(const QRegion &);
+ QRegion &operator&=(const QRegion &);
+ QRegion &operator-=(const QRegion &);
+ QRegion &operator^=(const QRegion &);
+
+ int __nonzero__() const;
+%MethodCode
+ sipRes = !sipCpp -> isNull();
+%End
+
+ bool operator==(const QRegion &) const;
+ bool operator!=(const QRegion &) const;
+};
diff --git a/sip/qt/qscrollbar.sip b/sip/qt/qscrollbar.sip
new file mode 100644
index 0000000..20b8e5d
--- /dev/null
+++ b/sip/qt/qscrollbar.sip
@@ -0,0 +1,170 @@
+// This is the SIP interface definition for QScrollBar.
+//
+// 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>QScrollBar</Title>
+<Para>
+<Literal>QScrollBar</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QScrollBar : QWidget, QRangeControl
+{
+%TypeHeaderCode
+#include <qscrollbar.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ enum Orientation {
+ Horizontal,
+ Vertical
+ };
+%End
+
+%If (- Qt_2_00)
+ QScrollBar(QWidget * /TransferThis/ = 0,const char * = 0);
+ QScrollBar(Orientation,QWidget * /TransferThis/ = 0,const char * = 0);
+ QScrollBar(int,int,int,int,int,Orientation,
+ QWidget * /TransferThis/ = 0,const char * = 0);
+%End
+%If (Qt_2_00 -)
+ QScrollBar(QWidget * /TransferThis/,const char * = 0);
+ QScrollBar(Orientation,QWidget * /TransferThis/,const char * = 0);
+ QScrollBar(int,int,int,int,int,Orientation,QWidget * /TransferThis/,
+ const char * = 0);
+%End
+
+%If (- Qt_2_00)
+ void setOrientation(Orientation);
+%End
+%If (Qt_2_00 -)
+ virtual void setOrientation(Orientation);
+%End
+ Orientation orientation() const;
+%If (- Qt_2_00)
+ void setTracking(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setTracking(bool);
+%End
+ bool tracking() const;
+ bool draggingSlider() const;
+
+%If (Qt_2_00 -)
+ virtual void setPalette(const QPalette &);
+%End
+%If (- Qt_2_00)
+ void setPalette(const QPalette &);
+%End
+%If (Qt_3_1_0 -)
+ virtual QSize sizeHint() const;
+%End
+%If (- Qt_3_1_0)
+ QSize sizeHint() const;
+%End
+%If (Qt_3_1_0 -)
+ virtual void setSizePolicy(QSizePolicy);
+%End
+%If (Qt_3_2_0 -)
+ void setSizePolicy(QSizePolicy::SizeType,QSizePolicy::SizeType,
+ bool = 0);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+
+%If (Qt_2_1_0 -)
+ int minValue() const;
+ int maxValue() const;
+ void setMinValue(int);
+ void setMaxValue(int);
+ int lineStep() const;
+ int pageStep() const;
+ void setLineStep(int);
+ void setPageStep(int);
+ int value() const;
+%End
+%If (- Qt_3_0_0)
+ void setValue(int);
+%End
+
+%If (Qt_3_0_0 -)
+ int sliderStart() const;
+ QRect sliderRect() const;
+%End
+
+public slots:
+%If (Qt_3_0_0 -)
+ void setValue(int);
+%End
+
+signals:
+ void valueChanged(int);
+ void sliderPressed();
+ void sliderMoved(int);
+ void sliderReleased();
+ void nextLine();
+ void prevLine();
+ void nextPage();
+ void prevPage();
+
+protected:
+%If (Qt_2_00 -)
+ void wheelEvent(QWheelEvent *);
+%End
+ void keyPressEvent(QKeyEvent *);
+ void resizeEvent(QResizeEvent *);
+ void paintEvent(QPaintEvent *);
+
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+%If (Qt_3_0_0 -)
+ void contextMenuEvent(QContextMenuEvent *);
+%End
+%If (Qt_3_0_4 -)
+ void hideEvent(QHideEvent *);
+%End
+
+ void valueChange();
+ void stepChange();
+ void rangeChange();
+
+%If (- Qt_3_0_0)
+ int sliderStart() const;
+ QRect sliderRect() const;
+%End
+
+%If (- Qt_2_00)
+ void timerEvent(QTimerEvent *);
+%End
+
+%If (Qt_2_00 -)
+ void styleChange(QStyle &);
+%End
+
+private:
+ QScrollBar(const QScrollBar &);
+};
diff --git a/sip/qt/qscrollview.sip b/sip/qt/qscrollview.sip
new file mode 100644
index 0000000..4d7161f
--- /dev/null
+++ b/sip/qt/qscrollview.sip
@@ -0,0 +1,325 @@
+// This is the SIP interface definition for QScrollView.
+//
+// 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>QScrollView</Title>
+<FuncSynopsis>
+ <FuncDef>void <Function>contentsToViewport</Function></FuncDef>
+ <ParamDef>int <Parameter>x</Parameter></ParamDef>
+ <ParamDef>int <Parameter>y</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>vx</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>vy</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and
+returns a tuple containing the <Literal>vx</Literal> and <Literal>vy</Literal>
+values. (Qt v2+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>viewportToContents</Function></FuncDef>
+ <ParamDef>int <Parameter>vx</Parameter></ParamDef>
+ <ParamDef>int <Parameter>vy</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>x</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>y</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>vx</Literal> and <Literal>vy</Literal> parameters and
+returns a tuple containing the <Literal>x</Literal> and <Literal>y</Literal>
+values. (Qt v2+)
+</Para>
+</Sect2>
+%End
+
+
+class QScrollView : QFrame
+{
+%TypeHeaderCode
+#include <qscrollview.h>
+%End
+
+public:
+ QScrollView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+
+ enum ResizePolicy {
+ Default,
+ Manual,
+ AutoOne,
+%If (Qt_2_3_0 -)
+ AutoOneFit,
+%End
+ };
+
+ virtual void setResizePolicy(ResizePolicy);
+ ResizePolicy resizePolicy() const;
+
+%If (Qt_2_1_0 -)
+ void styleChange(QStyle &);
+%End
+ // The child was reparented when it was added, and it stays that way,
+ // so we don't transfer it back here.
+ void removeChild(QWidget *);
+%If (- Qt_2_00)
+ void addChild(QWidget * /Transfer/);
+ virtual void addChild(QWidget * /Transfer/,int,int);
+%End
+%If (Qt_2_00 -)
+ virtual void addChild(QWidget * /Transfer/,int = 0,int = 0);
+%End
+ virtual void moveChild(QWidget *,int,int);
+ int childX(QWidget *);
+ int childY(QWidget *);
+%If (- Qt_3_0_0)
+ bool childIsVisible(QWidget *);
+ void showChild(QWidget *,bool = 1);
+%End
+
+ enum ScrollBarMode {
+ Auto,
+ AlwaysOff,
+ AlwaysOn
+ };
+
+ ScrollBarMode vScrollBarMode() const;
+ virtual void setVScrollBarMode(ScrollBarMode);
+
+ ScrollBarMode hScrollBarMode() const;
+ virtual void setHScrollBarMode(ScrollBarMode);
+
+ QWidget *cornerWidget() const;
+ virtual void setCornerWidget(QWidget * /Transfer/);
+
+%If (- Qt_2_00)
+ QScrollBar *horizontalScrollBar();
+ QScrollBar *verticalScrollBar();
+ QWidget *viewport();
+%End
+%If (Qt_2_00 -)
+ QScrollBar *horizontalScrollBar() const;
+ QScrollBar *verticalScrollBar() const;
+ QWidget *viewport() const;
+ QWidget *clipper() const;
+
+ int visibleWidth() const;
+ int visibleHeight() const;
+%End
+
+ int contentsWidth() const;
+ int contentsHeight() const;
+ int contentsX() const;
+ int contentsY() const;
+
+ void resize(int,int);
+ void resize(const QSize &);
+ void show();
+
+%If (Qt_2_00 -)
+ void updateContents(int,int,int,int);
+%End
+%If (Qt_2_1_0 -)
+ void updateContents(const QRect &);
+%End
+%If (Qt_3_0_0 -)
+ void updateContents();
+%End
+%If (Qt_2_00 -)
+ void repaintContents(int,int,int,int,bool = 1);
+%End
+%If (Qt_2_1_0 -)
+ void repaintContents(const QRect &,bool = 1);
+%End
+%If (Qt_3_0_0 -)
+ void repaintContents(bool = 1);
+%End
+
+%If (Qt_2_00 -)
+ // Note that this wasn't actually const until Qt v3.0.0.
+ void contentsToViewport(int,int,int &,int &) const;
+
+ // Note that this wasn't actually const until Qt v3.0.0.
+ void viewportToContents(int,int,int &,int &) const;
+
+%If (- Qt_3_0_0)
+ QPoint contentsToViewport(const QPoint &);
+ QPoint viewportToContents(const QPoint &);
+%End
+%If (Qt_3_0_0 -)
+ QPoint contentsToViewport(const QPoint &) const;
+ QPoint viewportToContents(const QPoint &) const;
+%End
+ void enableClipper(bool);
+
+%If (Qt_2_2_0 -)
+ void setStaticBackground(bool);
+ bool hasStaticBackground() const;
+%End
+
+ QSize viewportSize(int,int) const;
+%If (Qt_2_1_0 -)
+ QSize sizeHint() const;
+%End
+%If (- Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+ QSize minimumSizeHint() const;
+
+ void removeChild(QObject * /TransferBack/);
+%End
+
+%If (Qt_3_1_0 -)
+ bool isHorizontalSliderPressed();
+ bool isVerticalSliderPressed();
+%End
+
+%If (Qt_DRAGANDDROP)
+%If (Qt_2_1_0 - Qt_3_0_0)
+ void setDragAutoScroll(bool);
+%End
+%If (Qt_3_0_0 -)
+ virtual void setDragAutoScroll(bool);
+%End
+%If (Qt_2_1_0 -)
+ bool dragAutoScroll() const;
+%End
+%End
+
+signals:
+ void contentsMoving(int,int);
+%If (Qt_3_1_0 -)
+ void horizontalSliderPressed();
+ void horizontalSliderReleased();
+ void verticalSliderPressed();
+ void verticalSliderReleased();
+%End
+
+public slots:
+ virtual void resizeContents(int,int);
+ void scrollBy(int,int);
+%If (- Qt_2_00)
+ void setContentsPos(int,int);
+%End
+%If (Qt_2_00 -)
+ virtual void setContentsPos(int,int);
+%End
+ void ensureVisible(int,int);
+ void ensureVisible(int,int,int,int);
+ void center(int,int);
+ void center(int,int,float,float);
+
+ void updateScrollBars();
+%If (Qt_2_00 -)
+ void setEnabled(bool);
+%End
+
+protected:
+%If (Qt_2_00 -)
+ virtual void drawContents(QPainter *,int,int,int,int);
+%End
+ virtual void drawContentsOffset(QPainter *,int,int,int,int,int,int);
+
+%If (Qt_2_00 -)
+ virtual void contentsMousePressEvent(QMouseEvent *);
+ virtual void contentsMouseReleaseEvent(QMouseEvent *);
+ virtual void contentsMouseDoubleClickEvent(QMouseEvent *);
+ virtual void contentsMouseMoveEvent(QMouseEvent *);
+%If (Qt_DRAGANDDROP)
+ virtual void contentsDragEnterEvent(QDragEnterEvent *);
+ virtual void contentsDragMoveEvent(QDragMoveEvent *);
+ virtual void contentsDragLeaveEvent(QDragLeaveEvent *);
+ virtual void contentsDropEvent(QDropEvent *);
+%End
+ virtual void contentsWheelEvent(QWheelEvent *);
+%End
+%If (Qt_3_0_0 -)
+ virtual void contentsContextMenuEvent(QContextMenuEvent *);
+%End
+
+ virtual void viewportPaintEvent(QPaintEvent *);
+%If (Qt_2_00 -)
+ virtual void viewportResizeEvent(QResizeEvent *);
+%End
+ virtual void viewportMousePressEvent(QMouseEvent *);
+ virtual void viewportMouseReleaseEvent(QMouseEvent *);
+ virtual void viewportMouseDoubleClickEvent(QMouseEvent *);
+ virtual void viewportMouseMoveEvent(QMouseEvent *);
+%If (Qt_2_00 -)
+%If (Qt_DRAGANDDROP)
+ virtual void viewportDragEnterEvent(QDragEnterEvent *);
+ virtual void viewportDragMoveEvent(QDragMoveEvent *);
+ virtual void viewportDragLeaveEvent(QDragLeaveEvent *);
+ virtual void viewportDropEvent(QDropEvent *);
+%End
+ virtual void viewportWheelEvent(QWheelEvent *);
+%End
+%If (Qt_3_0_0 -)
+ virtual void viewportContextMenuEvent(QContextMenuEvent *);
+%End
+
+ void frameChanged();
+
+%If (- Qt_2_00)
+ void setMargins(int,int,int,int);
+%End
+%If (Qt_2_00 -)
+ virtual void setMargins(int,int,int,int);
+%End
+ int leftMargin() const;
+ int topMargin() const;
+ int rightMargin() const;
+ int bottomMargin() const;
+
+ bool focusNextPrevChild(bool);
+
+%If (Qt_2_00 -)
+ virtual void setHBarGeometry(QScrollBar &,int,int,int,int);
+ virtual void setVBarGeometry(QScrollBar &,int,int,int,int);
+%End
+
+ void resizeEvent(QResizeEvent *);
+%If (Qt_3_0_0 -)
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseDoubleClickEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+%End
+%If (Qt_2_00 -)
+ void wheelEvent(QWheelEvent *);
+%End
+%If (Qt_3_0_0 -)
+ void contextMenuEvent(QContextMenuEvent *);
+%End
+ bool eventFilter(QObject *,QEvent *);
+
+%If (Qt_3_1_0 -)
+ void setCachedSizeHint(const QSize &) const;
+ QSize cachedSizeHint() const;
+ void fontChange(const QFont &);
+%End
+
+private:
+ QScrollView(const QScrollView &);
+
+public:
+%If (Qt_3_1_0 -)
+ void disableSizeHintCaching();
+%End
+};
diff --git a/sip/qt/qsemaphore.sip b/sip/qt/qsemaphore.sip
new file mode 100644
index 0000000..5e1ba40
--- /dev/null
+++ b/sip/qt/qsemaphore.sip
@@ -0,0 +1,112 @@
+// This is the SIP interface definition for QSemaphore.
+//
+// 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>QSemaphore (Qt v2.2+)</Title>
+<Para>
+<Literal>QSemaphore</Literal> is fully implemented. The <Literal>+=</Literal>
+and <Literal>-=</Literal> operators have also been implemented, but require
+Python v2.0 or later.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_THREAD_SUPPORT)
+
+%If (Qt_3_0_0 -)
+
+class QSemaphore
+{
+%TypeHeaderCode
+#include <qsemaphore.h>
+%End
+
+public:
+ QSemaphore(int);
+
+ int available() const;
+ int total() const;
+
+ QSemaphore &operator+=(int);
+%MethodCode
+ // Some versions of Qt v3 under Windows have a bug where the +=
+ // operator doesn't work properly (but ++ does). This way we
+ // make sure that the most common value of n (ie. 1) works
+ // properly with the buggy version.
+
+ Py_BEGIN_ALLOW_THREADS
+ if (a0 == 1)
+ (*sipCpp)++;
+ else
+ (*sipCpp) += a0;
+ Py_END_ALLOW_THREADS
+%End
+
+ QSemaphore &operator-=(int);
+%MethodCode
+ // Some versions of Qt v3 under Windows have a bug where the -=
+ // operator doesn't work properly (but -- does). This way we
+ // make sure that the most common value of n (ie. 1) works
+ // properly with the buggy version.
+
+ Py_BEGIN_ALLOW_THREADS
+ if (a0 == 1)
+ (*sipCpp)--;
+ else
+ (*sipCpp) -= a0;
+ Py_END_ALLOW_THREADS
+%End
+
+ bool tryAccess(int);
+
+private:
+ QSemaphore(const QSemaphore &);
+};
+
+%End
+
+
+%If (Qt_2_2_0 - Qt_3_0_0)
+
+class QSemaphore : Qt
+{
+%TypeHeaderCode
+#include <qthread.h>
+%End
+
+public:
+ QSemaphore(int);
+
+ int available() const;
+ int total() const;
+
+ QSemaphore &operator+=(int);
+ QSemaphore &operator-=(int);
+
+private:
+ QSemaphore(const QSemaphore &);
+};
+
+%End
+
+%End
diff --git a/sip/qt/qsemimodal.sip b/sip/qt/qsemimodal.sip
new file mode 100644
index 0000000..0efc1c8
--- /dev/null
+++ b/sip/qt/qsemimodal.sip
@@ -0,0 +1,63 @@
+// This is the SIP interface definition for QSemiModal.
+//
+// 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>QSemiModal (Qt v1, v2)</Title>
+<Para>
+<Literal>QSemiModal</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_SEMIMODAL)
+%If (- Qt_3_0_0)
+
+class QSemiModal : QWidget
+{
+%TypeHeaderCode
+#include <qsemimodal.h>
+%End
+
+public:
+ QSemiModal(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0,WFlags = 0);
+
+ void show();
+ void move(int,int);
+ void move(const QPoint &);
+ void resize(int,int);
+ void resize(const QSize &);
+%If (- Qt_2_00)
+ void setGeometry(int,int,int,int);
+ void setGeometry(const QRect &);
+%End
+%If (Qt_2_00 -)
+ virtual void setGeometry(int,int,int,int);
+ virtual void setGeometry(const QRect &);
+%End
+
+private:
+ QSemiModal(const QSemiModal &);
+};
+
+%End
+%End
diff --git a/sip/qt/qsessionmanager.sip b/sip/qt/qsessionmanager.sip
new file mode 100644
index 0000000..92ff03c
--- /dev/null
+++ b/sip/qt/qsessionmanager.sip
@@ -0,0 +1,89 @@
+// This is the SIP interface definition for QSessionManager.
+//
+// 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>QSessionManager (Qt v2+)</Title>
+<Para>
+<Literal>QSessionManager</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QSessionManager : QObject
+{
+%TypeHeaderCode
+#include <qsessionmanager.h>
+%End
+
+public:
+ QString sessionId() const;
+%If (Qt_3_1_0 -)
+ QString sessionKey() const;
+%End
+
+ bool allowsInteraction();
+ bool allowsErrorInteraction();
+ void release();
+
+ void cancel();
+
+ enum RestartHint {
+ RestartIfRunning,
+ RestartAnyway,
+ RestartImmediately,
+ RestartNever
+ };
+
+ void setRestartHint(RestartHint);
+ RestartHint restartHint() const;
+
+ void setRestartCommand(const QStringList &);
+ QStringList restartCommand() const;
+ void setDiscardCommand(const QStringList &);
+ QStringList discardCommand() const;
+
+%If (- Qt_3_0_0)
+ void setProperty(const QString &,const QString &);
+ void setProperty(const QString &,const QStringList &);
+%End
+%If (Qt_3_0_0 -)
+ void setManagerProperty(const QString &,const QString &);
+ void setManagerProperty(const QString &,const QStringList &);
+%End
+
+ bool isPhase2() const;
+ void requestPhase2();
+
+private:
+%If (Qt_3_1_0 -)
+ QSessionManager(QApplication * /TransferThis/,QString &,QString &);
+%End
+%If (- Qt_3_1_0)
+ QSessionManager(QApplication * /TransferThis/,QString &);
+%End
+ ~QSessionManager();
+};
+
+%End
diff --git a/sip/qt/qsettings.sip b/sip/qt/qsettings.sip
new file mode 100644
index 0000000..122593e
--- /dev/null
+++ b/sip/qt/qsettings.sip
@@ -0,0 +1,177 @@
+// This is the SIP interface definition for QSettings.
+//
+// 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>QSettings (Qt v3+)</Title>
+<FuncSynopsis>
+ <FuncDef>bool <Function>readBoolEntry</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>key</Parameter></ParamDef>
+ <ParamDef>bool <Parameter>def</Parameter> = 0</ParamDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>ok</Literal> is not passed and the returned value is a tuple of
+the <Literal>bool</Literal> result and the <Literal>ok</Literal> flag.
+</Para>
+
+<FuncSynopsis>
+<FuncDef>double <Function>readDoubleEntry</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>key</Parameter></ParamDef>
+ <ParamDef>double <Parameter>def</Parameter> = 0</ParamDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>ok</Literal> is not passed and the returned value is a tuple of
+the <Literal>double</Literal> result and the <Literal>ok</Literal> flag.
+</Para>
+
+<FuncSynopsis>
+<FuncDef>QString <Function>readEntry</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>key</Parameter></ParamDef>
+ <ParamDef>const QString &amp;<Parameter>def</Parameter> = QString::null</ParamDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>ok</Literal> is not passed and the returned value is a tuple of
+the <Literal>QString</Literal> result and the <Literal>ok</Literal> flag.
+</Para>
+
+<FuncSynopsis>
+<FuncDef>QStringList <Function>readListEntry</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>key</Parameter></ParamDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>ok</Literal> is not passed and the returned value is a tuple of
+the <Literal>QStringList</Literal> result and the <Literal>ok</Literal> flag.
+</Para>
+
+<FuncSynopsis>
+<FuncDef>QStringList <Function>readListEntry</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>key</Parameter></ParamDef>
+ <ParamDef>const QChar &amp;<Parameter>separator</Parameter></ParamDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>ok</Literal> is not passed and the returned value is a tuple of
+the <Literal>QStringList</Literal> result and the <Literal>ok</Literal> flag.
+</Para>
+
+<FuncSynopsis>
+<FuncDef>int <Function>readNumEntry</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>key</Parameter></ParamDef>
+ <ParamDef>int <Parameter>def</Parameter> = 0</ParamDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>ok</Literal> is not passed and the returned value is a tuple of
+the <Literal>int</Literal> result and the <Literal>ok</Literal> flag.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>writeEntry</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>key</Parameter></ParamDef>
+ <ParamDef>bool <Parameter>value</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSettings
+{
+%TypeHeaderCode
+#include <qsettings.h>
+%End
+
+public:
+%If (Qt_3_1_0 -)
+ enum Format {
+ Native,
+ Ini
+ };
+%End
+
+ enum System {
+ Unix,
+ Windows,
+ Mac
+ };
+
+%If (Qt_3_1_0 -)
+ enum Scope {
+ User,
+ Global
+ };
+%End
+
+ QSettings();
+%If (Qt_3_1_0 -)
+ QSettings(Format);
+%End
+
+// bool writeEntry(const QString &,bool);
+ bool writeEntry(const QString &,int /Constrained/);
+ bool writeEntry(const QString &,double);
+// bool writeEntry(const QString &,const char *);
+ bool writeEntry(const QString &,const QString &);
+ bool writeEntry(const QString &,const QStringList &);
+ bool writeEntry(const QString &,const QStringList &,const QChar &);
+
+ QStringList entryList(const QString &) const;
+ QStringList subkeyList(const QString &) const;
+
+ QStringList readListEntry(const QString &,bool * = 0);
+ QStringList readListEntry(const QString &,const QChar &,bool * = 0);
+ QString readEntry(const QString &,const QString & = QString::null,
+ bool * = 0);
+ int readNumEntry(const QString &,int = 0,bool * = 0);
+ double readDoubleEntry(const QString &,double = 0,bool * = 0);
+ bool readBoolEntry(const QString &,bool = 0,bool * = 0);
+
+ bool removeEntry(const QString &);
+
+ void insertSearchPath(System,const QString &);
+ void removeSearchPath(System,const QString &);
+
+%If (Qt_3_1_0 -)
+ void setPath(const QString &,const QString &,Scope = Global);
+
+ void beginGroup(const QString &);
+ void endGroup();
+ void resetGroup();
+ QString group() const;
+%End
+
+%If (Qt_3_2_0 -)
+ bool sync();
+%End
+
+private:
+ QSettings(const QSettings &);
+};
+
+%End
diff --git a/sip/qt/qsgistyle.sip b/sip/qt/qsgistyle.sip
new file mode 100644
index 0000000..c2563ea
--- /dev/null
+++ b/sip/qt/qsgistyle.sip
@@ -0,0 +1,157 @@
+// This is the SIP interface definition for QSGIStyle.
+//
+// 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>QSGIStyle (Qt v2.2+)</Title>
+<FuncSynopsis>
+ <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef>
+ <ParamDef>const QScrollBar *<Parameter>sb</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>sliderMin</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>sliderMax</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>sliderLength</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>buttonDim</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>sb</Literal> parameter and returns a tuple of the
+<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>,
+<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values.
+(Qt v2)
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_STYLE_SGI)
+%If (Qt_2_2_0 -)
+
+class QSGIStyle : QMotifStyle
+{
+%TypeHeaderCode
+#include <qsgistyle.h>
+%End
+
+public:
+ QSGIStyle(bool = 0);
+
+ void polish(QWidget *);
+ void unPolish(QWidget *);
+ void polish(QApplication *);
+ void unPolish(QApplication *);
+
+%If (- Qt_3_0_0)
+ void polish(QPalette &);
+
+ int defaultFrameWidth() const;
+
+ void drawPanel(QPainter *,int,int,int,int,const QColorGroup &,bool = 0,
+ int = 1,const QBrush * = 0);
+ void drawSeparator(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 1,int = 1,int = 0);
+ void drawButton(QPainter *,int,int,int,int,const QColorGroup &,bool = 0,
+ const QBrush * = 0);
+ void drawBevelButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,const QBrush * = 0);
+ void drawPushButton(QPushButton *,QPainter *);
+ void drawArrow(QPainter *,ArrowType,bool,int,int,int,int,
+ const QColorGroup &,bool,const QBrush * = 0);
+
+ QSize indicatorSize() const;
+ void drawIndicator(QPainter *,int,int,int,int,const QColorGroup &,int,
+ bool = 0,bool = 1);
+ void drawCheckMark(QPainter *,int,int,int,int,const QColorGroup &,
+ bool,bool);
+ void drawIndicatorMask(QPainter *,int,int,int,int,int);
+
+ QSize exclusiveIndicatorSize() const;
+ void drawExclusiveIndicator(QPainter *,int,int,int,int,
+ const QColorGroup &,bool,bool = 0,bool = 1);
+ void drawExclusiveIndicatorMask(QPainter *,int,int,int,int,bool);
+
+ void drawComboButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,bool = 0,bool = 1,const QBrush * = 0);
+ QRect comboButtonRect(int,int,int,int);
+ QRect comboButtonFocusRect(int,int,int,int);
+
+ void scrollBarMetrics(const QScrollBar *,int &,int &,int &,int &);
+
+ void drawScrollBarControls(QPainter *,const QScrollBar *,int,uint,uint);
+
+ void drawSlider(QPainter *,int,int,int,int,const QColorGroup &,
+ Orientation,bool,bool);
+ void drawSliderMask(QPainter *,int,int,int,int,Orientation,bool,bool);
+ void drawSliderGroove(QPainter *,int,int,int,int,const QColorGroup &,
+ QCOORD,Orientation);
+ void drawSliderGrooveMask(QPainter *,int,int,int,int,QCOORD,
+ Orientation);
+
+ void drawTab(QPainter *,const QTabBar *,QTab *,bool);
+ void drawTabMask(QPainter *,const QTabBar *,QTab *,bool);
+
+ int splitterWidth() const;
+ void drawSplitter(QPainter *,int,int,int,int,const QColorGroup &,
+ Orientation);
+
+ int popupMenuItemHeight(bool,QMenuItem *,const QFontMetrics &);
+ void drawPopupPanel(QPainter *,int,int,int,int,const QColorGroup &,
+ int = 2,const QBrush * = 0);
+ void drawPopupMenuItem(QPainter *,bool,int,int,QMenuItem *,
+ const QPalette &,bool,bool,int,int,int,int);
+ void drawMenuBarItem(QPainter *,int,int,int,int,QMenuItem *,
+ QColorGroup &,bool,bool);
+%End
+%If (Qt_3_0_0 -)
+ void drawPrimitive(PrimitiveElement,QPainter *,const QRect &,
+ const QColorGroup &,SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const;
+
+ void drawControl(ControlElement,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const;
+
+ void drawComplexControl(ComplexControl,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,SCFlags = SC_All,
+ SCFlags = SC_None,
+ const QStyleOption & = QStyleOption()) const;
+
+ int pixelMetric(PixelMetric,const QWidget * = 0) const;
+
+ QSize sizeFromContents(ContentsType,const QWidget *,const QSize &,
+ const QStyleOption & = QStyleOption()) const;
+
+ QRect subRect(SubRect,const QWidget *) const;
+
+ QRect querySubControlMetrics(ComplexControl,const QWidget *,
+ SubControl,
+ const QStyleOption & = QStyleOption()) const;
+%End
+
+protected:
+ bool eventFilter(QObject *,QEvent *);
+
+private:
+ QSGIStyle(const QSGIStyle &);
+};
+
+%End
+%End
diff --git a/sip/qt/qsignalmapper.sip b/sip/qt/qsignalmapper.sip
new file mode 100644
index 0000000..d587723
--- /dev/null
+++ b/sip/qt/qsignalmapper.sip
@@ -0,0 +1,51 @@
+// This is the SIP interface definition for QSignalMapper
+//
+// 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>QSignalMapper</Title>
+<Para>
+<Literal>QSignalMapper</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QSignalMapper : QObject
+{
+%TypeHeaderCode
+#include <qsignalmapper.h>
+%End
+
+public:
+ QSignalMapper(QObject * /TransferThis/,const char * = 0);
+
+ virtual void setMapping(const QObject *,int);
+ virtual void setMapping(const QObject *,const QString &);
+ void removeMappings(const QObject *);
+
+signals:
+ void mapped(int);
+ void mapped(const QString &);
+
+public slots:
+ void map();
+};
diff --git a/sip/qt/qsimplerichtext.sip b/sip/qt/qsimplerichtext.sip
new file mode 100644
index 0000000..7b189c3
--- /dev/null
+++ b/sip/qt/qsimplerichtext.sip
@@ -0,0 +1,91 @@
+// This is the SIP interface definition for QSimpleRichText.
+//
+// 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>QSimpleRichText (Qt v2+)</Title>
+<Para>
+<Literal>QSimpleRichText</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QSimpleRichText
+{
+%TypeHeaderCode
+#include <qsimplerichtext.h>
+%End
+
+public:
+ QSimpleRichText(const QString &,const QFont &,
+ const QString & = QString::null,
+ const QStyleSheet * = 0);
+%If (Qt_2_1_0 -)
+ QSimpleRichText(const QString &,const QFont &,const QString &,
+ const QStyleSheet *,const QMimeSourceFactory *,
+ int = -1,const QColor & = Qt::blue,bool = 1);
+%End
+
+%If (Qt_2_1_0 -)
+ void setWidth(int);
+%End
+ void setWidth(QPainter *,int);
+%If (Qt_3_0_0 -)
+ void setDefaultFont(const QFont &);
+%End
+ int width() const;
+ int widthUsed() const;
+ int height() const;
+%If (Qt_2_1_0 -)
+ void adjustSize();
+%End
+
+%If (- Qt_3_0_0)
+ void draw(QPainter *,int,int,const QRegion &,const QPalette &,
+ const QBrush * = 0) const;
+ void draw(QPainter *,int,int,const QRegion &,const QColorGroup &,
+ const QBrush * = 0) const;
+%End
+%If (Qt_3_0_0 -)
+ void draw(QPainter *,int,int,const QRect &,const QColorGroup &,
+ const QBrush * = 0) const;
+%End
+
+ QString context() const;
+%If (- Qt_3_0_0)
+ QString anchor(QPainter *,const QPoint &);
+%End
+%If (Qt_2_1_0 -)
+ QString anchorAt(const QPoint &) const;
+
+ bool inText(const QPoint &) const;
+%End
+
+private:
+%If (Qt_3_0_0 -)
+ QSimpleRichText(const QSimpleRichText &);
+%End
+};
+
+%End
diff --git a/sip/qt/qsize.sip b/sip/qt/qsize.sip
new file mode 100644
index 0000000..d802413
--- /dev/null
+++ b/sip/qt/qsize.sip
@@ -0,0 +1,112 @@
+// This is the SIP interface definition for QSize.
+//
+// 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>QSize</Title>
+<Para>
+The Python
+<Literal>+</Literal>, <Literal>+=</Literal>,
+<Literal>-</Literal>, <Literal>-=</Literal>,
+<Literal>*</Literal>, <Literal>*=</Literal>,
+<Literal>/</Literal>, <Literal>/=</Literal>,
+<Literal>==</Literal>, <Literal>!=</Literal> and <Literal>__nonzero__</Literal>
+operators are supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QCOORD &amp;<Function>rheight</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QCOORD &amp;<Function>rwidth</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QSize
+{
+%TypeHeaderCode
+#include <qsize.h>
+%End
+
+public:
+%If (Qt_3_1_0 -)
+ enum ScaleMode {
+ ScaleFree,
+ ScaleMin,
+ ScaleMax
+ };
+%End
+
+ QSize();
+ QSize(int,int);
+
+ bool isNull() const;
+ bool isEmpty() const;
+ bool isValid() const;
+
+ int width() const;
+ int height() const;
+ void setWidth(int);
+ void setHeight(int);
+ void transpose();
+
+%If (Qt_3_1_0 -)
+ void scale(int,int,ScaleMode);
+ void scale(const QSize &,ScaleMode);
+%End
+
+ QSize expandedTo(const QSize &) const;
+ QSize boundedTo(const QSize &) const;
+// QCOORD &rwidth();
+// QCOORD &rheight();
+
+ QSize &operator+=(const QSize &);
+ QSize &operator-=(const QSize &);
+ QSize &operator*=(int /Constrained/);
+ QSize &operator*=(double);
+ QSize &operator/=(int /Constrained/);
+ QSize &operator/=(double);
+
+ int __nonzero__() const;
+%MethodCode
+ sipRes = sipCpp -> isValid();
+%End
+};
+
+bool operator==(const QSize &,const QSize &);
+bool operator!=(const QSize &,const QSize &);
+const QSize operator+(const QSize &,const QSize &);
+const QSize operator-(const QSize &,const QSize &);
+const QSize operator*(const QSize &,int /Constrained/);
+const QSize operator*(const QSize &,double);
+const QSize operator/(const QSize &,int /Constrained/);
+const QSize operator/(const QSize &,double);
diff --git a/sip/qt/qsizegrip.sip b/sip/qt/qsizegrip.sip
new file mode 100644
index 0000000..af21e94
--- /dev/null
+++ b/sip/qt/qsizegrip.sip
@@ -0,0 +1,60 @@
+// This is the SIP interface definition for QSizeGrip.
+//
+// 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>QSizeGrip (Qt v2+)</Title>
+<Para>
+<Literal>QSizeGrip</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+%If (Qt_SIZEGRIP)
+
+class QSizeGrip : QWidget
+{
+%TypeHeaderCode
+#include <qsizegrip.h>
+%End
+
+public:
+ QSizeGrip(QWidget * /TransferThis/,const char * = 0);
+
+ QSize sizeHint() const;
+%If (- Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+
+protected:
+ void paintEvent(QPaintEvent *);
+ void mousePressEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+
+%If (Qt_3_0_0 -)
+ bool eventFilter(QObject *,QEvent *);
+%End
+};
+
+%End
+%End
diff --git a/sip/qt/qsizepolicy.sip b/sip/qt/qsizepolicy.sip
new file mode 100644
index 0000000..c26b54a
--- /dev/null
+++ b/sip/qt/qsizepolicy.sip
@@ -0,0 +1,103 @@
+// This is the SIP interface definition for QSizePolicy.
+//
+// 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>QSizePolicy (Qt v2+)</Title>
+<Para>
+<Literal>QSizePolicy</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QSizePolicy
+{
+%TypeHeaderCode
+#include <qsizepolicy.h>
+%End
+
+public:
+ enum SizeType
+ {
+ Fixed,
+ Minimum,
+ Maximum,
+ Preferred,
+ MinimumExpanding,
+ Expanding,
+%If (Qt_3_0_0 -)
+ Ignored
+%End
+ };
+
+ enum ExpandData
+ {
+ NoDirection,
+%If (Qt_3_0_0 -)
+ Horizontally,
+ Vertically,
+%End
+%If (- Qt_3_0_0)
+ Horizontal,
+ Vertical,
+%End
+ BothDirections
+ };
+
+ QSizePolicy();
+ QSizePolicy(SizeType,SizeType,bool = 0);
+%If (Qt_3_0_0 -)
+ // Note that Qt defines the 2nd and 3rd parameters as uchar, but it's
+ // really using them as numbers, not characters.
+ QSizePolicy(SizeType,SizeType,uint,uint,bool = 0);
+%End
+
+ SizeType horData() const;
+ SizeType verData() const;
+
+ bool mayShrinkHorizontally() const;
+ bool mayShrinkVertically() const;
+ bool mayGrowHorizontally() const;
+ bool mayGrowVertically() const;
+
+ ExpandData expanding() const;
+
+ void setHorData(SizeType);
+ void setVerData(SizeType);
+
+ void setHeightForWidth(bool);
+ bool hasHeightForWidth() const;
+
+%If (Qt_3_0_0 -)
+ uint horStretch() const;
+ uint verStretch() const;
+ void setHorStretch(uint);
+ void setVerStretch(uint);
+%End
+%If (Qt_3_1_0 -)
+ void transpose();
+%End
+};
+
+%End
diff --git a/sip/qt/qslider.sip b/sip/qt/qslider.sip
new file mode 100644
index 0000000..9560216
--- /dev/null
+++ b/sip/qt/qslider.sip
@@ -0,0 +1,187 @@
+// This is the SIP interface definition for QSlider.
+//
+// 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>QSlider</Title>
+<Para>
+<Literal>QSlider</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QSlider : QWidget, QRangeControl
+{
+%TypeHeaderCode
+#include <qslider.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ enum Orientation {
+ Horizontal,
+ Vertical
+ };
+%End
+
+ enum TickSetting {
+ NoMarks = 0,
+ Above = 1,
+ Left = Above,
+ Below = 2,
+ Right = Below,
+ Both = 3
+ };
+
+%If (- Qt_2_00)
+ QSlider(QWidget * /TransferThis/ = 0,const char * = 0);
+ QSlider(Orientation,QWidget * /TransferThis/ = 0,const char * = 0);
+ QSlider(int,int,int,int,Orientation,QWidget * /TransferThis/ = 0,const char * = 0);
+%End
+%If (Qt_2_00 -)
+ QSlider(QWidget * /TransferThis/,const char * = 0);
+ QSlider(Orientation,QWidget * /TransferThis/,const char * = 0);
+ QSlider(int,int,int,int,Orientation,QWidget * /TransferThis/,const char * = 0);
+%End
+
+%If (- Qt_2_00)
+ void setOrientation(Orientation);
+%End
+%If (Qt_2_00 -)
+ virtual void setOrientation(Orientation);
+%End
+ Orientation orientation() const;
+%If (- Qt_2_00)
+ void setTracking(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setTracking(bool);
+%End
+ bool tracking() const;
+%If (- Qt_2_00)
+ void setPalette(const QPalette &);
+%End
+%If (Qt_2_00 -)
+ virtual void setPalette(const QPalette &);
+%End
+
+%If (Qt_3_0_0 -)
+ int sliderStart() const;
+%End
+ QRect sliderRect() const;
+ QSize sizeHint() const;
+%If (Qt_3_1_0 -)
+ void setSizePolicy(QSizePolicy);
+%End
+%If (Qt_3_2_0 -)
+ void setSizePolicy(QSizePolicy::SizeType,QSizePolicy::SizeType,
+ bool = 0);
+%End
+%If (Qt_2_00 -)
+ QSizePolicy sizePolicy() const;
+ QSize minimumSizeHint() const;
+%End
+
+ virtual void setTickmarks(TickSetting);
+ TickSetting tickmarks() const;
+
+ virtual void setTickInterval(int);
+ int tickInterval() const;
+
+%If (Qt_2_1_0 -)
+ int minValue() const;
+ int maxValue() const;
+ void setMinValue(int);
+ void setMaxValue(int);
+ int lineStep() const;
+ int pageStep() const;
+ void setLineStep(int);
+ void setPageStep(int);
+ int value() const;
+%End
+
+public slots:
+%If (- Qt_2_00)
+ void setValue(int);
+%End
+%If (Qt_2_00 -)
+ virtual void setValue(int);
+%End
+ void addStep();
+ void subtractStep();
+%If (Qt_3_1_0 -)
+ void addLine();
+ void subtractLine();
+%End
+
+signals:
+ void valueChanged(int);
+ void sliderPressed();
+ void sliderMoved(int);
+ void sliderReleased();
+
+protected:
+ void resizeEvent(QResizeEvent *);
+ void paintEvent(QPaintEvent *);
+
+ void keyPressEvent(QKeyEvent *);
+ void mousePressEvent(QMouseEvent *);
+ void mouseReleaseEvent(QMouseEvent *);
+ void mouseMoveEvent(QMouseEvent *);
+%If (Qt_2_00 -)
+ void wheelEvent(QWheelEvent *);
+%End
+ void focusInEvent(QFocusEvent *);
+%If (Qt_2_00 -)
+ void focusOutEvent(QFocusEvent *);
+%End
+
+%If (Qt_2_00 -)
+ void styleChange(QStyle &);
+%End
+
+ void valueChange();
+ void rangeChange();
+
+%If (- Qt_3_0_0)
+ void drawWinGroove(QPainter *,QCOORD);
+ void drawTicks(QPainter *,int,int,int = 1) const;
+ virtual int thickness() const;
+%End
+
+%If (- Qt_2_00)
+ virtual void paintSlider(QPainter *,const QRect &);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ void updateMask();
+ virtual void paintSlider(QPainter *,const QColorGroup &,const QRect &);
+ void drawTicks(QPainter *,const QColorGroup &,int,int,int = 1) const;
+%End
+
+private:
+%If (Qt_2_00 -)
+ int positionFromValue(int) const;
+ int valueFromPosition(int) const;
+%End
+
+ QSlider(const QSlider &);
+};
diff --git a/sip/qt/qsocketnotifier.sip b/sip/qt/qsocketnotifier.sip
new file mode 100644
index 0000000..1f1527a
--- /dev/null
+++ b/sip/qt/qsocketnotifier.sip
@@ -0,0 +1,66 @@
+// This is the SIP interface definition for QSocketNotifier.
+//
+// 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>QSocketNotifier</Title>
+<Para>
+<Literal>QSocketNotifier</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QSocketNotifier : QObject
+{
+%TypeHeaderCode
+#include <qsocketnotifier.h>
+%End
+
+public:
+ enum Type {
+ Read,
+ Write,
+ Exception
+ };
+
+ QSocketNotifier(int,Type,QObject * /TransferThis/ = 0,const char * = 0);
+
+ int socket() const;
+ Type type() const;
+
+ bool isEnabled() const;
+%If (- Qt_2_00)
+ void setEnabled(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setEnabled(bool);
+%End
+
+signals:
+ void activated(int);
+
+protected:
+ bool event(QEvent *);
+
+private:
+ QSocketNotifier(const QSocketNotifier &);
+};
diff --git a/sip/qt/qsound.sip b/sip/qt/qsound.sip
new file mode 100644
index 0000000..8cdbb1b
--- /dev/null
+++ b/sip/qt/qsound.sip
@@ -0,0 +1,69 @@
+// This is the SIP interface definition for QSound.
+//
+// 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>QSound (Qt v2.2+)</Title>
+<Para>
+<Literal>QSound</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_SOUND)
+%If (Qt_2_2_0 -)
+
+class QSound : QObject
+{
+%TypeHeaderCode
+#include <qsound.h>
+%End
+
+public:
+ QSound(const QString &,QObject * /TransferThis/ = 0,const char * = 0);
+
+%If (- Qt_3_0_0)
+ static bool available();
+%End
+%If (Qt_3_0_0 -)
+ static bool isAvailable();
+%End
+ static void play(const QString &);
+
+%If (Qt_3_0_0 -)
+ int loops() const;
+ int loopsRemaining() const;
+ void setLoops(int);
+ QString fileName() const;
+
+ bool isFinished() const;
+%End
+
+public slots:
+ void play();
+%If (Qt_3_0_0 -)
+ void stop();
+%End
+};
+
+%End
+%End
diff --git a/sip/qt/qspinbox.sip b/sip/qt/qspinbox.sip
new file mode 100644
index 0000000..fad9621
--- /dev/null
+++ b/sip/qt/qspinbox.sip
@@ -0,0 +1,268 @@
+// This is the SIP interface definition for QSpinBox.
+//
+// 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>QSpinBox</Title>
+<FuncSynopsis>
+ <FuncDef>virtual int <Function>mapTextToValue</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>int</Literal> result and the modified
+<Literal>ok</Literal> value.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSpinBox : QWidget, QRangeControl
+{
+%TypeHeaderCode
+#include <qspinbox.h>
+%End
+
+public:
+ QSpinBox(QWidget * /TransferThis/ = 0,const char * = 0);
+ QSpinBox(int,int,int = 1,QWidget * /TransferThis/ = 0,const char * = 0);
+
+ QString text() const;
+
+ virtual QString prefix() const;
+ virtual QString suffix() const;
+ virtual QString cleanText() const;
+
+ virtual void setSpecialValueText(const QString &);
+ QString specialValueText() const;
+
+ virtual void setWrapping(bool);
+ bool wrapping() const;
+
+ enum ButtonSymbols {
+ UpDownArrows,
+ PlusMinus
+ };
+
+ virtual void setButtonSymbols(ButtonSymbols);
+ ButtonSymbols buttonSymbols() const;
+
+ virtual void setValidator(const QValidator *);
+ const QValidator *validator() const;
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ int minValue() const;
+ int maxValue() const;
+ void setMinValue(int);
+ void setMaxValue(int);
+ int lineStep() const;
+ void setLineStep(int);
+ int value() const;
+
+ QRect upRect() const;
+ QRect downRect() const;
+
+public slots:
+ virtual void setValue(int);
+ virtual void setPrefix(const QString &);
+ virtual void setSuffix(const QString &);
+ virtual void stepUp();
+ virtual void stepDown();
+ virtual void setEnabled(bool);
+ virtual void selectAll();
+
+signals:
+ void valueChanged(int);
+ void valueChanged(const QString &);
+
+protected:
+ virtual QString mapValueToText(int);
+ virtual int mapTextToValue(bool *);
+ QString currentValueText();
+
+ virtual void updateDisplay();
+ virtual void interpretText();
+
+ QLineEdit *editor() const;
+
+ virtual void valueChange();
+ virtual void rangeChange();
+
+ bool eventFilter(QObject *,QEvent *);
+ void resizeEvent(QResizeEvent *);
+ void wheelEvent(QWheelEvent *);
+ void leaveEvent(QEvent *);
+
+ void styleChange(QStyle &);
+
+protected slots:
+ void textChanged();
+
+private:
+ QSpinBox(const QSpinBox &);
+};
+
+%End
+
+
+%If (- Qt_3_0_0)
+
+class QSpinBox : QFrame, QRangeControl
+{
+%TypeHeaderCode
+#include <qspinbox.h>
+%End
+
+public:
+ QSpinBox(QWidget * /TransferThis/ = 0,const char * = 0);
+ QSpinBox(int,int,int = 1,QWidget * /TransferThis/ = 0,const char * = 0);
+
+%If (- Qt_2_00)
+ const char *text() const;
+
+ virtual const char *prefix() const;
+ virtual const char *suffix() const;
+%End
+%If (Qt_2_00 -)
+ QString text() const;
+
+ virtual QString prefix() const;
+ virtual QString suffix() const;
+%End
+ virtual QString cleanText() const;
+
+%If (- Qt_2_00)
+ void setSpecialValueText(const char *);
+ const char *specialValueText() const;
+
+ void setWrapping(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setSpecialValueText(const QString &);
+ QString specialValueText() const;
+
+ virtual void setWrapping(bool);
+%End
+ bool wrapping() const;
+
+%If (Qt_2_1_0 -)
+ enum ButtonSymbols {
+ UpDownArrows,
+ PlusMinus
+ };
+%End
+
+%If (Qt_2_1_0 -)
+ void setButtonSymbols(ButtonSymbols);
+ ButtonSymbols buttonSymbols() const;
+%End
+
+%If (- Qt_2_00)
+ void setValidator(QValidator *);
+%End
+%If (Qt_2_00 -)
+ virtual void setValidator(const QValidator *);
+ const QValidator *validator() const;
+%End
+
+ QSize sizeHint() const;
+%If (Qt_2_00 -)
+ QSizePolicy sizePolicy() const;
+%End
+
+%If (Qt_2_1_0 -)
+ int minValue() const;
+ int maxValue() const;
+ void setMinValue(int);
+ void setMaxValue(int);
+ int lineStep() const;
+ void setLineStep(int);
+ int value() const;
+%End
+
+public slots:
+ virtual void setValue(int);
+%If (- Qt_2_00)
+ virtual void setPrefix(const char *);
+ virtual void setSuffix(const char *);
+%End
+%If (Qt_2_00 -)
+ virtual void setPrefix(const QString &);
+ virtual void setSuffix(const QString &);
+%End
+ virtual void stepUp();
+ virtual void stepDown();
+%If (Qt_2_00 -)
+ virtual void setEnabled(bool);
+%End
+
+signals:
+ void valueChanged(int);
+%If (- Qt_2_00)
+ void valueChanged(const char *);
+%End
+%If (Qt_2_00 -)
+ void valueChanged(const QString &);
+%End
+
+protected:
+ virtual QString mapValueToText(int);
+ virtual int mapTextToValue(bool *);
+ QString currentValueText();
+
+ virtual void updateDisplay();
+ virtual void interpretText();
+
+ QPushButton *upButton() const;
+ QPushButton *downButton() const;
+
+ QLineEdit *editor() const;
+
+ virtual void valueChange();
+ virtual void rangeChange();
+
+ bool eventFilter(QObject *,QEvent *);
+ void resizeEvent(QResizeEvent *);
+%If (- Qt_2_00)
+ void paletteChange(const QPalette &);
+ void enabledChange(bool);
+ void fontChange(const QFont &);
+ void styleChange(GUIStyle);
+%End
+%If (Qt_2_00 -)
+ void wheelEvent(QWheelEvent *);
+ void styleChange(QStyle &);
+%End
+%If (Qt_2_1_0 -)
+ void leaveEvent(QEvent *);
+%End
+
+protected slots:
+ void textChanged();
+
+private:
+ QSpinBox(const QSpinBox &);
+};
+
+%End
diff --git a/sip/qt/qsplashscreen.sip b/sip/qt/qsplashscreen.sip
new file mode 100644
index 0000000..8277f11
--- /dev/null
+++ b/sip/qt/qsplashscreen.sip
@@ -0,0 +1,61 @@
+// This is the SIP interface definition for QSplashScreen.
+//
+// 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>QSplashScreen (Qt v3.2.0+)</Title>
+<Para>
+<Literal>QSplashScreen</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_2_0 -)
+
+class QSplashScreen : QWidget
+{
+%TypeHeaderCode
+#include <qsplashscreen.h>
+%End
+
+public:
+ QSplashScreen(const QPixmap & = QPixmap(),WFlags = 0);
+ virtual ~QSplashScreen();
+
+ void setPixmap(const QPixmap &);
+ QPixmap *pixmap() const;
+ void finish(QWidget *);
+ void repaint();
+
+public slots:
+ void message(const QString &,int = AlignLeft,const QColor & = Qt::black);
+ void clear();
+
+signals:
+ void messageChanged(const QString &);
+
+protected:
+ virtual void drawContents(QPainter *);
+ void mousePressEvent(QMouseEvent *);
+};
+
+%End
diff --git a/sip/qt/qsplitter.sip b/sip/qt/qsplitter.sip
new file mode 100644
index 0000000..167f8fc
--- /dev/null
+++ b/sip/qt/qsplitter.sip
@@ -0,0 +1,160 @@
+// This is the SIP interface definition for QSplitter.
+//
+// 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>QSplitter</Title>
+<FuncSynopsis>
+ <FuncDef>void <Function>getRange</Function></FuncDef>
+ <ParamDef>int <Parameter>id</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>min</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>max</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>id</Literal> parameter and returns the
+<Literal>min</Literal> and <Literal>max</Literal> values as a tuple. (Qt v2+)
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_SPLITTER)
+
+class QSplitter : QFrame
+{
+%TypeHeaderCode
+#include <qsplitter.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ enum Orientation {
+ Horizontal,
+ Vertical
+ };
+%End
+
+ enum ResizeMode {
+ Stretch,
+ KeepSize,
+%If (Qt_2_1_0 -)
+ FollowSizeHint,
+%End
+%If (Qt_3_1_0 -)
+ Auto
+%End
+ };
+
+ QSplitter(QWidget * /TransferThis/ = 0,const char * = 0);
+ QSplitter(Orientation,QWidget * /TransferThis/ = 0,const char * = 0);
+
+%If (- Qt_2_00)
+ void setOrientation(Orientation);
+%End
+%If (Qt_2_00 -)
+ virtual void setOrientation(Orientation);
+%End
+ Orientation orientation() const;
+
+%If (Qt_3_2_0 -)
+ void setChildrenCollapsible(bool);
+ bool childrenCollapsible() const;
+
+ void setCollapsible(QWidget *,bool);
+%End
+
+%If (- Qt_2_00)
+ void setResizeMode(QWidget *,ResizeMode);
+ void setOpaqueResize(bool = 1);
+%End
+%If (Qt_2_00 -)
+ virtual void setResizeMode(QWidget *,ResizeMode);
+ virtual void setOpaqueResize(bool = 1);
+%End
+ bool opaqueResize() const;
+
+ void moveToFirst(QWidget *);
+ void moveToLast(QWidget *);
+
+ void refresh();
+%If (Qt_2_00 -)
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+
+%If (Qt_2_00 -)
+ QValueList<int> sizes() const;
+ void setSizes(QValueList<int>);
+%End
+
+%If (Qt_3_2_0 -)
+ int handleWidth() const;
+ void setHandleWidth(int);
+%End
+
+%If (- Qt_2_00)
+ bool event(QEvent *);
+%End
+
+protected:
+%If (Qt_2_00 -)
+ void childEvent(QChildEvent *);
+
+ bool event(QEvent *);
+%End
+ void resizeEvent(QResizeEvent *);
+
+%If (- Qt_2_00)
+ void childInsertEvent(QChildEvent *);
+ void childRemoveEvent(QChildEvent *);
+ void layoutHintEvent(QEvent *);
+
+ void moveSplitter(QCOORD);
+%End
+%If (Qt_2_00 -)
+ int idAfter(QWidget *) const;
+
+ void moveSplitter(QCOORD,int);
+%End
+ virtual void drawSplitter(QPainter *,QCOORD,QCOORD,QCOORD,QCOORD);
+%If (Qt_2_1_0 -)
+ void styleChange(QStyle &);
+%End
+%If (- Qt_2_00)
+ int adjustPos(int);
+ void setRubberband(int);
+%End
+%If (Qt_2_00 -)
+ int adjustPos(int,int);
+ virtual void setRubberband(int);
+ void getRange(int,int *,int *);
+%End
+
+private:
+%If (Qt_2_1_0 -)
+ QSplitter(const QSplitter &);
+%End
+};
+
+%End
diff --git a/sip/qt/qstatusbar.sip b/sip/qt/qstatusbar.sip
new file mode 100644
index 0000000..4e1f704
--- /dev/null
+++ b/sip/qt/qstatusbar.sip
@@ -0,0 +1,94 @@
+// This is the SIP interface definition for QStatusBar.
+//
+// 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>QStatusBar</Title>
+<Para>
+<Literal>QStatusBar</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QStatusBar : QWidget
+{
+%TypeHeaderCode
+#include <qstatusbar.h>
+%End
+
+public:
+ QStatusBar(QWidget * /TransferThis/ = 0,const char * = 0);
+
+%If (- Qt_2_1_0)
+ void addWidget(QWidget * /Transfer/,int,bool = 0);
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ void addWidget(QWidget * /Transfer/,int = 0,bool = 0);
+%End
+%If (Qt_3_0_0 -)
+ virtual void addWidget(QWidget * /Transfer/,int = 0,bool = 0);
+%End
+%If (- Qt_3_0_0)
+ void removeWidget(QWidget * /TransferBack/);
+%End
+%If (Qt_3_0_0 -)
+ virtual void removeWidget(QWidget * /TransferBack/);
+%End
+
+%If (Qt_2_1_0 -)
+ void setSizeGripEnabled(bool);
+ bool isSizeGripEnabled() const;
+%End
+
+public slots:
+%If (- Qt_2_00)
+ void message(const char *);
+ void message(const char *,int);
+%End
+%If (Qt_2_00 -)
+ void message(const QString &);
+ void message(const QString &,int);
+%End
+ void clear();
+
+signals:
+%If (Qt_3_1_0 -)
+ void messageChanged(const QString &);
+%End
+
+protected:
+ void paintEvent(QPaintEvent *);
+%If (Qt_2_1_0 -)
+ void resizeEvent(QResizeEvent *);
+%End
+
+ void reformat();
+ void hideOrShow();
+%If (Qt_2_1_0 -)
+ bool event(QEvent *);
+%End
+
+private:
+%If (Qt_2_1_0 -)
+ QStatusBar(const QStatusBar &);
+%End
+};
diff --git a/sip/qt/qstring.sip b/sip/qt/qstring.sip
new file mode 100644
index 0000000..f0097f4
--- /dev/null
+++ b/sip/qt/qstring.sip
@@ -0,0 +1,1079 @@
+// This is the SIP interface definition for QChar and QString.
+//
+// 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>QChar (Qt v2+)</Title>
+<FuncSynopsis>
+ <FuncDef>uchar &<Function>cell</Function> const</FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>uchar &<Function>row</Function> const</FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QString</Title>
+<Para>
+A Python string object (or Unicode object) can be used whenever a
+<Literal>QString</Literal> can be used. A <Literal>QString</Literal> can be
+converted to a Python string object using the Python <Literal>str()</Literal>
+function, and to a Python Unicode object using the Python
+<Literal>unicode()</Literal> function.
+</Para>
+
+<Para>
+The Python <Literal>+</Literal>, <Literal>+=</Literal>, <Literal>*</Literal>,
+<Literal>*=</Literal>, <Literal>len</Literal>, <Literal>[]</Literal>
+(for reading slices and individual characters), <Literal>in</Literal> and
+comparison operators are supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QCharRef <Function>at</Function></FuncDef>
+ <ParamDef>uint <Parameter>i</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented. (Qt v2+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QChar <Function>constref</Function> const</FuncDef>
+ <ParamDef>uint <Parameter>i</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented. (Qt v2+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QChar &<Function>ref</Function></FuncDef>
+ <ParamDef>uint <Parameter>i</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented. (Qt v2+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QString &<Function>setUnicodeCodes</Function></FuncDef>
+ <ParamDef>const ushort *<Parameter>unicode_as_shorts</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>len</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented. (Qt v2.1+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QString &<Function>sprintf</Function></FuncDef>
+ <ParamDef>const char *<Parameter>format</Parameter></ParamDef>
+ <ParamDef>...</ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>short <Function>toShort</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>short</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>ushort <Function>toUShort</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>ushort</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int <Function>toInt</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>int</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>uint <Function>toUInt</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>uint</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>long <Function>toLong</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>long</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>ulong <Function>toULong</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>ulong</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>float <Function>toFloat</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>float</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>double <Function>toDouble</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>double</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QChar
+{
+%TypeHeaderCode
+#include <qstring.h>
+%End
+
+public:
+ QChar();
+ QChar(char);
+// QChar(uchar);
+ QChar(uchar,uchar);
+ QChar(const QChar &);
+// QChar(ushort);
+// QChar(short);
+// QChar(uint);
+ QChar(int);
+
+ static const QChar null;
+ static const QChar replacement;
+ static const QChar byteOrderMark;
+ static const QChar byteOrderSwapped;
+%If (Qt_2_2_0 -)
+ static const QChar nbsp;
+%End
+
+%If (- Qt_3_0_0)
+ enum Category {
+ NoCategory,
+
+ Mark_NonSpacing,
+ Mark_SpacingCombining,
+ Mark_Enclosing,
+
+ Number_DecimalDigit,
+ Number_Letter,
+ Number_Other,
+
+ Separator_Space,
+ Separator_Line,
+ Separator_Paragraph,
+
+ Other_Control,
+ Other_Format,
+ Other_Surrogate,
+ Other_PrivateUse,
+ Other_NotAssigned,
+
+ Letter_Uppercase,
+ Letter_Lowercase,
+ Letter_Titlecase,
+ Letter_Modifier,
+ Letter_Other,
+
+ Punctuation_Connector,
+ Punctuation_Dask,
+ Punctuation_Open,
+ Punctuation_Close,
+ Punctuation_InitialQuote,
+ Punctuation_FinalQuote,
+ Punctuation_Other,
+
+ Symbol_Math,
+ Symbol_Currency,
+ Symbol_Modifier,
+ Symbol_Other
+ };
+%End
+%If (Qt_3_0_0 -)
+ enum Category {
+ NoCategory,
+
+ Mark_NonSpacing,
+ Mark_SpacingCombining,
+ Mark_Enclosing,
+
+ Number_DecimalDigit,
+ Number_Letter,
+ Number_Other,
+
+ Separator_Space,
+ Separator_Line,
+ Separator_Paragraph,
+
+ Other_Control,
+ Other_Format,
+ Other_Surrogate,
+ Other_PrivateUse,
+ Other_NotAssigned,
+
+ Letter_Uppercase,
+ Letter_Lowercase,
+ Letter_Titlecase,
+ Letter_Modifier,
+ Letter_Other,
+
+ Punctuation_Connector,
+ Punctuation_Dash,
+ Punctuation_Open,
+ Punctuation_Close,
+ Punctuation_InitialQuote,
+ Punctuation_FinalQuote,
+ Punctuation_Other,
+
+ Symbol_Math,
+ Symbol_Currency,
+ Symbol_Modifier,
+ Symbol_Other
+ };
+%End
+
+%If (- Qt_3_0_0)
+ enum Direction {
+ DirL,
+ DirR,
+ DirEN,
+ DirES,
+ DirET,
+ DirAN,
+ DirCS,
+ DirB,
+ DirS,
+ DirWS,
+ DirON
+ };
+%End
+%If (Qt_3_0_0 -)
+ enum Direction {
+ DirL,
+ DirR,
+ DirEN,
+ DirES,
+ DirET,
+ DirAN,
+ DirCS,
+ DirB,
+ DirS,
+ DirWS,
+ DirON,
+ DirLRE,
+ DirLRO,
+ DirAL,
+ DirRLE,
+ DirRLO,
+ DirPDF,
+ DirNSM,
+ DirBN
+ };
+%End
+
+ enum Decomposition {
+ Single,
+ Canonical,
+ Font,
+ NoBreak,
+ Initial,
+ Medial,
+ Final,
+ Isolated,
+ Circle,
+ Super,
+ Sub,
+ Vertical,
+ Wide,
+ Narrow,
+ Small,
+ Square,
+ Compat,
+ Fraction
+ };
+
+ enum Joining {
+ OtherJoining,
+ Dual,
+ Right,
+ Center
+ };
+
+%If (Qt_3_0_0 -)
+ enum CombiningClass {
+ Combining_BelowLeftAttached,
+ Combining_BelowAttached,
+ Combining_BelowRightAttached,
+ Combining_LeftAttached,
+ Combining_RightAttached,
+ Combining_AboveLeftAttached,
+ Combining_AboveAttached,
+ Combining_AboveRightAttached,
+
+ Combining_BelowLeft,
+ Combining_Below,
+ Combining_BelowRight,
+ Combining_Left,
+ Combining_Right,
+ Combining_AboveLeft,
+ Combining_Above,
+ Combining_AboveRight,
+
+ Combining_DoubleBelow,
+ Combining_DoubleAbove,
+ Combining_IotaSubscript
+ };
+%End
+
+ int digitValue() const;
+ QChar lower() const;
+ QChar upper() const;
+
+ Category category() const;
+ Direction direction() const;
+ Joining joining() const;
+ bool mirrored() const;
+%If (Qt_2_1_0 -)
+ QChar mirroredChar() const;
+%End
+%If (- Qt_3_0_0)
+ QString decomposition() const;
+%End
+%If (Qt_3_0_0 -)
+ const QString &decomposition() const;
+%End
+ Decomposition decompositionTag() const;
+%If (Qt_3_0_0 -)
+ unsigned char combiningClass() const;
+%End
+
+ char latin1() const;
+ ushort unicode() const;
+
+ bool isNull() const;
+ bool isPrint() const;
+ bool isPunct() const;
+ bool isSpace() const;
+ bool isMark() const;
+ bool isLetter() const;
+ bool isNumber() const;
+%If (Qt_2_1_0 -)
+ bool isLetterOrNumber() const;
+%End
+ bool isDigit() const;
+%If (Qt_3_0_0 -)
+ bool isSymbol() const;
+%End
+
+// uchar& cell();
+// uchar& row();
+ uchar cell() const;
+ uchar row() const;
+%If (Qt_3_0_0 -)
+ void setCell(uchar);
+ void setRow(uchar);
+%End
+
+ static bool networkOrdered();
+};
+
+bool operator==(QChar,char);
+bool operator==(QChar,QChar);
+bool operator!=(QChar,QChar);
+bool operator!=(QChar,char);
+bool operator<=(QChar,char);
+bool operator<=(QChar,QChar);
+bool operator>=(QChar,char);
+bool operator>=(QChar,QChar);
+bool operator<(QChar,char);
+bool operator<(QChar,QChar);
+bool operator>(QChar,char);
+bool operator>(QChar,QChar);
+
+
+class QString
+{
+%TypeHeaderCode
+#include <qstring.h>
+%End
+
+public:
+ QString();
+ QString(QChar);
+ QString(const QString &);
+ QString(const QByteArray &);
+// QString(const QChar *,uint);
+// QString(const char *);
+
+%If (Qt_2_1_0 -)
+ // This is how we implement QUrl::operator QString() const.
+ QString(const QUrl &);
+%End
+
+%If (Qt_3_0_0 -)
+ // This is how we implement QKeySequence::operator QString() const.
+ QString(const QKeySequence &);
+
+ // This is how we implement QUuid::operator QString() const.
+ QString(const QUuid &);
+%End
+
+ static const QString null;
+
+ bool isNull() const;
+ bool isEmpty() const;
+ uint length() const;
+ void truncate(uint);
+%If (- Qt_3_0_0)
+ void fill(QChar,int = -1);
+%End
+%If (Qt_3_0_0 -)
+ QString &fill(QChar,int = -1);
+%End
+ QString copy() const;
+
+ QString arg(int /Constrained/,int = 0,int = 10) const;
+ QString arg(double /Constrained/,int = 0,char = 'g',int = -1) const;
+%If (Qt_3_2_0 -)
+// QString arg(Q_LLONG,int = 0,int = 10) const;
+// QString arg(Q_ULLONG,int = 0,int = 10) const;
+%End
+ QString arg(long,int = 0,int = 10) const;
+ QString arg(ulong,int = 0,int = 10) const;
+// QString arg(uint,int = 0,int = 10) const;
+// QString arg(short,int = 0,int = 10) const;
+// QString arg(ushort,int = 0,int = 10) const;
+ QString arg(char,int = 0) const;
+ QString arg(QChar,int = 0) const;
+ QString arg(const QString&,int = 0) const;
+%If (Qt_3_2_0 -)
+ QString arg(const QString &,const QString &) const;
+ QString arg(const QString &,const QString &,const QString &) const;
+ QString arg(const QString &,const QString &,const QString &,
+ const QString &) const;
+%End
+
+// QString &sprintf(const char *,...);
+
+ int find(QChar,int = 0,bool = 1) const;
+ int find(char,int = 0,bool = 1) const;
+ int find(const QString &,int = 0,bool = 1) const;
+ int find(const QRegExp &,int = 0) const;
+// int find(const char *,int = 0) const;
+ int findRev(QChar,int = -1,bool = 1) const;
+ int findRev(char,int = -1,bool = 1) const;
+ int findRev(const QString &,int = -1,bool = 1) const;
+ int findRev(const QRegExp &,int = -1) const;
+// int findRev(const char *,int = -1) const;
+ int contains(QChar,bool = 1) const;
+ int contains(char,bool = 1) const;
+// int contains(const char *,bool = 1) const;
+ int contains(const QString &,bool = 1) const;
+ int contains(const QRegExp &) const;
+
+%If (Qt_3_0_0 -)
+ enum SectionFlags {
+ SectionDefault,
+ SectionSkipEmpty,
+ SectionIncludeLeadingSep,
+ SectionIncludeTrailingSep,
+ SectionCaseInsensitiveSeps
+ };
+
+ QString section(QChar,int,int = 0xffffffff,int = SectionDefault) const;
+// QString section(char,int,int = 0xffffffff,int = SectionDefault) const;
+// QString section(const char *,int,int = 0xffffffff,
+// int = SectionDefault) const;
+ QString section(const QString &,int,int = 0xffffffff,
+ int = SectionDefault) const;
+ QString section(const QRegExp &,int,int = 0xffffffff,
+ int = SectionDefault) const;
+%End
+
+ QString left(uint) const;
+ QString right(uint) const;
+ QString mid(uint,uint = 0xffffffff) const;
+ QString leftJustify(uint,QChar = ' ',bool = 0) const;
+ QString rightJustify(uint,QChar = ' ',bool = 0) const;
+ QString lower() const;
+ QString upper() const;
+ QString stripWhiteSpace() const;
+ QString simplifyWhiteSpace() const;
+
+ QString &insert(uint,const QString &);
+%If (Qt_3_2_0 -)
+ QString &insert(uint,const QByteArray &);
+// QString &insert(uint,const char *);
+%End
+ QString &insert(uint,QChar *,uint);
+ QString &insert(uint,QChar);
+ QString &insert(uint,char);
+
+ QString &append(char);
+%If (Qt_2_2_0 -)
+ QString &append(QChar);
+%End
+ QString &append(const QString &);
+ QString &prepend(char);
+%If (Qt_2_2_0 -)
+ QString &prepend(QChar);
+%End
+ QString &prepend(const QString &);
+ QString &remove(uint,uint);
+%If (Qt_3_1_0 -)
+ QString &remove(const QString &);
+%If (Qt_3_2_0 -)
+ QString &remove(const QString &,bool);
+%End
+ QString &remove(QChar);
+ QString &remove(char);
+ QString &remove(const QRegExp &);
+%End
+ QString &replace(uint,uint,const QString &);
+ QString &replace(uint,uint,const QChar *,uint);
+%If (Qt_3_1_0 -)
+ QString &replace(uint,uint,QChar);
+ QString &replace(uint,uint,char);
+ QString &replace(QChar,const QString &);
+%If (Qt_3_2_0 -)
+ QString &replace(QChar,const QString &,bool);
+%End
+ QString &replace(char,const QString &);
+%If (Qt_3_2_0 -)
+ QString &replace(char,const QString &,bool);
+%End
+ QString &replace(const QString &,const QString &);
+%If (Qt_3_2_0 -)
+ QString &replace(const QString &,const QString &,bool);
+%End
+%End
+ QString &replace(const QRegExp &,const QString &);
+%If (Qt_3_1_0 -)
+ QString &replace(QChar,QChar);
+%End
+
+ short toShort(bool * = 0,int = 10) const;
+ ushort toUShort(bool * = 0,int = 10) const;
+ int toInt(bool * = 0,int = 10) const;
+ uint toUInt(bool * = 0,int = 10) const;
+ long toLong(bool * = 0,int = 10) const;
+ ulong toULong(bool * = 0,int = 10) const;
+%If (Qt_3_2_0 -)
+// Q_LLONG toLongLong(bool * = 0,int = 10) const;
+// Q_ULLONG toULongLong(bool * = 0,int = 10) const;
+%End
+ float toFloat(bool * = 0) const;
+ double toDouble(bool * = 0) const;
+
+ QString &setNum(int /Constrained/,int = 10);
+ QString &setNum(double /Constrained/,char = 'g',int = 6);
+// QString &setNum(short,int = 10);
+// QString &setNum(ushort,int = 10);
+// QString &setNum(uint,int = 10);
+ QString &setNum(long,int = 10);
+ QString &setNum(ulong,int = 10);
+%If (Qt_3_2_0 -)
+// QString &setNum(Q_LLONG,int = 10);
+// QString &setNum(Q_ULLONG,int = 10);
+%End
+// QString &setNum(float,char = 'g',int = 6);
+
+ static QString number(int /Constrained/,int = 10);
+ static QString number(double /Constrained/,char = 'g',int = 6);
+ static QString number(long,int = 10);
+ static QString number(ulong,int = 10);
+%If (Qt_3_2_0 -)
+// static QString number(Q_LLONG,int = 10);
+// static QString number(Q_ULLONG,int = 10);
+%End
+// static QString number(uint,int = 10);
+
+ void setExpand(uint,QChar);
+
+ QString &operator+=(const QString &);
+%If (Qt_3_3_0 -)
+ QString &operator+=(const QByteArray &);
+%End
+ QString &operator+=(QChar);
+ //QString &operator+=(char);
+
+ QString operator*(int);
+%MethodCode
+ sipRes = new QString();
+
+ while (a0-- > 0)
+ *sipRes += *sipCpp;
+%End
+
+ QString &operator*=(int);
+%MethodCode
+ QString orig(*sipCpp);
+
+ sipCpp -> truncate(0);
+
+ while (a0-- > 0)
+ *sipCpp += orig;
+%End
+
+ QChar at(uint) const;
+// QCharRef at(uint);
+// QChar constref(uint) const;
+// QChar &ref(uint);
+// const QChar *unicode() const;
+ const char *ascii() const;
+%If (Qt_3_1_0 -)
+ static QString fromAscii(const char *,int = -1);
+%End
+ const char *latin1() const;
+ static QString fromLatin1(const char *,int = -1);
+ QCString utf8() const;
+ static QString fromUtf8(const char *,int = -1);
+ QCString local8Bit() const;
+ static QString fromLocal8Bit(const char *,int = -1);
+
+%If (Qt_3_1_0 -)
+// static QString fromUcs2(const unsigned short *);
+// const unsigned short *ucs2() const;
+%End
+
+%If (Qt_2_1_0 -)
+// QString &setUnicode(const QChar *,uint);
+// QString &setUnicodeCodes(const ushort *,uint);
+%End
+%If (Qt_3_1_0 -)
+ QString &setAscii(const char *,int = -1);
+%End
+%If (Qt_2_1_0 -)
+ QString &setLatin1(const char *,int = -1);
+%End
+
+ int compare(const QString &) const;
+ static int compare(const QString &,const QString &);
+
+%If (Qt_3_0_0 -)
+ int localeAwareCompare(const QString &) const;
+ static int localeAwareCompare(const QString &,const QString &);
+%End
+
+ void compose();
+%If (- Qt_3_0_0)
+ QChar::Direction basicDirection();
+ QString visual(int = 0,int = -1);
+%End
+%If (Qt_2_2_0 -)
+ bool startsWith(const QString &) const;
+%End
+%If (Qt_3_2_0 -)
+ bool startsWith(const QString &,bool) const;
+%End
+%If (Qt_3_0_0 -)
+ bool endsWith(const QString &) const;
+%End
+%If (Qt_3_2_0 -)
+ bool endsWith(const QString &,bool) const;
+%End
+
+%If (Qt_3_0_0 -)
+ void setLength(uint);
+%End
+
+%If (Qt_3_2_0 -)
+ uint capacity() const;
+ void reserve(uint);
+ void squeeze();
+%End
+
+%If (Qt_3_0_0 -)
+ bool simpleText() const;
+ bool isRightToLeft() const;
+%End
+
+ // Force the numeric interpretation so that str + QString gets handled
+ // as we want.
+ const QString operator+(const QString &) /Numeric/;
+
+ QString operator[](int) const;
+%MethodCode
+ int len;
+
+ len = sipCpp -> length();
+
+ if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0)
+ sipIsErr = 1;
+ else
+ sipRes = new QString(sipCpp -> at(a0));
+%End
+
+ QString operator[](SIP_PYSLICE) const;
+%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 -> length();
+
+ if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0)
+ sipIsErr = 1;
+ else
+ {
+ sipRes = new QString();
+
+ for (i = 0; i < slicelength; ++i)
+ {
+ sipRes -> append(sipCpp -> at(start));
+ start += step;
+ }
+ }
+%End
+
+ int __len__() const;
+%MethodCode
+ sipRes = sipCpp -> length();
+%End
+
+ int __contains__(const QString &) const;
+%MethodCode
+ sipRes = (sipCpp -> contains(*a0) > 0);
+%End
+
+ SIP_PYOBJECT __unicode__();
+%MethodCode
+#if PY_VERSION_HEX >= 0x01060000
+ sipRes = QStringToPyUnicode(sipCpp);
+#else
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+#endif
+%End
+
+ SIP_PYOBJECT __str__();
+%MethodCode
+#if PY_VERSION_HEX >= 0x01060000
+ sipRes = QStringToPyUnicode(sipCpp);
+#else
+ const char *s;
+
+ Py_BEGIN_ALLOW_THREADS
+ s = *sipCpp;
+ Py_END_ALLOW_THREADS
+
+ if (s == NULL)
+ s = "";
+
+ sipRes = PyString_FromString(s);
+#endif
+%End
+
+%TypeCode
+#include <qtextcodec.h>
+
+#if PY_VERSION_HEX >= 0x01060000
+// Convenience function for converting a QString to a Python Unicode object.
+static PyObject *QStringToPyUnicode(QString *qs)
+{
+ PyObject *uobj;
+
+ if ((uobj = PyUnicode_FromUnicode(NULL,qs -> length())) == NULL)
+ return NULL;
+
+ Py_UNICODE *pyu = PyUnicode_AS_UNICODE(uobj);
+
+ for (uint i = 0; i < qs -> length(); ++i)
+ *pyu++ = (qs -> at(i)).unicode();
+
+ return uobj;
+}
+#endif
+
+// Convenience function for converting a Python unicode or string object to a
+// QString on the heap.
+static QString *PyUnicodeStringToQString(PyObject *py)
+{
+#if PY_VERSION_HEX >= 0x01060000
+ if (PyUnicode_Check(py))
+ {
+ QString *qs = new QString;
+
+#if defined(Py_UNICODE_WIDE)
+ PY_UNICODE_TYPE *ucode = PyUnicode_AS_UNICODE(py);
+ int len = PyUnicode_GET_SIZE(py);
+
+ for (int i = 0; i < len; ++i)
+ qs->ref(i) = (uint)ucode[i];
+#else
+ qs -> setUnicodeCodes((ushort *)PyUnicode_AS_UNICODE(py),PyUnicode_GET_SIZE(py));
+#endif
+
+ return qs;
+ }
+#endif
+
+ if (PyString_Check(py))
+ return new QString(PyString_AS_STRING(py));
+
+ return 0;
+}
+%End
+
+%ConvertToTypeCode
+ // Allow a Python string (or a unicode string) whenever a QString is
+ // expected.
+
+ if (sipIsErr == NULL)
+ return (PyString_Check(sipPy) ||
+#if PY_VERSION_HEX >= 0x01060000
+ PyUnicode_Check(sipPy) ||
+#endif
+ sipCanConvertToInstance(sipPy,sipClass_QString,SIP_NO_CONVERTORS));
+
+ *sipCppPtr = PyUnicodeStringToQString(sipPy);
+
+ if (*sipCppPtr)
+ return sipGetState(sipTransferObj);
+
+ *sipCppPtr = reinterpret_cast<QString *>(sipConvertToInstance(sipPy,sipClass_QString,sipTransferObj,SIP_NO_CONVERTORS,0,sipIsErr));
+
+ return 0;
+%End
+
+%BIGetReadBufferCode
+ if (sipSegment != 0)
+ {
+ PyErr_SetString(PyExc_SystemError, "accessing non-existent QString segment");
+ sipRes = -1;
+ }
+ else
+ {
+ *sipPtrPtr = (void *)sipCpp->ucs2();
+ sipRes = sipCpp->length() * sizeof (ushort);
+ }
+%End
+
+%BIGetSegCountCode
+ if (sipLenPtr)
+ *sipLenPtr = sipCpp->length() * sizeof (ushort);
+
+ sipRes = 1;
+%End
+
+%BIGetCharBufferCode
+ if (sipSegment != 0)
+ {
+ PyErr_SetString(PyExc_SystemError, "accessing non-existent QString segment");
+ sipRes = -1;
+ }
+ else
+ {
+ static QTextCodec *codec = 0;
+ static bool check_codec = TRUE;
+
+ // For the first time only, try and find a Qt codec that
+ // corresponds to the default Python codec. If one wasn't
+ // found then fall back to ASCII (which is actually the codec
+ // returned by QTextCodec::codecForCStrings()).
+ if (check_codec)
+ {
+ codec = QTextCodec::codecForName(PyUnicode_GetDefaultEncoding());
+ check_codec = FALSE;
+ }
+
+ if (codec)
+ {
+ // A Python string is the most convenient method to
+ // save the encoded version on the heap.
+ PyObject *encobj = ((sipSimpleWrapper *)sipSelf)->user;
+ QCString enc;
+
+ Py_XDECREF(encobj);
+
+ enc = codec->fromUnicode(*sipCpp);
+
+ if ((encobj = PyString_FromString(enc.data())) != NULL)
+ {
+ *sipPtrPtr = (void *)PyString_AS_STRING(encobj);
+ sipRes = PyString_GET_SIZE(encobj);
+
+ ((sipSimpleWrapper *)sipSelf)->user = encobj;
+ }
+ else
+ sipRes = -1;
+ }
+ else
+ {
+ const char *asc = sipCpp->ascii();
+
+ *sipPtrPtr = (void *)asc;
+ sipRes = qstrlen(asc);
+ }
+ }
+%End
+};
+
+bool operator==(const QString &,const QString &);
+bool operator!=(const QString &,const QString &);
+bool operator<(const QString &,const QString &);
+bool operator<=(const QString &,const QString &);
+bool operator>(const QString &,const QString &);
+bool operator>=(const QString &,const QString &);
+
+%End
+
+
+%If (- Qt_2_00)
+
+class QString : QByteArray
+{
+%TypeHeaderCode
+#include <qstring.h>
+%End
+
+public:
+ QString();
+ QString(int);
+ QString(const QString &);
+ QString(const char *);
+ QString(const char *,uint);
+
+ bool isNull() const;
+ bool isEmpty() const;
+ uint length() const;
+ bool resize(uint);
+ bool truncate(uint);
+ bool fill(char,int = -1);
+ QString copy() const;
+// QString &sprintf(const char *,...);
+ int find(char,int = 0,bool = 1) const;
+ int find(const char *,int = 0,bool = 1) const;
+ int find(const QRegExp &,int = 0) const;
+ int findRev(char,int = -1,bool = 1) const;
+ int findRev(const char *,int = -1,bool = 1) const;
+ int findRev(const QRegExp &,int = -1) const;
+ int contains(char,bool = 1) const;
+ int contains(const char *,bool = 1) const;
+ int contains(const QRegExp &) const;
+ QString left(uint) const;
+ QString right(uint) const;
+ QString mid(uint,uint) const;
+ QString leftJustify(uint,char = ' ',bool = 0) const;
+ QString rightJustify(uint,char = ' ',bool = 0) const;
+ QString lower() const;
+ QString upper() const;
+ QString stripWhiteSpace() const;
+ QString simplifyWhiteSpace() const;
+ QString &insert(uint,const char *);
+ QString &insert(uint,char);
+ QString &append(const char *);
+ QString &prepend(const char *);
+ QString &remove(uint,uint);
+ QString &replace(uint,uint,const char *);
+ QString &replace(const QRegExp &,const char *);
+
+ short toShort(bool * = 0) const;
+ ushort toUShort(bool * = 0) const;
+ int toInt(bool * = 0) const;
+ uint toUInt(bool * = 0) const;
+ long toLong(bool * = 0) const;
+ ulong toULong(bool * = 0) const;
+ float toFloat(bool * = 0) const;
+ double toDouble(bool * = 0) const;
+
+ QString &setStr(const char *);
+// QString &setNum(short);
+// QString &setNum(ushort);
+ QString &setNum(int /Constrained/);
+// QString &setNum(uint);
+// QString &setNum(long);
+// QString &setNum(ulong);
+// QString &setNum(float,char = 'g',int = 6);
+ QString &setNum(double,char = 'g',int = 6);
+ bool setExpand(uint,char);
+
+ SIP_PYOBJECT __str__();
+%MethodCode
+ const char *s;
+
+ Py_BEGIN_ALLOW_THREADS
+ s = *sipCpp;
+ Py_END_ALLOW_THREADS
+
+ if (s == NULL)
+ s = "";
+
+ sipRes = PyString_FromString(s);
+%End
+
+%ConvertToTypeCode
+ // Allow a Python string whenever a QString is expected.
+
+ if (sipIsErr == NULL)
+ return (PyString_Check(sipPy) ||
+ sipCanConvertToInstance(sipPy,sipClass_QString,SIP_NO_CONVERTORS));
+
+ if (PyString_Check(sipPy))
+ {
+ *sipCppPtr = new QString(PyString_AS_STRING(sipPy));
+
+ return sipGetState(sipTransferObj);
+ }
+
+ *sipCppPtr = reinterpret_cast<QString *>(sipConvertToInstance(sipPy,sipClass_QString,sipTransferObj,SIP_NO_CONVERTORS,0,sipIsErr));
+
+ return 0;
+%End
+};
+
+%End
diff --git a/sip/qt/qstringlist.sip b/sip/qt/qstringlist.sip
new file mode 100644
index 0000000..d95034c
--- /dev/null
+++ b/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
diff --git a/sip/qt/qstrlist.sip b/sip/qt/qstrlist.sip
new file mode 100644
index 0000000..189e134
--- /dev/null
+++ b/sip/qt/qstrlist.sip
@@ -0,0 +1,100 @@
+// This is the SIP interface definition for QStrList.
+//
+// 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>QStrList</Title>
+<Para>
+This class isn't implemented. Whenever a <Literal>QStrList</Literal> is the
+return type of a function or the type of an argument, a Python list of strings
+is used instead.
+</Para>
+</Sect2>
+%End
+
+
+%MappedType QStrList
+{
+%TypeHeaderCode
+#include <qstrlist.h>
+%End
+
+%ConvertFromTypeCode
+ // Convert to a Python list of strings.
+
+ char *s;
+ int i;
+ PyObject *l;
+
+ // Create the list.
+
+ if ((l = PyList_New(sipCpp -> count())) == NULL)
+ return NULL;
+
+ // Get it.
+
+ i = 0;
+
+ for (s = sipCpp -> first(); s != NULL; s = sipCpp -> next())
+ {
+ PyObject *ps;
+
+ if ((ps = PyString_FromString(s)) == NULL || PyList_SetItem(l,i,ps) < 0)
+ {
+ Py_XDECREF(ps);
+ Py_DECREF(l);
+ return NULL;
+ }
+
+ ++i;
+ }
+
+ return l;
+%End
+
+%ConvertToTypeCode
+ // Convert a Python list of strings to a QStrList on the heap.
+
+ if (sipIsErr == NULL)
+ return PyList_Check(sipPy);
+
+ QStrList *qsl = new QStrList;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ {
+ char *s;
+
+ if ((s = PyString_AsString(PyList_GET_ITEM(sipPy,i))) == NULL)
+ {
+ *sipIsErr = 1;
+ delete qsl;
+
+ return 0;
+ }
+
+ qsl -> append(s);
+ }
+
+ *sipCppPtr = qsl;
+
+ return sipGetState(sipTransferObj);
+%End
+};
diff --git a/sip/qt/qstyle.sip b/sip/qt/qstyle.sip
new file mode 100644
index 0000000..bbef81c
--- /dev/null
+++ b/sip/qt/qstyle.sip
@@ -0,0 +1,862 @@
+// This is the SIP interface definition for QStyle and QStyleOption.
+//
+// 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>QStyle (Qt v2+)</Title>
+<FuncSynopsis>
+ <FuncDef>virtual void <Function>getButtonShift</Function></FuncDef>
+ <ParamDef>int &amp;<Parameter>x</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>y</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns a tuple of the <Literal>x</Literal> and
+<Literal>y</Literal> values. (Qt v2)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>virtual void <Function>scrollBarMetrics</Function></FuncDef>
+ <ParamDef>const QScrollBar *<Parameter>b</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>sliderMin</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>sliderMax</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>sliderLength</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>buttonDim</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Thus takes only the <Literal>b</Literal> parameter and returns a tuple of the
+<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>,
+<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values.
+(Qt v2)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>virtual void <Function>tabbarMetrics</Function></FuncDef>
+ <ParamDef>const QTabBar *<Parameter>t</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>hframe</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>vframe</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>overlap</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>t</Literal> parameter and returns a tuple of the
+<Literal>hframe</Literal>, <Literal>vframe</Literal> and
+<Literal>overlap</Literal> values. (Qt v2)
+</Para>
+</Sect2>
+
+<Sect2><Title>QStyleOption (Qt v3+)</Title>
+<Para>
+<Literal>QStyleOption</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QStyleOption
+{
+%TypeHeaderCode
+#include <qstyle.h>
+%End
+
+public:
+ enum StyleOptionDefault {
+ Default
+ };
+
+ QStyleOption(StyleOptionDefault /Constrained/ = Default);
+
+%If (Qt_3_2_0 -)
+ QStyleOption(int);
+%End
+ QStyleOption(int,int);
+ QStyleOption(int,int,int,int);
+ QStyleOption(QMenuItem *);
+ QStyleOption(QMenuItem *,int);
+ QStyleOption(QMenuItem *,int,int);
+ QStyleOption(const QColor &);
+ QStyleOption(QTab *);
+ QStyleOption(QListViewItem *);
+%If (Qt_3_1_0 -)
+ QStyleOption(QCheckListItem *);
+%End
+ QStyleOption(Qt::ArrowType /Constrained/);
+%If (Qt_3_1_0 -)
+ QStyleOption(const QRect &);
+ QStyleOption(QWidget *);
+%End
+
+ bool isDefault() const;
+
+%If (Qt_3_3_0 -)
+ int day() const;
+%End
+
+ int lineWidth() const;
+ int midLineWidth() const;
+ int frameShape() const;
+ int frameShadow() const;
+
+%If (Qt_3_2_0 -)
+ int headerSection() const;
+%End
+ QMenuItem* menuItem() const;
+ int maxIconWidth() const;
+ int tabWidth() const;
+
+ const QColor& color() const;
+
+ QTab *tab() const;
+
+%If (Qt_3_1_0 -)
+ QCheckListItem *checkListItem() const;
+%End
+ QListViewItem *listViewItem() const;
+
+ Qt::ArrowType arrowType() const;
+%If (Qt_3_1_0 -)
+ QRect rect() const;
+ QWidget *widget() const;
+%End
+};
+
+%End
+
+
+%If (Qt_3_0_0 -)
+// Not yet defined in Qt v3Beta5.
+class QStyleHintReturn;
+%End
+
+
+%If (Qt_2_00 -)
+
+class QStyle : QObject
+{
+%TypeHeaderCode
+#include <qstyle.h>
+%End
+
+public:
+%If (Qt_3_0_0 -)
+ QStyle();
+%End
+
+%If (- Qt_3_0_0)
+ GUIStyle guiStyle() const;
+%End
+
+ virtual void polish(QWidget *);
+ virtual void unPolish(QWidget *);
+
+ virtual void polish(QApplication *);
+ virtual void unPolish(QApplication *);
+
+ virtual void polish(QPalette &);
+
+%If (Qt_3_0_0 -)
+ virtual void polishPopupMenu(QPopupMenu *) = 0;
+%End
+
+%If (- Qt_3_0_0)
+ virtual QRect itemRect(QPainter *,int,int,int,int,int,bool,
+ const QPixmap *,const QString &,int = -1);
+
+ virtual void drawItem(QPainter *,int,int,int,int,int,
+ const QColorGroup &,bool,const QPixmap *,
+ const QString &,int = -1,const QColor * = 0);
+%End
+%If (Qt_3_0_0 -)
+ virtual QRect itemRect(QPainter *,const QRect &,int,bool,
+ const QPixmap *,const QString &,int = -1) const;
+
+ virtual void drawItem(QPainter *,const QRect &,int,const QColorGroup &,
+ bool,const QPixmap *,const QString &,int = -1,
+ const QColor * = 0) const;
+%End
+
+%If (- Qt_3_0_0)
+ virtual void drawSeparator(QPainter *,int,int,int,int,
+ const QColorGroup &,bool = 1,int = 1,
+ int = 0);
+ virtual void drawRect(QPainter *,int,int,int,int,const QColor &,
+ int = 1,const QBrush * = 0);
+ virtual void drawRectStrong(QPainter *,int,int,int,int,
+ const QColorGroup &,bool = 0,int = 1,
+ int = 0,const QBrush * = 0);
+ virtual void drawButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,const QBrush * = 0) = 0;
+ virtual QRect buttonRect(int,int,int,int);
+ virtual void drawButtonMask(QPainter *,int,int,int,int);
+ virtual void drawBevelButton(QPainter *,int,int,int,int,
+ const QColorGroup &,bool = 0,
+ const QBrush * = 0) = 0;
+%If (Qt_2_1_0 -)
+ QRect bevelButtonRect(int,int,int,int);
+%End
+ virtual void drawToolButton(QPainter *,int,int,int,int,
+ const QColorGroup &,bool = 0,
+ const QBrush * = 0);
+%If (Qt_2_1_0 -)
+ void drawToolButton(QToolButton *,QPainter *);
+ QRect toolButtonRect(int,int,int,int);
+%End
+ virtual void drawPanel(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,int = 1,const QBrush * = 0);
+ virtual void drawPopupPanel(QPainter *,int,int,int,int,
+ const QColorGroup &,int = 2,
+ const QBrush * = 0);
+ virtual void drawArrow(QPainter *,Qt::ArrowType,bool,int,int,int,int,
+ const QColorGroup &,bool,const QBrush * = 0) = 0;
+ virtual QSize exclusiveIndicatorSize() const = 0;
+ virtual void drawExclusiveIndicator(QPainter *,int,int,int,int,
+ const QColorGroup &,bool,bool = 0,
+ bool = 1) = 0;
+ virtual void drawExclusiveIndicatorMask(QPainter *,int,int,int,int,
+ bool);
+ virtual QSize indicatorSize() const = 0;
+ virtual void drawIndicator(QPainter *,int,int,int,int,
+ const QColorGroup &,int,bool = 0,
+ bool = 1) = 0;
+ virtual void drawIndicatorMask(QPainter *,int,int,int,int,int);
+ virtual void drawFocusRect(QPainter *,const QRect &,const QColorGroup &,
+ const QColor * = 0,bool = 0) = 0;
+ virtual void drawComboButton(QPainter *,int,int,int,int,
+ const QColorGroup &,bool = 0,bool = 0,
+ bool = 1,const QBrush * = 0) = 0;
+ virtual QRect comboButtonRect(int,int,int,int) = 0;
+ virtual QRect comboButtonFocusRect(int,int,int,int) = 0;
+ virtual void drawComboButtonMask(QPainter *,int,int,int,int) = 0;
+ virtual void drawPushButton(QPushButton *,QPainter *) = 0;
+ virtual void drawPushButtonLabel(QPushButton *,QPainter *) = 0;
+
+%If (Qt_2_1_0 -)
+ QRect pushButtonContentsRect(QPushButton *);
+ int menuButtonIndicatorWidth(int);
+%End
+
+ virtual void getButtonShift(int &,int &) = 0;
+ virtual int defaultFrameWidth() const = 0;
+ virtual void tabbarMetrics(const QTabBar *,int &,int &,int &) = 0;
+ virtual void drawTab(QPainter *,const QTabBar *,QTab *,bool) = 0;
+ virtual void drawTabMask(QPainter *,const QTabBar* ,QTab* ,bool) = 0;
+
+ enum ScrollControl
+ {
+ AddLine = 0x1,
+ SubLine = 0x2,
+ AddPage = 0x4,
+ SubPage = 0x8,
+ First = 0x10,
+ Last = 0x20,
+ Slider = 0x40,
+ NoScroll = 0x80
+ };
+
+ virtual void scrollBarMetrics(const QScrollBar *,int &,int &,int &,
+ int &) = 0;
+ virtual void drawScrollBarControls(QPainter *,const QScrollBar *,int,
+ uint,uint) = 0;
+ virtual ScrollControl scrollBarPointOver(const QScrollBar *,int,
+ const QPoint &) = 0;
+ virtual int sliderLength() const = 0;
+ virtual void drawSlider(QPainter *,int,int,int,int,const QColorGroup &,
+ Orientation,bool,bool) = 0;
+ virtual void drawSliderMask(QPainter *,int,int,int,int,Orientation,
+ bool,bool) = 0;
+ virtual void drawSliderGroove(QPainter *,int,int,int,int,
+ const QColorGroup &,QCOORD,
+ Orientation) = 0;
+ virtual void drawSliderGrooveMask(QPainter *,int,int,int,int,QCOORD,
+ Orientation) = 0;
+ virtual int maximumSliderDragDistance() const = 0;
+ virtual int splitterWidth() const = 0;
+ virtual void drawSplitter(QPainter *,int,int,int,int,
+ const QColorGroup &,Orientation) = 0;
+ virtual void drawCheckMark(QPainter *,int,int,int,int,
+ const QColorGroup &,bool,bool) = 0;
+ virtual void polishPopupMenu(QPopupMenu *) = 0;
+ virtual int extraPopupMenuItemWidth(bool,int,QMenuItem *,
+ const QFontMetrics &) = 0;
+ virtual int popupSubmenuIndicatorWidth(const QFontMetrics &) = 0;
+ virtual int popupMenuItemHeight(bool,QMenuItem *,
+ const QFontMetrics &) = 0;
+ virtual void drawPopupMenuItem(QPainter *,bool,int,int,QMenuItem *,
+ const QPalette &,bool, bool,int,int,int,
+ int) = 0;
+%If (Qt_2_2_0 -)
+ virtual void drawMenuBarItem(QPainter *,int,int,int,int,QMenuItem *,
+ QColorGroup &,bool,bool);
+%End
+%If (Qt_2_1_0 -)
+ QSize scrollBarExtent();
+ int buttonDefaultIndicatorWidth() const;
+%If (Qt_2_2_0 -)
+ int buttonMargin() const;
+ int toolBarHandleExtent() const;
+ int sliderThickness() const;
+%End
+ int toolBarHandleExtend() const;
+ void drawToolBarHandle(QPainter *,const QRect &,Qt::Orientation,bool,
+ const QColorGroup &,bool = 0);
+%End
+
+%End
+
+%If (Qt_3_0_0 -)
+ enum PrimitiveElement {
+ PE_ButtonCommand,
+ PE_ButtonDefault,
+ PE_ButtonBevel,
+ PE_ButtonTool,
+ PE_ButtonDropDown,
+
+ PE_FocusRect,
+
+ PE_ArrowUp,
+ PE_ArrowDown,
+ PE_ArrowRight,
+ PE_ArrowLeft,
+
+ PE_SpinWidgetUp,
+ PE_SpinWidgetDown,
+ PE_SpinWidgetPlus,
+ PE_SpinWidgetMinus,
+
+ PE_Indicator,
+ PE_IndicatorMask,
+ PE_ExclusiveIndicator,
+ PE_ExclusiveIndicatorMask,
+
+ PE_DockWindowHandle,
+ PE_DockWindowSeparator,
+ PE_DockWindowResizeHandle,
+
+ PE_Splitter,
+
+ PE_Panel,
+ PE_PanelPopup,
+ PE_PanelMenuBar,
+ PE_PanelDockWindow,
+
+ PE_TabBarBase,
+
+ PE_HeaderSection,
+ PE_HeaderArrow,
+ PE_StatusBarSection,
+
+ PE_GroupBoxFrame,
+
+ PE_Separator,
+
+ PE_SizeGrip,
+
+ PE_CheckMark,
+
+ PE_ScrollBarAddLine,
+ PE_ScrollBarSubLine,
+ PE_ScrollBarAddPage,
+ PE_ScrollBarSubPage,
+ PE_ScrollBarSlider,
+ PE_ScrollBarFirst,
+ PE_ScrollBarLast,
+
+ PE_ProgressBarChunk,
+
+%If (Qt_3_0_1 -)
+ PE_PanelLineEdit,
+ PE_PanelTabWidget,
+
+ PE_WindowFrame,
+%End
+%If (Qt_3_1_0 -)
+ PE_CheckListController,
+ PE_CheckListIndicator,
+ PE_CheckListExclusiveIndicator,
+
+ PE_PanelGroupBox,
+%End
+%If (Qt_3_0_4 - Qt_3_0_5)
+ PE_PopupMenuScroller,
+%End
+%If (Qt_3_3_0 -)
+ PE_RubberBand,
+%End
+
+ PE_CustomBase
+ };
+
+ enum StyleFlags {
+ Style_Default,
+ Style_Enabled,
+ Style_Raised,
+ Style_Sunken,
+ Style_Off,
+ Style_NoChange,
+ Style_On,
+ Style_Down,
+ Style_Horizontal,
+ Style_HasFocus,
+ Style_Top,
+ Style_Bottom,
+ Style_FocusAtBorder,
+ Style_AutoRaise,
+ Style_MouseOver,
+ Style_Up,
+ Style_Selected,
+ Style_Active,
+ Style_ButtonDefault
+ };
+
+ typedef uint SFlags;
+
+ virtual void drawPrimitive(PrimitiveElement,QPainter *,const QRect &,
+ const QColorGroup &,SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const = 0;
+
+ enum ControlElement {
+ CE_PushButton,
+ CE_PushButtonLabel,
+
+ CE_CheckBox,
+ CE_CheckBoxLabel,
+
+ CE_RadioButton,
+ CE_RadioButtonLabel,
+
+ CE_TabBarTab,
+ CE_TabBarLabel,
+
+ CE_ProgressBarGroove,
+ CE_ProgressBarContents,
+ CE_ProgressBarLabel,
+
+ CE_PopupMenuItem,
+ CE_MenuBarItem,
+
+ CE_ToolButtonLabel,
+%If (Qt_3_1_0 -)
+ CE_MenuBarEmptyArea,
+%End
+%If (Qt_3_0_5 -)
+ CE_PopupMenuScroller,
+%End
+%If (Qt_3_1_0 -)
+ CE_DockWindowEmptyArea,
+%End
+%If (Qt_3_2_0 -)
+ CE_PopupMenuVerticalExtra,
+ CE_PopupMenuHorizontalExtra,
+
+ CE_ToolBoxTab,
+ CE_HeaderLabel,
+%End
+
+ CE_CustomBase
+ };
+
+ virtual void drawControl(ControlElement,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const = 0;
+ virtual void drawControlMask(ControlElement,QPainter *,const QWidget *,
+ const QRect &,
+ const QStyleOption & = QStyleOption()) const = 0;
+
+ enum SubRect {
+ SR_PushButtonContents,
+ SR_PushButtonFocusRect,
+
+ SR_CheckBoxIndicator,
+ SR_CheckBoxContents,
+ SR_CheckBoxFocusRect,
+
+ SR_RadioButtonIndicator,
+ SR_RadioButtonContents,
+ SR_RadioButtonFocusRect,
+
+ SR_ComboBoxFocusRect,
+
+ SR_SliderFocusRect,
+
+ SR_DockWindowHandleRect,
+
+ SR_ProgressBarGroove,
+ SR_ProgressBarContents,
+ SR_ProgressBarLabel,
+
+ SR_ToolButtonContents,
+
+%If (Qt_3_2_0 -)
+ SR_DialogButtonAccept,
+ SR_DialogButtonReject,
+ SR_DialogButtonApply,
+ SR_DialogButtonHelp,
+ SR_DialogButtonAll,
+ SR_DialogButtonAbort,
+ SR_DialogButtonIgnore,
+ SR_DialogButtonRetry,
+ SR_DialogButtonCustom,
+
+ SR_ToolBoxTabContents,
+%End
+
+ SR_CustomBase
+ };
+
+ virtual QRect subRect(SubRect,const QWidget *) const = 0;
+
+ enum ComplexControl{
+ CC_SpinWidget,
+ CC_ComboBox,
+ CC_ScrollBar,
+ CC_Slider,
+ CC_ToolButton,
+ CC_TitleBar,
+ CC_ListView,
+
+ CC_CustomBase
+ };
+
+ enum SubControl {
+ SC_None,
+
+ SC_ScrollBarAddLine,
+ SC_ScrollBarSubLine,
+ SC_ScrollBarAddPage,
+ SC_ScrollBarSubPage,
+ SC_ScrollBarFirst,
+ SC_ScrollBarLast,
+ SC_ScrollBarSlider,
+ SC_ScrollBarGroove,
+
+ SC_SpinWidgetUp,
+ SC_SpinWidgetDown,
+ SC_SpinWidgetFrame,
+ SC_SpinWidgetEditField,
+ SC_SpinWidgetButtonField,
+
+ SC_ComboBoxFrame,
+ SC_ComboBoxEditField,
+ SC_ComboBoxArrow,
+%If (Qt_3_1_0 -)
+ SC_ComboBoxListBoxPopup,
+%End
+
+ SC_SliderGroove,
+ SC_SliderHandle,
+ SC_SliderTickmarks,
+
+ SC_ToolButton,
+ SC_ToolButtonMenu,
+
+ SC_TitleBarLabel,
+ SC_TitleBarSysMenu,
+ SC_TitleBarMinButton,
+ SC_TitleBarMaxButton,
+ SC_TitleBarCloseButton,
+ SC_TitleBarNormalButton,
+ SC_TitleBarShadeButton,
+ SC_TitleBarUnshadeButton,
+
+ SC_ListView,
+ SC_ListViewBranch,
+ SC_ListViewExpand,
+
+ SC_All
+ };
+
+ typedef uint SCFlags;
+
+ virtual void drawComplexControl(ComplexControl,QPainter *,
+ const QWidget *,const QRect &,
+ const QColorGroup &,
+ SFlags = Style_Default,
+ SCFlags = SC_All,SCFlags = SC_None,
+ const QStyleOption & = QStyleOption()) const = 0;
+ virtual void drawComplexControlMask(ComplexControl,QPainter *,
+ const QWidget *,const QRect &,
+ const QStyleOption & = QStyleOption()) const = 0;
+
+ virtual QRect querySubControlMetrics(ComplexControl,
+ const QWidget *,SubControl,
+ const QStyleOption & = QStyleOption()) const = 0;
+ virtual SubControl querySubControl(ComplexControl,const QWidget *,
+ const QPoint &,
+ const QStyleOption & = QStyleOption()) const = 0;
+
+ enum PixelMetric {
+ PM_ButtonMargin,
+ PM_ButtonDefaultIndicator,
+ PM_MenuButtonIndicator,
+ PM_ButtonShiftHorizontal,
+ PM_ButtonShiftVertical,
+
+ PM_DefaultFrameWidth,
+ PM_SpinBoxFrameWidth,
+
+ PM_MaximumDragDistance,
+
+ PM_ScrollBarExtent,
+ PM_ScrollBarSliderMin,
+
+ PM_SliderThickness,
+ PM_SliderControlThickness,
+ PM_SliderLength,
+ PM_SliderTickmarkOffset,
+ PM_SliderSpaceAvailable,
+
+ PM_DockWindowSeparatorExtent,
+ PM_DockWindowHandleExtent,
+ PM_DockWindowFrameWidth,
+
+ PM_MenuBarFrameWidth,
+
+ PM_TabBarTabOverlap,
+ PM_TabBarTabHSpace,
+ PM_TabBarTabVSpace,
+ PM_TabBarBaseHeight,
+ PM_TabBarBaseOverlap,
+
+ PM_ProgressBarChunkWidth,
+
+ PM_SplitterWidth,
+ PM_TitleBarHeight,
+
+ PM_IndicatorWidth,
+ PM_IndicatorHeight,
+ PM_ExclusiveIndicatorWidth,
+ PM_ExclusiveIndicatorHeight,
+%If (Qt_3_0_4 -)
+ PM_PopupMenuScrollerHeight,
+%End
+%If (Qt_3_1_0 -)
+ PM_CheckListButtonSize,
+%End
+%If (Qt_3_2_0 -)
+ PM_CheckListControllerSize,
+ PM_PopupMenuFrameHorizontalExtra,
+ PM_PopupMenuFrameVerticalExtra,
+
+ PM_DialogButtonsSeparator,
+ PM_DialogButtonsButtonWidth,
+ PM_DialogButtonsButtonHeight,
+
+ PM_MDIFrameWidth,
+ PM_MDIMinimizedWidth,
+ PM_HeaderMargin,
+ PM_HeaderMarkSize,
+ PM_HeaderGripMargin,
+ PM_TabBarTabShiftHorizontal,
+ PM_TabBarTabShiftVertical,
+%End
+%If (Qt_3_3_0 -)
+ PM_TabBarScrollButtonWidth,
+
+ PM_MenuBarItemSpacing,
+ PM_ToolBarItemSpacing,
+%End
+
+ PM_CustomBase
+ };
+
+ virtual int pixelMetric(PixelMetric,const QWidget * = 0) const = 0;
+
+ enum ContentsType {
+ CT_PushButton,
+ CT_CheckBox,
+ CT_RadioButton,
+ CT_ToolButton,
+ CT_ComboBox,
+ CT_Splitter,
+ CT_DockWindow,
+ CT_ProgressBar,
+ CT_PopupMenuItem,
+%If (Qt_3_1_0 -)
+ CT_TabBarTab,
+ CT_Slider,
+ CT_Header,
+ CT_LineEdit,
+ CT_MenuBar,
+ CT_SpinBox,
+%End
+%If (Qt_3_2_0 -)
+ CT_SizeGrip,
+ CT_TabWidget,
+ CT_DialogButtons,
+%End
+
+ CT_CustomBase
+ };
+
+ virtual QSize sizeFromContents(ContentsType,const QWidget *,
+ const QSize &,
+ const QStyleOption & = QStyleOption()) const = 0;
+
+ enum StyleHint {
+ SH_EtchDisabledText,
+
+ SH_GUIStyle,
+
+ SH_ScrollBar_BackgroundMode,
+ SH_ScrollBar_MiddleClickAbsolutePosition,
+ SH_ScrollBar_ScrollWhenPointerLeavesControl,
+
+ SH_TabBar_SelectMouseType,
+
+ SH_TabBar_Alignment,
+
+ SH_Header_ArrowAlignment,
+
+ SH_Slider_SnapToValue,
+
+ SH_Slider_SloppyKeyEvents,
+
+ SH_ProgressDialog_CenterCancelButton,
+
+ SH_ProgressDialog_TextLabelAlignment,
+
+ SH_PrintDialog_RightAlignButtons,
+
+ SH_MainWindow_SpaceBelowMenuBar,
+
+ SH_FontDialog_SelectAssociatedText,
+
+ SH_PopupMenu_AllowActiveAndDisabled,
+
+ SH_PopupMenu_SpaceActivatesItem,
+
+ SH_PopupMenu_SubMenuPopupDelay,
+
+ SH_ScrollView_FrameOnlyAroundContents,
+
+ SH_MenuBar_AltKeyNavigation,
+
+ SH_ComboBox_ListMouseTracking,
+
+ SH_PopupMenu_MouseTracking,
+
+ SH_MenuBar_MouseTracking,
+
+ SH_ItemView_ChangeHighlightOnFocus,
+
+ SH_Widget_ShareActivation,
+
+ SH_Workspace_FillSpaceOnMaximize,
+
+ SH_ComboBox_Popup,
+
+%If (Qt_3_0_1 -)
+ SH_TitleBar_NoBorder,
+
+ SH_ScrollBar_StopMouseOverSlider,
+%End
+
+%If (Qt_3_0_2 -)
+ SH_BlinkCursorWhenTextSelected,
+
+ SH_RichText_FullWidthSelection,
+%End
+
+%If (Qt_3_0_4 -)
+ SH_PopupMenu_Scrollable,
+%End
+
+%If (Qt_3_1_0 -)
+ SH_GroupBox_TextLabelVerticalAlignment,
+
+ SH_GroupBox_TextLabelColor,
+
+ SH_PopupMenu_SloppySubMenus,
+%End
+
+%If (Qt_3_2_0 -)
+ SH_Table_GridLineColor,
+
+ SH_LineEdit_PasswordCharacter,
+
+ SH_DialogButtons_DefaultButton,
+
+ SH_ToolBox_SelectedPageTitleBold,
+
+ SH_TabBar_PreferNoArrows,
+
+ SH_ScrollBar_LeftClickAbsolutePosition,
+
+ SH_ListViewExpand_SelectMouseType,
+%End
+
+%If (Qt_3_3_0 -)
+ SH_UnderlineAccelerator,
+
+ SH_ToolButton_Uses3D,
+%End
+
+ SH_CustomBase
+ };
+
+ virtual int styleHint(StyleHint,const QWidget * = 0,
+ const QStyleOption & = QStyleOption(),
+ QStyleHintReturn * = 0) const = 0;
+
+ enum StylePixmap {
+ SP_TitleBarMinButton,
+ SP_TitleBarMaxButton,
+ SP_TitleBarCloseButton,
+ SP_TitleBarNormalButton,
+ SP_TitleBarShadeButton,
+ SP_TitleBarUnshadeButton,
+ SP_DockWindowCloseButton,
+ SP_MessageBoxInformation,
+ SP_MessageBoxWarning,
+ SP_MessageBoxCritical,
+%If (Qt_3_2_0 -)
+ SP_MessageBoxQuestion,
+%End
+
+ SP_CustomBase
+ };
+
+ virtual QPixmap stylePixmap(StylePixmap,const QWidget * = 0,
+ const QStyleOption & = QStyleOption()) const = 0;
+
+ static QRect visualRect(const QRect &,const QWidget *);
+
+ static QRect visualRect(const QRect &,const QRect &);
+%End
+
+protected:
+%If (Qt_2_1_0 - Qt_3_0_0)
+ void setScrollBarExtent(int,int = -1);
+ void setButtonDefaultIndicatorWidth(int);
+%End
+
+private:
+%If (- Qt_3_0_0)
+ QStyle();
+ QStyle(GUIStyle);
+%End
+%If (Qt_2_1_0 -)
+ QStyle(const QStyle &);
+%End
+};
+
+%End
diff --git a/sip/qt/qstylefactory.sip b/sip/qt/qstylefactory.sip
new file mode 100644
index 0000000..9249c62
--- /dev/null
+++ b/sip/qt/qstylefactory.sip
@@ -0,0 +1,45 @@
+// This is the SIP interface definition for QStyleFactory.
+//
+// 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>QStyleFactory (Qt v3+)</Title>
+<Para>
+<Literal>QStyleFactory</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QStyleFactory
+{
+%TypeHeaderCode
+#include <qstylefactory.h>
+%End
+
+public:
+ static QStringList keys();
+ static QStyle *create(const QString &) /Factory/;
+};
+
+%End
diff --git a/sip/qt/qstylesheet.sip b/sip/qt/qstylesheet.sip
new file mode 100644
index 0000000..c248e56
--- /dev/null
+++ b/sip/qt/qstylesheet.sip
@@ -0,0 +1,239 @@
+// This is the SIP interface definition for QStyleSheet and QStyleSheetItem.
+//
+// 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>QStyleSheet (Qt v2+)</Title>
+<Para>
+<Literal>QStyleSheet</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QStyleSheetItem (Qt v2+)</Title>
+<Para>
+<Literal>QStyleSheetItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QStyleSheetItem : Qt
+{
+%TypeHeaderCode
+#include <qstylesheet.h>
+%End
+
+public:
+ QStyleSheetItem(QStyleSheet * /TransferThis/,const QString &);
+
+ QString name() const;
+
+ QStyleSheet *styleSheet();
+// const QStyleSheet *styleSheet() const;
+
+ enum AdditionalStyleValues {
+ Undefined
+ };
+
+ enum DisplayMode {
+ DisplayBlock,
+ DisplayInline,
+ DisplayListItem,
+ DisplayNone
+ };
+
+ DisplayMode displayMode() const;
+ void setDisplayMode(DisplayMode);
+
+ int alignment() const;
+ void setAlignment(int);
+
+%If (Qt_3_0_0 -)
+ enum VerticalAlignment {
+ VAlignBaseline,
+ VAlignSub,
+ VAlignSuper
+ };
+
+ VerticalAlignment verticalAlignment() const;
+ void setVerticalAlignment(VerticalAlignment);
+%End
+
+ int fontWeight() const;
+ void setFontWeight(int);
+
+ int logicalFontSize() const;
+ void setLogicalFontSize(int);
+
+ int logicalFontSizeStep() const;
+ void setLogicalFontSizeStep(int);
+
+ int fontSize() const;
+ void setFontSize(int);
+
+ QString fontFamily() const;
+ void setFontFamily(const QString &);
+
+ int numberOfColumns() const;
+ void setNumberOfColumns(int);
+
+ QColor color() const;
+ void setColor(const QColor &);
+
+ bool fontItalic() const;
+ void setFontItalic(bool);
+ bool definesFontItalic() const;
+
+ bool fontUnderline() const;
+ void setFontUnderline(bool);
+ bool definesFontUnderline() const;
+
+%If (Qt_3_0_5 -)
+ bool fontStrikeOut() const;
+ void setFontStrikeOut(bool);
+ bool definesFontStrikeOut() const;
+%End
+
+ bool isAnchor() const;
+ void setAnchor(bool);
+
+%If (- Qt_2_1_0)
+ enum WhiteSpaceMode {
+ WhiteSpaceNormal,
+ WhiteSpacePre
+ };
+%End
+%If (Qt_2_1_0 -)
+ enum WhiteSpaceMode {
+ WhiteSpaceNormal,
+ WhiteSpacePre,
+ WhiteSpaceNoWrap
+ };
+%End
+
+ WhiteSpaceMode whiteSpaceMode() const;
+ void setWhiteSpaceMode(WhiteSpaceMode);
+
+%If (- Qt_3_0_0)
+ enum Margin {
+ MarginLeft,
+ MarginRight,
+ MarginTop,
+ MarginBottom,
+ MarginAll,
+ MarginVertical,
+ MarginHorizontal
+ };
+%End
+%If (Qt_3_0_0 -)
+ enum Margin {
+ MarginLeft,
+ MarginRight,
+ MarginTop,
+ MarginBottom,
+ MarginFirstLine,
+ MarginAll,
+ MarginVertical,
+ MarginHorizontal
+ };
+%End
+
+ int margin(Margin) const;
+ void setMargin(Margin,int);
+
+ enum ListStyle {
+ ListDisc,
+ ListCircle,
+ ListSquare,
+ ListDecimal,
+ ListLowerAlpha,
+ ListUpperAlpha
+ };
+
+ ListStyle listStyle() const;
+ void setListStyle(ListStyle);
+
+ QString contexts() const;
+ void setContexts(const QString &);
+ bool allowedInContext(const QStyleSheetItem *) const;
+
+ bool selfNesting() const;
+ void setSelfNesting(bool);
+
+%If (Qt_3_0_0 -)
+ void setLineSpacing(int);
+ int lineSpacing() const;
+%End
+};
+
+
+class QStyleSheet : QObject
+{
+%TypeHeaderCode
+#include <qstylesheet.h>
+%End
+
+public:
+ QStyleSheet(QObject * /TransferThis/ = 0,const char * = 0);
+
+ static QStyleSheet *defaultSheet();
+ static void setDefaultSheet(QStyleSheet *);
+
+ QStyleSheetItem *item(const QString &);
+// const QStyleSheetItem *item(const QString &) const;
+
+ void insert(QStyleSheetItem *);
+
+%If (- Qt_3_0_0)
+// virtual QTextNode *tag(const QString &,const QMap<QString,QString> &,
+// const QString &,const QMimeSourceFactory &,
+// bool = 0) const;
+%End
+%If (Qt_3_0_0 -)
+// virtual QTextCustomItem *tag(const QString &,
+// const QMap<QString,QString> &,
+// const QString &,
+// const QMimeSourceFactory &,bool,
+// QTextDocument *) const;
+%End
+
+%If (Qt_3_0_0 -)
+ static QString escape(const QString &);
+ static QString convertFromPlainText(const QString &,
+ QStyleSheetItem::WhiteSpaceMode = QStyleSheetItem::WhiteSpacePre);
+%End
+%If (- Qt_3_0_0)
+ static QString convertFromPlainText(const QString &);
+%End
+ static bool mightBeRichText(const QString &);
+
+ virtual void scaleFont(QFont &,int) const;
+ virtual void error(const QString &) const;
+
+private:
+%If (Qt_3_1_0 -)
+ QStyleSheet(const QStyleSheet &);
+%End
+};
+
+%End
diff --git a/sip/qt/qsyntaxhighlighter.sip b/sip/qt/qsyntaxhighlighter.sip
new file mode 100644
index 0000000..13d24e8
--- /dev/null
+++ b/sip/qt/qsyntaxhighlighter.sip
@@ -0,0 +1,57 @@
+// This is the SIP interface definition for QSyntaxHighlighter.
+//
+// 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>QSyntaxHighlighter (Qt v3.1+)</Title>
+<Para>
+<Literal>QSyntaxHighlighter</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_1_0 -)
+
+class QSyntaxHighlighter : Qt
+{
+%TypeHeaderCode
+#include <qsyntaxhighlighter.h>
+%End
+
+public:
+ QSyntaxHighlighter(QTextEdit * /TransferThis/);
+
+ virtual int highlightParagraph(const QString &,int) = 0;
+
+ void setFormat(int,int,const QFont &,const QColor &);
+ void setFormat(int,int,const QColor &);
+ void setFormat(int,int,const QFont &);
+ QTextEdit *textEdit() const;
+
+ void rehighlight();
+
+%If (Qt_3_2_0 -)
+ int currentParagraph() const;
+%End
+};
+
+%End
diff --git a/sip/qt/qtabbar.sip b/sip/qt/qtabbar.sip
new file mode 100644
index 0000000..d53ffab
--- /dev/null
+++ b/sip/qt/qtabbar.sip
@@ -0,0 +1,266 @@
+// This is the SIP interface definition for QTab and QTabBar.
+//
+// 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>QTab</Title>
+<Para>
+<Literal>QTab</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QTabBar</Title>
+<FuncSynopsis>
+ <FuncDef>QList&lt;QTab&gt; <Function>tabList</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a list of <Literal>QTab</Literal> instances.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QTab : Qt
+{
+%TypeHeaderCode
+#include <qtabbar.h>
+%End
+
+public:
+ QTab();
+ QTab(const QString &);
+ QTab(const QIconSet &,const QString & = QString::null);
+ virtual ~QTab();
+
+ void setText(const QString &);
+ QString text() const;
+ void setIconSet(const QIconSet &);
+ QIconSet *iconSet() const;
+ void setRect(const QRect &);
+ QRect rect() const;
+ void setEnabled(bool);
+ bool isEnabled() const;
+ void setIdentifier(int);
+ int identifier() const;
+};
+
+%End
+
+%If (- Qt_3_0_0)
+
+class QTab
+{
+%TypeHeaderCode
+#include <qtabbar.h>
+%End
+
+public:
+ QTab();
+%If (Qt_2_1_0 -)
+ QTab(const QString &);
+ QTab(const QIconSet &,const QString & = QString::null);
+%End
+ virtual ~QTab();
+
+ QString label;
+ QRect r;
+ bool enabled;
+ int id;
+ QIconSet *iconset;
+};
+
+%End
+
+
+class QTabBar : QWidget
+{
+%TypeHeaderCode
+#include <qtabbar.h>
+%End
+
+public:
+ QTabBar(QWidget * /TransferThis/ = 0,const char * = 0);
+
+ enum Shape {
+ RoundedAbove,
+ RoundedBelow,
+ TriangularAbove,
+ TriangularBelow
+ };
+
+ Shape shape() const;
+%If (- Qt_2_00)
+ void setShape(Shape);
+%End
+%If (Qt_2_00 -)
+ virtual void setShape(Shape);
+%End
+
+ void show();
+
+ virtual int addTab(QTab * /Transfer/);
+%If (Qt_2_00 -)
+ virtual int insertTab(QTab * /Transfer/,int = -1);
+ virtual void removeTab(QTab *);
+%End
+
+%If (- Qt_2_00)
+ void setTabEnabled(int,bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setTabEnabled(int,bool);
+%End
+ bool isTabEnabled(int) const;
+
+ QSize sizeHint() const;
+%If (Qt_2_2_0 -)
+ QSize minimumSizeHint() const;
+%End
+%If (Qt_2_00 -)
+ QSizePolicy sizePolicy() const;
+%End
+
+ int currentTab() const;
+ int keyboardFocusTab() const;
+
+%If (- Qt_3_0_0)
+ QTab *tab(int);
+%End
+%If (Qt_3_0_0 -)
+ QTab *tab(int) const;
+ QTab *tabAt(int) const;
+ int indexOf(int) const;
+%End
+%If (Qt_2_2_0 -)
+ int count() const;
+%End
+
+%If (Qt_2_00 -)
+ virtual void layoutTabs();
+%End
+%If (Qt_3_0_0 -)
+ virtual QTab *selectTab(const QPoint &) const;
+
+ void removeToolTip(int);
+ void setToolTip(int,const QString &);
+ QString toolTip(int) const;
+%End
+
+public slots:
+%If (- Qt_2_00)
+ void setCurrentTab(int);
+ void setCurrentTab(QTab *);
+%End
+%If (Qt_2_00 -)
+ virtual void setCurrentTab(int);
+ virtual void setCurrentTab(QTab *);
+%End
+
+signals:
+ void selected(int);
+%If (Qt_3_2_0 -)
+ void layoutChanged();
+%End
+
+protected:
+ virtual void paint(QPainter *,QTab *,bool) const;
+%If (Qt_2_00 -)
+ virtual void paintLabel(QPainter *,const QRect &,QTab *,bool) const;
+%End
+
+%If (- Qt_3_0_0)
+ virtual QTab *selectTab(const QPoint &) const;
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ void updateMask();
+%End
+
+%If (Qt_2_1_0 -)
+ void focusInEvent(QFocusEvent *);
+ void focusOutEvent(QFocusEvent *);
+
+ void resizeEvent(QResizeEvent *);
+%End
+ void paintEvent(QPaintEvent *);
+ void mousePressEvent(QMouseEvent *);
+%If (Qt_3_0_0 -)
+ void mouseMoveEvent(QMouseEvent *);
+%End
+ void mouseReleaseEvent(QMouseEvent *);
+ void keyPressEvent(QKeyEvent *);
+%If (Qt_2_1_0 -)
+ void styleChange(QStyle &);
+%End
+%If (Qt_3_0_0 -)
+ void fontChange(const QFont &);
+%End
+
+%If (Qt_3_1_0 -)
+ bool event(QEvent *);
+%End
+
+ SIP_PYLIST tabList() [QList<QTab> *()];
+%MethodCode
+ if ((sipRes = PyList_New(0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ QList<QTab> *tl;
+ QTab *tab;
+
+ Py_BEGIN_ALLOW_THREADS
+ tl = sipCpp -> sipProtect_tabList();
+ Py_END_ALLOW_THREADS
+
+ // Convert the list.
+ for (QListIterator<QTab> it(*tl); (tab = it.current()) != NULL; ++it)
+ {
+ PyObject *inst = sipBuildResult(&sipIsErr,"C",tab,sipClass_QTab,NULL);
+
+ if (sipIsErr)
+ break;
+
+ int rc = PyList_Append(sipRes,inst);
+
+ Py_DECREF(inst);
+
+ if (rc < 0)
+ {
+ sipIsErr = 1;
+ break;
+ }
+ }
+
+ if (sipIsErr)
+ {
+ Py_DECREF(sipRes);
+ }
+ }
+%End
+
+private:
+%If (Qt_2_1_0 -)
+ QTabBar(const QTabBar &);
+%End
+};
diff --git a/sip/qt/qtabdialog.sip b/sip/qt/qtabdialog.sip
new file mode 100644
index 0000000..115cf9d
--- /dev/null
+++ b/sip/qt/qtabdialog.sip
@@ -0,0 +1,167 @@
+// This is the SIP interface definition for QTabDialog.
+//
+// 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>QTabDialog</Title>
+<Para>
+<Literal>QTabDialog</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_TABDIALOG)
+
+class QTabDialog : QDialog
+{
+%TypeHeaderCode
+#include <qtabdialog.h>
+%End
+
+public:
+ QTabDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0,
+ WFlags = 0);
+
+ void show();
+ void setFont(const QFont &);
+
+%If (- Qt_2_00)
+ void addTab(QWidget *,const char *);
+%End
+%If (Qt_2_00 -)
+ void addTab(QWidget *,const QString &);
+ void addTab(QWidget *,const QIconSet &,const QString &);
+%End
+ void addTab(QWidget *,QTab *);
+
+%If (Qt_2_00 -)
+ void insertTab(QWidget *,const QString &,int = -1);
+ void insertTab(QWidget *,const QIconSet &,const QString &,int = -1);
+ void insertTab(QWidget *,QTab *,int = -1);
+
+ void changeTab(QWidget *,const QString &);
+ void changeTab(QWidget *,const QIconSet &,const QString &);
+%End
+
+%If (Qt_2_00 -)
+ bool isTabEnabled(QWidget *) const;
+ void setTabEnabled(QWidget *,bool);
+%End
+%If (- Qt_3_0_0)
+ bool isTabEnabled(const char *) const;
+ void setTabEnabled(const char *,bool);
+%End
+
+ void showPage(QWidget *);
+%If (Qt_2_00 -)
+ void removePage(QWidget *);
+ QString tabLabel(QWidget *);
+%End
+%If (- Qt_2_00)
+ const char *tabLabel(QWidget *);
+%End
+
+%If (Qt_2_00 -)
+ QWidget *currentPage() const;
+%End
+
+%If (- Qt_2_00)
+ void setDefaultButton(const char * = "Defaults");
+%End
+%If (Qt_2_00 -)
+ void setDefaultButton(const QString &);
+ void setDefaultButton();
+%End
+ bool hasDefaultButton() const;
+
+%If (Qt_2_00 -)
+ void setHelpButton(const QString &);
+ void setHelpButton();
+ bool hasHelpButton() const;
+%End
+
+%If (- Qt_2_00)
+ void setCancelButton(const char * = "Cancel");
+%End
+%If (Qt_2_00 -)
+ void setCancelButton(const QString &);
+ void setCancelButton();
+%End
+ bool hasCancelButton() const;
+
+%If (- Qt_2_00)
+ void setApplyButton(const char * = "Apply");
+%End
+%If (Qt_2_00 -)
+ void setApplyButton(const QString &);
+ void setApplyButton();
+%End
+ bool hasApplyButton() const;
+
+%If (- Qt_2_00)
+ void setOkButton(const char * = "OK");
+%End
+%If (Qt_2_00 -)
+ void setOkButton(const QString &);
+ void setOkButton();
+%End
+ bool hasOkButton() const;
+
+protected:
+ void paintEvent(QPaintEvent *);
+ void resizeEvent(QResizeEvent *);
+%If (- Qt_2_00)
+ void styleChange(GUIStyle);
+%End
+%If (Qt_2_00 -)
+ void styleChange(QStyle &);
+%End
+ void setTabBar(QTabBar *);
+ QTabBar *tabBar() const;
+
+signals:
+ void aboutToShow();
+
+ void applyButtonPressed();
+ void cancelButtonPressed();
+ void defaultButtonPressed();
+%If (Qt_2_00 -)
+ void helpButtonPressed();
+%End
+
+%If (Qt_2_2_0 -)
+ void currentChanged(QWidget *);
+%End
+%If (- Qt_2_00)
+ void selected(const char *);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ void selected(const QString &);
+%End
+
+private:
+%If (Qt_2_1_0 -)
+ QTabDialog(const QTabDialog &);
+%End
+};
+
+%End
diff --git a/sip/qt/qtableview.sip b/sip/qt/qtableview.sip
new file mode 100644
index 0000000..a2159be
--- /dev/null
+++ b/sip/qt/qtableview.sip
@@ -0,0 +1,185 @@
+// This is the SIP interface definition for QTableView.
+//
+// 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>QTableView (Qt 1.x, Qt 2.x)</Title>
+<FuncSynopsis>
+ <FuncDef>bool <Function>colXPos</Function></FuncDef>
+ <ParamDef>int <Parameter>col</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>xPos</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>col</Literal> parameter and returns a tuple containing
+the <Literal>bool</Literal> result and <Literal>xPos</Literal>.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>rowYPos</Function></FuncDef>
+ <ParamDef>int <Parameter>row</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>yPos</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>row</Literal> parameter and returns a tuple containing
+the <Literal>bool</Literal> result and <Literal>yPos</Literal>.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_TABLEVIEW)
+%If (- Qt_3_0_0)
+
+%ModuleHeaderCode
+#include <qtableview.h>
+%End
+
+const uint Tbl_vScrollBar;
+const uint Tbl_hScrollBar;
+const uint Tbl_autoVScrollBar;
+const uint Tbl_autoHScrollBar;
+const uint Tbl_autoScrollBars;
+
+const uint Tbl_clipCellPainting;
+const uint Tbl_cutCellsV;
+const uint Tbl_cutCellsH;
+const uint Tbl_cutCells;
+
+const uint Tbl_scrollLastHCell;
+const uint Tbl_scrollLastVCell;
+const uint Tbl_scrollLastCell;
+
+const uint Tbl_smoothHScrolling;
+const uint Tbl_smoothVScrolling;
+const uint Tbl_smoothScrolling;
+
+const uint Tbl_snapToHGrid;
+const uint Tbl_snapToVGrid;
+const uint Tbl_snapToGrid;
+
+
+class QTableView : QFrame
+{
+%TypeHeaderCode
+#include <qtableview.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ void setBackgroundColor(const QColor &);
+ void setPalette(const QPalette &);
+%End
+%If (Qt_2_00 -)
+ virtual void setBackgroundColor(const QColor &);
+ virtual void setPalette(const QPalette &);
+%End
+ void show();
+ void repaint(bool = 1);
+ void repaint(int,int,int,int,bool = 1);
+ void repaint(const QRect &,bool = 1);
+
+protected:
+ QTableView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+ ~QTableView();
+
+ int numRows() const;
+ int numCols() const;
+ int topCell() const;
+ int leftCell() const;
+ int xOffset() const;
+ int yOffset() const;
+ virtual int cellWidth(int);
+ virtual int cellHeight(int);
+ int cellWidth() const;
+ int cellHeight() const;
+ virtual int totalWidth();
+ virtual int totalHeight();
+ uint tableFlags() const;
+ bool testTableFlags(uint) const;
+ void clearTableFlags(uint = ~0);
+ bool autoUpdate() const;
+ void updateCell(int,int,bool = 1);
+ QRect cellUpdateRect() const;
+ QRect viewRect() const;
+ int lastRowVisible() const;
+ int lastColVisible() const;
+ bool rowIsVisible(int) const;
+ bool colIsVisible(int) const;
+ const QScrollBar *verticalScrollBar() const;
+ const QScrollBar *horizontalScrollBar() const;
+ virtual void paintCell(QPainter *,int,int) = 0;
+ virtual void setupPainter(QPainter *);
+ void paintEvent(QPaintEvent *);
+ void resizeEvent(QResizeEvent *);
+ int findRow(int) const;
+ int findCol(int) const;
+ bool rowYPos(int,int *) const;
+ bool colXPos(int,int *) const;
+ int maxXOffset();
+ int maxYOffset();
+ int maxColOffset();
+ int maxRowOffset();
+ int minViewX() const;
+ int minViewY() const;
+ int maxViewX() const;
+ int maxViewY() const;
+ int viewWidth() const;
+ int viewHeight() const;
+ void scroll(int,int);
+ void updateScrollBars();
+ void updateTableSize();
+
+%If (- Qt_2_00)
+ void setNumRows(int);
+ void setNumCols(int);
+ void setTopCell(int);
+ void setLeftCell(int);
+ void setTopLeftCell(int,int);
+ void setXOffset(int);
+ void setYOffset(int);
+ void setOffset(int,int,bool = 1);
+ void setCellWidth(int);
+ void setCellHeight(int);
+ void setTableFlags(uint);
+ void setAutoUpdate(bool);
+%End
+
+%If (Qt_2_00 -)
+ virtual void setNumRows(int);
+ virtual void setNumCols(int);
+ virtual void setTopCell(int);
+ virtual void setLeftCell(int);
+ virtual void setTopLeftCell(int,int);
+ virtual void setXOffset(int);
+ virtual void setYOffset(int);
+ virtual void setOffset(int,int,bool = 1);
+ virtual void setCellWidth(int);
+ virtual void setCellHeight(int);
+ virtual void setTableFlags(uint);
+ virtual void setAutoUpdate(bool);
+%End
+
+private:
+ QTableView(const QTableView &);
+};
+
+%End
+%End
diff --git a/sip/qt/qtabwidget.sip b/sip/qt/qtabwidget.sip
new file mode 100644
index 0000000..2f78472
--- /dev/null
+++ b/sip/qt/qtabwidget.sip
@@ -0,0 +1,177 @@
+// This is the SIP interface definition for QTabWidget.
+//
+// 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>QTabWidget (Qt v2+)</Title>
+<Para>
+<Literal>QTabWidget</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QTabWidget : QWidget
+{
+%TypeHeaderCode
+#include <qtabwidget.h>
+%End
+
+public:
+%If (Qt_3_0_0 -)
+ QTabWidget(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ QTabWidget(QWidget * /TransferThis/,const char *,WFlags);
+%End
+%If (- Qt_3_0_0)
+ QTabWidget(QWidget * /TransferThis/ = 0,const char * = 0);
+%End
+
+ // The QWidget is passed to QWidgetStack::addWidget().
+%If (- Qt_3_0_0)
+ void addTab(QWidget * /Transfer/,const QString &);
+ void addTab(QWidget * /Transfer/,const QIconSet &,const QString &);
+ void addTab(QWidget * /Transfer/,QTab *);
+
+ void insertTab(QWidget * /Transfer/,const QString &,int = -1);
+ void insertTab(QWidget * /Transfer/,const QIconSet &,const QString &,
+ int = -1);
+ void insertTab(QWidget * /Transfer/,QTab *,int = -1);
+%End
+%If (Qt_3_0_0 -)
+ virtual void addTab(QWidget * /Transfer/,const QString &);
+ virtual void addTab(QWidget * /Transfer/,const QIconSet &,
+ const QString &);
+ virtual void addTab(QWidget * /Transfer/,QTab *);
+
+ virtual void insertTab(QWidget * /Transfer/,const QString &,int = -1);
+ virtual void insertTab(QWidget * /Transfer/,const QIconSet &,
+ const QString &,int = -1);
+ virtual void insertTab(QWidget * /Transfer/,QTab *,int = -1);
+%End
+
+ void changeTab(QWidget *,const QString &);
+ void changeTab(QWidget *,const QIconSet &,const QString &);
+
+ bool isTabEnabled(QWidget *) const;
+ void setTabEnabled(QWidget *,bool);
+
+%If (Qt_3_2_0 -)
+ void setCornerWidget(QWidget *,Qt::Corner = Qt::TopRight);
+ QWidget *cornerWidget(Qt::Corner = Qt::TopRight) const;
+%End
+
+%If (- Qt_3_0_0)
+ void showPage(QWidget *);
+ void removePage(QWidget *);
+
+ QString tabLabel(QWidget *);
+%End
+%If (Qt_3_0_0 -)
+ QString tabLabel(QWidget *) const;
+ void setTabLabel(QWidget *,const QString &);
+
+ QIconSet tabIconSet(QWidget *) const;
+ void setTabIconSet(QWidget *,const QIconSet &);
+
+ void removeTabToolTip(QWidget *);
+ void setTabToolTip(QWidget *,const QString &);
+ QString tabToolTip(QWidget *) const;
+%End
+
+ QWidget *currentPage() const;
+%If (Qt_3_0_0 -)
+ QWidget *page(int) const;
+ QString label(int) const;
+%End
+%If (Qt_2_2_0 -)
+ int currentPageIndex() const;
+%End
+%If (Qt_2_2_0 - Qt_3_0_0)
+ void setCurrentPage(int);
+%End
+%If (Qt_3_0_0 -)
+ int indexOf(QWidget *) const;
+%End
+
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+
+ enum TabPosition {
+ Top,
+ Bottom
+ };
+
+ TabPosition tabPosition() const;
+ void setTabPosition(TabPosition);
+
+%If (Qt_2_2_0 -)
+ enum TabShape {
+ Rounded,
+ Triangular
+ };
+
+ TabShape tabShape() const;
+ void setTabShape(TabShape);
+%End
+
+ int margin() const;
+ void setMargin(int);
+
+%If (Qt_2_1_0 - Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+
+%If (Qt_3_0_0 -)
+ int count() const;
+%End
+
+public slots:
+%If (Qt_3_0_0 -)
+ void setCurrentPage(int);
+ virtual void showPage(QWidget *);
+ virtual void removePage(QWidget *);
+%End
+
+protected:
+ void showEvent(QShowEvent *);
+ void resizeEvent(QResizeEvent *);
+ void setTabBar(QTabBar *);
+ QTabBar *tabBar() const;
+ void styleChange(QStyle &);
+ void updateMask();
+ bool eventFilter(QObject *,QEvent *);
+
+signals:
+%If (Qt_2_2_0 -)
+ void currentChanged(QWidget *);
+%End
+
+private:
+%If (Qt_2_1_0 -)
+ QTabWidget(const QTabWidget &);
+%End
+};
+
+%End
diff --git a/sip/qt/qtextbrowser.sip b/sip/qt/qtextbrowser.sip
new file mode 100644
index 0000000..d7f4570
--- /dev/null
+++ b/sip/qt/qtextbrowser.sip
@@ -0,0 +1,114 @@
+// This is the SIP interface definition for QTextBrowser.
+//
+// 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>QTextBrowser (Qt v2+)</Title>
+<Para>
+<Literal>QTextBrowser</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QTextBrowser : QTextEdit
+{
+%TypeHeaderCode
+#include <qtextbrowser.h>
+%End
+
+public:
+ QTextBrowser(QWidget * /TransferThis/ = 0,const char * = 0);
+
+ QString source() const;
+
+public slots:
+ virtual void setSource(const QString &);
+ virtual void backward();
+ virtual void forward();
+ virtual void home();
+ virtual void reload();
+ void setText(const QString &);
+ virtual void setText(const QString &,const QString &);
+
+signals:
+ void backwardAvailable(bool);
+ void forwardAvailable(bool);
+%If (Qt_3_1_0 -)
+ void sourceChanged(const QString &);
+%End
+ void highlighted(const QString &);
+ void linkClicked(const QString &);
+%If (Qt_3_1_0 -)
+ void anchorClicked(const QString &,const QString &);
+%End
+
+protected:
+ void keyPressEvent(QKeyEvent *);
+
+private:
+ QTextBrowser(const QTextBrowser &);
+};
+
+%End
+
+%If (Qt_2_00 - Qt_3_0_0)
+
+class QTextBrowser : QTextView
+{
+%TypeHeaderCode
+#include <qtextbrowser.h>
+%End
+
+public:
+ QTextBrowser(QWidget * /TransferThis/ = 0,const char * = 0);
+
+ virtual void setSource(const QString &);
+ QString source() const;
+ void setText(const QString &,const QString & = QString::null);
+ void scrollToAnchor(const QString &);
+
+public slots:
+ virtual void backward();
+ virtual void forward();
+ virtual void home();
+
+signals:
+ void backwardAvailable(bool);
+ void forwardAvailable(bool);
+ void highlighted(const QString &);
+ void textChanged();
+
+protected:
+ void viewportMousePressEvent(QMouseEvent *);
+ void viewportMouseReleaseEvent(QMouseEvent *);
+ void viewportMouseMoveEvent(QMouseEvent *);
+ void keyPressEvent(QKeyEvent *);
+
+private:
+%If (Qt_2_1_0 -)
+ QTextBrowser(const QTextBrowser &);
+%End
+};
+
+%End
diff --git a/sip/qt/qtextcodec.sip b/sip/qt/qtextcodec.sip
new file mode 100644
index 0000000..626e12b
--- /dev/null
+++ b/sip/qt/qtextcodec.sip
@@ -0,0 +1,146 @@
+// This is the SIP interface definition for QTextCodec, QTextDecoder and
+// QTextEncoder.
+//
+// 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>QTextCodec (Qt v2+)</Title>
+<FuncSynopsis>
+ <FuncDef>virtual QCString <Function>fromUnicode</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>uc</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>lenInOut</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+The returned value is a tuple of the <Literal>QCString</Literal> result and the
+updated <Literal>lenInOut</Literal>.
+</Para>
+</Sect2>
+
+<Sect2><Title>QTextDecoder (Qt v2+)</Title>
+<Para>
+<Literal>QTextDecoder</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QTextEncoder (Qt v2+)</Title>
+<FuncSynopsis>
+ <FuncDef>virtual QCString <Function>fromUnicode</Function> = 0</FuncDef>
+ <ParamDef>const QString &amp;<Parameter>uc</Parameter></ParamDef>
+ <ParamDef>int &amp;<Parameter>lenInOut</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+The returned value is a tuple of the <Literal>QCString</Literal> result and the
+updated <Literal>lenInOut</Literal>.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QTextEncoder
+{
+%TypeHeaderCode
+#include <qtextcodec.h>
+%End
+
+public:
+ virtual QCString fromUnicode(const QString &,int & /In,Out/) = 0;
+};
+
+
+class QTextDecoder
+{
+%TypeHeaderCode
+#include <qtextcodec.h>
+%End
+
+public:
+ virtual QString toUnicode(const char *,int) = 0;
+};
+
+
+class QTextCodec
+{
+%TypeHeaderCode
+#include <qtextcodec.h>
+%End
+
+public:
+%If (Qt_CODECS)
+ static QTextCodec *loadCharmap(QIODevice *);
+ static QTextCodec *loadCharmapFile(QString);
+%End
+ static QTextCodec *codecForMib(int);
+ static QTextCodec *codecForName(const char *,int = 0);
+ static QTextCodec *codecForContent(const char *,int);
+ static QTextCodec *codecForIndex(int);
+ static QTextCodec *codecForLocale();
+%If (Qt_3_0_0 -)
+ static void setCodecForLocale(QTextCodec *);
+%End
+
+%If (Qt_3_1_0 -)
+ static QTextCodec *codecForTr();
+ static void setCodecForTr(QTextCodec *);
+ static QTextCodec *codecForCStrings();
+ static void setCodecForCStrings(QTextCodec *);
+%End
+
+ static void deleteAllCodecs();
+
+ static const char *locale();
+
+ virtual const char *name() const = 0;
+%If (Qt_3_0_0 -)
+ virtual const char *mimeName() const;
+%End
+ virtual int mibEnum() const = 0;
+
+ virtual QTextDecoder *makeDecoder() const /Factory/;
+ virtual QTextEncoder *makeEncoder() const /Factory/;
+
+ virtual QString toUnicode(const char *,int) const;
+ virtual QCString fromUnicode(const QString &,int & /In,Out/) const;
+ QCString fromUnicode(const QString &) const;
+ QString toUnicode(const QByteArray &,int) const;
+ QString toUnicode(const QByteArray &) const;
+%If (Qt_3_0_0 -)
+ QString toUnicode(const QCString &,int) const;
+ QString toUnicode(const QCString &) const;
+%End
+ QString toUnicode(const char *) const;
+ virtual bool canEncode(QChar) const;
+ virtual bool canEncode(const QString &) const;
+
+ virtual int heuristicContentMatch(const char *,int) const = 0;
+ virtual int heuristicNameMatch(const char *) const;
+
+%If (Qt_3_0_0 -)
+ virtual QByteArray fromUnicode(const QString &,int,int) const;
+ virtual unsigned short characterFromUnicode(const QString &,int) const;
+%End
+
+protected:
+ QTextCodec();
+};
+
+%End
diff --git a/sip/qt/qtextedit.sip b/sip/qt/qtextedit.sip
new file mode 100644
index 0000000..3576bf3
--- /dev/null
+++ b/sip/qt/qtextedit.sip
@@ -0,0 +1,437 @@
+// This is the SIP interface definition for QTextEdit.
+//
+// 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>QTextEdit (Qt v3+)</Title>
+<FuncSynopsis>
+<FuncDef>int <Function>charAt</Function></FuncDef>
+ <ParamDef>const QPoint &amp;<Parameter>pos</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>para</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>pos</Literal> parameter and returns a tuple of the
+value returned via the <Literal>para</Literal> pointer and the int result.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>del</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>delChar</Literal> in Python.
+</Para>
+
+<FuncSynopsis>
+<FuncDef>virtual bool <Function>find</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>expr</Parameter></ParamDef>
+ <ParamDef>bool <Parameter>cs</Parameter></ParamDef>
+ <ParamDef>bool <Parameter>wo</Parameter></ParamDef>
+ <ParamDef>bool <Parameter>forward</Parameter> = TRUE</ParamDef>
+ <ParamDef>int *<Parameter>para</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>index</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+If the <Literal>para</Literal> and <Literal>index</Literal> parameters are
+omitted then the bool result is returned. If both are supplied (as integers)
+then a tuple of the bool result and the modified values of
+<Literal>para</Literal> and <Literal>index</Literal> is returned.
+</Para>
+
+<FuncSynopsis>
+<FuncDef>void <Function>getCursorPosition</Function></FuncDef>
+ <ParamDef>int *<Parameter>para</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>index</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns a tuple of the values returned via the
+<Literal>para</Literal> and <Literal>index</Literal> pointers.
+</Para>
+
+<FuncSynopsis>
+<FuncDef>void <Function>getSelection</Function></FuncDef>
+ <ParamDef>int *<Parameter>paraFrom</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>indexFrom</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>paraTo</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>indexTo</Parameter></ParamDef>
+ <ParamDef>int <Parameter>selNum</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>selNum</Literal> parameter and returns a tuple of
+the <Literal>paraFrom</Literal>, <Literal>indexFrom</Literal>,
+<Literal>paraTo</Literal> and <Literal>indexTo</Literal> values.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+// These aren't part of the public API in the Qt3 beta, so define them as
+// opaque for the moment.
+
+class QTextDocument;
+class QTextCursor;
+
+
+class QTextEdit : QScrollView
+{
+%TypeHeaderCode
+#include <qtextedit.h>
+%End
+
+public:
+ enum WordWrap {
+ NoWrap,
+ WidgetWidth,
+ FixedPixelWidth,
+ FixedColumnWidth
+ };
+
+ enum WrapPolicy {
+ AtWordBoundary,
+ Anywhere,
+ AtWhiteSpace,
+%If (Qt_3_1_0 -)
+ AtWordOrDocumentBoundary
+%End
+ };
+
+%If (Qt_3_1_0 -)
+ enum AutoFormatting {
+ AutoNone,
+ AutoBulletList,
+ AutoAll
+ };
+%End
+
+ enum KeyboardAction {
+ ActionBackspace,
+ ActionDelete,
+ ActionReturn,
+ ActionKill,
+%If (Qt_3_1_0 -)
+ ActionWordBackspace,
+ ActionWordDelete
+%End
+ };
+
+ enum CursorAction {
+ MoveBackward,
+ MoveForward,
+ MoveWordBackward,
+ MoveWordForward,
+ MoveUp,
+ MoveDown,
+ MoveLineStart,
+ MoveLineEnd,
+ MoveHome,
+ MoveEnd,
+ MovePgUp,
+ MovePgDown
+ };
+
+ enum VerticalAlignment {
+ AlignNormal,
+ AlignSuperScript,
+ AlignSubScript
+ };
+
+%If (Qt_3_1_0 -)
+ enum TextInsertionFlags {
+ RedoIndentation,
+ CheckNewLines,
+ RemoveSelected
+ };
+%End
+
+ QTextEdit(const QString &,const QString & = QString::null,
+ QWidget * /TransferThis/ = 0,const char * = 0);
+ QTextEdit(QWidget * /TransferThis/ = 0,const char * = 0);
+
+ void setPalette(const QPalette &);
+
+ QString text() const;
+ QString text(int) const;
+ TextFormat textFormat() const;
+ QString context() const;
+ QString documentTitle() const;
+
+ void getSelection(int *,int *,int *,int *,int = 0) const;
+
+ // We implement find() as two separate methods as it's the easiest way
+ // to handle the somewhat strange Qt interface.
+ virtual bool find(const QString &,bool,bool,bool = 1);
+ virtual bool find(const QString &,bool,bool,bool,int * /In,Out/,
+ int * /In,Out/);
+
+ int paragraphs() const;
+ int lines() const;
+ int linesOfParagraph(int) const;
+ int lineOfChar(int,int);
+ int length() const;
+ QRect paragraphRect(int) const;
+ int paragraphAt(const QPoint &) const;
+
+ // Note that this is handwritten code because the generated code would
+ // return the values in the (correct but) reverse order.
+ SIP_PYTUPLE charAt(const QPoint &) const;
+%MethodCode
+ int para, index;
+
+ Py_BEGIN_ALLOW_THREADS
+ index = sipCpp -> QTextEdit::charAt(*a0,&para);
+ Py_END_ALLOW_THREADS
+
+ sipRes = sipBuildResult(&sipIsErr,"(ii)",para,index);
+%End
+
+ int paragraphLength(int) const;
+
+ QStyleSheet *styleSheet() const;
+ QMimeSourceFactory *mimeSourceFactory() const;
+
+ QBrush paper() const;
+ bool linkUnderline() const;
+
+ int heightForWidth(int) const;
+
+ bool hasSelectedText() const;
+ QString selectedText() const;
+ bool isUndoAvailable() const;
+ bool isRedoAvailable() const;
+
+ WordWrap wordWrap() const;
+ int wrapColumnOrWidth() const;
+ WrapPolicy wrapPolicy() const;
+
+ int tabStopWidth() const;
+
+ QString anchorAt(const QPoint &);
+%If (Qt_3_1_0 -)
+ QString anchorAt(const QPoint &,AnchorAttribute);
+%End
+
+ QSize sizeHint() const;
+
+ bool isReadOnly() const;
+
+ void getCursorPosition(int *,int *) const;
+
+ bool isModified() const;
+ bool italic() const;
+ bool bold() const;
+ bool underline() const;
+ QString family() const;
+ int pointSize() const;
+ QColor color() const;
+ QFont font() const;
+%If (Qt_3_1_0 -)
+ QFont currentFont() const;
+%End
+ int alignment() const;
+ int undoDepth() const;
+
+ // These are undocumented and marked as "don't use".
+ //virtual bool getFormat(int,int,QFont *,QColor *,VerticalAlignment *);
+ //virtual bool getParagraphFormat(int,QFont *,QColor *,
+ // VerticalAlignment *,int *,
+ // QStyleSheetItem::DisplayMode *,
+ // QStyleSheetItem::ListStyle *,
+ // int *);
+
+ bool isOverwriteMode() const;
+ QColor paragraphBackgroundColor(int) const;
+
+ bool isUndoRedoEnabled() const;
+ bool eventFilter(QObject *,QEvent *);
+%If (Qt_3_1_0 -)
+ bool tabChangesFocus() const;
+
+ // Qt defines the following as uint rather than int because it uses the
+ // AutoFormatting enum as a set of flags. Because SIP implements enums
+ // as a subclass of int they are always signed. AutoAll is defined as
+ // 0xffffffff which Python converts to -1 and then fails to convert it
+ // to an unsigned. For the moment we just lie to SIP about the type
+ // and let the compiler handle it.
+ void setAutoFormatting(int);
+ int autoFormatting() const;
+%End
+%If (Qt_3_3_0 -)
+ QSyntaxHighlighter *syntaxHighlighter() const;
+%End
+
+public slots:
+ void setEnabled(bool);
+ virtual void setMimeSourceFactory(QMimeSourceFactory *);
+ virtual void setStyleSheet(QStyleSheet *);
+ virtual void scrollToAnchor(const QString &);
+ virtual void setPaper(const QBrush &);
+ virtual void setLinkUnderline(bool);
+
+ virtual void setWordWrap(WordWrap);
+ virtual void setWrapColumnOrWidth(int);
+ virtual void setWrapPolicy(WrapPolicy);
+
+ virtual void copy();
+ virtual void append(const QString &);
+
+ void setText(const QString &);
+ virtual void setText(const QString &,const QString &);
+ virtual void setTextFormat(TextFormat);
+
+ virtual void selectAll(bool = 1);
+ virtual void setTabStopWidth(int);
+ virtual void zoomIn(int);
+ virtual void zoomIn();
+ virtual void zoomOut(int);
+ virtual void zoomOut();
+ virtual void zoomTo(int);
+
+ virtual void sync();
+ virtual void setReadOnly(bool);
+
+ virtual void undo();
+ virtual void redo();
+ virtual void cut();
+ virtual void paste();
+ virtual void pasteSubType(const QCString &);
+ virtual void clear();
+ virtual void del() /PyName=delChar/;
+ virtual void indent();
+ virtual void setItalic(bool);
+ virtual void setBold(bool);
+ virtual void setUnderline(bool);
+ virtual void setFamily(const QString &);
+ virtual void setPointSize(int);
+ virtual void setColor(const QColor &);
+ virtual void setFont(const QFont &);
+ virtual void setVerticalAlignment(VerticalAlignment);
+ virtual void setAlignment(int);
+ virtual void setParagType(QStyleSheetItem::DisplayMode,
+ QStyleSheetItem::ListStyle);
+ virtual void setCursorPosition(int,int);
+ virtual void setSelection(int,int,int,int,int = 0);
+ virtual void setSelectionAttributes(int,const QColor &,bool);
+ virtual void setModified(bool);
+ virtual void resetFormat();
+ virtual void setUndoDepth(int);
+// Marked as internal in the Qt3 beta.
+// virtual void setFormat(QTextFormat *,int);
+ virtual void ensureCursorVisible();
+ virtual void placeCursor(const QPoint &,QTextCursor * = 0);
+ virtual void moveCursor(CursorAction,bool);
+ virtual void doKeyboardAction(KeyboardAction);
+ virtual void removeSelectedText(int = 0);
+ virtual void removeSelection(int = 0);
+ virtual void setCurrentFont(const QFont &);
+ virtual void setOverwriteMode(bool);
+
+ virtual void scrollToBottom();
+
+%If (Qt_3_1_0 -)
+ void insert(const QString &,uint = CheckNewLines | RemoveSelected);
+ virtual void insert(const QString &,bool,bool = 1,bool = 1);
+%End
+%If (- Qt_3_1_0)
+ virtual void insert(const QString &,bool = 0,bool = 1,bool = 1);
+%End
+ virtual void insertAt(const QString &,int,int);
+ virtual void removeParagraph(int);
+ virtual void insertParagraph(const QString &,int);
+
+ virtual void setParagraphBackgroundColor(int,const QColor &);
+ virtual void clearParagraphBackground(int);
+
+ virtual void setUndoRedoEnabled(bool);
+%If (Qt_3_1_0 -)
+ void setTabChangesFocus(bool);
+
+ void polish();
+%End
+%If (Qt_3_2_0 -)
+ void setMaxLogLines(int);
+ int maxLogLines();
+%End
+
+signals:
+ void textChanged();
+ void selectionChanged();
+ void copyAvailable(bool);
+ void undoAvailable(bool);
+ void redoAvailable(bool);
+ void currentFontChanged(const QFont &);
+ void currentColorChanged(const QColor &);
+ void currentAlignmentChanged(int);
+ void currentVerticalAlignmentChanged(VerticalAlignment);
+ void cursorPositionChanged(QTextCursor *);
+ void cursorPositionChanged(int,int);
+ void returnPressed();
+ void modificationChanged(bool);
+%If (Qt_3_1_0 -)
+ void clicked(int,int);
+ void doubleClicked(int,int);
+%End
+
+protected:
+ void repaintChanged();
+ void updateStyles();
+ void drawContents(QPainter *,int,int,int,int);
+ bool event(QEvent *);
+ void keyPressEvent(QKeyEvent *);
+ void resizeEvent(QResizeEvent *);
+ void viewportResizeEvent(QResizeEvent *);
+ void contentsMousePressEvent(QMouseEvent *);
+ void contentsMouseMoveEvent(QMouseEvent *);
+ void contentsMouseReleaseEvent(QMouseEvent *);
+ void contentsMouseDoubleClickEvent(QMouseEvent *);
+ void contentsWheelEvent(QWheelEvent *);
+ void imStartEvent(QIMEvent *);
+ void imComposeEvent(QIMEvent *);
+ void imEndEvent(QIMEvent *);
+ void contentsDragEnterEvent(QDragEnterEvent *);
+ void contentsDragMoveEvent(QDragMoveEvent *);
+ void contentsDragLeaveEvent(QDragLeaveEvent *);
+ void contentsDropEvent(QDropEvent *);
+ void contentsContextMenuEvent(QContextMenuEvent *);
+ bool focusNextPrevChild(bool);
+ QTextDocument *document() const;
+ QTextCursor *textCursor() const;
+ void setDocument(QTextDocument *);
+ virtual QPopupMenu *createPopupMenu(const QPoint &) /Factory/;
+ virtual QPopupMenu *createPopupMenu() /Factory/;
+ void drawCursor(bool);
+
+ void windowActivationChange(bool);
+
+protected slots:
+ virtual void doChangeInterval();
+%If (Qt_3_1_0 -)
+ void sliderReleased();
+%End
+
+private:
+%If (Qt_3_1_0 -)
+ QTextEdit(const QTextEdit &);
+%End
+};
+
+%End
diff --git a/sip/qt/qtextstream.sip b/sip/qt/qtextstream.sip
new file mode 100644
index 0000000..7e8abcd
--- /dev/null
+++ b/sip/qt/qtextstream.sip
@@ -0,0 +1,231 @@
+// This is the SIP interface definition for QTextStream, QTextIStream and
+// QTextOStream.
+//
+// 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>QTextStream</Title>
+<FuncSynopsis>
+ <FuncDef><Function>QTextStream</Function></FuncDef>
+ <ParamDef>FILE *<Parameter>fp</Parameter></ParamDef>
+ <ParamDef>int <Parameter>mode</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QTextStream &<Function>readRawBytes</Function></FuncDef>
+ <ParamDef>char *<Parameter>buf</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>len</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QTextStream &<Function>writeRawBytes</Function></FuncDef>
+ <ParamDef>const char *<Parameter>buf</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>len</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QTextIStream (Qt v2+)</Title>
+<FuncSynopsis>
+ <FuncDef><Function>QTextIStream</Function></FuncDef>
+ <ParamDef>FILE *<Parameter>fp</Parameter></ParamDef>
+ <ParamDef>int <Parameter>mode</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QTextOStream (Qt v2+)</Title>
+<FuncSynopsis>
+ <FuncDef><Function>QTextOStream</Function></FuncDef>
+ <ParamDef>FILE *<Parameter>fp</Parameter></ParamDef>
+ <ParamDef>int <Parameter>mode</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QTextStream
+{
+%TypeHeaderCode
+#include <qtextstream.h>
+%End
+
+public:
+%If (Qt_2_00 - Qt_2_2_0)
+ enum Encoding {
+ Locale,
+ Latin1,
+ Unicode,
+ UnicodeNetworkOrder,
+ UnicodeReverse,
+ RawUnicode
+ };
+%End
+%If (Qt_2_2_0 -)
+ enum Encoding {
+ Locale,
+ Latin1,
+ Unicode,
+ UnicodeNetworkOrder,
+ UnicodeReverse,
+ RawUnicode,
+ UnicodeUTF8
+ };
+%End
+
+ QTextStream();
+ QTextStream(QIODevice *);
+%If (Qt_2_00 -)
+ QTextStream(QString *,int);
+%End
+ QTextStream(QByteArray,int);
+// QTextStream(FILE *,int);
+
+%If (Qt_2_00 -)
+ void setEncoding(Encoding);
+ void setCodec(QTextCodec *);
+%End
+%If (Qt_3_1_0 -)
+ QTextCodec *codec();
+%End
+
+ QIODevice *device() const;
+ void setDevice(QIODevice *);
+ void unsetDevice();
+
+%If (Qt_2_00 -)
+ bool atEnd() const;
+%End
+ bool eof() const;
+
+// QTextStream &readRawBytes(char *,uint) /ReleaseGIL/;
+// QTextStream &writeRawBytes(const char *,uint) /ReleaseGIL/;
+
+ QString readLine() /ReleaseGIL/;
+%If (Qt_2_00 -)
+ QString read() /ReleaseGIL/;
+ void skipWhiteSpace();
+%End
+
+ enum {
+ skipws,
+ left,
+ right,
+ internal,
+ bin,
+ oct,
+ dec,
+ hex,
+ showbase,
+ showpoint,
+ uppercase,
+ showpos,
+ scientific,
+ fixed
+ };
+
+ static const int basefield;
+ static const int adjustfield;
+ static const int floatfield;
+
+ int flags() const;
+ int flags(int);
+ int setf(int);
+ int setf(int,int);
+ int unsetf(int);
+
+ void reset();
+
+ int width() const;
+ int width(int);
+ int fill() const;
+ int fill(int);
+ int precision() const;
+ int precision(int);
+
+%If (Qt_3_0_0 -)
+ // These are defined in qmainwindow.h as global operators so we have
+ // to implement them here and pretend they are class operators.
+ QTextStream &operator<<(const QMainWindow &);
+ QTextStream &operator>>(QMainWindow &);
+
+ // These are defined in qdockarea.h as global operators so we have
+ // to implement them here and pretend they are class operators.
+ QTextStream &operator<<(const QDockArea &);
+ QTextStream &operator>>(QDockArea &);
+%End
+
+private:
+ QTextStream(const QTextStream &);
+};
+
+
+%If (Qt_2_00 -)
+
+class QTextIStream : QTextStream
+{
+%TypeHeaderCode
+#include <qtextstream.h>
+%End
+
+public:
+ QTextIStream(QString *);
+ QTextIStream(QByteArray);
+// QTextIStream(FILE *);
+
+private:
+%If (Qt_3_1_0 -)
+ QTextIStream(const QTextIStream &);
+%End
+};
+
+
+class QTextOStream : QTextStream
+{
+%TypeHeaderCode
+#include <qtextstream.h>
+%End
+
+public:
+ QTextOStream(QString *);
+ QTextOStream(QByteArray);
+// QTextOStream(FILE *);
+
+private:
+%If (Qt_3_1_0 -)
+ QTextOStream(const QTextOStream &);
+%End
+};
+
+%End
diff --git a/sip/qt/qtextview.sip b/sip/qt/qtextview.sip
new file mode 100644
index 0000000..d79a34a
--- /dev/null
+++ b/sip/qt/qtextview.sip
@@ -0,0 +1,128 @@
+// This is the SIP interface definition for QTextView.
+//
+// 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>QTextView (Qt v2+)</Title>
+<Para>
+<Literal>QTextView</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QTextView : QTextEdit
+{
+%TypeHeaderCode
+#include <qtextview.h>
+%End
+
+public:
+ QTextView(QWidget * /TransferThis/ = 0,const char * = 0);
+ QTextView(const QString &,const QString & = QString::null,
+ QWidget * /TransferThis/ = 0,const char * = 0);
+
+private:
+%If (Qt_3_1_0 -)
+ QTextView(const QTextView &);
+%End
+};
+
+%End
+
+
+%If (Qt_2_00 - Qt_3_0_0)
+
+class QTextView : QScrollView
+{
+%TypeHeaderCode
+#include <qtextview.h>
+%End
+
+public:
+ QTextView(QWidget * /TransferThis/ = 0,const char * = 0);
+ QTextView(const QString &,const QString & = QString::null,
+ QWidget * /TransferThis/ = 0,const char * = 0);
+
+%If (- Qt_2_1_0)
+ virtual void setText(const QString &,const QString & = QString::null);
+%End
+%If (Qt_2_1_0 -)
+ virtual void setText(const QString &,const QString &);
+ void setText(const QString &);
+%End
+ virtual QString text() const;
+ virtual QString context() const;
+ Qt::TextFormat textFormat() const;
+ void setTextFormat(Qt::TextFormat);
+ QStyleSheet *styleSheet() const;
+ void setStyleSheet(QStyleSheet *);
+ void setPaper(const QBrush &);
+ const QBrush &paper();
+ void setPaperColorGroup(const QColorGroup &);
+ const QColorGroup &paperColorGroup() const;
+ void setLinkColor(const QColor &);
+ const QColor &linkColor() const;
+ void setLinkUnderline(bool);
+ bool linkUnderline() const;
+ void setMimeSourceFactory(QMimeSourceFactory *);
+ QMimeSourceFactory *mimeSourceFactory() const;
+ QString documentTitle() const;
+ int heightForWidth(int) const;
+%If (Qt_2_1_0 -)
+ void append(const QString &);
+ bool hasSelectedText() const;
+ QString selectedText() const;
+%End
+
+public slots:
+%If (Qt_2_1_0 -)
+%If (Qt_CLIPBOARD)
+ void copy();
+%End
+ void selectAll();
+%End
+
+protected:
+ void drawContentsOffset(QPainter *,int,int,int,int,int,int);
+ void resizeEvent(QResizeEvent *);
+ void viewportResizeEvent(QResizeEvent *);
+ void viewportMousePressEvent(QMouseEvent *);
+ void viewportMouseReleaseEvent(QMouseEvent *);
+ void viewportMouseMoveEvent(QMouseEvent *);
+ void keyPressEvent(QKeyEvent *);
+%If (Qt_2_1_0 -)
+ void showEvent(QShowEvent *);
+ void focusInEvent(QFocusEvent *);
+ void focusOutEvent(QFocusEvent *);
+%End
+// QRichText &richText() const;
+ void paletteChange(const QPalette &);
+
+private:
+%If (Qt_2_1_0 -)
+ QTextView(const QTextView &);
+%End
+};
+
+%End
diff --git a/sip/qt/qthread.sip b/sip/qt/qthread.sip
new file mode 100644
index 0000000..29966c6
--- /dev/null
+++ b/sip/qt/qthread.sip
@@ -0,0 +1,98 @@
+// This is the SIP interface definition for QThread.
+//
+// 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>QThread (Qt v2.2+)</Title>
+<Para>
+<Literal>QThread</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_THREAD_SUPPORT)
+%If (Qt_2_2_0 -)
+
+class QThread : Qt /CreatesThread/
+{
+%TypeHeaderCode
+#include <qthread.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ static HANDLE currentThread();
+%End
+%If (Qt_3_0_0 -)
+ static Qt::HANDLE currentThread();
+%End
+ static void postEvent(QObject *,QEvent * /Transfer/) /ReleaseGIL/;
+%If (Qt_3_0_0 -)
+ static void initialize();
+ static void cleanup();
+%End
+
+ static void exit() /ReleaseGIL/;
+
+%If (Qt_3_1_0 -)
+ QThread(unsigned int);
+%End
+ QThread();
+
+ bool wait(unsigned long = ULONG_MAX) /ReleaseGIL/;
+
+%If (Qt_3_2_0 -)
+ enum Priority {
+ IdlePriority,
+ LowestPriority,
+ LowPriority,
+ NormalPriority,
+ HighPriority,
+ HighestPriority,
+ TimeCriticalPriority,
+ InheritPriority
+ };
+
+ void start(Priority) /ReleaseGIL/;
+%End
+ void start() /ReleaseGIL/;
+
+%If (Qt_3_1_0 -)
+ void terminate();
+%End
+
+ bool finished() const;
+ bool running() const;
+
+protected:
+ virtual void run() = 0 /NewThread/;
+
+ static void sleep(unsigned long) /ReleaseGIL/;
+ static void msleep(unsigned long) /ReleaseGIL/;
+ static void usleep(unsigned long) /ReleaseGIL/;
+
+private:
+ QThread(const QThread &);
+};
+
+%End
+%End
diff --git a/sip/qt/qtimer.sip b/sip/qt/qtimer.sip
new file mode 100644
index 0000000..62d20b2
--- /dev/null
+++ b/sip/qt/qtimer.sip
@@ -0,0 +1,59 @@
+// This is the SIP interface definition for QTimer.
+//
+// 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>QTimer</Title>
+<Para>
+<Literal>QTimer</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QTimer : QObject
+{
+%TypeHeaderCode
+#include <qtimer.h>
+%End
+
+public:
+ QTimer(QObject * /TransferThis/ = 0,char * = 0);
+
+ bool isActive() const;
+ int start(int,bool = 0);
+ void changeInterval(int);
+ void stop();
+ static void singleShot(int,SIP_RXOBJ_CON,SIP_SLOT_CON());
+
+%If (Qt_3_1_0 -)
+ int timerId() const;
+%End
+
+signals:
+ void timeout();
+
+protected:
+ bool event(QEvent *);
+
+private:
+ QTimer(const QTimer &);
+};
diff --git a/sip/qt/qtmod.sip b/sip/qt/qtmod.sip
new file mode 100644
index 0000000..045c779
--- /dev/null
+++ b/sip/qt/qtmod.sip
@@ -0,0 +1,286 @@
+// This is the SIP interface definition for the qt module of PyQt.
+//
+// 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.
+
+
+%Module qt 2
+
+%Plugin PyQt3
+
+%Include versions.sip
+%Include copying.sip
+
+
+unsigned PYQT_VERSION;
+const char *PYQT_VERSION_STR;
+
+%ModuleCode
+static unsigned PYQT_VERSION = 0x031201;
+static const char *PYQT_VERSION_STR = "3.18.1";
+%End
+
+
+// Hook into the VendorID package if it is enabled.
+%Feature VendorID
+
+%If (VendorID)
+
+%ModuleCode
+#include <vendorid.h>
+%End
+
+%PreInitialisationCode
+ if (!vendorid_check())
+ {
+ PyErr_SetString(PyExc_RuntimeError, "PyQt cannot be used with this Python interpreter");
+ return;
+ }
+%End
+
+%End
+
+%DefaultMetatype qt.pyqtWrapperType
+%DefaultSupertype qt.pyqtWrapper
+
+// Include the interface definitions for each class.
+
+// These contain enum and type definitions that need to be defined before they
+// are used so they do not seem to be classes.
+
+%Include qglobal.sip
+%Include qnamespace.sip
+%Include qwindowdefs.sip
+%Include qpen.sip
+
+%Include qpaintdevice.sip
+
+%Include qpixmap.sip
+%Include qbitmap.sip
+
+%Include qsize.sip
+%Include qsizepolicy.sip
+
+%Include qaccel.sip
+%Include qaction.sip
+%Include qapplication.sip
+%Include qarray.sip
+%Include qassistantclient.sip
+%Include qbrush.sip
+%Include qbutton.sip
+%Include qbuttongroup.sip
+%Include qbytearray.sip
+%Include qcdestyle.sip
+%Include qcheckbox.sip
+%Include qclipboard.sip
+%Include qcolor.sip
+%Include qcolordialog.sip
+%Include qcolorgroup.sip
+%Include qcombobox.sip
+%Include qcommonstyle.sip
+%Include qcstring.sip
+%Include qcursor.sip
+%Include qdatastream.sip
+%Include qdatetime.sip
+%Include qdatetimeedit.sip
+%Include qdesktopwidget.sip
+%Include qdial.sip
+%Include qdialog.sip
+%Include qdir.sip
+%Include qdockarea.sip
+%Include qdockwindow.sip
+%Include qdragobject.sip
+%Include qdrawutil.sip
+%Include qdropsite.sip
+%Include qerrormessage.sip
+%Include qevent.sip
+%Include qeventloop.sip
+%Include qfile.sip
+%Include qfiledialog.sip
+%Include qfileinfo.sip
+%Include qfont.sip
+%Include qfontdatabase.sip
+%Include qfontdialog.sip
+%Include qfontinfo.sip
+%Include qfontmetrics.sip
+%Include qframe.sip
+%Include qgmanager.sip
+%Include qgrid.sip
+%Include qgridview.sip
+%Include qgroupbox.sip
+%Include qhbox.sip
+%Include qhbuttongroup.sip
+%Include qheader.sip
+%Include qhgroupbox.sip
+%Include qiconset.sip
+%Include qiconview.sip
+%Include qimage.sip
+%Include qinputdialog.sip
+%Include qinterlacestyle.sip
+%Include qiodevice.sip
+%Include qkeycode.sip
+%Include qkeysequence.sip
+%Include qlabel.sip
+%Include qlayout.sip
+%Include qlcdnumber.sip
+%Include qlibrary.sip
+%Include qlineedit.sip
+%Include qlist.sip
+%Include qlistbox.sip
+%Include qlistview.sip
+%Include qlocale.sip
+%Include qmainwindow.sip
+%Include qmemarray.sip
+%Include qmenubar.sip
+%Include qmenudata.sip
+%Include qmessagebox.sip
+%Include qmetaobject.sip
+%Include qmime.sip
+%Include qmotifplusstyle.sip
+%Include qmotifstyle.sip
+%Include qmovie.sip
+%Include qmutex.sip
+%Include qmultilinedit.sip
+%Include qnetworkprotocol.sip
+%Include qobject.sip
+%Include qobjectcleanuphandler.sip
+%Include qobjectlist.sip
+%Include qpaintdevicemetrics.sip
+%Include qpainter.sip
+%Include qpair.sip
+%Include qpalette.sip
+%Include qpicture.sip
+%Include qpixmapcache.sip
+%Include qplatinumstyle.sip
+%Include qpoint.sip
+%Include qpointarray.sip
+%Include qpopupmenu.sip
+%Include qprintdialog.sip
+%Include qprinter.sip
+%Include qprocess.sip
+%Include qprogressbar.sip
+%Include qprogressdialog.sip
+%Include qptrlist.sip
+%Include qpushbutton.sip
+%Include qradiobutton.sip
+%Include qrangecontrol.sip
+%Include qrect.sip
+%Include qregexp.sip
+%Include qregion.sip
+%Include qscrollbar.sip
+%Include qscrollview.sip
+%Include qsemaphore.sip
+%Include qsemimodal.sip
+%Include qsessionmanager.sip
+%Include qsettings.sip
+%Include qsgistyle.sip
+%Include qsignalmapper.sip
+%Include qsimplerichtext.sip
+%Include qsizegrip.sip
+%Include qslider.sip
+%Include qsocketnotifier.sip
+%Include qsound.sip
+%Include qspinbox.sip
+%Include qsplashscreen.sip
+%Include qsplitter.sip
+%Include qstatusbar.sip
+%Include qstring.sip
+%Include qstringlist.sip
+%Include qstrlist.sip
+%Include qstyle.sip
+%Include qstylefactory.sip
+%Include qstylesheet.sip
+%Include qsyntaxhighlighter.sip
+%Include qtabbar.sip
+%Include qtabdialog.sip
+%Include qtableview.sip
+%Include qtabwidget.sip
+%Include qtextbrowser.sip
+%Include qtextcodec.sip
+%Include qtextedit.sip
+%Include qtextstream.sip
+%Include qtextview.sip
+%Include qthread.sip
+%Include qtimer.sip
+%Include qtoolbar.sip
+%Include qtoolbox.sip
+%Include qtoolbutton.sip
+%Include qtooltip.sip
+%Include qtranslator.sip
+%Include qurl.sip
+%Include qurlinfo.sip
+%Include qurloperator.sip
+%Include quuid.sip
+%Include qvalidator.sip
+%Include qvaluelist.sip
+%Include qvariant.sip
+%Include qvbox.sip
+%Include qvbuttongroup.sip
+%Include qvgroupbox.sip
+%Include qwaitcondition.sip
+%Include qwhatsthis.sip
+%Include qwidget.sip
+%Include qwidgetlist.sip
+%Include qwidgetstack.sip
+%Include qwindow.sip
+%Include qwindowsstyle.sip
+%Include qwindowsxpstyle.sip
+%Include qwizard.sip
+%Include qwmatrix.sip
+%Include qworkspace.sip
+
+
+// The build file templates.
+
+%Makefile qt.pro.in
+# The project file for the qt module.
+#
+# 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.
+
+
+TEMPLATE = lib
+TARGET = @BLX_TARGET_LIB@
+DESTDIR = @PYQT_MODDIR@
+CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@
+INCLUDEPATH = @BLX_INCLUDEPATH@
+DEFINES = @BLX_DEFINES@
+LIBS += @PYQT_QASSISTANTCLIENT_LIB@ @BLX_LIBS@
+macx:QMAKE_LFLAGS += -framework Python
+
+SOURCES = $B
+
+HEADERS = $H
+%End
diff --git a/sip/qt/qtoolbar.sip b/sip/qt/qtoolbar.sip
new file mode 100644
index 0000000..7143ba0
--- /dev/null
+++ b/sip/qt/qtoolbar.sip
@@ -0,0 +1,160 @@
+// This is the SIP interface definition for QToolBar.
+//
+// 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>QToolBar</Title>
+<Para>
+<Literal>QToolBar</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QToolBar : QDockWindow
+{
+%TypeHeaderCode
+#include <qtoolbar.h>
+%End
+
+public:
+ QToolBar(const QString &,QMainWindow * /TransferThis/,Dock = DockTop,
+ bool = 0,const char * = 0);
+ QToolBar(const QString &,QMainWindow *,QWidget * /TransferThis/,
+ bool = 0,const char * = 0,WFlags = 0);
+ QToolBar(QMainWindow * /TransferThis/ = 0,const char * = 0);
+
+ void addSeparator();
+
+ void show();
+ void hide();
+
+ QMainWindow *mainWindow() const;
+
+ virtual void setStretchableWidget(QWidget *);
+
+ bool event(QEvent *);
+
+ virtual void setLabel(const QString &);
+ QString label() const;
+
+ virtual void clear();
+
+ QSize minimumSize() const;
+ QSize minimumSizeHint() const;
+
+ void setOrientation(Orientation);
+ void setMinimumSize(int,int);
+
+protected:
+ void resizeEvent(QResizeEvent *);
+ void styleChange(QStyle &);
+
+private:
+ QToolBar(const QToolBar &);
+};
+
+%End
+
+
+%If (- Qt_3_0_0)
+
+class QToolBar : QWidget
+{
+%TypeHeaderCode
+#include <qtoolbar.h>
+%End
+
+public:
+%If (- Qt_2_00)
+ QToolBar(const char *,QMainWindow * /TransferThis/,
+ QMainWindow::ToolBarDock = QMainWindow::Top,
+ bool = 0,const char * = 0);
+ QToolBar(const char *,QMainWindow *,QWidget * /TransferThis/,bool = 0,
+ const char * = 0,WFlags = 0);
+%End
+%If (Qt_2_00 -)
+ QToolBar(const QString &,QMainWindow * /TransferThis/,
+ QMainWindow::ToolBarDock = QMainWindow::Top,bool = 0,
+ const char * = 0);
+ QToolBar(const QString &,QMainWindow *,QWidget * /TransferThis/,bool = 0,
+ const char * = 0,WFlags = 0);
+%End
+ QToolBar(QMainWindow * /TransferThis/ = 0,const char * = 0);
+
+ void addSeparator();
+
+%If (- Qt_2_00)
+ enum Orientation
+ {
+ Horizontal,
+ Vertical
+ };
+%End
+
+ virtual void setOrientation(Orientation);
+ Orientation orientation() const;
+ void show();
+ QMainWindow *mainWindow();
+ bool event(QEvent *);
+%If (- Qt_2_00)
+ void setStretchableWidget(QWidget *);
+%End
+%If (Qt_2_00 -)
+ virtual void setStretchableWidget(QWidget *);
+ bool eventFilter(QObject *,QEvent *);
+ virtual void setLabel(const QString &);
+ QString label() const;
+%End
+%If (Qt_2_1_0 -)
+ void hide();
+ void setHorizontalStretchable(bool);
+ void setVerticalStretchable(bool);
+ bool isHorizontalStretchable() const;
+ bool isVerticalStretchable() const;
+ void clear();
+ QSize minimumSize() const;
+ QSize minimumSizeHint() const;
+%End
+
+protected:
+ void paintEvent(QPaintEvent *);
+%If (Qt_2_1_0 -)
+ void resizeEvent(QResizeEvent *);
+%End
+%If (Qt_2_3_0 -)
+ void styleChange(QStyle &);
+%End
+
+signals:
+%If (Qt_2_1_0 -)
+ void orientationChanged(Orientation);
+%End
+
+private:
+%If (Qt_2_1_0 -)
+ QToolBar(const QToolBar &);
+%End
+};
+
+%End
diff --git a/sip/qt/qtoolbox.sip b/sip/qt/qtoolbox.sip
new file mode 100644
index 0000000..804d7dd
--- /dev/null
+++ b/sip/qt/qtoolbox.sip
@@ -0,0 +1,88 @@
+// This is the SIP interface definition for QToolBox.
+//
+// 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>QToolBox (Qt v3.2.0+)</Title>
+<Para>
+<Literal>QToolBox</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_2_0 -)
+
+class QToolBox : QFrame
+{
+%TypeHeaderCode
+#include <qtoolbox.h>
+%End
+
+public:
+ QToolBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+ ~QToolBox();
+
+ int addItem(QWidget * /Transfer/,const QString &);
+ int addItem(QWidget * /Transfer/,const QIconSet &,const QString &);
+ int insertItem(int,QWidget * /Transfer/,const QString &);
+ int insertItem(int,QWidget * /Transfer/,const QIconSet &,
+ const QString &);
+
+ // On return the QWidget will have the QToolBox as it's parent, so we
+ // don't transfer ownership back.
+ int removeItem(QWidget *);
+
+ void setItemEnabled(int,bool);
+ bool isItemEnabled(int) const;
+
+ void setItemLabel(int,const QString &);
+ QString itemLabel(int) const;
+
+ void setItemIconSet(int,const QIconSet &);
+ QIconSet itemIconSet(int) const;
+
+ void setItemToolTip(int,const QString &);
+ QString itemToolTip(int) const;
+
+ QWidget *currentItem() const;
+ void setCurrentItem(QWidget *);
+
+ int currentIndex() const;
+ QWidget *item(int) const;
+ int indexOf(QWidget *) const;
+ int count() const;
+
+public slots:
+ void setCurrentIndex(int);
+
+signals:
+ void currentChanged(int);
+
+protected:
+ virtual void itemInserted(int);
+ virtual void itemRemoved(int);
+ void showEvent(QShowEvent *);
+ void frameChanged();
+ void styleChange(QStyle &);
+};
+
+%End
diff --git a/sip/qt/qtoolbutton.sip b/sip/qt/qtoolbutton.sip
new file mode 100644
index 0000000..7de2e90
--- /dev/null
+++ b/sip/qt/qtoolbutton.sip
@@ -0,0 +1,199 @@
+// This is the SIP interface definition for QToolButton.
+//
+// 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>QToolButton</Title>
+<Para>
+<Literal>QToolButton</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QToolButton : QButton
+{
+%TypeHeaderCode
+#include <qtoolbutton.h>
+%End
+
+public:
+%If (Qt_3_1_0 -)
+ enum TextPosition {
+%If (Qt_3_2_0 -)
+ BesideIcon,
+ BelowIcon,
+%End
+ Right, // Obsolete
+ Under // Obsolete
+ };
+%End
+
+%If (- Qt_2_00)
+ QToolButton(QWidget * /TransferThis/ = 0,const char * = 0);
+ QToolButton(const QPixmap &,const char *,const char *,SIP_RXOBJ_CON,
+ SIP_SLOT_CON(),QToolBar * /TransferThis/,const char * = 0);
+ QToolButton(QIconSet,const char *,const char *,SIP_RXOBJ_CON,
+ SIP_SLOT_CON(),QToolBar * /TransferThis/,const char * = 0);
+%End
+%If (Qt_2_00 -)
+ QToolButton(QWidget * /TransferThis/,const char * = 0);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ QToolButton(const QPixmap &,const QString &,const QString &,
+ SIP_RXOBJ_CON,SIP_SLOT_CON(),QToolBar * /TransferThis/,
+ const char * = 0);
+%End
+%If (Qt_2_00 -)
+ QToolButton(const QIconSet &,const QString &,const QString &,
+ SIP_RXOBJ_CON,SIP_SLOT_CON(),QToolBar * /TransferThis/,
+ const char * = 0);
+%End
+%If (Qt_2_1_0 -)
+ QToolButton(ArrowType,QWidget * /TransferThis/,const char * = 0);
+%End
+
+ QSize sizeHint() const;
+%If (Qt_3_0_0 -)
+ QSize minimumSizeHint() const;
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+
+%If (Qt_2_1_0 - Qt_3_0_0)
+ void setOnIconSet(const QIconSet &);
+ void setOffIconSet(const QIconSet &);
+%End
+%If (- Qt_2_00)
+ void setIconSet(const QIconSet &);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ virtual void setIconSet(const QIconSet &,bool = 0);
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ QIconSet onIconSet() const;
+ QIconSet offIconSet() const;
+%End
+%If (- Qt_2_00)
+ QIconSet iconSet() const;
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ QIconSet iconSet(bool = 0) const;
+%End
+%If (Qt_3_0_0 -)
+ virtual void setIconSet(const QIconSet &);
+ QIconSet iconSet() const;
+%End
+
+ bool usesBigPixmap() const;
+ bool usesTextLabel() const;
+%If (- Qt_2_00)
+ const char *textLabel() const;
+%End
+%If (Qt_2_00 -)
+ QString textLabel() const;
+%End
+
+%If (Qt_2_1_0 -)
+ void setPopup(QPopupMenu *);
+ QPopupMenu* popup() const;
+
+ void setPopupDelay(int);
+ int popupDelay() const;
+%End
+
+%If (Qt_3_0_0 -)
+ void openPopup();
+%End
+
+%If (Qt_2_1_0 -)
+ void setAutoRaise(bool);
+ bool autoRaise() const;
+%End
+%If (Qt_3_1_0 -)
+ TextPosition textPosition() const;
+%End
+
+%If (Qt_3_2_0 -)
+ void setText(const QString &);
+%End
+
+public slots:
+ virtual void setUsesBigPixmap(bool);
+ virtual void setUsesTextLabel(bool);
+%If (- Qt_2_00)
+ virtual void setTextLabel(const char *,bool = 1);
+%End
+%If (Qt_2_00 - Qt_3_0_0)
+ virtual void setTextLabel(const QString &,bool = 1);
+%End
+%If (Qt_3_0_0 -)
+ virtual void setTextLabel(const QString &,bool);
+%End
+
+%If (- Qt_2_00)
+ void setToggleButton(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setToggleButton(bool);
+%End
+
+%If (- Qt_2_00)
+ void setOn(bool);
+%End
+%If (Qt_2_00 -)
+ virtual void setOn(bool);
+%End
+ void toggle();
+%If (Qt_3_0_0 -)
+ // This was actually introduced in Qt v2.1.0 but gives signature
+ // conflict until Qt v3.0.0.
+ void setTextLabel(const QString &);
+%End
+%If (Qt_3_1_0 -)
+ void setTextPosition(TextPosition);
+%End
+
+protected:
+%If (Qt_3_0_0 -)
+ void mousePressEvent(QMouseEvent *);
+%End
+ void drawButton(QPainter *);
+ void drawButtonLabel(QPainter *);
+
+ void enterEvent(QEvent *);
+ void leaveEvent(QEvent *);
+%If (Qt_2_1_0 -)
+ void moveEvent(QMoveEvent *);
+%End
+
+ bool uses3D() const;
+
+%If (Qt_3_0_0 -)
+ bool eventFilter(QObject *,QEvent *);
+%End
+
+private:
+%If (Qt_2_1_0 -)
+ QToolButton(const QToolButton &);
+%End
+};
diff --git a/sip/qt/qtooltip.sip b/sip/qt/qtooltip.sip
new file mode 100644
index 0000000..5dacad7
--- /dev/null
+++ b/sip/qt/qtooltip.sip
@@ -0,0 +1,169 @@
+// This is the SIP interface definition for QToolTip and QToolTipGroup.
+//
+// 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>QToolTip</Title>
+<Para>
+<Literal>QToolTip</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QToolTipGroup</Title>
+<Para>
+<Literal>QToolTipGroup</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QToolTipGroup : QObject
+{
+%TypeHeaderCode
+#include <qtooltip.h>
+%End
+
+public:
+ QToolTipGroup(QObject * /TransferThis/,const char * = 0);
+
+%If (Qt_2_00 -)
+ bool delay() const;
+%End
+%If (Qt_2_1_0 -)
+ bool enabled() const;
+%End
+
+public slots:
+%If (Qt_2_00 -)
+ void setDelay(bool);
+%End
+%If (Qt_2_1_0 -)
+ void setEnabled(bool);
+%End
+
+signals:
+%If (- Qt_2_00)
+ void showTip(const char *);
+%End
+%If (Qt_2_00 -)
+ void showTip(const QString &);
+%End
+ void removeTip();
+
+private:
+ QToolTipGroup(const QToolTipGroup &);
+};
+
+
+%If (- Qt_2_00)
+
+class QToolTip
+{
+%TypeHeaderCode
+#include <qtooltip.h>
+%End
+
+public:
+ QToolTip(QWidget *,QToolTipGroup * = 0);
+
+ static void add(QWidget *,const char *);
+ static void add(QWidget *,const char *,QToolTipGroup *,const char *);
+ static void remove(QWidget *);
+ static void add(QWidget *,const QRect &,const char *);
+ static void add(QWidget *,const QRect &,const char *,QToolTipGroup *,const char *);
+ static void remove(QWidget *,const QRect &);
+ static QFont font();
+ static void setFont(const QFont &);
+ static QPalette palette();
+ static void setPalette(const QPalette &);
+ QWidget *parentWidget() const;
+ QToolTipGroup *group() const;
+
+protected:
+ virtual void maybeTip(const QPoint &) = 0;
+ void tip(const QRect &,const char *);
+ void tip(const QRect &,const char *,const char *);
+ void clear();
+};
+
+%End
+
+%If (Qt_2_00 -)
+
+class QToolTip : Qt
+{
+%TypeHeaderCode
+#include <qtooltip.h>
+%End
+
+public:
+ QToolTip(QWidget *,QToolTipGroup * = 0);
+
+ static void add(QWidget *,const QString &);
+ static void add(QWidget *,const QString &,QToolTipGroup *,
+ const QString &);
+ static void remove(QWidget *);
+
+ static void add(QWidget *,const QRect &,const QString &);
+ static void add(QWidget *,const QRect &,const QString &,
+ QToolTipGroup *,const QString &);
+ static void remove(QWidget *,const QRect &);
+
+%If (Qt_3_0_0 -)
+ static QString textFor(QWidget *,const QPoint & = QPoint());
+%End
+
+%If (Qt_2_1_0 -)
+ static void hide();
+%End
+
+ static QFont font();
+ static void setFont(const QFont &);
+ static QPalette palette();
+ static void setPalette(const QPalette &);
+
+%If (Qt_3_0_0 -)
+ static void setGloballyEnabled(bool);
+ static bool isGloballyEnabled();
+%End
+%If (Qt_2_1_0 - Qt_3_0_0)
+ static void setEnabled(bool);
+ static bool enabled();
+%End
+%If (Qt_3_1_0 -)
+ static void setWakeUpDelay(int);
+%End
+
+ QWidget *parentWidget() const;
+ QToolTipGroup *group() const;
+
+protected:
+ virtual void maybeTip(const QPoint &) = 0;
+ void tip(const QRect &,const QString &);
+ void tip(const QRect &,const QString &,const QString &);
+%If (Qt_3_1_0 -)
+ void tip(const QRect &,const QString &,const QRect &);
+ void tip(const QRect &,const QString &,const QString &,const QRect &);
+%End
+ void clear();
+};
+
+%End
diff --git a/sip/qt/qtranslator.sip b/sip/qt/qtranslator.sip
new file mode 100644
index 0000000..08200ad
--- /dev/null
+++ b/sip/qt/qtranslator.sip
@@ -0,0 +1,177 @@
+// This is the SIP interface definition for QTranslator and QTranslatorMessage.
+//
+// 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>QTranslator (Qt v2+)</Title>
+<Para>
+<Literal>QTranslator</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QTranslatorMessage (Qt v2.2+)</Title>
+<Para>
+<Literal>QTranslatorMessage</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_2_0 -)
+
+class QTranslatorMessage
+{
+%TypeHeaderCode
+#include <qtranslator.h>
+%End
+
+public:
+ QTranslatorMessage();
+ QTranslatorMessage(const char *,const char *,const char *,
+ const QString & = QString::null);
+ QTranslatorMessage(QDataStream &);
+ QTranslatorMessage(const QTranslatorMessage &);
+
+ uint hash() const;
+ const char *context() const;
+ const char *sourceText() const;
+ const char *comment() const;
+
+ void setTranslation(const QString &);
+ QString translation() const;
+
+ enum Prefix {
+ NoPrefix,
+ Hash,
+ HashContext,
+ HashContextSourceText,
+ HashContextSourceTextComment
+ };
+
+%If (- Qt_3_0_0)
+ void write(QDataStream &,bool,
+ Prefix = HashContextSourceTextComment) const /ReleaseGIL/;
+%End
+%If (Qt_3_0_0 -)
+ void write(QDataStream &,bool = 0,
+ Prefix = HashContextSourceTextComment) const /ReleaseGIL/;
+%End
+
+ Prefix commonPrefix(const QTranslatorMessage &) const;
+};
+
+%End
+
+
+%If (Qt_2_00 -)
+
+class QTranslator : QObject
+{
+%TypeHeaderCode
+#include <qtranslator.h>
+%End
+
+public:
+%If (Qt_3_2_0 -)
+ QTranslator(QObject * /TransferThis/ = 0,const char * = 0);
+%End
+%If (- Qt_3_2_0)
+ QTranslator(QObject * /TransferThis/,const char * = 0);
+%End
+
+%If (Qt_2_2_0 -)
+ QString find(const char *,const char *,const char *) const;
+%End
+%If (- Qt_3_0_0)
+ virtual QString find(const char *,const char *) const;
+%End
+
+%If (Qt_2_2_0 - Qt_3_0_0)
+ QTranslatorMessage findMessage(const char *,const char *,
+ const char *) const;
+%End
+%If (Qt_3_0_0 - Qt_3_2_0)
+ virtual QTranslatorMessage findMessage(const char *,const char *,
+ const char *) const;
+%End
+%If (Qt_3_2_0 -)
+ virtual QTranslatorMessage findMessage(const char *,const char *,
+ const char * = 0) const;
+%End
+
+ bool load(const QString &,const QString & = QString::null,
+ const QString & = QString::null,
+ const QString & = QString::null);
+%If (Qt_3_1_0 -)
+ bool load(const uchar *,int);
+%End
+
+ void clear();
+
+ enum SaveMode {
+ Everything,
+ Stripped
+ };
+
+ bool save(const QString &,SaveMode = Everything);
+
+%If (Qt_2_2_0 -)
+ void insert(const QTranslatorMessage &);
+%End
+%If (- Qt_3_0_0)
+ void insert(const char *,const char *,const QString &);
+%End
+%If (Qt_2_2_0 -)
+ void remove(const QTranslatorMessage &);
+%End
+%If (- Qt_3_0_0)
+ void remove(const char *,const char *);
+%End
+%If (- Qt_3_0_0)
+ bool contains(const char *,const char *) const;
+%End
+%If (Qt_2_2_0 - Qt_3_0_0)
+ bool contains(const char *,const char *,const char *) const;
+%End
+%If (Qt_3_0_0 -)
+ bool contains(const char *,const char *,const char * = 0) const;
+%End
+
+%If (- Qt_3_0_0)
+ void squeeze();
+%End
+%If (Qt_2_2_0 - Qt_3_0_0)
+ void squeeze(SaveMode);
+%End
+%If (Qt_3_0_0 -)
+ void squeeze(SaveMode = Everything);
+%End
+ void unsqueeze();
+
+%If (Qt_2_2_0 -)
+ QValueList<QTranslatorMessage> messages() const;
+%End
+
+private:
+ QTranslator(const QTranslator &);
+};
+
+%End
diff --git a/sip/qt/qurl.sip b/sip/qt/qurl.sip
new file mode 100644
index 0000000..7d343a9
--- /dev/null
+++ b/sip/qt/qurl.sip
@@ -0,0 +1,116 @@
+// This is the SIP interface definition for QUrl.
+//
+// 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>QUrl (Qt v2.1+)</Title>
+<Para>
+<Literal>QUrl</Literal> is fully implemented, including the
+<Literal>QString()</Literal>, <Literal>==</Literal> and <Literal>!=</Literal>
+operators.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_1_0 -)
+
+class QUrl
+{
+%TypeHeaderCode
+#include <qurl.h>
+%End
+
+public:
+ QUrl();
+ QUrl(const QString &);
+ QUrl(const QUrl &);
+ QUrl(const QUrl &,const QString &,bool = 0);
+
+ QString protocol() const;
+ virtual void setProtocol(const QString &);
+
+ QString user() const;
+ virtual void setUser(const QString &);
+ bool hasUser() const;
+
+ QString password() const;
+ virtual void setPassword(const QString &);
+ bool hasPassword() const;
+
+ QString host() const;
+ virtual void setHost(const QString &);
+ bool hasHost() const;
+
+ int port() const;
+ virtual void setPort(int);
+%If (Qt_3_0_0 -)
+ bool hasPort() const;
+%End
+
+ QString path(bool = 1) const;
+ virtual void setPath(const QString &);
+ bool hasPath() const;
+
+ virtual void setEncodedPathAndQuery(const QString &);
+ QString encodedPathAndQuery();
+
+ virtual void setQuery(const QString &);
+ QString query() const;
+
+ QString ref() const;
+ virtual void setRef(const QString &);
+ bool hasRef() const;
+
+ bool isValid() const;
+ bool isLocalFile() const;
+
+ virtual void addPath(const QString &);
+ virtual void setFileName(const QString &);
+
+ QString fileName() const;
+ QString dirPath() const;
+
+ bool operator==(const QUrl &) const;
+ bool operator==(const QString &) const;
+
+%If (Qt_SIP_PRE_4_7_2)
+ // Qt doesn't implement these, but SIP doesn't support C++'s default
+ // handling of != when == is implemented.
+ bool operator!=(const QUrl &) const;
+ bool operator!=(const QString &) const;
+%End
+
+ static void decode(QString &);
+ static void encode(QString &);
+
+ virtual QString toString(bool = 0,bool = 0) const;
+
+ virtual bool cdUp();
+
+ static bool isRelativeUrl(const QString &);
+
+protected:
+ virtual void reset();
+ virtual bool parse(const QString &);
+};
+
+%End
diff --git a/sip/qt/qurlinfo.sip b/sip/qt/qurlinfo.sip
new file mode 100644
index 0000000..7f2d5d3
--- /dev/null
+++ b/sip/qt/qurlinfo.sip
@@ -0,0 +1,96 @@
+// This is the SIP interface definition for QUrlInfo.
+//
+// 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>QUrlInfo (Qt v2.1+)</Title>
+<Para>
+<Literal>QUrlInfo</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_NETWORKPROTOCOL)
+%If (Qt_2_1_0 -)
+
+class QUrlInfo
+{
+%TypeHeaderCode
+#include <qurlinfo.h>
+%End
+
+public:
+%If (Qt_3_2_0 -)
+ enum PermissionSpec {
+ ReadOwner, WriteOwner, ExeOwner,
+ ReadGroup, WriteGroup, ExeGroup,
+ ReadOther, WriteOther, ExeOther
+ };
+%End
+
+ QUrlInfo();
+ QUrlInfo(const QUrlOperator &,const QString &);
+ QUrlInfo(const QUrlInfo &);
+ QUrlInfo(const QString &,int,const QString &,const QString &,uint,
+ const QDateTime &,const QDateTime &,bool,bool,bool,bool,bool,
+ bool);
+ QUrlInfo(const QUrl &,int,const QString &,const QString &,uint,
+ const QDateTime &,const QDateTime &,bool,bool,bool,bool,bool,
+ bool);
+
+ virtual void setName(const QString &);
+ virtual void setDir(bool);
+ virtual void setFile(bool);
+ virtual void setSymLink(bool);
+ virtual void setOwner(const QString &);
+ virtual void setGroup(const QString &);
+ virtual void setSize(uint);
+ virtual void setWritable(bool);
+ virtual void setReadable(bool);
+ virtual void setPermissions(int);
+ virtual void setLastModified(const QDateTime &);
+
+%If (Qt_3_0_0 -)
+ bool isValid() const;
+%End
+
+ QString name() const;
+ int permissions() const;
+ QString owner() const;
+ QString group() const;
+ uint size() const;
+ QDateTime lastModified() const;
+ QDateTime lastRead() const;
+ bool isDir() const;
+ bool isFile() const;
+ bool isSymLink() const;
+ bool isWritable() const;
+ bool isReadable() const;
+ bool isExecutable() const;
+
+ static bool greaterThan(const QUrlInfo &,const QUrlInfo &,int);
+ static bool lessThan(const QUrlInfo &,const QUrlInfo &,int);
+ static bool equal(const QUrlInfo &,const QUrlInfo &,int);
+};
+
+%End
+%End
diff --git a/sip/qt/qurloperator.sip b/sip/qt/qurloperator.sip
new file mode 100644
index 0000000..b776516
--- /dev/null
+++ b/sip/qt/qurloperator.sip
@@ -0,0 +1,115 @@
+// This is the SIP interface definition for QUrlOperator.
+//
+// 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>QUrlOperator (Qt v2.1+)</Title>
+<FuncSynopsis>
+ <FuncDef>virtual bool <Function>isDir</Function></FuncDef>
+ <ParamDef>bool *<Parameter>ok</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This returns a tuple of the <Literal>bool</Literal> result and the
+<Literal>ok</Literal> value.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_NETWORKPROTOCOL)
+%If (Qt_2_1_0 -)
+
+class QUrlOperator : QObject, QUrl
+{
+%TypeHeaderCode
+#include <qurloperator.h>
+%End
+
+public:
+ QUrlOperator();
+ QUrlOperator(const QString &);
+ QUrlOperator(const QUrlOperator &);
+ QUrlOperator(const QUrlOperator &,const QString &,bool = 0);
+
+ virtual void setPath(const QString &);
+ virtual bool cdUp();
+
+ virtual const QNetworkOperation *listChildren();
+ virtual const QNetworkOperation *mkdir(const QString &);
+ virtual const QNetworkOperation *remove(const QString &);
+ virtual const QNetworkOperation *rename(const QString &,
+ const QString &);
+ virtual const QNetworkOperation *get(const QString & = QString::null);
+ virtual const QNetworkOperation *put(const QByteArray &,
+ const QString & = QString::null);
+%If (- Qt_3_0_0)
+ virtual QList<QNetworkOperation> copy(const QString &,const QString &,
+ bool = 0);
+%End
+%If (Qt_3_0_0 -)
+ virtual QPtrList<QNetworkOperation> copy(const QString &,
+ const QString &,bool = 0,
+ bool = 1);
+%End
+ virtual void copy(const QStringList &,const QString &,bool = 0);
+ virtual bool isDir(bool * = 0);
+
+ virtual void setNameFilter(const QString &);
+ QString nameFilter() const;
+
+ virtual QUrlInfo info(const QString &) const;
+
+ virtual void stop();
+
+signals:
+ void newChildren(const QValueList<QUrlInfo> &,QNetworkOperation *);
+ void finished(QNetworkOperation *);
+ void start(QNetworkOperation *);
+ void createdDirectory(const QUrlInfo &,QNetworkOperation *);
+ void removed(QNetworkOperation *);
+ void itemChanged(QNetworkOperation *);
+ void data(const QByteArray &,QNetworkOperation *);
+ void dataTransferProgress(int,int,QNetworkOperation *);
+%If (- Qt_3_0_0)
+ void startedNextCopy(const QList<QNetworkOperation> &);
+%End
+%If (Qt_3_0_0 -)
+ void startedNextCopy(const QPtrList<QNetworkOperation> &);
+%End
+ void connectionStateChanged(int,const QString &);
+
+protected:
+%If (- Qt_3_0_0)
+ virtual void reset();
+ virtual bool parse(const QString &);
+%End
+%If (Qt_3_0_0 -)
+ void reset();
+ bool parse(const QString &);
+%End
+ virtual bool checkValid();
+ virtual void clearEntries();
+ void getNetworkProtocol();
+ void deleteNetworkProtocol();
+};
+
+%End
+%End
diff --git a/sip/qt/quuid.sip b/sip/qt/quuid.sip
new file mode 100644
index 0000000..5836dfb
--- /dev/null
+++ b/sip/qt/quuid.sip
@@ -0,0 +1,87 @@
+// This is the SIP interface definition for QUuid.
+//
+// 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>QUuid (Qt v3.0+)</Title>
+<Para>
+<Literal>QUuid</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QUuid
+{
+%TypeHeaderCode
+#include <quuid.h>
+%End
+
+public:
+%If (Qt_3_3_0 -)
+ enum Variant
+ {
+ VarUnknown,
+ NCS,
+ DCE,
+ Microsoft,
+ Reserved
+ };
+
+ enum Version
+ {
+ VerUnknown,
+ Time,
+ EmbeddedPOSIX,
+ Name,
+ Random
+ };
+%End
+
+ QUuid();
+%If (Qt_3_0_1 -)
+ QUuid(uint,ushort,ushort,uchar,uchar,uchar,uchar,uchar,uchar,uchar,uchar);
+%End
+%If (- Qt_3_0_1)
+ QUuid(ulong,ushort,ushort,uchar,uchar,uchar,uchar,uchar,uchar,uchar,uchar);
+%End
+ QUuid(const QUuid &);
+ QUuid(const QString &);
+
+ QString toString() const;
+ bool isNull() const;
+
+ bool operator==(const QUuid &) const;
+ bool operator!=(const QUuid &) const;
+
+%If (Qt_3_3_0 -)
+ bool operator<(const QUuid &) const;
+ bool operator>(const QUuid &) const;
+
+ static QUuid createUuid();
+ QUuid::Variant variant() const;
+ QUuid::Version version() const;
+%End
+};
+
+%End
diff --git a/sip/qt/qvalidator.sip b/sip/qt/qvalidator.sip
new file mode 100644
index 0000000..d3329db
--- /dev/null
+++ b/sip/qt/qvalidator.sip
@@ -0,0 +1,227 @@
+// This is the SIP interface definition for QValidator, QDoubleValidator,
+// QIntValidator and QRegExpValidator.
+//
+// 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>QValidator</Title>
+<FuncSynopsis>
+ <FuncDef>virtual State <Function>validate</Function></FuncDef>
+ <ParamDef>QString& <Parameter>input</Parameter></ParamDef>
+ <ParamDef>int& <Parameter>pos</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+The returned value is a tuple of the <Literal>State</Literal> result and the
+updated <Literal>pos</Literal>.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDoubleValidator</Title>
+<FuncSynopsis>
+ <FuncDef>State <Function>validate</Function></FuncDef>
+ <ParamDef>QString& <Parameter>input</Parameter></ParamDef>
+ <ParamDef>int& <Parameter>pos</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+The returned value is a tuple of the <Literal>State</Literal> result and the
+updated <Literal>pos</Literal>.
+</Para>
+</Sect2>
+
+<Sect2><Title>QIntValidator</Title>
+<FuncSynopsis>
+ <FuncDef>State <Function>validate</Function></FuncDef>
+ <ParamDef>QString& <Parameter>input</Parameter></ParamDef>
+ <ParamDef>int& <Parameter>pos</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+The returned value is a tuple of the <Literal>State</Literal> result and the
+updated <Literal>pos</Literal>.
+</Para>
+</Sect2>
+
+<Sect2><Title>QRegExpValidator (Qt v3+)</Title>
+<FuncSynopsis>
+ <FuncDef>virtual State <Function>validate</Function></FuncDef>
+ <ParamDef>QString& <Parameter>input</Parameter></ParamDef>
+ <ParamDef>int& <Parameter>pos</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+The returned value is a tuple of the <Literal>State</Literal> result and the
+updated <Literal>pos</Literal>.
+</Para>
+</Sect2>
+%End
+
+
+class QValidator : QObject
+{
+%TypeHeaderCode
+#include <qvalidator.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ QValidator(QWidget * /TransferThis/,const char * = 0);
+%End
+%If (Qt_3_0_0 -)
+ QValidator(QObject * /TransferThis/,const char * = 0);
+%End
+
+%If (- Qt_2_1_0)
+ enum State
+ {
+ Invalid,
+ Valid,
+ Acceptable
+ };
+%End
+%If (Qt_2_1_0 -)
+ enum State
+ {
+ Invalid,
+ Intermediate,
+ Valid = Intermediate,
+ Acceptable
+ };
+%End
+
+%If (Qt_2_00 -)
+ virtual State validate(QString &,int & /In,Out/) const = 0;
+ virtual void fixup(QString &) const;
+%End
+%If (- Qt_2_00)
+ virtual State validate(QString &,int & /In,Out/) = 0;
+ virtual void fixup(QString &);
+%End
+
+private:
+%If (Qt_2_1_0 -)
+ QValidator(const QValidator &);
+%End
+};
+
+
+class QIntValidator : QValidator
+{
+%TypeHeaderCode
+#include <qvalidator.h>
+%End
+
+public:
+%If (Qt_3_0_0 -)
+ QIntValidator(QObject * /TransferThis/,const char * = 0);
+ QIntValidator(int,int,QObject * /TransferThis/,const char * = 0);
+%End
+%If (- Qt_3_0_0)
+ QIntValidator(QWidget * /TransferThis/,const char * = 0);
+ QIntValidator(int,int,QWidget * /TransferThis/,const char * = 0);
+%End
+
+%If (Qt_2_00 -)
+ QValidator::State validate(QString &,int & /In,Out/) const;
+%End
+%If (- Qt_2_00)
+ QValidator::State validate(QString &,int & /In,Out/);
+%End
+
+%If (Qt_2_1_0 -)
+ void setBottom(int);
+ void setTop(int);
+%End
+ virtual void setRange(int,int);
+
+ int bottom() const;
+ int top() const;
+
+private:
+%If (Qt_2_1_0 -)
+ QIntValidator(const QIntValidator &);
+%End
+};
+
+
+class QDoubleValidator : QValidator
+{
+%TypeHeaderCode
+#include <qvalidator.h>
+%End
+
+public:
+%If (Qt_3_0_0 -)
+ QDoubleValidator(QObject * /TransferThis/,const char * = 0);
+ QDoubleValidator(double,double,int,QObject * /TransferThis/,
+ const char * = 0);
+%End
+%If (- Qt_3_0_0)
+ QDoubleValidator(QWidget * /TransferThis/,const char * = 0);
+ QDoubleValidator(double,double,int,QWidget * /TransferThis/,
+ const char * = 0);
+%End
+
+%If (Qt_2_00 -)
+ QValidator::State validate(QString &,int & /In,Out/) const;
+%End
+%If (- Qt_2_00)
+ QValidator::State validate(QString &,int & /In,Out/);
+%End
+
+ virtual void setRange(double,double,int = 0);
+%If (Qt_2_1_0 -)
+ void setBottom(double);
+ void setTop(double);
+ void setDecimals(int);
+%End
+
+ double bottom() const;
+ double top() const;
+ int decimals() const;
+
+private:
+%If (Qt_2_1_0 -)
+ QDoubleValidator(const QDoubleValidator &);
+%End
+};
+
+
+%If (Qt_3_0_0 -)
+
+class QRegExpValidator : QValidator
+{
+%TypeHeaderCode
+#include <qvalidator.h>
+%End
+
+public:
+ QRegExpValidator(QObject * /TransferThis/,const char * = 0);
+ QRegExpValidator(const QRegExp &,QObject * /TransferThis/,
+ const char * = 0);
+
+ virtual QValidator::State validate(QString &,int & /In,Out/) const;
+
+ void setRegExp(const QRegExp &);
+ const QRegExp &regExp() const;
+
+private:
+ QRegExpValidator(const QRegExpValidator &);
+};
+
+%End
diff --git a/sip/qt/qvaluelist.sip b/sip/qt/qvaluelist.sip
new file mode 100644
index 0000000..732740d
--- /dev/null
+++ b/sip/qt/qvaluelist.sip
@@ -0,0 +1,181 @@
+// This is the SIP interface definition for all types based on the QValueList
+// template.
+//
+// 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>QValueList&lt;type&gt; (Qt v2+)</Title>
+<Para>
+Types based on the <Literal>QValueList</Literal> template are automatically
+converted to and from Python lists of the type.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_1_0 -)
+
+template<Type>
+%MappedType QValueList<Type>
+{
+%TypeHeaderCode
+#include <qvaluelist.h>
+%End
+
+%ConvertFromTypeCode
+ int i;
+ PyObject *l;
+
+ // Create the list.
+
+ if ((l = PyList_New(sipCpp -> count())) == NULL)
+ return NULL;
+
+ // Get it.
+
+ i = 0;
+ QValueListConstIterator<Type> it;
+
+ for (it = sipCpp -> begin(); it != sipCpp -> end(); ++it)
+ {
+ PyObject *tmobj;
+
+ if ((tmobj = sipConvertFromNewInstance(new Type(*it),sipClass_Type,sipTransferObj)) == NULL || PyList_SetItem(l,i,tmobj) < 0)
+ {
+ Py_XDECREF(tmobj);
+ Py_DECREF(l);
+
+ return NULL;
+ }
+
+ ++i;
+ }
+
+ return l;
+%End
+
+%ConvertToTypeCode
+ if (sipIsErr == NULL)
+ {
+ if (!PyList_Check(sipPy))
+ return 0;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_Type,SIP_NOT_NONE))
+ return 0;
+
+ return 1;
+ }
+
+ QValueList<Type> *qvl = new QValueList<Type>;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ {
+ int iserr = 0, state;
+
+ // We apply the transfer to the list itself, not the elements.
+ Type *itm = reinterpret_cast<Type *>(sipConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_Type,0,SIP_NOT_NONE,&state,&iserr));
+
+ if (iserr)
+ {
+ sipReleaseInstance(itm,sipClass_Type,state);
+
+ *sipIsErr = 1;
+ delete qvl;
+
+ return 0;
+ }
+
+ qvl -> append(*itm);
+
+ sipReleaseInstance(itm,sipClass_Type,state);
+ }
+
+ *sipCppPtr = qvl;
+
+ return sipGetState(sipTransferObj);
+%End
+};
+
+%End
+
+
+%If (Qt_2_00 -)
+
+%MappedType QValueList<int>
+{
+%TypeHeaderCode
+#include <qvaluelist.h>
+%End
+
+%ConvertFromTypeCode
+ // Convert to a Python list of integers.
+
+ PyObject *l;
+
+ // Create the list.
+
+ if ((l = PyList_New(sipCpp -> count())) == NULL)
+ return NULL;
+
+ // Get it.
+
+ for (uint i = 0; i < sipCpp -> count(); ++i)
+ if (PyList_SetItem(l,i,PyInt_FromLong((long)(*sipCpp)[i])) < 0)
+ {
+ Py_DECREF(l);
+
+ return NULL;
+ }
+
+ return l;
+%End
+
+%ConvertToTypeCode
+ // Convert a Python list of integers to a QValueList<int> on the heap.
+
+ if (sipIsErr == NULL)
+ return PyList_Check(sipPy);
+
+ QValueList<int> *qvl = new QValueList<int>;
+
+ PyErr_Clear();
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ {
+ qvl -> append((int)PyInt_AsLong(PyList_GET_ITEM(sipPy,i)));
+
+ if (PyErr_Occurred() != NULL)
+ {
+ delete qvl;
+ *sipIsErr = 1;
+
+ return 0;
+ }
+ }
+
+ *sipCppPtr = qvl;
+
+ return 1;
+%End
+};
+
+%End
diff --git a/sip/qt/qvariant.sip b/sip/qt/qvariant.sip
new file mode 100644
index 0000000..c942c3e
--- /dev/null
+++ b/sip/qt/qvariant.sip
@@ -0,0 +1,420 @@
+// This is the SIP interface definition for QVariant.
+//
+// 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>QVariant (Qt v2.1+)</Title>
+<FuncSynopsis>
+ <FuncDef><Function>QVariant</Function></FuncDef>
+ <ParamDef>const char *<Parameter>val</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef><Function>QVariant</Function></FuncDef>
+ <ParamDef>const QBitArray &amp;<Parameter>val</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef><Function>QVariant</Function></FuncDef>
+ <ParamDef>const QValueList&lt;QVariant&gt; &amp;<Parameter>val</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef><Function>QVariant</Function></FuncDef>
+ <ParamDef>const QMap&lt;QString,QVariant&gt; &amp;<Parameter>val</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QBitArray &amp;<Function>asBitArray</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool &amp;<Function>asBool</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>double &amp;<Function>asDouble</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int &amp;<Function>asInt</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QValueList&lt;QVariant&gt; &amp;<Function>asList</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QMap&lt;QString,QVariant&gt; &amp;<Function>asMap</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>uint &amp;<Function>asUInt</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QValueListConstIterator&lt;QVariant&gt;<Function>listBegin</Function> const</FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QValueListConstIterator&lt;QVariant&gt;<Function>listEnd</Function> const</FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QMapConstIterator&lt;QString,QVariant&gt;<Function>mapBegin</Function> const</FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QMapConstIterator&lt;QString,QVariant&gt;<Function>mapEnd</Function> const</FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QMapConstIterator&lt;QString,QVariant&gt;<Function>mapFind</Function> const</FuncDef>
+ <ParamDef>const QString &<Parameter>key</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QValueListConstIterator&lt;QString&gt;<Function>stringListBegin</Function> const</FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QValueListConstIterator&lt;QString&gt;<Function>stringListEnd</Function> const</FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>const QBitArray <Function>toBitArray</Function> const</FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>const QValueList&lt;QVariant&gt;<Function>toList</Function> const</FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>const QMap&lt;QString,QVariant&gt;<Function>toMap</Function> const</FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_1_0 -)
+
+class QVariant
+{
+%TypeHeaderCode
+#include <qvariant.h>
+%End
+
+public:
+ enum Type {
+ Invalid,
+ Map,
+ List,
+ String,
+ StringList,
+ Font,
+ Pixmap,
+ Brush,
+ Rect,
+ Size,
+ Color,
+ Palette,
+ ColorGroup,
+ IconSet,
+ Point,
+ Image,
+ Int,
+ UInt,
+ Bool,
+ Double,
+ CString,
+ PointArray,
+ Region,
+ Bitmap,
+ Cursor,
+%If (Qt_2_2_0 -)
+ SizePolicy,
+%End
+%If (Qt_3_0_0 -)
+ Date,
+ Time,
+ DateTime,
+ ByteArray,
+ BitArray,
+ KeySequence,
+%End
+%If (Qt_3_1_0 -)
+ Pen,
+%End
+%If (Qt_3_2_0 -)
+ LongLong,
+ ULongLong,
+%End
+ };
+
+ QVariant();
+ QVariant(const QVariant &);
+ QVariant(QDataStream &);
+
+ QVariant(const QString &);
+ QVariant(const QCString &);
+// QVariant(const char *);
+ QVariant(const QStringList &);
+ QVariant(const QFont &);
+ QVariant(const QPixmap &);
+ QVariant(const QImage &);
+ QVariant(const QBrush &);
+ QVariant(const QPoint &);
+ QVariant(const QRect &);
+ QVariant(const QSize &);
+ QVariant(const QColor &);
+ QVariant(const QPalette &);
+ QVariant(const QColorGroup &);
+ QVariant(const QIconSet &);
+ QVariant(const QPointArray &);
+ QVariant(const QRegion &);
+ QVariant(const QBitmap &);
+ QVariant(const QCursor &);
+%If (Qt_3_0_0 -)
+ QVariant(const QDate &);
+ QVariant(const QTime &);
+ QVariant(const QDateTime &);
+ QVariant(const QByteArray &);
+// QVariant(const QBitArray &);
+%End
+// QVariant(const QValueList<QVariant> &);
+// QVariant(const QMap<QString,QVariant> &);
+ QVariant(int /Constrained/);
+// QVariant(uint);
+%If (Qt_3_2_0 -)
+// QVariant(Q_LLONG);
+// QVariant(Q_ULLONG);
+%End
+ QVariant(bool,int);
+ QVariant(double);
+%If (Qt_2_2_0 -)
+ QVariant(QSizePolicy);
+%End
+%If (Qt_3_0_0 -)
+ // This must appear after the QString, int and double ctors because
+ // each of those can be converted automatically to a QKeySequence and
+ // we want those to take precedence.
+ QVariant(const QKeySequence &);
+%End
+%If (Qt_3_1_0 -)
+ QVariant(const QPen &);
+%End
+
+ Type type() const;
+ const char* typeName() const;
+
+ bool canCast(Type) const;
+%If (Qt_3_0_0 -)
+ bool cast(Type);
+%End
+
+ bool isValid() const;
+%If (Qt_3_1_0 -)
+ bool isNull() const;
+%End
+
+ void clear();
+
+ const QString toString() const;
+ const QCString toCString() const;
+ const QStringList toStringList() const;
+ const QFont toFont() const;
+ const QPixmap toPixmap() const;
+ const QImage toImage() const;
+ const QBrush toBrush() const;
+ const QPoint toPoint() const;
+ const QRect toRect() const;
+ const QSize toSize() const;
+ const QColor toColor() const;
+ const QPalette toPalette() const;
+ const QColorGroup toColorGroup() const;
+ const QIconSet toIconSet() const;
+ const QPointArray toPointArray() const;
+ const QBitmap toBitmap() const;
+ const QRegion toRegion() const;
+ const QCursor toCursor() const;
+%If (Qt_3_0_0 -)
+ const QDate toDate() const;
+ const QTime toTime() const;
+ const QDateTime toDateTime() const;
+ const QByteArray toByteArray() const;
+// const QBitArray toBitArray() const;
+ const QKeySequence toKeySequence() const;
+%End
+%If (Qt_3_1_0 -)
+ const QPen toPen() const;
+%End
+ int toInt() const;
+ uint toUInt() const;
+%If (Qt_3_2_0 -)
+// Q_LLONG toLongLong(bool * = 0) const;
+// Q_ULLONG toULongLong( bool * = 0) const;
+%End
+ bool toBool() const;
+ double toDouble() const;
+// const QValueList<QVariant> toList() const;
+// const QMap<QString,QVariant> toMap() const;
+%If (Qt_2_2_0 -)
+ QSizePolicy toSizePolicy() const;
+%End
+
+// QValueListConstIterator<QVariant> listBegin() const;
+// QValueListConstIterator<QVariant> listEnd() const;
+// QValueListConstIterator<QString> stringListBegin() const;
+// QValueListConstIterator<QString> stringListEnd() const;
+// QMapConstIterator<QString,QVariant> mapBegin() const;
+// QMapConstIterator<QString,QVariant> mapEnd() const;
+// QMapConstIterator<QString,QVariant> mapFind(const QString &) const;
+
+ QString & asString();
+ QCString & asCString();
+ QStringList & asStringList();
+ QFont & asFont();
+ QPixmap & asPixmap();
+ QImage & asImage();
+ QBrush & asBrush();
+ QPoint & asPoint();
+ QRect & asRect();
+ QSize & asSize();
+ QColor & asColor();
+ QPalette & asPalette();
+ QColorGroup & asColorGroup();
+ QIconSet & asIconSet();
+ QPointArray & asPointArray();
+ QBitmap & asBitmap();
+ QRegion & asRegion();
+ QCursor & asCursor();
+%If (Qt_3_0_0 -)
+ QDate & asDate();
+ QTime & asTime();
+ QDateTime & asDateTime();
+ QByteArray & asByteArray();
+// QBitArray & asBitArray();
+ QKeySequence & asKeySequence();
+%End
+%If (Qt_3_1_0 -)
+ QPen & asPen();
+%End
+// int & asInt();
+// uint & asUInt();
+%If (Qt_3_2_0 -)
+// Q_LLONG & asLongLong();
+// Q_ULLONG & asULongLong();
+%End
+// bool & asBool();
+// double & asDouble();
+// QValueList<QVariant> & asList();
+// QMap<QString,QVariant> & asMap();
+%If (Qt_2_2_0 -)
+ QSizePolicy & asSizePolicy();
+%End
+
+ void load(QDataStream &);
+ void save(QDataStream &) const;
+
+ static const char *typeToName(Type);
+ static Type nameToType(const char *);
+};
+
+%End
diff --git a/sip/qt/qvbox.sip b/sip/qt/qvbox.sip
new file mode 100644
index 0000000..9f0e811
--- /dev/null
+++ b/sip/qt/qvbox.sip
@@ -0,0 +1,55 @@
+// This is the SIP interface definition for QVBox.
+//
+// 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>QVBox (Qt v2+)</Title>
+<Para>
+<Literal>QVBox</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QVBox : QHBox
+{
+%TypeHeaderCode
+#include <qvbox.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ QVBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0,
+ bool = 1);
+%End
+%If (Qt_3_0_0 -)
+ QVBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+%End
+
+private:
+%If (Qt_2_1_0 -)
+ QVBox(const QVBox &);
+%End
+};
+
+%End
diff --git a/sip/qt/qvbuttongroup.sip b/sip/qt/qvbuttongroup.sip
new file mode 100644
index 0000000..9561ed5
--- /dev/null
+++ b/sip/qt/qvbuttongroup.sip
@@ -0,0 +1,48 @@
+// This is the SIP interface definition for QVButtonGroup.
+//
+// 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>QVButtonGroup (Qt v2+)</Title>
+<Para>
+<Literal>QVButtonGroup</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QVButtonGroup : QButtonGroup
+{
+%TypeHeaderCode
+#include <qvbuttongroup.h>
+%End
+
+public:
+ QVButtonGroup(QWidget * /TransferThis/ = 0,const char * = 0);
+ QVButtonGroup(const QString &,QWidget * /TransferThis/ = 0,const char * = 0);
+
+private:
+ QVButtonGroup(const QVButtonGroup &);
+};
+
+%End
diff --git a/sip/qt/qvgroupbox.sip b/sip/qt/qvgroupbox.sip
new file mode 100644
index 0000000..06b355e
--- /dev/null
+++ b/sip/qt/qvgroupbox.sip
@@ -0,0 +1,48 @@
+// This is the SIP interface definition for QVGroupBox.
+//
+// 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>QVGroupBox (Qt v2+)</Title>
+<Para>
+<Literal>QVGroupBox</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+class QVGroupBox : QGroupBox
+{
+%TypeHeaderCode
+#include <qvgroupbox.h>
+%End
+
+public:
+ QVGroupBox(QWidget * /TransferThis/ = 0,const char * = 0);
+ QVGroupBox(const QString &,QWidget * /TransferThis/ = 0,const char * = 0);
+
+private:
+ QVGroupBox(const QVGroupBox &);
+};
+
+%End
diff --git a/sip/qt/qwaitcondition.sip b/sip/qt/qwaitcondition.sip
new file mode 100644
index 0000000..5d8d66f
--- /dev/null
+++ b/sip/qt/qwaitcondition.sip
@@ -0,0 +1,81 @@
+// This is the SIP interface definition for QWaitCondition.
+//
+// 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>QWaitCondition (Qt v2.2+)</Title>
+<Para>
+<Literal>QWaitCondition</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_THREAD_SUPPORT)
+
+%If (Qt_3_0_0 -)
+
+class QWaitCondition
+{
+%TypeHeaderCode
+#include <qwaitcondition.h>
+%End
+
+public:
+ QWaitCondition();
+
+ bool wait(unsigned long = ULONG_MAX) /ReleaseGIL/;
+ bool wait(QMutex *,unsigned long = ULONG_MAX) /ReleaseGIL/;
+
+ void wakeOne();
+ void wakeAll();
+
+private:
+ QWaitCondition(const QWaitCondition &);
+};
+
+%End
+
+
+%If (Qt_2_2_0 - Qt_3_0_0)
+
+class QWaitCondition : Qt
+{
+%TypeHeaderCode
+#include <qthread.h>
+%End
+
+public:
+ QWaitCondition();
+
+ bool wait(unsigned long = ULONG_MAX) /ReleaseGIL/;
+ bool wait(QMutex *,unsigned long = ULONG_MAX) /ReleaseGIL/;
+
+ void wakeOne();
+ void wakeAll();
+
+private:
+ QWaitCondition(const QWaitCondition &);
+};
+
+%End
+
+%End
diff --git a/sip/qt/qwhatsthis.sip b/sip/qt/qwhatsthis.sip
new file mode 100644
index 0000000..b745449
--- /dev/null
+++ b/sip/qt/qwhatsthis.sip
@@ -0,0 +1,97 @@
+// This is the SIP interface definition for QWhatsThis.
+//
+// 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>QWhatsThis</Title>
+<Para>
+<Literal>QWhatsThis</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_2_00)
+
+class QWhatsThis
+{
+%TypeHeaderCode
+#include <qwhatsthis.h>
+%End
+
+public:
+ static void add(QWidget *,const char *,bool = 1);
+ static void add(QWidget *,const QPixmap &,const char *,const char *,bool = 1);
+ static void remove(QWidget *);
+ static const char *textFor(QWidget *);
+ static QToolButton *whatsThisButton(QWidget *);
+};
+
+%End
+
+%If (Qt_2_00 -)
+
+class QWhatsThis : Qt
+{
+%TypeHeaderCode
+#include <qwhatsthis.h>
+%End
+
+public:
+ QWhatsThis(QWidget *);
+
+ virtual QString text(const QPoint &);
+%If (Qt_3_0_0 -)
+ virtual bool clicked(const QString &);
+%End
+
+%If (Qt_3_1_0 -)
+ static void setFont(const QFont &);
+%End
+
+ static void add(QWidget *,const QString &);
+ static void remove(QWidget *);
+%If (- Qt_3_0_0)
+ static QString textFor(QWidget *,const QPoint & = QPoint());
+%End
+%If (Qt_3_0_0 -)
+ static QString textFor(QWidget *,const QPoint & = QPoint(),bool = 0);
+%End
+
+ static QToolButton *whatsThisButton(QWidget *);
+
+ static void enterWhatsThisMode();
+ static bool inWhatsThisMode();
+%If (- Qt_3_0_0)
+ static void leaveWhatsThisMode(const QString & = QString::null,
+ const QPoint & = QCursor::pos());
+%End
+%If (Qt_3_0_0 -)
+ static void leaveWhatsThisMode(const QString & = QString::null,
+ const QPoint & = QCursor::pos(),
+ QWidget * = 0);
+
+ static void display(const QString &,const QPoint & = QCursor::pos(),
+ QWidget * = 0);
+%End
+};
+
+%End
diff --git a/sip/qt/qwidget.sip b/sip/qt/qwidget.sip
new file mode 100644
index 0000000..72b4304
--- /dev/null
+++ b/sip/qt/qwidget.sip
@@ -0,0 +1,664 @@
+// This is the SIP interface definition for QWidget.
+//
+// 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>QWidget</Title>
+<FuncSynopsis>
+ <FuncDef>QWExtra *<Function>extraData</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QFocusData *<Function>focusData</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>lower</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed to <Literal>lowerW</Literal> in Python.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>raise</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed to <Literal>raiseW</Literal> in Python.
+</Para>
+</Sect2>
+%End
+
+
+class QWidget : QObject, QPaintDevice
+{
+%TypeHeaderCode
+#include <qwidget.h>
+%End
+
+public:
+ QWidget(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+
+ WId winId() const;
+ bool isTopLevel() const;
+%If (Qt_3_0_0 -)
+ bool isDialog() const;
+%End
+ bool isPopup() const;
+ bool isDesktop() const;
+ bool isModal() const;
+ bool isEnabled() const;
+ bool isEnabledTo(QWidget *) const;
+ bool isEnabledToTLW() const;
+ const QRect &geometry() const;
+ int x() const;
+ int y() const;
+ QPoint pos() const;
+ QSize size() const;
+ int width() const;
+ int height() const;
+ QRect rect() const;
+ QRect childrenRect() const;
+ QSize minimumSize() const;
+ QSize maximumSize() const;
+ void setMinimumSize(const QSize &);
+ void setMaximumSize(const QSize &);
+ void setMinimumWidth(int);
+ void setMinimumHeight(int);
+ void setMaximumWidth(int);
+ void setMaximumHeight(int);
+ QSize sizeIncrement() const;
+ void setSizeIncrement(const QSize &);
+ void setFixedSize(const QSize &);
+ void setFixedSize(int,int);
+ void setFixedWidth(int);
+ void setFixedHeight(int);
+ QPoint mapToGlobal(const QPoint &) const;
+ QPoint mapFromGlobal(const QPoint &) const;
+ QPoint mapToParent(const QPoint &) const;
+ QPoint mapFromParent(const QPoint &) const;
+%If (Qt_2_2_0 -)
+ QPoint mapTo(QWidget *,const QPoint &) const;
+ QPoint mapFrom(QWidget *,const QPoint &) const;
+%End
+
+ QWidget *topLevelWidget() const;
+
+ BackgroundMode backgroundMode() const;
+%If (- Qt_3_0_0)
+ const QColor &backgroundColor() const;
+ virtual void setBackgroundColor(const QColor &);
+ const QPixmap *backgroundPixmap();
+ virtual void setBackgroundPixmap(const QPixmap &);
+%End
+
+ const QColor &foregroundColor() const;
+
+%If (Qt_3_0_0 -)
+ const QColor &eraseColor() const;
+ virtual void setEraseColor(const QColor &);
+
+ const QPixmap *erasePixmap() const;
+ virtual void setErasePixmap(const QPixmap &);
+%End
+
+ const QColorGroup &colorGroup() const;
+ const QPalette &palette() const;
+%If (Qt_2_2_0 -)
+ bool ownPalette() const;
+%End
+ virtual void setPalette(const QPalette &);
+%If (Qt_2_1_0 -)
+ void unsetPalette();
+%End
+
+%If (Qt_3_0_0 -)
+ const QColor &paletteForegroundColor() const;
+ void setPaletteForegroundColor(const QColor &);
+
+ const QColor &paletteBackgroundColor() const;
+ virtual void setPaletteBackgroundColor(const QColor &);
+
+ const QPixmap *paletteBackgroundPixmap() const;
+ virtual void setPaletteBackgroundPixmap(const QPixmap &);
+
+ const QBrush &backgroundBrush() const;
+%End
+
+%If (Qt_2_2_0 -)
+ bool ownFont() const;
+%End
+ virtual void setFont(const QFont &);
+ QFontMetrics fontMetrics() const;
+ QFontInfo fontInfo() const;
+
+%If (- Qt_3_0_0)
+ enum PropagationMode
+ {
+ NoChildren,
+ AllChildren,
+ SameFont,
+ SamePalette = SameFont
+ };
+
+ PropagationMode fontPropagation() const;
+ PropagationMode palettePropagation() const;
+%End
+
+ const QCursor &cursor() const;
+%If (Qt_2_2_0 -)
+ bool ownCursor() const;
+%End
+ virtual void setCursor(const QCursor &);
+ const QPixmap *icon() const;
+ bool hasMouseTracking() const;
+%If (Qt_3_0_0 -)
+ bool hasMouse() const;
+%End
+
+ void clearMask();
+ bool isActiveWindow() const;
+ bool isFocusEnabled() const;
+ FocusPolicy focusPolicy() const;
+ bool hasFocus() const;
+ static void setTabOrder(QWidget *,QWidget *);
+ QWidget *focusProxy() const;
+
+%If (Qt_3_2_0 -)
+ void setInputMethodEnabled(bool);
+ bool isInputMethodEnabled() const;
+%End
+
+ void grabMouse();
+ void grabMouse(const QCursor &);
+ void releaseMouse();
+ void grabKeyboard();
+ void releaseKeyboard();
+ static QWidget *mouseGrabber();
+ static QWidget *keyboardGrabber();
+ bool isUpdatesEnabled() const;
+ bool isVisible() const;
+ bool isVisibleTo(QWidget *) const;
+ bool isVisibleToTLW() const;
+ virtual QSize sizeHint() const;
+%If (- Qt_3_1_0)
+ virtual void adjustSize();
+%End
+ void erase();
+ void erase(int,int,int,int);
+ void erase(const QRect &);
+ void scroll(int,int);
+ QWidget *focusWidget() const;
+ bool acceptDrops() const;
+%If (- Qt_3_0_0)
+ QWidget *parentWidget() const;
+ bool testWFlags(WFlags) const;
+%End
+%If (Qt_3_0_0 -)
+ QWidget *parentWidget(bool = 0) const;
+ WState testWState(WState) const;
+ WFlags testWFlags(WFlags) const;
+%End
+ static QWidget *find(WId);
+
+%If (Qt_3_0_0 -)
+ QWidget *childAt(int,int,bool = 0) const;
+ QWidget *childAt(const QPoint &,bool = 0) const;
+%End
+
+%If (Qt_3_3_0 -)
+ void setWindowOpacity(double);
+ double windowOpacity() const;
+%End
+
+%If (- Qt_2_00)
+ GUIStyle style() const;
+ virtual void setStyle(GUIStyle);
+ const QRect &frameGeometry() const;
+ void setMinimumSize(int,int);
+ void setMaximumSize(int,int);
+ void setSizeIncrement(int,int);
+
+ enum BackgroundMode
+ {
+ FixedColor,
+ FixedPixmap,
+ NoBackground,
+ PaletteForeground,
+ PaletteBackground,
+ PaletteLight,
+ PaletteMidlight,
+ PaletteDark,
+ PaletteMid,
+ PaletteText,
+ PaletteBase
+ };
+
+ void setBackgroundMode(BackgroundMode);
+ const QFont &font() const;
+ void setFontPropagation(PropagationMode);
+ void setPalettePropagation(PropagationMode);
+ const char *caption() const;
+ const char *iconText() const;
+ void setMask(QBitmap);
+ void setMask(const QRegion &);
+
+ enum FocusPolicy
+ {
+ NoFocus = 0,
+ TabFocus = 1,
+ ClickFocus = 2,
+ StrongFocus = 3
+ };
+
+ void setActiveWindow();
+ void setFocusPolicy(FocusPolicy);
+ void setFocus();
+ void clearFocus();
+ void setFocusProxy(QWidget *);
+ virtual bool close(bool = 0);
+ void recreate(QWidget *,WFlags,const QPoint &,bool = 0);
+ void drawText(int,int,const char *);
+ void drawText(const QPoint &,const char *);
+ void setAcceptDrops(bool);
+%End
+
+%If (Qt_2_00 -)
+ void setName(const char *);
+ QStyle &style() const;
+ void setStyle(QStyle *);
+%If (Qt_3_0_0 -)
+ QStyle *setStyle(const QString &);
+%End
+ QRect frameGeometry() const;
+ QSize frameSize() const;
+ QRegion childrenRegion() const;
+ int minimumWidth() const;
+ int minimumHeight() const;
+ int maximumWidth() const;
+ int maximumHeight() const;
+ virtual void setMinimumSize(int,int);
+ virtual void setMaximumSize(int,int);
+ virtual void setSizeIncrement(int,int);
+ QSize baseSize() const;
+ void setBaseSize(const QSize &);
+ void setBaseSize(int,int);
+
+%If (- Qt_2_2_0)
+ enum BackgroundMode
+ {
+ FixedColor,
+ FixedPixmap,
+ NoBackground,
+ PaletteForeground,
+ PaletteButton,
+ PaletteLight,
+ PaletteMidlight,
+ PaletteDark,
+ PaletteMid,
+ PaletteText,
+ PaletteBrightText,
+ PaletteBase,
+ PaletteBackground,
+ PaletteShadow,
+ PaletteHighlight,
+ PaletteHighlightedText
+ };
+%End
+%If (Qt_2_2_0 - Qt_3_0_0)
+ enum BackgroundMode
+ {
+ FixedColor,
+ FixedPixmap,
+ NoBackground,
+ PaletteForeground,
+ PaletteButton,
+ PaletteLight,
+ PaletteMidlight,
+ PaletteDark,
+ PaletteMid,
+ PaletteText,
+ PaletteBrightText,
+ PaletteBase,
+ PaletteBackground,
+ PaletteShadow,
+ PaletteHighlight,
+ PaletteHighlightedText,
+ PaletteButtonText,
+ X11ParentRelative
+ };
+%End
+
+ virtual void setBackgroundMode(BackgroundMode);
+%If (Qt_3_0_0 -)
+ void setBackgroundMode(BackgroundMode,BackgroundMode);
+%End
+ QFont font() const;
+%If (- Qt_3_0_0)
+ void setPalette(const QPalette &,bool);
+ void setFont(const QFont &,bool);
+ virtual void setFontPropagation(PropagationMode);
+ virtual void setPalettePropagation(PropagationMode);
+%End
+ virtual void unsetCursor();
+ QString caption() const;
+ QString iconText() const;
+ virtual void setMask(const QBitmap &);
+ virtual void setMask(const QRegion &);
+
+ enum FocusPolicy
+ {
+ NoFocus = 0,
+ TabFocus = 1,
+ ClickFocus = 2,
+ StrongFocus = 3,
+ WheelFocus = 7
+ };
+
+ virtual void setActiveWindow();
+ virtual void setFocusPolicy(FocusPolicy);
+ virtual void setFocusProxy(QWidget *);
+ virtual bool close(bool);
+ // Obsolete.
+ QRect visibleRect() const;
+ bool isMinimized() const;
+ virtual QSize minimumSizeHint() const;
+ virtual QSizePolicy sizePolicy() const;
+%If (Qt_2_2_0 -)
+ bool isHidden() const;
+ bool isMaximized() const;
+%End
+%If (Qt_3_1_0 -)
+ bool isShown() const;
+ bool isFullScreen() const;
+%End
+
+%If (Qt_3_3_0 -)
+ uint windowState() const;
+ void setWindowState(uint);
+%End
+
+%If (Qt_3_0_0 -)
+ virtual void setSizePolicy(QSizePolicy);
+%End
+%If (Qt_3_1_0 -)
+ void setSizePolicy(QSizePolicy::SizeType,QSizePolicy::SizeType,
+ bool = 0);
+%End
+%If (Qt_2_2_0 - Qt_3_0_0)
+ void setSizePolicy(QSizePolicy);
+%End
+ virtual int heightForWidth(int) const;
+
+%If (Qt_3_2_0 -)
+ QRegion clipRegion() const;
+%End
+
+ QLayout *layout() const;
+ void updateGeometry();
+
+ virtual void reparent(QWidget * /GetWrapper/,WFlags,const QPoint &,
+ bool = 0);
+%MethodCode
+ if (sipCpp -> parent() != a0)
+ {
+ if (a0)
+ sipTransferTo(sipSelf,a0Wrapper);
+ else
+ sipTransferBack(sipSelf);
+ }
+
+ Py_BEGIN_ALLOW_THREADS
+ sipSelfWasArg ? sipCpp->QWidget::reparent(a0, a1, *a2, a3) : sipCpp->reparent(a0, a1, *a2, a3);
+ Py_END_ALLOW_THREADS
+%End
+
+%If (Qt_2_1_0 -)
+ void reparent(QWidget * /GetWrapper/,const QPoint &,bool = 0);
+%MethodCode
+ if (sipCpp -> parent() != a0)
+ {
+ if (a0)
+ sipTransferTo(sipSelf,a0Wrapper);
+ else
+ sipTransferBack(sipSelf);
+ }
+
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp->reparent(a0, *a1, a2);
+ Py_END_ALLOW_THREADS
+%End
+%End
+
+ void erase(const QRegion &);
+ void scroll(int,int,const QRect &);
+ void drawText(int,int,const QString &);
+ void drawText(const QPoint &,const QString &);
+ virtual void setAcceptDrops(bool);
+ virtual void setAutoMask(bool);
+ bool autoMask() const;
+ virtual bool customWhatsThis() const;
+%If (- Qt_3_0_0)
+ bool testWState(uint) const;
+%End
+%End
+
+%If (Qt_2_1_0 -)
+ QRect microFocusHint() const;
+ void unsetFont();
+%End
+
+%If (Qt_2_1_0 -)
+ enum BackgroundOrigin {
+ WidgetOrigin,
+ ParentOrigin,
+%If (Qt_3_0_0 -)
+ WindowOrigin,
+%End
+%If (Qt_3_1_0 -)
+ AncestorOrigin,
+%End
+ };
+%End
+
+%If (Qt_2_1_0 - Qt_3_0_0)
+ void setBackgroundOrigin(BackgroundOrigin);
+%End
+%If (Qt_3_0_0 -)
+ virtual void setBackgroundOrigin(BackgroundOrigin);
+%End
+%If (Qt_2_1_0 -)
+ BackgroundOrigin backgroundOrigin() const;
+%End
+
+%If (Qt_3_1_0 -)
+ QPoint backgroundOffset() const;
+%End
+
+public slots:
+%If (Qt_3_1_0 -)
+ virtual void adjustSize();
+%End
+ virtual void setEnabled(bool);
+%If (Qt_2_2_0 -)
+ void setDisabled(bool);
+%End
+ void update();
+ void update(int,int,int,int);
+ void update(const QRect &);
+ void repaint(int,int,int,int,bool = 1);
+ void repaint(const QRect &,bool = 1);
+ virtual void show();
+ virtual void hide();
+%If (Qt_3_1_0 -)
+ void setShown(bool);
+ void setHidden(bool);
+%End
+ void raise() /PyName=raiseW/;
+ void lower() /PyName=lowerW/;
+ virtual void move(int,int);
+ void move(const QPoint &);
+ virtual void resize(int,int);
+ void resize(const QSize &);
+ virtual void setGeometry(int,int,int,int);
+
+%If (- Qt_2_00)
+ void setCaption(const char *);
+ void setIcon(const QPixmap &);
+ void setIconText(const char *);
+ void setMouseTracking(bool);
+ void setUpdatesEnabled(bool);
+ void repaint(bool = 1);
+ void iconify();
+ void setGeometry(const QRect &);
+%End
+
+%If (Qt_2_00 -)
+ virtual void setCaption(const QString &);
+ virtual void setIcon(const QPixmap &);
+ virtual void setIconText(const QString &);
+ virtual void setMouseTracking(bool);
+ virtual void setFocus();
+ void clearFocus();
+ virtual void setUpdatesEnabled(bool);
+ void repaint();
+ void repaint(bool);
+ void repaint(const QRegion &,bool = 1);
+ virtual void showMinimized();
+ virtual void showMaximized();
+ virtual void showNormal();
+ virtual void polish();
+ bool close();
+ virtual void setGeometry(const QRect &);
+%End
+
+%If (Qt_2_1_0 -)
+ void showFullScreen();
+ void constPolish() const;
+%End
+
+%If (Qt_3_0_0 -)
+ // This was added before v3 but I can't be bothered to work out exactly
+ // when.
+ void stackUnder(QWidget *);
+%End
+
+protected:
+ bool event(QEvent *);
+ virtual void mousePressEvent(QMouseEvent *);
+ virtual void mouseReleaseEvent(QMouseEvent *);
+ virtual void mouseDoubleClickEvent(QMouseEvent *);
+ virtual void mouseMoveEvent(QMouseEvent *);
+ virtual void keyPressEvent(QKeyEvent *);
+ virtual void keyReleaseEvent(QKeyEvent *);
+ virtual void focusInEvent(QFocusEvent *);
+ virtual void focusOutEvent(QFocusEvent *);
+ virtual void enterEvent(QEvent *);
+ virtual void leaveEvent(QEvent *);
+ virtual void paintEvent(QPaintEvent *);
+ virtual void moveEvent(QMoveEvent *);
+ virtual void resizeEvent(QResizeEvent *);
+ virtual void closeEvent(QCloseEvent *);
+%If (Qt_3_0_0 -)
+ virtual void contextMenuEvent(QContextMenuEvent *);
+ virtual void imStartEvent(QIMEvent *);
+ virtual void imComposeEvent(QIMEvent *);
+ virtual void imEndEvent(QIMEvent *);
+ virtual void tabletEvent(QTabletEvent *);
+%End
+ virtual void enabledChange(bool);
+%If (- Qt_3_0_0)
+ virtual void backgroundColorChange(const QColor &);
+ virtual void backgroundPixmapChange(const QPixmap &);
+%End
+ virtual void paletteChange(const QPalette &);
+ virtual void fontChange(const QFont &);
+%If (Qt_3_0_0 -)
+ virtual void windowActivationChange(bool);
+ void resetInputContext();
+%End
+ WFlags getWFlags() const;
+ void clearWFlags(WFlags);
+ virtual bool focusNextPrevChild(bool);
+// QWExtra *extraData();
+// QFocusData *focusData();
+
+%If (- Qt_2_00)
+ virtual void styleChange(GUIStyle);
+ void create(WId);
+ void create(WId,bool,bool);
+ void destroy(bool,bool);
+ void setWFlags(WFlags);
+ void setFRect(const QRect &);
+ void setCRect(const QRect &);
+ void setSizeGrip(bool);
+%End
+
+%If (Qt_2_00 -)
+ virtual void wheelEvent(QWheelEvent *);
+%If (Qt_DRAGANDDROP)
+ virtual void dragEnterEvent(QDragEnterEvent *);
+ virtual void dragMoveEvent(QDragMoveEvent *);
+ virtual void dragLeaveEvent(QDragLeaveEvent *);
+ virtual void dropEvent(QDropEvent *);
+%End
+ virtual void showEvent(QShowEvent *);
+ virtual void hideEvent(QHideEvent *);
+%If (- Qt_3_0_0)
+ virtual void customEvent(QCustomEvent *);
+%End
+
+
+ virtual void updateMask();
+
+ virtual void styleChange(QStyle &);
+ int metric(int) const;
+ virtual void create(WId = 0,bool = 1,bool = 1);
+ virtual void destroy(bool = 1,bool = 1);
+ uint getWState() const;
+ virtual void setWState(uint);
+ void clearWState(uint);
+ virtual void setWFlags(WFlags);
+%If (- Qt_3_0_0)
+ virtual void setFRect(const QRect &);
+ virtual void setCRect(const QRect &);
+%End
+ virtual void setKeyCompression(bool);
+%If (- Qt_3_0_0)
+ virtual void setMicroFocusHint(int,int,int,int,bool = 1);
+%End
+%If (Qt_3_0_0 -)
+ virtual void setMicroFocusHint(int,int,int,int,bool = 1,QFont * = 0);
+%End
+%End
+
+private:
+ QWidget(const QWidget &);
+};
diff --git a/sip/qt/qwidgetlist.sip b/sip/qt/qwidgetlist.sip
new file mode 100644
index 0000000..9fdc1ad
--- /dev/null
+++ b/sip/qt/qwidgetlist.sip
@@ -0,0 +1,107 @@
+// This is the SIP interface definition for QWidgetList.
+//
+// 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>QWidgetList</Title>
+<Para>
+This class isn't implemented. Whenever a <Literal>QWidgetList</Literal> is the
+return type of a function or the type of an argument, a Python list of
+instances is used instead.
+</Para>
+</Sect2>
+%End
+
+
+%MappedType QWidgetList
+{
+%TypeHeaderCode
+#include <qwidgetlist.h>
+%End
+
+%ConvertFromTypeCode
+ // Convert the list.
+
+ PyObject *pl;
+ QWidget *obj;
+
+ if ((pl = PyList_New(0)) == NULL)
+ return NULL;
+
+ for (QWidgetListIt it(*sipCpp); (obj = it.current()) != NULL; ++it)
+ {
+ PyObject *inst;
+
+ if ((inst = sipConvertFromInstance(obj,sipClass_QWidget,sipTransferObj)) == NULL || PyList_Append(pl,inst) < 0)
+ {
+ Py_XDECREF(inst);
+ Py_DECREF(pl);
+
+ return NULL;
+ }
+
+ Py_DECREF(inst);
+ }
+
+ return pl;
+%End
+
+%ConvertToTypeCode
+ // Convert a Python list of QWidget instances to a QWidgetList on the
+ // heap.
+
+ if (sipIsErr == NULL)
+ {
+ if (!PyList_Check(sipPy))
+ return 0;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QWidget,0))
+ return 0;
+
+ return 1;
+ }
+
+ QWidgetList *qwl = new QWidgetList;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ {
+ QWidget *qw;
+
+ // We apply the transfer to the list itself, not the elements.
+ // Note that any temporary element will never be destroyed.
+ // There is nothing that can be done about this.
+ qw = reinterpret_cast<QWidget *>(sipConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QWidget,0,0,0,sipIsErr));
+
+ if (*sipIsErr)
+ {
+ delete qwl;
+ return 0;
+ }
+
+ qwl -> append(qw);
+ }
+
+ *sipCppPtr = qwl;
+
+ return sipGetState(sipTransferObj);
+%End
+};
diff --git a/sip/qt/qwidgetstack.sip b/sip/qt/qwidgetstack.sip
new file mode 100644
index 0000000..daf6694
--- /dev/null
+++ b/sip/qt/qwidgetstack.sip
@@ -0,0 +1,98 @@
+// This is the SIP interface definition for QWidgetStack.
+//
+// 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>QWidgetStack</Title>
+<Para>
+<Literal>QWidgetStack</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+class QWidgetStack : QFrame
+{
+%TypeHeaderCode
+#include <qwidgetstack.h>
+%End
+
+public:
+ QWidgetStack(QWidget * /TransferThis/ = 0,const char * = 0);
+%If (Qt_3_1_0 -)
+ QWidgetStack(QWidget * /TransferThis/,const char *,WFlags);
+%End
+
+ // The QWidget has it's parent changed to be `this' so it will be
+ // deleted automatically when `this' is deleted. It stays this way
+ // even if removeWidget() is called, so it isn't transferred back.
+%If (- Qt_3_0_0)
+ void addWidget(QWidget * /Transfer/,int);
+%End
+%If (Qt_3_0_0 -)
+ int addWidget(QWidget * /Transfer/,int = -1);
+%End
+ void removeWidget(QWidget *);
+
+%If (Qt_2_00 -)
+ QSize sizeHint() const;
+ QSize minimumSizeHint() const;
+%End
+ void show();
+
+ QWidget *widget(int) const;
+ int id(QWidget *) const;
+
+ QWidget *visibleWidget() const;
+
+%If (Qt_2_00 -)
+ void setFrameRect(const QRect &);
+%End
+
+%If (- Qt_2_00)
+ bool event(QEvent *);
+%End
+
+signals:
+ void aboutToShow(int);
+ void aboutToShow(QWidget *);
+
+public slots:
+ void raiseWidget(int);
+ void raiseWidget(QWidget *);
+
+protected:
+ void frameChanged();
+%If (- Qt_2_00)
+ void setChildGeometries();
+%End
+%If (Qt_2_00 -)
+ void resizeEvent(QResizeEvent *);
+
+ virtual void setChildGeometries();
+ void childEvent(QChildEvent *);
+%End
+
+private:
+%If (Qt_2_1_0 -)
+ QWidgetStack(const QWidgetStack &);
+%End
+};
diff --git a/sip/qt/qwindow.sip b/sip/qt/qwindow.sip
new file mode 100644
index 0000000..4305c42
--- /dev/null
+++ b/sip/qt/qwindow.sip
@@ -0,0 +1,47 @@
+// This is the SIP interface definition for QWindow.
+//
+// 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>QWindow</Title>
+<Para>
+<Literal>QWindow</Literal> is fully implemented (Qt v1.x).
+</Para>
+</Sect2>
+%End
+
+
+%If (- Qt_2_00)
+
+class QWindow : QWidget
+{
+%TypeHeaderCode
+#include <qwindow.h>
+%End
+
+public:
+ QWindow(QWidget * = 0,const char * = 0,WFlags = 0);
+
+private:
+ QWindow(const QWindow &);
+};
+
+%End
diff --git a/sip/qt/qwindowdefs.sip b/sip/qt/qwindowdefs.sip
new file mode 100644
index 0000000..4638d71
--- /dev/null
+++ b/sip/qt/qwindowdefs.sip
@@ -0,0 +1,180 @@
+// This is the SIP interface definition for a variety of constant definitions.
+//
+// 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>Qt Constants</Title>
+<Para>
+All constant values defined by Qt have equivalent constants defined to Python.
+</Para>
+</Sect2>
+%End
+
+
+%ModuleHeaderCode
+#include <qwindowdefs.h>
+%End
+
+
+%OptionalInclude qwindowdefs_mac.sip
+%OptionalInclude qwindowdefs_qws.sip
+%OptionalInclude qwindowdefs_win.sip
+%OptionalInclude qwindowdefs_x11.sip
+
+
+%If (- Qt_2_00)
+typedef short QCOORD;
+
+const int QCOORD_MIN;
+const int QCOORD_MAX;
+%End
+
+%If (Qt_2_00 -)
+typedef Q_INT32 QCOORD;
+
+const QCOORD QCOORD_MIN;
+const QCOORD QCOORD_MAX;
+%End
+
+
+typedef unsigned QRgb;
+
+%If (- Qt_3_0_0)
+char *qAppName();
+%End
+%If (Qt_3_0_0 -)
+const char *qAppName();
+%End
+
+
+%If (- Qt_2_00)
+
+enum GUIStyle {
+ MacStyle,
+ WindowsStyle,
+ Win3Style,
+ PMStyle,
+ MotifStyle
+};
+
+
+// Widget state flags.
+
+typedef uint WFlags;
+
+const uint WState_Created;
+const uint WState_Disabled;
+const uint WState_Visible;
+const uint WState_DoHide;
+const uint WState_ClickToFocus;
+const uint WState_TrackMouse;
+const uint WState_BlockUpdates;
+const uint WState_PaintEvent;
+
+// Widget type flags.
+
+const uint WType_TopLevel;
+const uint WType_Modal;
+const uint WType_Popup;
+const uint WType_Desktop;
+
+// Window style flags.
+
+const uint WStyle_Customize;
+const uint WStyle_NormalBorder;
+const uint WStyle_DialogBorder;
+const uint WStyle_NoBorder;
+const uint WStyle_Title;
+const uint WStyle_SysMenu;
+const uint WStyle_Minimize;
+const uint WStyle_Maximize;
+const uint WStyle_MinMax;
+const uint WStyle_Tool;
+const uint WStyle_Mask;
+
+// Miscellaneous widget flags.
+
+const uint WCursorSet;
+const uint WDestructiveClose;
+const uint WPaintDesktop;
+const uint WPaintUnclipped;
+const uint WPaintClever;
+const uint WConfigPending;
+const uint WResizeNoErase;
+const uint WRecreated;
+const uint WExportFontMetrics;
+const uint WExportFontInfo;
+const uint WFocusSet;
+const uint WState_TabToFocus;
+
+
+enum RasterOp {
+ CopyROP,
+ OrROP,
+ XorROP,
+ EraseROP,
+ NotCopyROP,
+ NotOrROP,
+ NotXorROP,
+ NotEraseROP,
+ NotROP
+};
+
+
+// Text alignment flags.
+
+const int AlignLeft;
+const int AlignRight;
+const int AlignHCenter;
+const int AlignTop;
+const int AlignBottom;
+const int AlignVCenter;
+const int AlignCenter;
+
+// Miscellaneous text flags.
+
+const int SingleLine;
+const int DontClip;
+const int ExpandTabs;
+const int ShowPrefix;
+const int WordBreak;
+const int GrayText;
+
+// Image conversion flags.
+
+const int ColorMode_Mask;
+const int AutoColor;
+const int ColorOnly;
+const int MonoOnly;
+const int AlphaDither_Mask;
+const int ThresholdAlphaDither;
+const int OrderedAlphaDither;
+const int DiffuseAlphaDither;
+const int Dither_Mask;
+const int DiffuseDither;
+const int OrderedDither;
+const int ThresholdDither;
+const int DitherMode_Mask;
+const int AutoDither;
+const int PreferDither;
+const int AvoidDither;
+
+%End
diff --git a/sip/qt/qwindowdefs_qws.sip b/sip/qt/qwindowdefs_qws.sip
new file mode 100644
index 0000000..53f4b77
--- /dev/null
+++ b/sip/qt/qwindowdefs_qws.sip
@@ -0,0 +1,29 @@
+// This is the SIP interface definition for a variety of constant definitions
+// for Qt/Embedded.
+//
+// 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.
+
+
+%If (WS_QWS)
+
+typedef unsigned WId;
+typedef void *HANDLE;
+
+%End
diff --git a/sip/qt/qwindowdefs_x11.sip b/sip/qt/qwindowdefs_x11.sip
new file mode 100644
index 0000000..4ddfcd4
--- /dev/null
+++ b/sip/qt/qwindowdefs_x11.sip
@@ -0,0 +1,48 @@
+// This is the SIP interface definition for a variety of constant definitions
+// for X11.
+//
+// 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.
+
+
+%If (WS_X11)
+
+%If (- Qt_3_0_0)
+typedef unsigned HANDLE;
+typedef unsigned WId;
+%End
+
+%If (Qt_3_0_0 -)
+typedef unsigned long WId;
+%End
+
+typedef void Display;
+
+Display *qt_xdisplay();
+int qt_xscreen();
+WId qt_xrootwin();
+%If (Qt_3_1_0 -)
+WId qt_xrootwin(int);
+%End
+
+%If (Qt_3_3_0 -)
+const char *qAppClass();
+%End
+
+%End
diff --git a/sip/qt/qwindowsstyle.sip b/sip/qt/qwindowsstyle.sip
new file mode 100644
index 0000000..34be426
--- /dev/null
+++ b/sip/qt/qwindowsstyle.sip
@@ -0,0 +1,192 @@
+// This is the SIP interface definition for QWindowsStyle.
+//
+// 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>QWindowsStyle (Qt v2+)</Title>
+<FuncSynopsis>
+ <FuncDef>void <Function>getButtonShift</Function></FuncDef>
+ <ParamDef>int &<Parameter>x</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>y</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns a tuple of the <Literal>x</Literal> and
+<Literal>y</Literal> values. (Qt v2)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef>
+ <ParamDef>const QTabBar *<Parameter>sb</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>sliderMin</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>sliderMax</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>sliderLength</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>buttonDim</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>sb</Literal> parameter and returns a tuple of the
+<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>,
+<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values.
+(Qt v2)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>tabbarMetrics</Function></FuncDef>
+ <ParamDef>const QTabBar *<Parameter>t</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>hframe</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>vframe</Parameter></ParamDef>
+ <ParamDef>int &<Parameter>overlap</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes only the <Literal>t</Literal> parameter and returns a tuple of the
+<Literal>hframe</Literal>, <Literal>vframe</Literal> and
+<Literal>overlap</Literal> values. (Qt v2)
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_STYLE_WINDOWS)
+%If (Qt_2_00 -)
+
+class QWindowsStyle : QCommonStyle
+{
+%TypeHeaderCode
+#include <qwindowsstyle.h>
+%End
+
+public:
+ QWindowsStyle();
+
+%If (Qt_3_3_0 -)
+ void polish(QApplication *);
+ void unPolish(QApplication *);
+
+ void polish(QWidget *);
+ void unPolish(QWidget *);
+
+ void polish(QPalette &);
+%End
+
+%If (- Qt_3_0_0)
+ void drawButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,const QBrush * = 0);
+ void drawBevelButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,const QBrush * = 0);
+ void drawFocusRect(QPainter *,const QRect &,const QColorGroup &,
+ const QColor * = 0,bool = 0);
+ void drawPushButton(QPushButton *,QPainter *);
+
+ void getButtonShift(int &,int &);
+
+ void drawPanel(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,int = 1,const QBrush * = 0);
+ void drawPopupPanel(QPainter *,int,int,int,int,const QColorGroup &,
+ int = 2,const QBrush * = 0);
+ void drawArrow(QPainter *,ArrowType,bool,int,int,int,int,
+ const QColorGroup &,bool,const QBrush * = 0);
+ QSize indicatorSize() const;
+ void drawIndicator(QPainter *,int,int,int,int,const QColorGroup &,
+ int,bool = 0,bool = 1);
+ QSize exclusiveIndicatorSize() const;
+ void drawExclusiveIndicator(QPainter *,int,int,int,int,
+ const QColorGroup &,bool,bool = 0,bool = 1);
+ void drawExclusiveIndicatorMask(QPainter *,int,int,int,int,bool);
+ void drawComboButton(QPainter *,int,int,int,int,const QColorGroup &,
+ bool = 0,bool = 0,bool = 1,const QBrush * = 0);
+ QRect comboButtonRect(int,int,int,int);
+ QRect comboButtonFocusRect(int,int,int,int);
+
+ void tabbarMetrics(const QTabBar *,int &,int &,int &);
+
+ void drawTab(QPainter *,const QTabBar *,QTab *,bool);
+ void drawTabMask(QPainter *,const QTabBar *,QTab *,bool);
+
+ void scrollBarMetrics(const QScrollBar *,int &,int &,int &,int &);
+
+ void drawScrollBarControls(QPainter *,const QScrollBar *,int,uint,uint);
+ int sliderLength() const;
+ void drawSlider(QPainter *,int,int,int,int,const QColorGroup &,
+ Orientation,bool,bool);
+ void drawSliderMask(QPainter *,int,int,int,int,Orientation,bool,bool);
+ void drawSliderGroove(QPainter *,int,int,int,int,const QColorGroup &,
+ QCOORD,Orientation);
+ int maximumSliderDragDistance() const;
+ int splitterWidth() const;
+ void drawSplitter(QPainter *,int,int,int,int,const QColorGroup &,
+ Orientation);
+ void drawCheckMark(QPainter *,int,int,int,int,const QColorGroup &,bool,
+ bool);
+ void polishPopupMenu(QPopupMenu *);
+ int extraPopupMenuItemWidth(bool,int,QMenuItem *,const QFontMetrics &);
+ int popupMenuItemHeight(bool,QMenuItem *,const QFontMetrics &);
+ void drawPopupMenuItem(QPainter *,bool,int,int,QMenuItem *,
+ const QPalette &,bool,bool,int,int,int,int);
+%End
+%If (Qt_3_0_0 -)
+ virtual void polishPopupMenu(QPopupMenu *);
+
+ void drawPrimitive(PrimitiveElement,QPainter *,const QRect &,
+ const QColorGroup &,SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const;
+
+ void drawControl(ControlElement,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,
+ const QStyleOption & = QStyleOption()) const;
+
+ void drawComplexControl(ComplexControl,QPainter *,const QWidget *,
+ const QRect &,const QColorGroup &,
+ SFlags = Style_Default,SCFlags = SC_All,
+ SCFlags = SC_None,
+ const QStyleOption & = QStyleOption()) const;
+
+ int pixelMetric(PixelMetric,const QWidget * = 0) const;
+
+ QSize sizeFromContents(ContentsType,const QWidget *,const QSize &,
+ const QStyleOption & = QStyleOption()) const;
+
+ int styleHint(StyleHint,const QWidget *,
+ const QStyleOption & = QStyleOption(),
+ QStyleHintReturn * = 0) const;
+
+ QPixmap stylePixmap(StylePixmap,const QWidget * = 0,
+ const QStyleOption & = QStyleOption()) const;
+%End
+
+%If (Qt_3_1_0 -)
+ QRect subRect(SubRect,const QWidget *) const;
+%End
+
+protected:
+%If (- Qt_3_0_0)
+ void drawWinShades(QPainter *,int,int,int,int,const QColor &,
+ const QColor &,const QColor &,const QColor &,
+ const QBrush *);
+%End
+
+private:
+%If (Qt_3_0_0 -)
+ QWindowsStyle(const QWindowsStyle &);
+%End
+};
+
+%End
+%End
diff --git a/sip/qt/qwindowsxpstyle.sip b/sip/qt/qwindowsxpstyle.sip
new file mode 100644
index 0000000..394bfad
--- /dev/null
+++ b/sip/qt/qwindowsxpstyle.sip
@@ -0,0 +1,31 @@
+// This is the SIP interface definition for QWindowsXPStyle.
+//
+// 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>QWindowsXPStyle (Qt v3.0.1+, Windows)</Title>
+<Para>
+<Literal>QWindowsXPStyle</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
diff --git a/sip/qt/qwizard.sip b/sip/qt/qwizard.sip
new file mode 100644
index 0000000..c062f65
--- /dev/null
+++ b/sip/qt/qwizard.sip
@@ -0,0 +1,122 @@
+// This is the SIP interface definition for QWizard.
+//
+// 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>QWizard (Qt v2+)</Title>
+<Para>
+<Literal>QWizard</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_WIZARD)
+%If (Qt_2_00 -)
+
+class QWizard : QDialog
+{
+%TypeHeaderCode
+#include <qwizard.h>
+%End
+
+public:
+ QWizard(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0,
+ WFlags = 0);
+
+ void show();
+
+ void setFont(const QFont &);
+
+ // The QWidget is passed to QWidgetStack::addWidget().
+ virtual void addPage(QWidget * /Transfer/, const QString &);
+%If (Qt_3_0_0 -)
+ // The QWidget is passed to QWidgetStack::addWidget().
+ virtual void insertPage(QWidget * /Transfer/, const QString &,int);
+%End
+ virtual void removePage(QWidget *);
+
+ QString title(QWidget *) const;
+%If (Qt_2_2_0 -)
+ void setTitle(QWidget *,const QString &);
+%End
+%If (Qt_3_0_0 -)
+ QFont titleFont() const;
+ void setTitleFont(const QFont &);
+%End
+
+ virtual void showPage(QWidget *);
+
+ QWidget *currentPage() const;
+
+%If (Qt_2_1_0 -)
+ QWidget *page(int) const;
+ int pageCount() const;
+%End
+%If (Qt_3_0_0 -)
+ int indexOf(QWidget *) const;
+%End
+
+ virtual bool appropriate(QWidget *) const;
+ virtual void setAppropriate(QWidget *,bool);
+
+ QPushButton *backButton() const;
+ QPushButton *nextButton() const;
+ QPushButton *finishButton() const;
+ QPushButton *cancelButton() const;
+ QPushButton *helpButton() const;
+
+ bool eventFilter(QObject *,QEvent *);
+
+public slots:
+ virtual void setBackEnabled(QWidget *,bool);
+ virtual void setNextEnabled(QWidget *,bool);
+ virtual void setFinishEnabled(QWidget *,bool);
+
+ virtual void setHelpEnabled(QWidget *,bool);
+
+%If (- Qt_3_0_0)
+ virtual void setFinish(QWidget *,bool);
+%End
+
+protected slots:
+ virtual void back();
+ virtual void next();
+ virtual void help();
+
+signals:
+ void helpClicked();
+%If (Qt_2_2_0 -)
+ void selected(const QString &);
+%End
+
+protected:
+ virtual void layOutButtonRow(QHBoxLayout *);
+ virtual void layOutTitleRow(QHBoxLayout *,const QString &);
+
+private:
+%If (Qt_2_1_0 -)
+ QWizard(const QWizard &);
+%End
+};
+
+%End
+%End
diff --git a/sip/qt/qwmatrix.sip b/sip/qt/qwmatrix.sip
new file mode 100644
index 0000000..1bb8cdc
--- /dev/null
+++ b/sip/qt/qwmatrix.sip
@@ -0,0 +1,178 @@
+// This is the SIP interface definition for QWMatrix.
+//
+// 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>QWMatrix</Title>
+<Para>
+The Python <Literal>==</Literal>, <Literal>!=</Literal> and
+<Literal>*=</Literal> operators are supported.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>QWMatrix <Function>invert</Function> const</FuncDef>
+ <ParamDef>bool *<Parameter>invertible</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes no parameters and returns a tuple of the <Literal>QWMatrix</Literal>
+result and the <Literal>invertible</Literal> value.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>map</Function> const</FuncDef>
+ <ParamDef>int <Parameter>x</Parameter></ParamDef>
+ <ParamDef>int <Parameter>y</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>tx</Parameter></ParamDef>
+ <ParamDef>int *<Parameter>ty</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and
+returns a tuple containing the <Literal>tx</Literal> and <Literal>ty</Literal>
+values.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>map</Function> const</FuncDef>
+ <ParamDef>float <Parameter>x</Parameter></ParamDef>
+ <ParamDef>float <Parameter>y</Parameter></ParamDef>
+ <ParamDef>float *<Parameter>tx</Parameter></ParamDef>
+ <ParamDef>float *<Parameter>ty</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and
+returns a tuple containing the <Literal>tx</Literal> and <Literal>ty</Literal>
+values. (Qt v1.x)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>map</Function> const</FuncDef>
+ <ParamDef>double <Parameter>x</Parameter></ParamDef>
+ <ParamDef>double <Parameter>y</Parameter></ParamDef>
+ <ParamDef>double *<Parameter>tx</Parameter></ParamDef>
+ <ParamDef>double *<Parameter>ty</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and
+returns a tuple containing the <Literal>tx</Literal> and <Literal>ty</Literal>
+values. (Qt v2+)
+</Para>
+</Sect2>
+%End
+
+
+class QWMatrix
+{
+%TypeHeaderCode
+#include <qwmatrix.h>
+%End
+
+public:
+ QWMatrix();
+%If (- Qt_2_00)
+ QWMatrix(float,float,float,float,float,float);
+%End
+%If (Qt_2_00 -)
+ QWMatrix(double,double,double,double,double,double);
+%End
+
+ void map(int /Constrained/,int /Constrained/,int *,int *) const;
+
+%If (Qt_3_0_0 -)
+ QRect mapRect(const QRect &) const;
+%End
+
+ QPoint map(const QPoint &) const;
+ QRect map(const QRect &); const
+ QPointArray map(const QPointArray &) const;
+%If (Qt_3_1_0 -)
+ QRegion map(const QRegion &) const;
+ QRegion mapToRegion(const QRect &) const;
+ QPointArray mapToPolygon(const QRect &) const;
+%End
+
+ void reset();
+%If (Qt_3_0_0 -)
+ bool isIdentity() const;
+
+ bool isInvertible() const;
+%End
+%If (Qt_3_1_0 -)
+ double det() const;
+%End
+
+ QWMatrix invert(bool * = 0) const;
+
+ bool operator==(const QWMatrix &) const;
+ bool operator!=(const QWMatrix &) const;
+ QWMatrix &operator*=(const QWMatrix &);
+
+%If (Qt_3_0_0 -)
+ // These aren't documented but are used in Qt examples.
+ QPoint operator*(const QPoint &) const;
+ QRegion operator*(const QRect &) const;
+ QRegion operator*(const QRegion &) const;
+ QPointArray operator*(const QPointArray &) const;
+%End
+
+%If (Qt_3_1_0 -)
+ enum TransformationMode {
+ Points,
+ Areas
+ };
+
+ static void setTransformationMode(TransformationMode);
+ static TransformationMode transformationMode();
+%End
+
+%If (- Qt_2_00)
+ void setMatrix(float,float,float,float,float,float);
+ float m11();
+ float m12();
+ float m21();
+ float m22();
+ float dx();
+ float dy();
+
+ void map(float,float,float *,float *) const;
+
+ QWMatrix &translate(float,float);
+ QWMatrix &scale(float,float);
+ QWMatrix &shear(float,float);
+ QWMatrix &rotate(float);
+%End
+
+%If (Qt_2_00 -)
+ void setMatrix(double,double,double,double,double,double);
+ double m11();
+ double m12();
+ double m21();
+ double m22();
+ double dx();
+ double dy();
+
+ void map(double,double,double *,double *) const;
+
+ QWMatrix &translate(double,double);
+ QWMatrix &scale(double,double);
+ QWMatrix &shear(double,double);
+ QWMatrix &rotate(double);
+%End
+};
diff --git a/sip/qt/qworkspace.sip b/sip/qt/qworkspace.sip
new file mode 100644
index 0000000..bbc9dfc
--- /dev/null
+++ b/sip/qt/qworkspace.sip
@@ -0,0 +1,101 @@
+// This is the SIP interface definition for QWorkspace.
+//
+// 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>QWorkspace (Qt v2.1+)</Title>
+<Para>
+<Literal>QWorkspace</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_1_0 -)
+%If (Qt_WORKSPACE)
+
+class QWorkspace : QWidget
+{
+%TypeHeaderCode
+#include <qworkspace.h>
+%End
+
+public:
+ QWorkspace(QWidget * /TransferThis/ = 0,const char * = 0);
+
+%If (Qt_3_2_0 -)
+ enum WindowOrder {
+ CreationOrder,
+ StackingOrder
+ };
+%End
+
+ QWidget *activeWindow() const;
+ QWidgetList windowList() const;
+%If (Qt_3_2_0 -)
+ QWidgetList windowList(WindowOrder) const;
+%End
+
+%If (- Qt_3_0_0)
+ QSizePolicy sizePolicy() const;
+%End
+ QSize sizeHint() const;
+
+%If (Qt_3_0_0 -)
+ bool scrollBarsEnabled() const;
+ void setScrollBarsEnabled(bool);
+
+ void setPaletteBackgroundColor(const QColor &);
+ void setPaletteBackgroundPixmap(const QPixmap &);
+%End
+
+signals:
+ void windowActivated(QWidget *);
+
+public slots:
+ void cascade();
+ void tile();
+%If (Qt_3_2_0 -)
+ void closeActiveWindow();
+ void closeAllWindows();
+ void activateNextWindow();
+ void activatePrevWindow();
+%End
+
+protected:
+%If (Qt_3_0_0 -)
+ void styleChange(QStyle &);
+%End
+ void childEvent(QChildEvent *);
+ void resizeEvent(QResizeEvent *);
+ bool eventFilter(QObject *,QEvent *);
+ void showEvent(QShowEvent *);
+%If (Qt_3_0_0 -)
+ void hideEvent(QHideEvent *);
+ void wheelEvent(QWheelEvent *);
+%End
+
+private:
+ QWorkspace(const QWorkspace &);
+};
+
+%End
+%End
diff --git a/sip/qt/versions.sip b/sip/qt/versions.sip
new file mode 100644
index 0000000..09aed5c
--- /dev/null
+++ b/sip/qt/versions.sip
@@ -0,0 +1,92 @@
+// This defines the different versions of Qt that PyQt knows about.
+//
+// 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.
+
+
+// Specify the releases over time - not all of them, just those that introduce
+// something new.
+%Timeline {Qt_1_43
+ Qt_2_00 Qt_2_1_0 Qt_2_2_0 Qt_2_3_0 Qt_2_3_1
+ Qt_3_0_0 Qt_3_0_1 Qt_3_0_2 Qt_3_0_4 Qt_3_0_5 Qt_3_0_6
+ Qt_3_1_0 Qt_3_1_1 Qt_3_1_2
+ Qt_3_2_0
+ Qt_3_3_0 Qt_3_3_5 Qt_3_3_6}
+
+
+// Specify the platforms.
+%Platforms {WS_X11 WS_WIN WS_QWS WS_MACX}
+
+
+// Specify the features.
+%Feature Qt_THREAD_SUPPORT
+
+%Feature Qt_ACTION
+%Feature Qt_ASSISTANTCLIENT
+%Feature Qt_CLIPBOARD
+%Feature Qt_CODECS
+%Feature Qt_COLORDIALOG
+%Feature Qt_DATASTREAM
+%Feature Qt_DIAL
+%Feature Qt_DNS
+%Feature Qt_DOM
+%Feature Qt_DRAGANDDROP
+%Feature Qt_ICONVIEW
+%Feature Qt_IMAGE_TEXT
+%Feature Qt_INPUTDIALOG
+%Feature Qt_FILEDIALOG
+%Feature Qt_FONTDATABASE
+%Feature Qt_FONTDIALOG
+%Feature Qt_MESSAGEBOX
+%Feature Qt_MIMECLIPBOARD
+%Feature Qt_NETWORKPROTOCOL
+%Feature Qt_NETWORKPROTOCOL_FTP
+%Feature Qt_NETWORKPROTOCOL_HTTP
+%Feature Qt_PICTURE
+%Feature Qt_PRINTDIALOG
+%Feature Qt_PRINTER
+%Feature Qt_PROGRESSDIALOG
+%Feature Qt_PROPERTIES
+%Feature Qt_SEMIMODAL
+%Feature Qt_SIZEGRIP
+%Feature Qt_SOUND
+%Feature Qt_SPLITTER
+%Feature Qt_STYLE_CDE
+%Feature Qt_STYLE_INTERLACE
+%Feature Qt_STYLE_MOTIF
+%Feature Qt_STYLE_MOTIFPLUS
+%Feature Qt_STYLE_PLATINUM
+%Feature Qt_STYLE_SGI
+%Feature Qt_STYLE_WINDOWS
+%Feature Qt_STYLE_WINDOWSXP
+%Feature Qt_TABDIALOG
+%Feature Qt_TABLE
+%Feature Qt_TABLEVIEW
+%Feature Qt_TRANSFORMATIONS
+%Feature Qt_TRANSLATION
+%Feature Qt_WIZARD
+%Feature Qt_WORKSPACE
+
+// On Windows64 Q_LONG is defined as __int64 (which SIP doesn't handle) so
+// this feature is disabled.
+%Feature Qt_Q_LONG_IS_long
+
+// SIP v4.7.3 and later support automatic generation of missing complementary
+// comparison operators. This fixes a problem with v4.7.2.
+%Feature Qt_SIP_PRE_4_7_2
diff --git a/sip/qtaxcontainer/copying.sip b/sip/qtaxcontainer/copying.sip
new file mode 100644
index 0000000..463904b
--- /dev/null
+++ b/sip/qtaxcontainer/copying.sip
@@ -0,0 +1,51 @@
+// This is the SIP file defining the PyQt license.
+//
+// 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.
+
+
+%Copying
+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.
+%End
+
+
+%OptionalInclude pyqt-internal.sip
+%OptionalInclude pyqt-gpl.sip
+%OptionalInclude pyqt-commercial.sip
+%OptionalInclude pyqt-edu.sip
+%OptionalInclude pyqt-eval.sip
+%OptionalInclude pyqt-nc.sip
+%OptionalInclude pyqt-tkc.sip
diff --git a/sip/qtaxcontainer/qaxbase.sip b/sip/qtaxcontainer/qaxbase.sip
new file mode 100644
index 0000000..fde55e2
--- /dev/null
+++ b/sip/qtaxcontainer/qaxbase.sip
@@ -0,0 +1,86 @@
+// This is the SIP interface definition for QAxBase.
+//
+// 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>QAxBase (Windows, Qt v3+)</Title>
+<FuncSynopsis>
+ <FuncDef><Function>QAxObject</Function></FuncDef>
+ <ParamDef>IUnknown *<Parameter>iface</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>long <Function>queryInterface</Function></FuncDef>
+ <ParamDef>const QUuid &amp;<Parameter>uuid</Parameter></ParamDef>
+ <ParamDef>void **<Parameter>iface</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>PropertyBag <Function>propertyBag</Function> const</FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>setPropertyBag</Function></FuncDef>
+ <ParamDef>const PropertyBag &amp;<Parameter>bag</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>unsigned long <Function>registerWeakActiveObject</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>guid</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This is a utility method provided by PyQt to make it easier to use
+Mark Hammond's <Literal>win32com</Literal> module to manipulate objects
+created by the <Literal>qtaxcontainer</Literal> module.
+</Para>
+<Para>
+The <Literal>RegisterActiveObject()</Literal> COM function is called to
+register the <Literal>QAxBase</Literal> instance as a weak object with the
+<Literal>guid</Literal> GUID. The revoke handle is returned.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>static void <Function>revokeActiveObject</Function></FuncDef>
+ <ParamDef>unsigned long <Parameter>rhandle</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This is a wrapper around the <Literal>RevokeActiveObject()</Literal> COM
+function and is called to revoke the object registered using
+<Literal>registerWeakActiveObject()</Literal>. <Literal>rhandle</Literal> is
+the revoke handle returned by <Literal>registerWeakActiveObject()</Literal>.
+</Para>
+</Sect2>
+%End
+
+
diff --git a/sip/qtaxcontainer/qaxobject.sip b/sip/qtaxcontainer/qaxobject.sip
new file mode 100644
index 0000000..0c0b0f8
--- /dev/null
+++ b/sip/qtaxcontainer/qaxobject.sip
@@ -0,0 +1,37 @@
+// This is the SIP interface definition for QAxObject.
+//
+// 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>QAxObject (Windows, Qt v3+)</Title>
+<FuncSynopsis>
+ <FuncDef><Function>QAxObject</Function></FuncDef>
+ <ParamDef>IUnknown *<Parameter>iface</Parameter></ParamDef>
+ <ParamDef>QObject *<Parameter>parent</Parameter> = 0</ParamDef>
+ <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+%End
+
+
diff --git a/sip/qtaxcontainer/qaxwidget.sip b/sip/qtaxcontainer/qaxwidget.sip
new file mode 100644
index 0000000..dbcc729
--- /dev/null
+++ b/sip/qtaxcontainer/qaxwidget.sip
@@ -0,0 +1,37 @@
+// This is the SIP interface definition for QAxWidget.
+//
+// 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>QAxWidget (Windows, Qt v3+)</Title>
+<FuncSynopsis>
+ <FuncDef><Function>QAxWidget</Function></FuncDef>
+ <ParamDef>IUnknown *<Parameter>iface</Parameter></ParamDef>
+ <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef>
+ <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+%End
+
+
diff --git a/sip/qtaxcontainer/qtaxcontainermod.sip b/sip/qtaxcontainer/qtaxcontainermod.sip
new file mode 100644
index 0000000..33864f1
--- /dev/null
+++ b/sip/qtaxcontainer/qtaxcontainermod.sip
@@ -0,0 +1,32 @@
+// This is the SIP interface definition for the qtaxcontainer module of PyQt.
+//
+// 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.
+
+
+%Module qtaxcontainer 1
+
+%Import qt/qtmod.sip
+
+%Include copying.sip
+
+
+%Include qaxbase.sip
+%Include qaxobject.sip
+%Include qaxwidget.sip
diff --git a/sip/qtcanvas/copying.sip b/sip/qtcanvas/copying.sip
new file mode 100644
index 0000000..463904b
--- /dev/null
+++ b/sip/qtcanvas/copying.sip
@@ -0,0 +1,51 @@
+// This is the SIP file defining the PyQt license.
+//
+// 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.
+
+
+%Copying
+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.
+%End
+
+
+%OptionalInclude pyqt-internal.sip
+%OptionalInclude pyqt-gpl.sip
+%OptionalInclude pyqt-commercial.sip
+%OptionalInclude pyqt-edu.sip
+%OptionalInclude pyqt-eval.sip
+%OptionalInclude pyqt-nc.sip
+%OptionalInclude pyqt-tkc.sip
diff --git a/sip/qtcanvas/qcanvas.sip b/sip/qtcanvas/qcanvas.sip
new file mode 100644
index 0000000..f9ce8e2
--- /dev/null
+++ b/sip/qtcanvas/qcanvas.sip
@@ -0,0 +1,857 @@
+// This is the SIP interface definition for QCanvas, QCanvasEllipse,
+// QCanvasItem, QCanvasItemList, QCanvasLine, QCanvasPixmap,
+// QCanvasPixmapArray, QCanvasPolygon, QCanvasPolygonalItem, QCanvasRectangle,
+// QCanvasSpline, QCanvasSprite, QCanvasText and QCanvasView.
+//
+// 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>QCanvas (Qt v2.2+)</Title>
+<Para>
+<Literal>QCanvas</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCanvasEllipse (Qt v2.2+)</Title>
+<Para>
+<Literal>QCanvasEllipse</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCanvasItem (Qt v2.2+)</Title>
+<Para>
+<Literal>QCanvasItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCanvasItemList (Qt v2.2+)</Title>
+<Para>
+This class isn't implemented. Whenever a <Literal>QCanvasItemList</Literal> is
+the return type of a function or the type of an argument, a Python list of
+<Literal>QCanvasItem</Literal> instances is used instead.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCanvasLine (Qt v2.2+)</Title>
+<Para>
+<Literal>QCanvasLine</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCanvasPixmap (Qt v2.2+)</Title>
+<Para>
+<Literal>QCanvasPixmap</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCanvasPixmapArray (Qt v2.2+)</Title>
+<FuncSynopsis>
+ <FuncDef><Function>QPixmapArray</Function></FuncDef>
+ <ParamDef>QList&lt;QPixmap&gt; <Parameter>pixmaps</Parameter></ParamDef>
+ <ParamDef>QList&lt;QPoint&gt; <Parameter>hotspots</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>pixmaps</Literal> argument is a Python list of QPixmap instances,
+and the <Literal>hotspots</Literal> argument is a Python list of QPoint
+instances. (Qt v2.2.0 - Qt v2.3.1)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef><Function>QPixmapArray</Function></FuncDef>
+ <ParamDef>QValueList&lt;QPixmap&gt; <Parameter>pixmaps</Parameter></ParamDef>
+ <ParamDef>QPointArray <Parameter>hotspots</Parameter> = QPointArray()</ParamDef>
+</FuncSynopsis>
+<Para>
+The <Literal>pixmaps</Literal> argument is a Python list of QPixmap instances.
+(Qt v3+)
+</Para>
+</Sect2>
+
+<Sect2><Title>QCanvasPolygon (Qt v2.2+)</Title>
+<Para>
+<Literal>QCanvasPolygon</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCanvasPolygonalItem (Qt v2.2+)</Title>
+<Para>
+<Literal>QCanvasPolygonalItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCanvasRectangle (Qt v2.2+)</Title>
+<Para>
+<Literal>QCanvasRectangle</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCanvasSpline (Qt v3.0+)</Title>
+<Para>
+<Literal>QCanvasSpline</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCanvasSprite (Qt v2.2+)</Title>
+<Para>
+<Literal>QCanvasSprite</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCanvasText (Qt v2.2+)</Title>
+<Para>
+<Literal>QCanvasText</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCanvasView (Qt v2.2+)</Title>
+<Para>
+<Literal>QCanvasView</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_2_0 -)
+
+%MappedType QCanvasItemList
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+%ConvertFromTypeCode
+ // Convert to a Python list of QCanvasItem instances.
+
+ int i;
+ PyObject *l;
+
+ // Create the list.
+
+ if ((l = PyList_New(sipCpp -> count())) == NULL)
+ return NULL;
+
+ // Get it.
+
+ i = 0;
+
+ for (QCanvasItemList::Iterator it = sipCpp -> begin(); it != sipCpp -> end(); ++it)
+ {
+ PyObject *ci;
+
+ if ((ci = sipConvertFromInstance(*it,sipClass_QCanvasItem,sipTransferObj)) == NULL || PyList_SetItem(l,i,ci) < 0)
+ {
+ Py_XDECREF(ci);
+ Py_DECREF(l);
+
+ return NULL;
+ }
+
+ ++i;
+ }
+
+ return l;
+%End
+
+%ConvertToTypeCode
+ // At the moment this will never be called, so provide a null
+ // implementation.
+
+ if (sipIsErr == NULL)
+ return PyList_Check(sipPy);
+
+ PyErr_Format(PyExc_TypeError,"Converting to QCanvasItemList not yet implemented");
+
+ *sipIsErr = 1;
+
+ return 0;
+%End
+};
+
+
+class QCanvasItem : Qt
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+public:
+ QCanvasItem(QCanvas * /TransferThis/);
+
+%ConvertToSubClassCode
+ Py_BEGIN_ALLOW_THREADS
+
+ // Use the numeric type values for compatibility with Qt v2.
+ switch (sipCpp -> rtti())
+ {
+ case 1:
+ sipClass = sipClass_QCanvasSprite;
+ break;
+
+ case 2:
+ sipClass = sipClass_QCanvasPolygonalItem;
+ break;
+
+ case 3:
+ sipClass = sipClass_QCanvasText;
+ break;
+
+ case 4:
+ sipClass = sipClass_QCanvasPolygon;
+ break;
+
+ case 5:
+ sipClass = sipClass_QCanvasRectangle;
+ break;
+
+ case 6:
+ sipClass = sipClass_QCanvasEllipse;
+ break;
+
+ case 7:
+ sipClass = sipClass_QCanvasLine;
+ break;
+
+#if QT_VERSION >= 0x030000
+ case 8:
+ sipClass = sipClass_QCanvasSpline;
+ break;
+#endif
+
+ default:
+ sipClass = 0;
+ }
+
+ Py_END_ALLOW_THREADS
+%End
+
+ double x() const;
+ double y() const;
+ double z() const;
+
+ virtual void moveBy(double,double);
+ void move(double,double);
+ void setX(double);
+ void setY(double);
+ void setZ(double);
+
+ bool animated() const;
+ virtual void setAnimated(bool);
+ virtual void setVelocity(double,double);
+ void setXVelocity(double);
+ void setYVelocity(double);
+ double xVelocity() const;
+ double yVelocity() const;
+ virtual void advance(int);
+
+ virtual bool collidesWith(const QCanvasItem *) const = 0;
+
+ QCanvasItemList collisions(bool) const;
+
+ virtual void setCanvas(QCanvas * /GetWrapper/);
+%MethodCode
+ if (sipCpp -> canvas() != a0)
+ {
+ if (a0)
+ sipTransferTo(sipSelf,a0Wrapper);
+ else
+ sipTransferBack(sipSelf);
+ }
+
+ Py_BEGIN_ALLOW_THREADS
+ sipSelfWasArg ? sipCpp->QCanvasItem::setCanvas(a0) : sipCpp->setCanvas(a0);
+ Py_END_ALLOW_THREADS
+%End
+
+ virtual void draw(QPainter &) = 0;
+
+ void show();
+ void hide();
+
+ virtual void setVisible(bool);
+%If (- Qt_3_0_0)
+ bool visible() const;
+%End
+%If (Qt_3_0_0 -)
+ bool isVisible() const;
+%End
+ virtual void setSelected(bool);
+%If (- Qt_3_0_0)
+ bool selected() const;
+%End
+%If (Qt_3_0_0 -)
+ bool isSelected() const;
+%End
+ virtual void setEnabled(bool);
+%If (- Qt_3_0_0)
+ bool enabled() const;
+%End
+%If (Qt_3_0_0 -)
+ bool isEnabled() const;
+%End
+ virtual void setActive(bool);
+%If (- Qt_3_0_0)
+ bool active() const;
+%End
+%If (Qt_3_0_0 -)
+ bool isActive() const;
+%End
+
+%If (Qt_3_0_0 -)
+ enum RttiValues {
+ Rtti_Item,
+ Rtti_Sprite,
+ Rtti_PolygonalItem,
+ Rtti_Text,
+ Rtti_Polygon,
+ Rtti_Rectangle,
+ Rtti_Ellipse,
+ Rtti_Line,
+ Rtti_Spline
+ };
+%End
+
+ virtual int rtti() const;
+
+ virtual QRect boundingRect() const = 0;
+ virtual QRect boundingRectAdvanced() const;
+
+ QCanvas *canvas() const;
+
+protected:
+%If (Qt_3_0_0 -)
+ void update();
+%End
+
+private:
+ virtual bool collidesWith(const QCanvasSprite *,
+ const QCanvasPolygonalItem *,
+ const QCanvasRectangle *,
+ const QCanvasEllipse *,
+ const QCanvasText *) const = 0;
+};
+
+
+class QCanvas : QObject
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+public:
+ QCanvas(QObject * /TransferThis/ = 0,const char * = 0);
+ QCanvas(int,int);
+ QCanvas(QPixmap,int,int,int,int);
+
+%ConvertToSubClassCode
+ static struct class_graph {
+ const char *name;
+ sipWrapperType **type;
+ int yes, no;
+ } graph[] = {
+ {sipName_QCanvasView, &sipClass_QCanvasView, -1, 1},
+ {sipName_QCanvas, &sipClass_QCanvas, -1, -1},
+ };
+
+ int i = 0;
+
+ sipClass = NULL;
+
+ do
+ {
+ struct class_graph *cg = &graph[i];
+
+ if (cg->name != NULL && sipCpp->inherits(cg->name))
+ {
+ sipClass = *cg->type;
+ i = cg->yes;
+ }
+ else
+ i = cg->no;
+ }
+ while (i >= 0);
+%End
+
+ virtual void setTiles(QPixmap,int,int,int,int);
+ virtual void setBackgroundPixmap(const QPixmap &);
+ QPixmap backgroundPixmap() const;
+
+ virtual void setBackgroundColor(const QColor &);
+ QColor backgroundColor() const;
+
+ virtual void setTile(int,int,int);
+ int tile(int,int) const;
+
+ int tilesHorizontally() const;
+ int tilesVertically() const;
+
+ int tileWidth() const;
+ int tileHeight() const;
+
+ virtual void resize(int,int);
+ int width() const;
+ int height() const;
+ QSize size() const;
+%If (Qt_3_0_0 -)
+ QRect rect() const;
+%End
+ bool onCanvas(int,int) const;
+ bool onCanvas(const QPoint &) const;
+ bool validChunk(int,int) const;
+ bool validChunk(const QPoint &) const;
+
+ int chunkSize() const;
+ virtual void retune(int,int = 100);
+
+ // These next three are marked as internal in the Qt v2.x
+ // documentation.
+// bool sameChunk() const;
+// virtual void setChangedChunk(int,int);
+// virtual void setChangedChunkContaining(int,int);
+ virtual void setAllChanged();
+ virtual void setChanged(const QRect &);
+%If (Qt_3_0_0 -)
+ virtual void setUnchanged(const QRect &);
+%End
+
+ QCanvasItemList allItems();
+ QCanvasItemList collisions(const QPoint &) const;
+ QCanvasItemList collisions(const QRect &) const;
+ QCanvasItemList collisions(const QPointArray &,const QCanvasItem *,
+ bool) const;
+
+%If (Qt_3_0_0 -)
+ void drawArea(const QRect &,QPainter *,bool = 0);
+%End
+
+ virtual void setAdvancePeriod(int);
+ virtual void setUpdatePeriod(int);
+
+ virtual void setDoubleBuffering(bool);
+
+signals:
+ void resized();
+
+public slots:
+ virtual void advance();
+ virtual void update();
+
+protected:
+ virtual void drawBackground(QPainter &,const QRect &);
+ virtual void drawForeground(QPainter &,const QRect &);
+
+private:
+%If (Qt_3_1_0 -)
+ QCanvas(const QCanvas &);
+%End
+};
+
+
+class QCanvasView : QScrollView
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ QCanvasView(QCanvas * = 0,QWidget * /TransferThis/ = 0,
+ const char * = 0,WFlags = 0);
+%End
+%If (Qt_3_0_0 -)
+ QCanvasView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+ QCanvasView(QCanvas *,QWidget * /TransferThis/ = 0,const char * = 0,
+ WFlags = 0);
+%End
+
+ QCanvas* canvas() const;
+ void setCanvas(QCanvas *);
+
+%If (Qt_3_0_0 -)
+ const QWMatrix &worldMatrix() const;
+ const QWMatrix &inverseWorldMatrix() const;
+ bool setWorldMatrix(const QWMatrix &);
+%End
+
+protected:
+ void drawContents(QPainter *,int,int,int,int);
+ QSize sizeHint() const;
+
+private:
+%If (Qt_3_1_0 -)
+ QCanvasView(const QCanvasView &);
+%End
+};
+
+
+class QCanvasPixmap : QPixmap
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+public:
+ QCanvasPixmap(const QString &);
+ QCanvasPixmap(const QImage &);
+%If (- Qt_3_0_0)
+ QCanvasPixmap(const QPixmap &,QPoint);
+%End
+%If (Qt_3_0_0 -)
+ QCanvasPixmap(const QPixmap &,const QPoint &);
+%End
+
+ int offsetX() const;
+ int offsetY() const;
+ void setOffset(int,int);
+
+private:
+%If (Qt_3_1_0 -)
+ QCanvasPixmap(const QCanvasPixmap &);
+%End
+};
+
+
+class QCanvasPixmapArray
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+public:
+ QCanvasPixmapArray();
+ QCanvasPixmapArray(const QString &,int = 0);
+%If (- Qt_3_0_0)
+ QCanvasPixmapArray(QPtrList<QPixmap>,QPtrList<QPoint>);
+%End
+%If (Qt_3_0_0 -)
+ QCanvasPixmapArray(QValueList<QPixmap>,QPointArray = QPointArray());
+%End
+
+ bool readPixmaps(const QString &,int = 0) /ReleaseGIL/;
+ bool readCollisionMasks(const QString &) /ReleaseGIL/;
+
+%If (Qt_3_0_0 -)
+ bool isValid() const;
+%End
+
+ QCanvasPixmap *image(int) const;
+ void setImage(int,QCanvasPixmap * /Transfer/);
+ uint count() const;
+
+private:
+%If (Qt_3_1_0 -)
+ QCanvasPixmapArray(const QCanvasPixmapArray &);
+%End
+};
+
+
+class QCanvasSprite : QCanvasItem
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+public:
+ QCanvasSprite(QCanvasPixmapArray *,QCanvas * /TransferThis/);
+
+ void setSequence(QCanvasPixmapArray *);
+
+ void move(double,double);
+ virtual void move(double,double,int);
+ void setFrame(int);
+
+%If (Qt_3_0_0 -)
+ enum FrameAnimationType {
+ Cycle,
+ Oscillate
+ };
+
+ virtual void setFrameAnimation(FrameAnimationType = Cycle,int = 1,
+ int = 0);
+%End
+ int frame() const;
+ int frameCount() const;
+
+%If (- Qt_3_0_0)
+ virtual int rtti() const;
+%End
+%If (Qt_3_0_0 -)
+ int rtti() const;
+%End
+
+ bool collidesWith(const QCanvasItem *) const;
+
+ QRect boundingRect() const;
+
+%If (Qt_3_0_0 -)
+ int width() const;
+ int height() const;
+
+ int leftEdge() const;
+ int topEdge() const;
+ int rightEdge() const;
+ int bottomEdge() const;
+
+ int leftEdge(int) const;
+ int topEdge(int) const;
+ int rightEdge(int) const;
+ int bottomEdge(int) const;
+ QCanvasPixmap *image() const;
+ virtual QCanvasPixmap *imageAdvanced() const;
+ QCanvasPixmap *image(int) const;
+ // This is really virtual, but we want to use the super-class's virtual
+ // handler. Having to do this is really a SIP bug.
+ void advance(int);
+
+ void draw(QPainter &);
+%End
+
+protected:
+%If (- Qt_3_0_0)
+ void draw(QPainter &);
+ int width() const;
+ int height() const;
+ int absX() const;
+ int absY() const;
+ int absX2() const;
+ int absY2() const;
+ int absX(int) const;
+ int absY(int) const;
+ int absX2(int) const;
+ int absY2(int) const;
+ QCanvasPixmap *image() const;
+ virtual QCanvasPixmap *imageAdvanced() const;
+ QCanvasPixmap *image(int) const;
+%End
+
+private:
+%If (Qt_3_1_0 -)
+ QCanvasSprite(const QCanvasSprite &);
+%End
+};
+
+
+class QCanvasPolygonalItem : QCanvasItem
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+public:
+ QCanvasPolygonalItem(QCanvas * /TransferThis/);
+
+ bool collidesWith(const QCanvasItem *) const;
+
+ virtual void setPen(QPen);
+ virtual void setBrush(QBrush);
+
+ QPen pen() const;
+ QBrush brush() const;
+
+ virtual QPointArray areaPoints() const = 0;
+ virtual QPointArray areaPointsAdvanced() const;
+ QRect boundingRect() const;
+
+ int rtti() const;
+
+protected:
+ void draw(QPainter &);
+ virtual void drawShape(QPainter &) = 0;
+
+ bool winding() const;
+ void setWinding(bool);
+
+%If (Qt_3_1_0 -)
+ void invalidate();
+ bool isValid() const;
+%End
+};
+
+
+class QCanvasRectangle : QCanvasPolygonalItem
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+public:
+ QCanvasRectangle(QCanvas * /TransferThis/);
+ QCanvasRectangle(const QRect &,QCanvas * /TransferThis/);
+ QCanvasRectangle(int,int,int,int,QCanvas * /TransferThis/);
+
+ int width() const;
+ int height() const;
+ void setSize(int,int);
+ QSize size() const;
+ QPointArray areaPoints() const;
+ QRect rect() const;
+
+ bool collidesWith(const QCanvasItem *) const;
+
+ int rtti() const;
+
+protected:
+ void drawShape(QPainter &);
+ QPointArray chunks() const;
+};
+
+
+class QCanvasPolygon : QCanvasPolygonalItem
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+public:
+ QCanvasPolygon(QCanvas * /TransferThis/);
+
+ void setPoints(QPointArray);
+ QPointArray points() const;
+ void moveBy(double,double);
+
+ QPointArray areaPoints() const;
+
+ int rtti() const;
+
+protected:
+ void drawShape(QPainter &);
+};
+
+
+%If (Qt_3_0_0 -)
+
+class QCanvasSpline : QCanvasPolygon
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+public:
+ QCanvasSpline(QCanvas * /TransferThis/);
+
+ void setControlPoints(QPointArray,bool = 1);
+ QPointArray controlPoints() const;
+ bool closed() const;
+
+ int rtti() const;
+};
+
+%End
+
+
+class QCanvasLine : QCanvasPolygonalItem
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+public:
+ QCanvasLine(QCanvas * /TransferThis/);
+
+ void setPoints(int,int,int,int);
+
+ QPoint startPoint() const;
+ QPoint endPoint() const;
+
+ int rtti() const;
+
+ void setPen(QPen);
+%If (Qt_3_3_0 -)
+ void moveBy(double,double);
+%End
+
+protected:
+ void drawShape(QPainter &);
+ QPointArray areaPoints() const;
+};
+
+
+class QCanvasEllipse : QCanvasPolygonalItem
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+public:
+ QCanvasEllipse(QCanvas * /TransferThis/);
+ QCanvasEllipse(int,int,QCanvas * /TransferThis/);
+ QCanvasEllipse(int,int,int,int,QCanvas * /TransferThis/);
+
+ int width() const;
+ int height() const;
+ void setSize(int,int);
+ void setAngles(int,int);
+ int angleStart() const;
+ int angleLength() const;
+ QPointArray areaPoints() const;
+
+ bool collidesWith(const QCanvasItem *) const;
+
+ int rtti() const;
+
+protected:
+ void drawShape(QPainter &);
+};
+
+
+class QCanvasText : QCanvasItem
+{
+%TypeHeaderCode
+#include <qcanvas.h>
+%End
+
+public:
+ QCanvasText(QCanvas * /TransferThis/);
+ QCanvasText(const QString &,QCanvas * /TransferThis/);
+ QCanvasText(const QString &,QFont,QCanvas * /TransferThis/);
+
+ void setText(const QString &);
+ void setFont(const QFont &);
+ void setColor(const QColor &);
+ QString text() const;
+ QFont font() const;
+ QColor color() const;
+
+ void moveBy(double,double);
+
+ int textFlags() const;
+ void setTextFlags(int);
+
+ QRect boundingRect() const;
+
+ bool collidesWith(const QCanvasItem *) const;
+
+%If (- Qt_3_0_0)
+ virtual int rtti() const;
+%End
+%If (Qt_3_0_0 -)
+ int rtti() const;
+%End
+
+protected:
+ virtual void draw(QPainter &);
+
+private:
+%If (Qt_3_1_0 -)
+ QCanvasText(const QCanvasText &);
+%End
+};
+
+%End
diff --git a/sip/qtcanvas/qtcanvasmod.sip b/sip/qtcanvas/qtcanvasmod.sip
new file mode 100644
index 0000000..1ef22ae
--- /dev/null
+++ b/sip/qtcanvas/qtcanvasmod.sip
@@ -0,0 +1,70 @@
+// This is the SIP interface definition for the qtcanvas module of PyQt.
+//
+// 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.
+
+
+%Module qtcanvas 1
+
+%Import qt/qtmod.sip
+
+%Include copying.sip
+
+
+%Include qcanvas.sip
+
+
+// The build file template.
+
+%Makefile qtcanvas.pro.in
+# The project file for the qtcanvas module.
+#
+# 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.
+
+
+TEMPLATE = lib
+TARGET = @BLX_TARGET_LIB@
+DESTDIR = @PYQT_MODDIR@
+CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@
+INCLUDEPATH = @BLX_INCLUDEPATH@
+DEFINES = @BLX_DEFINES@
+LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@
+macx:QMAKE_LFLAGS += -framework Python
+
+SOURCES = $B
+
+HEADERS = $H
+%End
diff --git a/sip/qtext/copying.sip b/sip/qtext/copying.sip
new file mode 100644
index 0000000..463904b
--- /dev/null
+++ b/sip/qtext/copying.sip
@@ -0,0 +1,51 @@
+// This is the SIP file defining the PyQt license.
+//
+// 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.
+
+
+%Copying
+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.
+%End
+
+
+%OptionalInclude pyqt-internal.sip
+%OptionalInclude pyqt-gpl.sip
+%OptionalInclude pyqt-commercial.sip
+%OptionalInclude pyqt-edu.sip
+%OptionalInclude pyqt-eval.sip
+%OptionalInclude pyqt-nc.sip
+%OptionalInclude pyqt-tkc.sip
diff --git a/sip/qtext/qextscintilla.sip b/sip/qtext/qextscintilla.sip
new file mode 100644
index 0000000..c03dc56
--- /dev/null
+++ b/sip/qtext/qextscintilla.sip
@@ -0,0 +1,411 @@
+// This is the SIP interface definition for QextScintilla.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintilla : QextScintillaBase
+{
+%TypeHeaderCode
+#include <qextscintilla.h>
+%End
+
+public:
+ enum {
+ AiMaintain,
+ AiOpening,
+ AiClosing
+ };
+
+ enum AutoCompletionSource {
+ AcsDocument,
+ AcsAPIs,
+%If (QScintilla_1_7 -)
+ AcsAll,
+%End
+ };
+
+ enum BraceMatch {
+ NoBraceMatch,
+ StrictBraceMatch,
+ SloppyBraceMatch
+ };
+
+%If (QScintilla_1_4 -)
+ enum EdgeMode {
+ EdgeNone,
+ EdgeLine,
+ EdgeBackground
+ };
+%End
+
+ enum EolMode {
+ EolWindows,
+ EolUnix,
+ EolMac
+ };
+
+ enum FoldStyle {
+ NoFoldStyle,
+ PlainFoldStyle,
+ CircledFoldStyle,
+ BoxedFoldStyle,
+ CircledTreeFoldStyle,
+ BoxedTreeFoldStyle
+ };
+
+ enum MarkerSymbol {
+ Circle,
+ Rectangle,
+ RightTriangle,
+ SmallRectangle,
+ RightArrow,
+ Invisible,
+ DownTriangle,
+ Minus,
+ Plus,
+ VerticalLine,
+ BottomLeftCorner,
+ LeftSideSplitter,
+ BoxedPlus,
+ BoxedPlusConnected,
+ BoxedMinus,
+ BoxedMinusConnected,
+ RoundedBottomLeftCorner,
+ LeftSideRoundedSplitter,
+ CircledPlus,
+ CircledPlusConnected,
+ CircledMinus,
+ CircledMinusConnected,
+ Background,
+ ThreeDots,
+ ThreeRightArrows
+ };
+
+ enum WhitespaceVisibility {
+ WsInvisible,
+ WsVisible,
+ WsVisibleAfterIndent
+ };
+
+ enum WrapMode {
+ WrapNone,
+ WrapWord,
+%If (QScintilla_1_7 -)
+ WrapCharacter,
+%End
+ };
+
+%If (QScintilla_1_7 -)
+ enum WrapVisualFlag {
+ WrapFlagNone,
+ WrapFlagByText,
+ WrapFlagByBorder,
+ };
+%End
+
+ QextScintilla(QWidget * /TransferThis/ = 0,const char * = 0,
+ WFlags = 0);
+
+ bool autoCompletionCaseSensitivity();
+%If (QScintilla_1_7 -)
+ bool autoCompletionFillupsEnabled();
+%End
+ bool autoCompletionReplaceWord();
+ bool autoCompletionShowSingle();
+ AutoCompletionSource autoCompletionSource() const;
+ int autoCompletionThreshold() const;
+ bool autoIndent() const;
+ bool backspaceUnindents();
+ void beginUndoAction();
+ BraceMatch braceMatching() const;
+ int callTipsVisible() const;
+%If (QScintilla_1_7 -)
+ void cancelList();
+%End
+ void clearRegisteredImages();
+ void convertEols(EolMode);
+%If (QScintilla_1_3 -)
+ QextScintillaDocument document();
+%End
+ void endUndoAction();
+
+%If (QScintilla_1_4 -)
+ QColor edgeColor();
+ int edgeColumn();
+ EdgeMode edgeMode();
+%End
+
+ EolMode eolMode();
+ bool eolVisibility();
+
+%If (QScintilla_1_7 -)
+ QColor color() const;
+ QColor paper() const;
+%End
+
+%If (QScintilla_1_6 -)
+ virtual bool findFirst(const QString &,bool,bool,bool,bool,bool = 1,
+ int = -1,int = -1,bool = 1);
+%End
+%If (- QScintilla_1_6)
+ virtual bool findFirst(const QString &,bool,bool,bool,bool,bool = 1,
+ int = -1,int = -1);
+%End
+ virtual bool findNext();
+
+%If (QScintilla_1_7 -)
+ int firstVisibleLine();
+%End
+
+ FoldStyle folding() const;
+
+ void getCursorPosition(int *,int *);
+ void getSelection(int *,int *,int *,int *);
+ bool hasSelectedText();
+
+ int indentation(int);
+ bool indentationGuides();
+ bool indentationsUseTabs();
+ int indentationWidth();
+
+%If (QScintilla_1_7 -)
+ bool isCallTipActive();
+ bool isListActive();
+%End
+ bool isModified();
+ bool isReadOnly();
+ bool isRedoAvailable();
+ bool isUndoAvailable();
+ bool isUtf8();
+ int lineAt(const QPoint &);
+ int lineLength(int);
+ int lines();
+ int length();
+%If (QScintilla_1_7 -)
+ QextScintillaLexer *lexer() const;
+%End
+
+ bool marginLineNumbers(int);
+ int marginMarkerMask(int);
+ bool marginSensitivity(int);
+ int marginWidth(int);
+
+ int markerDefine(MarkerSymbol,int = -1);
+ int markerDefine(char,int = -1);
+ int markerDefine(const QPixmap *,int = -1);
+ int markerAdd(int,int);
+ unsigned markersAtLine(int);
+ void markerDelete(int,int = -1);
+ void markerDeleteAll(int = -1);
+ void markerDeleteHandle(int);
+ int markerLine(int);
+ int markerFindNext(int,unsigned);
+ int markerFindPrevious(int,unsigned);
+%If (QScintilla_1_3 -)
+ virtual void recolor(int = 0,int = -1);
+%End
+ void registerImage(int,const QPixmap *);
+ virtual void replace(const QString &);
+ void resetFoldMarginColors();
+ void setFoldMarginColors(const QColor &,const QColor &);
+
+ void setAutoCompletionAPIs(QextScintillaAPIs * = 0);
+ void setAutoCompletionFillups(const char *);
+%If (QScintilla_1_7 -)
+ void setAutoCompletionFillupsEnabled(bool);
+ void setAutoCompletionStartCharacters(const char *);
+%End
+
+ void setCallTipsAPIs(QextScintillaAPIs * = 0);
+ void setCallTipsBackgroundColor(const QColor &);
+ void setCallTipsForegroundColor(const QColor &);
+ void setCallTipsHighlightColor(const QColor &);
+ void setCallTipsVisible(int);
+
+%If (QScintilla_1_3 -)
+ void setDocument(const QextScintillaDocument &);
+%End
+
+%If (QScintilla_1_4 -)
+ void setEdgeColor(const QColor &);
+ void setEdgeColumn(int);
+ void setEdgeMode(EdgeMode);
+%End
+
+%If (QScintilla_1_7 -)
+ virtual void setFont(const QFont &);
+%End
+
+ void setMarkerBackgroundColor(const QColor &,int = -1);
+ void setMarkerForegroundColor(const QColor &,int = -1);
+
+ void setMatchedBraceBackgroundColor(const QColor &);
+ void setMatchedBraceForegroundColor(const QColor &);
+ void setUnmatchedBraceBackgroundColor(const QColor &);
+ void setUnmatchedBraceForegroundColor(const QColor &);
+
+%If (QScintilla_1_7 -)
+ void setWrapVisualFlags(WrapVisualFlag,
+ WrapVisualFlag = QextScintilla::WrapFlagNone, int = 0);
+%End
+
+ QString selectedText();
+%If (QScintilla_1_7 -)
+ void showUserList(int, const QStringList &);
+%End
+ QextScintillaCommandSet *standardCommands() const;
+ bool tabIndents();
+ int tabWidth();
+ QString text();
+ QString text(int);
+%If (QScintilla_1_7 -)
+ int textHeight(int);
+%End
+ WhitespaceVisibility whitespaceVisibility();
+%If (QScintilla_1_4 -)
+ WrapMode wrapMode();
+%End
+
+public slots:
+ virtual void append(const QString &);
+%If (QScintilla_1_7 -)
+ virtual void autoCompleteFromAll();
+%End
+ virtual void autoCompleteFromAPIs();
+ virtual void autoCompleteFromDocument();
+ virtual void callTip();
+ virtual void clear();
+ virtual void copy();
+ virtual void cut();
+
+ virtual void ensureCursorVisible();
+ virtual void ensureLineVisible(int);
+%If (QScintilla_1_7 -)
+ virtual void foldAll(bool = 0);
+%End
+%If (- QScintilla_1_7)
+ virtual void foldAll();
+%End
+ virtual void foldLine(int);
+ virtual void indent(int);
+%If (QScintilla_1_4 -)
+ virtual void insert(const QString &);
+%End
+ virtual void insertAt(const QString &,int,int);
+ virtual void moveToMatchingBrace();
+ virtual void paste();
+ virtual void redo();
+ virtual void removeSelectedText();
+%If (QScintilla_1_4 -)
+ virtual void resetSelectionBackgroundColor();
+ virtual void resetSelectionForegroundColor();
+%End
+ virtual void selectAll(bool = 1);
+ virtual void selectToMatchingBrace();
+
+ virtual void setAutoCompletionCaseSensitivity(bool);
+ virtual void setAutoCompletionReplaceWord(bool);
+ virtual void setAutoCompletionShowSingle(bool);
+ virtual void setAutoCompletionSource(AutoCompletionSource);
+ virtual void setAutoCompletionThreshold(int);
+ virtual void setAutoIndent(bool);
+ virtual void setBraceMatching(BraceMatch);
+ virtual void setBackspaceUnindents(bool);
+%If (QScintilla_1_3 -)
+ virtual void setCaretForegroundColor(const QColor &);
+ virtual void setCaretLineBackgroundColor(const QColor &);
+ virtual void setCaretLineVisible(bool);
+ virtual void setCaretWidth(int);
+%End
+%If (QScintilla_1_7 -)
+ virtual void setColor(const QColor &);
+%End
+ virtual void setCursorPosition(int,int);
+ virtual void setEolMode(EolMode);
+ virtual void setEolVisibility(bool);
+ virtual void setFolding(FoldStyle);
+
+ virtual void setIndentation(int,int);
+ virtual void setIndentationGuides(bool);
+ virtual void setIndentationGuidesBackgroundColor(const QColor &);
+ virtual void setIndentationGuidesForegroundColor(const QColor &);
+ virtual void setIndentationsUseTabs(bool);
+ virtual void setIndentationWidth(int);
+
+ virtual void setLexer(QextScintillaLexer * = 0);
+
+ virtual void setMarginsBackgroundColor(const QColor &);
+ virtual void setMarginsFont(const QFont &);
+ virtual void setMarginsForegroundColor(const QColor &);
+
+ virtual void setMarginLineNumbers(int,bool);
+ virtual void setMarginMarkerMask(int,int);
+ virtual void setMarginSensitivity(int,bool);
+ virtual void setMarginWidth(int,int);
+ virtual void setMarginWidth(int,const QString &);
+
+ virtual void setModified(bool);
+%If (QScintilla_1_7 -)
+ virtual void setPaper(const QColor &);
+%End
+ virtual void setReadOnly(bool);
+ virtual void setSelection(int,int,int,int);
+%If (QScintilla_1_3 -)
+ virtual void setSelectionBackgroundColor(const QColor &);
+ virtual void setSelectionForegroundColor(const QColor &);
+%End
+ virtual void setTabIndents(bool);
+ virtual void setTabWidth(int);
+ virtual void setText(const QString &);
+ virtual void setUtf8(bool);
+ virtual void setWhitespaceVisibility(WhitespaceVisibility);
+%If (QScintilla_1_4 -)
+ virtual void setWrapMode(WrapMode);
+%End
+
+ virtual void undo();
+ virtual void unindent(int);
+
+ virtual void zoomIn(int);
+ virtual void zoomIn();
+ virtual void zoomOut(int);
+ virtual void zoomOut();
+ virtual void zoomTo(int);
+
+signals:
+ void cursorPositionChanged(int,int);
+ void copyAvailable(bool);
+ void marginClicked(int,int,Qt::ButtonState);
+ void modificationAttempted();
+ void modificationChanged(bool);
+ void selectionChanged();
+ void textChanged();
+%If (QScintilla_1_7 -)
+ void userListActivated(int, const QString &);
+%End
+
+private:
+ QextScintilla(const QextScintilla &);
+
+};
diff --git a/sip/qtext/qextscintillaapis.sip b/sip/qtext/qextscintillaapis.sip
new file mode 100644
index 0000000..ad388fb
--- /dev/null
+++ b/sip/qtext/qextscintillaapis.sip
@@ -0,0 +1,42 @@
+// This is the SIP interface definition for QextScintillaAPIs.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintillaAPIs
+{
+%TypeHeaderCode
+#include <qextscintillaapis.h>
+%End
+
+public:
+ QextScintillaAPIs();
+
+ void add(const QString &);
+ bool load(const QString &);
+ void clear();
+
+private:
+ QextScintillaAPIs(const QextScintillaAPIs &);
+};
diff --git a/sip/qtext/qextscintillabase.sip b/sip/qtext/qextscintillabase.sip
new file mode 100644
index 0000000..009ea0b
--- /dev/null
+++ b/sip/qtext/qextscintillabase.sip
@@ -0,0 +1,1024 @@
+// This is the SIP interface definition for QextScintillaBase.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintillaBase : QWidget
+{
+%TypeHeaderCode
+#include <qextscintillabase.h>
+%End
+
+public:
+ enum {
+ SCI_START,
+ SCI_OPTIONAL_START,
+ SCI_LEXER_START,
+ SCI_ADDTEXT,
+ SCI_ADDSTYLEDTEXT,
+ SCI_INSERTTEXT,
+ SCI_CLEARALL,
+ SCI_CLEARDOCUMENTSTYLE,
+ SCI_GETLENGTH,
+ SCI_GETCHARAT,
+ SCI_GETCURRENTPOS,
+ SCI_GETANCHOR,
+ SCI_GETSTYLEAT,
+ SCI_REDO,
+ SCI_SETUNDOCOLLECTION,
+ SCI_SELECTALL,
+ SCI_SETSAVEPOINT,
+ SCI_GETSTYLEDTEXT,
+ SCI_CANREDO,
+ SCI_MARKERLINEFROMHANDLE,
+ SCI_MARKERDELETEHANDLE,
+ SCI_GETUNDOCOLLECTION,
+ SCI_GETVIEWWS,
+ SCI_SETVIEWWS,
+ SCI_POSITIONFROMPOINT,
+ SCI_POSITIONFROMPOINTCLOSE,
+ SCI_GOTOLINE,
+ SCI_GOTOPOS,
+ SCI_SETANCHOR,
+ SCI_GETCURLINE,
+ SCI_GETENDSTYLED,
+ SCI_CONVERTEOLS,
+ SCI_GETEOLMODE,
+ SCI_SETEOLMODE,
+ SCI_STARTSTYLING,
+ SCI_SETSTYLING,
+ SCI_GETBUFFEREDDRAW,
+ SCI_SETBUFFEREDDRAW,
+ SCI_SETTABWIDTH,
+ SCI_GETTABWIDTH,
+ SCI_SETCODEPAGE,
+ SCI_SETUSEPALETTE,
+ SCI_MARKERDEFINE,
+ SCI_MARKERSETFORE,
+ SCI_MARKERSETBACK,
+ SCI_MARKERADD,
+ SCI_MARKERDELETE,
+ SCI_MARKERDELETEALL,
+ SCI_MARKERGET,
+ SCI_MARKERNEXT,
+ SCI_MARKERPREVIOUS,
+ SCI_MARKERDEFINEPIXMAP,
+ SCI_SETMARGINTYPEN,
+ SCI_GETMARGINTYPEN,
+ SCI_SETMARGINWIDTHN,
+ SCI_GETMARGINWIDTHN,
+ SCI_SETMARGINMASKN,
+ SCI_GETMARGINMASKN,
+ SCI_SETMARGINSENSITIVEN,
+ SCI_GETMARGINSENSITIVEN,
+ SCI_STYLECLEARALL,
+ SCI_STYLESETFORE,
+ SCI_STYLESETBACK,
+ SCI_STYLESETBOLD,
+ SCI_STYLESETITALIC,
+ SCI_STYLESETSIZE,
+ SCI_STYLESETFONT,
+ SCI_STYLESETEOLFILLED,
+ SCI_STYLERESETDEFAULT,
+ SCI_STYLESETUNDERLINE,
+ SCI_STYLESETCASE,
+ SCI_STYLESETCHARACTERSET,
+ SCI_SETSELFORE,
+ SCI_SETSELBACK,
+ SCI_SETCARETFORE,
+ SCI_ASSIGNCMDKEY,
+ SCI_CLEARCMDKEY,
+ SCI_CLEARALLCMDKEYS,
+ SCI_SETSTYLINGEX,
+ SCI_STYLESETVISIBLE,
+ SCI_GETCARETPERIOD,
+ SCI_SETCARETPERIOD,
+ SCI_SETWORDCHARS,
+ SCI_BEGINUNDOACTION,
+ SCI_ENDUNDOACTION,
+ SCI_INDICSETSTYLE,
+ SCI_INDICGETSTYLE,
+ SCI_INDICSETFORE,
+ SCI_INDICGETFORE,
+ SCI_SETWHITESPACEFORE,
+ SCI_SETWHITESPACEBACK,
+ SCI_SETSTYLEBITS,
+ SCI_GETSTYLEBITS,
+ SCI_SETLINESTATE,
+ SCI_GETLINESTATE,
+ SCI_GETMAXLINESTATE,
+ SCI_GETCARETLINEVISIBLE,
+ SCI_SETCARETLINEVISIBLE,
+ SCI_GETCARETLINEBACK,
+ SCI_SETCARETLINEBACK,
+ SCI_STYLESETCHANGEABLE,
+ SCI_AUTOCSHOW,
+ SCI_AUTOCCANCEL,
+ SCI_AUTOCACTIVE,
+ SCI_AUTOCPOSSTART,
+ SCI_AUTOCCOMPLETE,
+ SCI_AUTOCSTOPS,
+ SCI_AUTOCSETSEPARATOR,
+ SCI_AUTOCGETSEPARATOR,
+ SCI_AUTOCSELECT,
+ SCI_AUTOCSETCANCELATSTART,
+ SCI_AUTOCGETCANCELATSTART,
+ SCI_AUTOCSETFILLUPS,
+ SCI_AUTOCSETCHOOSESINGLE,
+ SCI_AUTOCGETCHOOSESINGLE,
+ SCI_AUTOCSETIGNORECASE,
+ SCI_AUTOCGETIGNORECASE,
+ SCI_USERLISTSHOW,
+ SCI_AUTOCSETAUTOHIDE,
+ SCI_AUTOCGETAUTOHIDE,
+ SCI_AUTOCSETDROPRESTOFWORD,
+ SCI_AUTOCGETDROPRESTOFWORD,
+ SCI_SETINDENT,
+ SCI_GETINDENT,
+ SCI_SETUSETABS,
+ SCI_GETUSETABS,
+ SCI_SETLINEINDENTATION,
+ SCI_GETLINEINDENTATION,
+ SCI_GETLINEINDENTPOSITION,
+ SCI_GETCOLUMN,
+ SCI_SETHSCROLLBAR,
+ SCI_GETHSCROLLBAR,
+ SCI_SETINDENTATIONGUIDES,
+ SCI_GETINDENTATIONGUIDES,
+ SCI_SETHIGHLIGHTGUIDE,
+ SCI_GETHIGHLIGHTGUIDE,
+ SCI_GETLINEENDPOSITION,
+ SCI_GETCODEPAGE,
+ SCI_GETCARETFORE,
+ SCI_GETUSEPALETTE,
+ SCI_GETREADONLY,
+ SCI_SETCURRENTPOS,
+ SCI_SETSELECTIONSTART,
+ SCI_GETSELECTIONSTART,
+ SCI_SETSELECTIONEND,
+ SCI_GETSELECTIONEND,
+ SCI_SETPRINTMAGNIFICATION,
+ SCI_GETPRINTMAGNIFICATION,
+ SCI_SETPRINTCOLOURMODE,
+ SCI_GETPRINTCOLOURMODE,
+ SCI_FINDTEXT,
+ SCI_FORMATRANGE,
+ SCI_GETFIRSTVISIBLELINE,
+ SCI_GETLINE,
+ SCI_GETLINECOUNT,
+ SCI_SETMARGINLEFT,
+ SCI_GETMARGINLEFT,
+ SCI_SETMARGINRIGHT,
+ SCI_GETMARGINRIGHT,
+ SCI_GETMODIFY,
+ SCI_SETSEL,
+ SCI_GETSELTEXT,
+ SCI_GETTEXTRANGE,
+ SCI_HIDESELECTION,
+ SCI_POINTXFROMPOSITION,
+ SCI_POINTYFROMPOSITION,
+ SCI_LINEFROMPOSITION,
+ SCI_POSITIONFROMLINE,
+ SCI_LINESCROLL,
+ SCI_SCROLLCARET,
+ SCI_REPLACESEL,
+ SCI_SETREADONLY,
+ SCI_NULL,
+ SCI_CANPASTE,
+ SCI_CANUNDO,
+ SCI_EMPTYUNDOBUFFER,
+ SCI_UNDO,
+ SCI_CUT,
+ SCI_COPY,
+ SCI_PASTE,
+ SCI_CLEAR,
+ SCI_SETTEXT,
+ SCI_GETTEXT,
+ SCI_GETTEXTLENGTH,
+ SCI_GETDIRECTFUNCTION,
+ SCI_GETDIRECTPOINTER,
+ SCI_SETOVERTYPE,
+ SCI_GETOVERTYPE,
+ SCI_SETCARETWIDTH,
+ SCI_GETCARETWIDTH,
+ SCI_SETTARGETSTART,
+ SCI_GETTARGETSTART,
+ SCI_SETTARGETEND,
+ SCI_GETTARGETEND,
+ SCI_REPLACETARGET,
+ SCI_REPLACETARGETRE,
+ SCI_SEARCHINTARGET,
+ SCI_SETSEARCHFLAGS,
+ SCI_GETSEARCHFLAGS,
+ SCI_CALLTIPSHOW,
+ SCI_CALLTIPCANCEL,
+ SCI_CALLTIPACTIVE,
+ SCI_CALLTIPPOSSTART,
+ SCI_CALLTIPSETHLT,
+ SCI_CALLTIPSETBACK,
+ SCI_CALLTIPSETFORE,
+ SCI_CALLTIPSETFOREHLT,
+%If (QScintilla_1_6 -)
+ SCI_AUTOCSETMAXWIDTH,
+ SCI_AUTOCGETMAXWIDTH,
+ SCI_AUTOCSETMAXHEIGHT,
+ SCI_AUTOCGETMAXHEIGHT,
+%End
+%If (QScintilla_1_7 -)
+ SCI_CALLTIPUSESTYLE,
+%End
+ SCI_VISIBLEFROMDOCLINE,
+ SCI_DOCLINEFROMVISIBLE,
+ SCI_SETFOLDLEVEL,
+ SCI_GETFOLDLEVEL,
+ SCI_GETLASTCHILD,
+ SCI_GETFOLDPARENT,
+ SCI_SHOWLINES,
+ SCI_HIDELINES,
+ SCI_GETLINEVISIBLE,
+ SCI_SETFOLDEXPANDED,
+ SCI_GETFOLDEXPANDED,
+ SCI_TOGGLEFOLD,
+ SCI_ENSUREVISIBLE,
+ SCI_SETFOLDFLAGS,
+ SCI_ENSUREVISIBLEENFORCEPOLICY,
+%If (QScintilla_1_6 -)
+ SCI_WRAPCOUNT,
+%End
+ SCI_SETTABINDENTS,
+ SCI_GETTABINDENTS,
+ SCI_SETBACKSPACEUNINDENTS,
+ SCI_GETBACKSPACEUNINDENTS,
+ SCI_SETMOUSEDWELLTIME,
+ SCI_GETMOUSEDWELLTIME,
+ SCI_WORDSTARTPOSITION,
+ SCI_WORDENDPOSITION,
+ SCI_SETWRAPMODE,
+ SCI_GETWRAPMODE,
+ SCI_SETLAYOUTCACHE,
+ SCI_GETLAYOUTCACHE,
+ SCI_SETSCROLLWIDTH,
+ SCI_GETSCROLLWIDTH,
+ SCI_TEXTWIDTH,
+ SCI_SETENDATLASTLINE,
+ SCI_GETENDATLASTLINE,
+ SCI_TEXTHEIGHT,
+ SCI_SETVSCROLLBAR,
+ SCI_GETVSCROLLBAR,
+ SCI_APPENDTEXT,
+ SCI_GETTWOPHASEDRAW,
+ SCI_SETTWOPHASEDRAW,
+ SCI_AUTOCGETTYPESEPARATOR,
+ SCI_AUTOCSETTYPESEPARATOR,
+ SCI_TARGETFROMSELECTION,
+ SCI_LINESJOIN,
+ SCI_LINESSPLIT,
+ SCI_SETFOLDMARGINCOLOUR,
+ SCI_SETFOLDMARGINHICOLOUR,
+ SCI_LINEDOWN,
+ SCI_LINEDOWNEXTEND,
+ SCI_LINEUP,
+ SCI_LINEUPEXTEND,
+ SCI_CHARLEFT,
+ SCI_CHARLEFTEXTEND,
+ SCI_CHARRIGHT,
+ SCI_CHARRIGHTEXTEND,
+ SCI_WORDLEFT,
+ SCI_WORDLEFTEXTEND,
+ SCI_WORDRIGHT,
+ SCI_WORDRIGHTEXTEND,
+ SCI_HOME,
+ SCI_HOMEEXTEND,
+ SCI_LINEEND,
+ SCI_LINEENDEXTEND,
+ SCI_DOCUMENTSTART,
+ SCI_DOCUMENTSTARTEXTEND,
+ SCI_DOCUMENTEND,
+ SCI_DOCUMENTENDEXTEND,
+ SCI_PAGEUP,
+ SCI_PAGEUPEXTEND,
+ SCI_PAGEDOWN,
+ SCI_PAGEDOWNEXTEND,
+ SCI_EDITTOGGLEOVERTYPE,
+ SCI_CANCEL,
+ SCI_DELETEBACK,
+ SCI_TAB,
+ SCI_BACKTAB,
+ SCI_NEWLINE,
+ SCI_FORMFEED,
+ SCI_VCHOME,
+ SCI_VCHOMEEXTEND,
+ SCI_ZOOMIN,
+ SCI_ZOOMOUT,
+ SCI_DELWORDLEFT,
+ SCI_DELWORDRIGHT,
+ SCI_LINECUT,
+ SCI_LINEDELETE,
+ SCI_LINETRANSPOSE,
+ SCI_LOWERCASE,
+ SCI_UPPERCASE,
+ SCI_LINESCROLLDOWN,
+ SCI_LINESCROLLUP,
+ SCI_DELETEBACKNOTLINE,
+ SCI_HOMEDISPLAY,
+ SCI_HOMEDISPLAYEXTEND,
+ SCI_LINEENDDISPLAY,
+ SCI_LINEENDDISPLAYEXTEND,
+ SCI_MOVECARETINSIDEVIEW,
+ SCI_LINELENGTH,
+ SCI_BRACEHIGHLIGHT,
+ SCI_BRACEBADLIGHT,
+ SCI_BRACEMATCH,
+ SCI_GETVIEWEOL,
+ SCI_SETVIEWEOL,
+ SCI_GETDOCPOINTER,
+ SCI_SETDOCPOINTER,
+ SCI_SETMODEVENTMASK,
+ SCI_GETEDGECOLUMN,
+ SCI_SETEDGECOLUMN,
+ SCI_GETEDGEMODE,
+ SCI_SETEDGEMODE,
+ SCI_GETEDGECOLOUR,
+ SCI_SETEDGECOLOUR,
+ SCI_SEARCHANCHOR,
+ SCI_SEARCHNEXT,
+ SCI_SEARCHPREV,
+ SCI_LINESONSCREEN,
+ SCI_USEPOPUP,
+ SCI_SELECTIONISRECTANGLE,
+ SCI_SETZOOM,
+ SCI_GETZOOM,
+ SCI_CREATEDOCUMENT,
+ SCI_ADDREFDOCUMENT,
+ SCI_RELEASEDOCUMENT,
+ SCI_GETMODEVENTMASK,
+ SCI_SETFOCUS,
+ SCI_GETFOCUS,
+ SCI_SETSTATUS,
+ SCI_GETSTATUS,
+ SCI_SETMOUSEDOWNCAPTURES,
+ SCI_GETMOUSEDOWNCAPTURES,
+ SCI_SETCURSOR,
+ SCI_GETCURSOR,
+ SCI_SETCONTROLCHARSYMBOL,
+ SCI_GETCONTROLCHARSYMBOL,
+ SCI_WORDPARTLEFT,
+ SCI_WORDPARTLEFTEXTEND,
+ SCI_WORDPARTRIGHT,
+ SCI_WORDPARTRIGHTEXTEND,
+ SCI_SETVISIBLEPOLICY,
+ SCI_DELLINELEFT,
+ SCI_DELLINERIGHT,
+ SCI_SETXOFFSET,
+ SCI_GETXOFFSET,
+ SCI_CHOOSECARETX,
+ SCI_GRABFOCUS,
+ SCI_SETXCARETPOLICY,
+ SCI_SETYCARETPOLICY,
+ SCI_LINEDUPLICATE,
+ SCI_REGISTERIMAGE,
+ SCI_SETPRINTWRAPMODE,
+ SCI_GETPRINTWRAPMODE,
+ SCI_CLEARREGISTEREDIMAGES,
+ SCI_STYLESETHOTSPOT,
+ SCI_SETHOTSPOTACTIVEFORE,
+ SCI_SETHOTSPOTACTIVEBACK,
+ SCI_SETHOTSPOTACTIVEUNDERLINE,
+ SCI_PARADOWN,
+ SCI_PARADOWNEXTEND,
+ SCI_PARAUP,
+ SCI_PARAUPEXTEND,
+%If (QScintilla_1_1 -)
+ SCI_POSITIONBEFORE,
+ SCI_POSITIONAFTER,
+ SCI_COPYRANGE,
+ SCI_COPYTEXT,
+%End
+%If (QScintilla_1_3 -)
+ SCI_SETSELECTIONMODE,
+ SCI_GETSELECTIONMODE,
+ SCI_GETLINESELSTARTPOSITION,
+ SCI_GETLINESELENDPOSITION,
+ SCI_LINEDOWNRECTEXTEND,
+ SCI_LINEUPRECTEXTEND,
+ SCI_CHARLEFTRECTEXTEND,
+ SCI_CHARRIGHTRECTEXTEND,
+ SCI_HOMERECTEXTEND,
+ SCI_VCHOMERECTEXTEND,
+ SCI_LINEENDRECTEXTEND,
+ SCI_PAGEUPRECTEXTEND,
+ SCI_PAGEDOWNRECTEXTEND,
+ SCI_STUTTEREDPAGEUP,
+ SCI_STUTTEREDPAGEUPEXTEND,
+ SCI_STUTTEREDPAGEDOWN,
+ SCI_STUTTEREDPAGEDOWNEXTEND,
+ SCI_WORDLEFTEND,
+ SCI_WORDLEFTENDEXTEND,
+ SCI_WORDRIGHTEND,
+ SCI_WORDRIGHTENDEXTEND,
+ SCI_SETWHITESPACECHARS,
+ SCI_SETCHARSDEFAULT,
+ SCI_AUTOCGETCURRENT,
+ SCI_ALLOCATE,
+%End
+ SCI_HOMEWRAP,
+ SCI_HOMEWRAPEXTEND,
+ SCI_LINEENDWRAP,
+ SCI_LINEENDWRAPEXTEND,
+ SCI_VCHOMEWRAP,
+ SCI_VCHOMEWRAPEXTEND,
+%If (QScintilla_1_1 -)
+ SCI_LINECOPY,
+%End
+%If (QScintilla_1_6 -)
+ SCI_FINDCOLUMN,
+ SCI_GETCARETSTICKY,
+ SCI_SETCARETSTICKY,
+ SCI_TOGGLECARETSTICKY,
+%End
+%If (QScintilla_1_3 -)
+ SCI_SETWRAPVISUALFLAGS,
+ SCI_GETWRAPVISUALFLAGS,
+ SCI_SETWRAPVISUALFLAGSLOCATION,
+ SCI_GETWRAPVISUALFLAGSLOCATION,
+ SCI_SETWRAPSTARTINDENT,
+ SCI_GETWRAPSTARTINDENT,
+%End
+%If (QScintilla_1_7 -)
+ SCI_MARKERADDSET,
+ SCI_SETPASTECONVERTENDINGS
+ SCI_GETPASTECONVERTENDINGS
+ SCI_SELECTIONDUPLICATE
+ SCI_SETCARETLINEBACKALPHA
+ SCI_GETCARETLINEBACKALPHA
+ SCI_MARKERSETALPHA,
+ SCI_GETSELALPHA,
+ SCI_SETSELALPHA,
+%End
+ SCI_STARTRECORD,
+ SCI_STOPRECORD,
+ SCI_SETLEXER,
+ SCI_GETLEXER,
+ SCI_COLOURISE,
+ SCI_SETPROPERTY,
+ SCI_SETKEYWORDS,
+ SCI_SETLEXERLANGUAGE,
+%If (QScintilla_1_6 -)
+ SCI_LOADLEXERLIBRARY,
+ SCI_GETPROPERTY,
+ SCI_GETPROPERTYEXPANDED,
+ SCI_GETPROPERTYINT,
+%End
+%If (QScintilla_1_7 -)
+ SCI_GETSTYLEBITSNEEDED,
+%End
+ };
+
+%If (QScintilla_1_7 -)
+ enum
+ {
+ SC_ALPHA_TRANSPARENT,
+ SC_ALPHA_OPAQUE,
+ SC_ALPHA_NOALPHA,
+ };
+%End
+
+%If (QScintilla_1_3 -)
+ enum
+ {
+ SC_WRAPVISUALFLAG_NONE,
+ SC_WRAPVISUALFLAG_END,
+ SC_WRAPVISUALFLAG_START
+ };
+
+ enum
+ {
+ SC_WRAPVISUALFLAGLOC_DEFAULT,
+ SC_WRAPVISUALFLAGLOC_END_BY_TEXT,
+ SC_WRAPVISUALFLAGLOC_START_BY_TEXT
+ };
+
+ enum {
+ SC_SEL_STREAM,
+ SC_SEL_RECTANGLE,
+ SC_SEL_LINES
+ };
+%End
+
+ enum {
+ SCWS_INVISIBLE,
+ SCWS_VISIBLEALWAYS,
+ SCWS_VISIBLEAFTERINDENT
+ };
+
+ enum {
+ SC_EOL_CRLF,
+ SC_EOL_CR,
+ SC_EOL_LF
+ };
+
+ enum {
+ SC_CP_DBCS,
+ SC_CP_UTF8
+ };
+
+ enum {
+ SC_MARK_CIRCLE,
+ SC_MARK_ROUNDRECT,
+ SC_MARK_ARROW,
+ SC_MARK_SMALLRECT,
+ SC_MARK_SHORTARROW,
+ SC_MARK_EMPTY,
+ SC_MARK_ARROWDOWN,
+ SC_MARK_MINUS,
+ SC_MARK_PLUS,
+ SC_MARK_VLINE,
+ SC_MARK_LCORNER,
+ SC_MARK_TCORNER,
+ SC_MARK_BOXPLUS,
+ SC_MARK_BOXPLUSCONNECTED,
+ SC_MARK_BOXMINUS,
+ SC_MARK_BOXMINUSCONNECTED,
+ SC_MARK_LCORNERCURVE,
+ SC_MARK_TCORNERCURVE,
+ SC_MARK_CIRCLEPLUS,
+ SC_MARK_CIRCLEPLUSCONNECTED,
+ SC_MARK_CIRCLEMINUS,
+ SC_MARK_CIRCLEMINUSCONNECTED,
+ SC_MARK_BACKGROUND,
+ SC_MARK_DOTDOTDOT,
+ SC_MARK_ARROWS,
+ SC_MARK_PIXMAP,
+%If (QScintilla_1_6 -)
+ SC_MARK_FULLRECT,
+%End
+ SC_MARK_CHARACTER
+ };
+
+ enum {
+ SC_MARKNUM_FOLDEREND,
+ SC_MARKNUM_FOLDEROPENMID,
+ SC_MARKNUM_FOLDERMIDTAIL,
+ SC_MARKNUM_FOLDERTAIL,
+ SC_MARKNUM_FOLDERSUB,
+ SC_MARKNUM_FOLDER,
+ SC_MARKNUM_FOLDEROPEN,
+ SC_MASK_FOLDERS
+ };
+
+ enum {
+ SC_MARGIN_SYMBOL,
+ SC_MARGIN_NUMBER,
+%If (QScintilla_1_7 -)
+ SC_MARGIN_BACK,
+ SC_MARGIN_FORE,
+%End
+ };
+
+ enum {
+ STYLE_DEFAULT,
+ STYLE_LINENUMBER,
+ STYLE_BRACELIGHT,
+ STYLE_BRACEBAD,
+ STYLE_CONTROLCHAR,
+ STYLE_INDENTGUIDE,
+%If (QScintilla_1_7 -)
+ STYLE_CALLTIP,
+%End
+ STYLE_LASTPREDEFINED,
+%If (QScintilla_1_3 -)
+ STYLE_MAX
+%End
+ };
+
+ enum {
+ SC_CHARSET_ANSI,
+ SC_CHARSET_DEFAULT,
+ SC_CHARSET_BALTIC,
+ SC_CHARSET_CHINESEBIG5,
+ SC_CHARSET_EASTEUROPE,
+ SC_CHARSET_GB2312,
+ SC_CHARSET_GREEK,
+ SC_CHARSET_HANGUL,
+ SC_CHARSET_MAC,
+ SC_CHARSET_OEM,
+ SC_CHARSET_RUSSIAN,
+ SC_CHARSET_SHIFTJIS,
+ SC_CHARSET_SYMBOL,
+ SC_CHARSET_TURKISH,
+ SC_CHARSET_JOHAB,
+ SC_CHARSET_HEBREW,
+ SC_CHARSET_ARABIC,
+ SC_CHARSET_VIETNAMESE,
+ SC_CHARSET_THAI,
+%If (QScintilla_1_6 -)
+ SC_CHARSET_8859_15,
+%End
+ };
+
+ enum {
+ SC_CASE_MIXED,
+ SC_CASE_UPPER,
+ SC_CASE_LOWER
+ };
+
+ enum {
+ INDIC_MAX,
+ INDIC_PLAIN,
+ INDIC_SQUIGGLE,
+ INDIC_TT,
+ INDIC_DIAGONAL,
+ INDIC_STRIKE,
+%If (QScintilla_1_2 -)
+ INDIC_HIDDEN,
+%End
+%If (QScintilla_1_3 -)
+ INDIC_BOX,
+%End
+%If (QScintilla_1_7 -)
+ INDIC_ROUNDBOX,
+%End
+ INDIC0_MASK,
+ INDIC1_MASK,
+ INDIC2_MASK,
+ INDICS_MASK
+ };
+
+ enum {
+ SC_PRINT_NORMAL,
+ SC_PRINT_INVERTLIGHT,
+ SC_PRINT_BLACKONWHITE,
+ SC_PRINT_COLOURONWHITE,
+ SC_PRINT_COLOURONWHITEDEFAULTBG
+ };
+
+ enum {
+ SCFIND_WHOLEWORD,
+ SCFIND_MATCHCASE,
+ SCFIND_WORDSTART,
+ SCFIND_REGEXP,
+ SCFIND_POSIX
+ };
+
+ enum {
+ SC_FOLDLEVELBASE,
+ SC_FOLDLEVELWHITEFLAG,
+ SC_FOLDLEVELHEADERFLAG,
+ SC_FOLDLEVELBOXHEADERFLAG,
+ SC_FOLDLEVELBOXFOOTERFLAG,
+ SC_FOLDLEVELCONTRACTED,
+ SC_FOLDLEVELUNINDENT,
+ SC_FOLDLEVELNUMBERMASK
+ };
+
+ enum
+ {
+ SC_FOLDFLAG_BOX,
+ SC_FOLDFLAG_LINEBEFORE_EXPANDED,
+ SC_FOLDFLAG_LINEBEFORE_CONTRACTED,
+ SC_FOLDFLAG_LINEAFTER_EXPANDED,
+ SC_FOLDFLAG_LINEAFTER_CONTRACTED,
+ SC_FOLDFLAG_LEVELNUMBERS
+ };
+
+ enum {
+ SC_TIME_FOREVER
+ };
+
+ enum {
+ SC_WRAP_NONE,
+ SC_WRAP_WORD,
+%If (QScintilla_1_6 -)
+ SC_WRAP_CHAR,
+%End
+ };
+
+ enum {
+ SC_CACHE_NONE,
+ SC_CACHE_CARET,
+ SC_CACHE_PAGE,
+ SC_CACHE_DOCUMENT
+ };
+
+ enum {
+ EDGE_NONE,
+ EDGE_LINE,
+ EDGE_BACKGROUND
+ };
+
+ enum {
+ SC_CURSORNORMAL,
+ SC_CURSORWAIT
+ };
+
+ enum {
+ VISIBLE_SLOP,
+ VISIBLE_STRICT
+ };
+
+ enum {
+ CARET_SLOP,
+ CARET_STRICT,
+ CARET_JUMPS,
+ CARET_EVEN
+ };
+
+ enum {
+ SC_MOD_INSERTTEXT,
+ SC_MOD_DELETETEXT,
+ SC_MOD_CHANGESTYLE,
+ SC_MOD_CHANGEFOLD,
+ SC_PERFORMED_USER,
+ SC_PERFORMED_UNDO,
+ SC_PERFORMED_REDO,
+%If (QScintilla_1_6 -)
+ SC_MULTISTEPUNDOREDO,
+%End
+ SC_LASTSTEPINUNDOREDO,
+ SC_MOD_CHANGEMARKER,
+ SC_MOD_BEFOREINSERT,
+ SC_MOD_BEFOREDELETE,
+%If (QScintilla_1_6 -)
+ SC_MULTILINEUNDOREDO,
+%End
+ SC_MODEVENTMASKALL
+ };
+
+ enum {
+ SCK_DOWN,
+ SCK_UP,
+ SCK_LEFT,
+ SCK_RIGHT,
+ SCK_HOME,
+ SCK_END,
+ SCK_PRIOR,
+ SCK_NEXT,
+ SCK_DELETE,
+ SCK_INSERT,
+ SCK_ESCAPE,
+ SCK_BACK,
+ SCK_TAB,
+ SCK_RETURN,
+ SCK_ADD,
+ SCK_SUBTRACT,
+ SCK_DIVIDE
+ };
+
+ enum {
+%If (QScintilla_1_7 -)
+ SCMOD_NORM,
+%End
+ SCMOD_SHIFT,
+ SCMOD_CTRL,
+ SCMOD_ALT
+ };
+
+ enum {
+ SCLEX_CONTAINER,
+ SCLEX_NULL,
+ SCLEX_PYTHON,
+ SCLEX_CPP,
+ SCLEX_HTML,
+ SCLEX_XML,
+ SCLEX_PERL,
+ SCLEX_SQL,
+ SCLEX_VB,
+ SCLEX_PROPERTIES,
+ SCLEX_ERRORLIST,
+ SCLEX_MAKEFILE,
+ SCLEX_BATCH,
+ SCLEX_LATEX,
+ SCLEX_LUA,
+ SCLEX_DIFF,
+ SCLEX_CONF,
+ SCLEX_PASCAL,
+ SCLEX_AVE,
+ SCLEX_ADA,
+ SCLEX_LISP,
+ SCLEX_RUBY,
+ SCLEX_EIFFEL,
+ SCLEX_EIFFELKW,
+ SCLEX_TCL,
+ SCLEX_NNCRONTAB,
+ SCLEX_BULLANT,
+ SCLEX_VBSCRIPT,
+ SCLEX_ASP,
+ SCLEX_PHP,
+ SCLEX_BAAN,
+ SCLEX_MATLAB,
+%If (QScintilla_1_2 -)
+ SCLEX_SCRIPTOL,
+%End
+ SCLEX_ASM,
+ SCLEX_CPPNOCASE,
+ SCLEX_FORTRAN,
+ SCLEX_F77,
+ SCLEX_CSS,
+ SCLEX_POV,
+%If (QScintilla_1_1 -)
+ SCLEX_LOUT,
+ SCLEX_ESCRIPT,
+%End
+%If (QScintilla_1_2 -)
+ SCLEX_PS,
+ SCLEX_NSIS,
+ SCLEX_MMIXAL,
+%End
+%If (QScintilla_1_3 -)
+ SCLEX_CLW,
+ SCLEX_CLWNOCASE,
+ SCLEX_LOT,
+ SCLEX_YAML,
+ SCLEX_TEX,
+ SCLEX_METAPOST,
+ SCLEX_POWERBASIC,
+ SCLEX_FORTH,
+ SCLEX_ERLANG,
+ SCLEX_OCTAVE,
+ SCLEX_MSSQL,
+ SCLEX_VERILOG,
+ SCLEX_KIX,
+ SCLEX_GUI4CLI,
+ SCLEX_SPECMAN,
+ SCLEX_AU3,
+ SCLEX_APDL,
+ SCLEX_BASH,
+%End
+%If (QScintilla_1_5 -)
+ SCLEX_ASN1,
+ SCLEX_VHDL,
+%End
+%If (QScintilla_1_6 -)
+ SCLEX_CAML,
+ SCLEX_BLITZBASIC,
+ SCLEX_PUREBASIC,
+ SCLEX_HASKELL,
+ SCLEX_PHPSCRIPT,
+ SCLEX_TADS3,
+ SCLEX_REBOL,
+ SCLEX_SMALLTALK,
+ SCLEX_FLAGSHIP,
+ SCLEX_CSOUND,
+%End
+%If (QScintilla_1_7 -)
+ SCLEX_FREEBASIC,
+ SCLEX_INNOSETUP,
+ SCLEX_OPAL,
+ SCLEX_SPICE,
+%End
+ };
+
+ QextScintillaBase(QWidget * /TransferThis/,const char *,
+ WFlags = 0);
+
+%ConvertToSubClassCode
+ static struct class_graph {
+ const char *name;
+ sipWrapperType **type;
+ int yes, no;
+ } graph[] = {
+ {sipName_QextScintillaLexer, &sipClass_QextScintillaLexer, 3, 1},
+ {sipName_QextScintillaBase, &sipClass_QextScintillaBase, 15, 2},
+ {sipName_QextScintillaMacro, &sipClass_QextScintillaMacro, -1, -1},
+#if QSCINTILLA_VERSION >= 0x010300
+ {sipName_QextScintillaLexerPerl, &sipClass_QextScintillaLexerPerl, -1, 4},
+#else
+ {NULL, NULL, -1, 4},
+#endif
+#if QSCINTILLA_VERSION >= 0x010100
+ {sipName_QextScintillaLexerHTML, &sipClass_QextScintillaLexerHTML, -1, 5},
+#else
+ {NULL, NULL, -1, 5},
+#endif
+#if QSCINTILLA_VERSION >= 0x010500
+ {sipName_QextScintillaLexerRuby, &sipClass_QextScintillaLexerRuby, -1, 6},
+#else
+ {NULL, NULL, -1, 6},
+#endif
+ {sipName_QextScintillaLexerCPP, &sipClass_QextScintillaLexerCPP, 11, 7},
+ {sipName_QextScintillaLexerPython, &sipClass_QextScintillaLexerPython, -1, 8},
+#if QSCINTILLA_VERSION >= 0x010100
+ {sipName_QextScintillaLexerSQL, &sipClass_QextScintillaLexerSQL, -1, 9},
+#else
+ {NULL, NULL, -1, 9},
+#endif
+#if QSCINTILLA_VERSION >= 0x010400
+ {sipName_QextScintillaLexerBash, &sipClass_QextScintillaLexerBash, -1, 10},
+#else
+ {NULL, NULL, -1, 10},
+#endif
+#if QSCINTILLA_VERSION >= 0x010500
+ {sipName_QextScintillaLexerLua, &sipClass_QextScintillaLexerLua, -1, -1},
+#else
+ {NULL, NULL, -1, -1},
+#endif
+ {sipName_QextScintillaLexerIDL, &sipClass_QextScintillaLexerIDL, -1, 12},
+ {sipName_QextScintillaLexerJavaScript, &sipClass_QextScintillaLexerJavaScript, -1, 13},
+ {sipName_QextScintillaLexerCSharp, &sipClass_QextScintillaLexerCSharp, -1, 14},
+ {sipName_QextScintillaLexerJava, &sipClass_QextScintillaLexerJava, -1, -1},
+ {sipName_QextScintilla, &sipClass_QextScintilla, -1, -1},
+ };
+
+ int i = 0;
+
+ sipClass = NULL;
+
+ do
+ {
+ struct class_graph *cg = &graph[i];
+
+ if (cg->name != NULL && sipCpp->inherits(cg->name))
+ {
+ sipClass = *cg->type;
+ i = cg->yes;
+ }
+ else
+ i = cg->no;
+ }
+ while (i >= 0);
+%End
+
+%If (QScintilla_1_3 -)
+ QextScintillaBase *pool();
+%End
+
+ long SendScintilla(unsigned int,unsigned long = 0,long = 0);
+ long SendScintilla(unsigned int,unsigned long,const char *);
+ long SendScintilla(unsigned int,const char *);
+ long SendScintilla(unsigned int,const char *,const char *);
+ long SendScintilla(unsigned int,long);
+ //long SendScintilla(unsigned int,int);
+ long SendScintilla(unsigned int,long,long,char *);
+ long SendScintilla(unsigned int,unsigned long,const QColor &);
+ long SendScintilla(unsigned int,const QColor &);
+ long SendScintilla(unsigned int,unsigned long,QPainter *,const QRect &,
+ long,long);
+ long SendScintilla(unsigned int,unsigned long,const QPixmap *);
+
+ virtual QSize sizeHint() const;
+%If (QScintilla_1_5 -)
+ QWidget *viewport() const;
+%End
+
+signals:
+ void QSCN_SELCHANGED(bool);
+
+ void SCEN_CHANGE();
+
+%If (QScintilla_1_6 -)
+ void SCN_AUTOCSELECTION(const char *,int);
+%End
+ void SCN_CHARADDED(int);
+ void SCN_CALLTIPCLICK(int);
+ void SCN_DOUBLECLICK();
+ void SCN_DWELLEND(int,int,int);
+ void SCN_DWELLSTART(int,int,int);
+ void SCN_HOTSPOTCLICK(int,int);
+ void SCN_HOTSPOTDOUBLECLICK(int,int);
+ void SCN_MACRORECORD(unsigned int,unsigned long,long);
+ void SCN_MARGINCLICK(int,int,int);
+ void SCN_MODIFIED(int,int,const char *,int,int,int,int,int);
+ void SCN_MODIFYATTEMPTRO();
+ void SCN_NEEDSHOWN(int,int);
+ void SCN_PAINTED();
+ void SCN_SAVEPOINTLEFT();
+ void SCN_SAVEPOINTREACHED();
+ void SCN_STYLENEEDED(int);
+ void SCN_UPDATEUI();
+ void SCN_USERLISTSELECTION(const char *,int);
+ void SCN_ZOOM();
+
+protected:
+ bool eventFilter(QObject *,QEvent *);
+ virtual void keyPressEvent(QKeyEvent *);
+ virtual void focusInEvent(QFocusEvent *);
+ virtual void focusOutEvent(QFocusEvent *);
+ virtual bool focusNextPrevChild(bool);
+%If (QScintilla_1_5 -)
+ virtual void startDrag();
+%End
+
+private:
+ QextScintillaBase(const QextScintillaBase &);
+};
diff --git a/sip/qtext/qextscintillacommand.sip b/sip/qtext/qextscintillacommand.sip
new file mode 100644
index 0000000..148fdd6
--- /dev/null
+++ b/sip/qtext/qextscintillacommand.sip
@@ -0,0 +1,44 @@
+// This is the SIP interface definition for QextScintillaCommand.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintillaCommand
+{
+%TypeHeaderCode
+#include <qextscintillacommand.h>
+%End
+
+public:
+ void setKey(int);
+ void setAlternateKey(int);
+ int key() const;
+ int alternateKey() const;
+ static bool validKey(int);
+ QString description() const;
+
+private:
+ QextScintillaCommand(QextScintilla *,int,int,const char *);
+ QextScintillaCommand(const QextScintillaCommand &);
+};
diff --git a/sip/qtext/qextscintillacommandset.sip b/sip/qtext/qextscintillacommandset.sip
new file mode 100644
index 0000000..ae1be22
--- /dev/null
+++ b/sip/qtext/qextscintillacommandset.sip
@@ -0,0 +1,52 @@
+// This is the SIP interface definition for the QextScintillaCommandSet.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintillaCommandSet
+{
+%TypeHeaderCode
+#include <qextscintillacommandset.h>
+%End
+
+public:
+ bool readSettings(QSettings &,const char * = "/Scintilla");
+ bool writeSettings(QSettings &,const char * = "/Scintilla");
+
+%If (QScintilla_1_4 -)
+ QPtrList<QextScintillaCommand> &commands();
+%End
+%If (- QScintilla_1_4)
+ const QPtrList<QextScintillaCommand> &commands() const;
+%End
+
+%If (QScintilla_1_4 -)
+ void clearKeys();
+ void clearAlternateKeys();
+%End
+
+private:
+ QextScintillaCommandSet(QextScintilla *);
+ QextScintillaCommandSet(const QextScintillaCommandSet &);
+};
diff --git a/sip/qtext/qextscintilladocument.sip b/sip/qtext/qextscintilladocument.sip
new file mode 100644
index 0000000..9108114
--- /dev/null
+++ b/sip/qtext/qextscintilladocument.sip
@@ -0,0 +1,42 @@
+// This is the SIP interface definition for QextScintillaDocument.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_3 -)
+
+class QextScintillaDocument
+{
+%TypeHeaderCode
+#include <qextscintilladocument.h>
+%End
+
+public:
+ QextScintillaDocument();
+ virtual ~QextScintillaDocument();
+
+ QextScintillaDocument(const QextScintillaDocument &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillalexer.sip b/sip/qtext/qextscintillalexer.sip
new file mode 100644
index 0000000..ed10f46
--- /dev/null
+++ b/sip/qtext/qextscintillalexer.sip
@@ -0,0 +1,80 @@
+// This is the SIP interface definition for QextScintillaLexer.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintillaLexer : QObject
+{
+%TypeHeaderCode
+#include <qextscintillalexer.h>
+%End
+
+public:
+ QextScintillaLexer(QObject * /TransferThis/ = 0,const char * = 0);
+
+ virtual const char *language() const = 0;
+ virtual const char *lexer() const = 0;
+ int autoIndentStyle();
+ virtual QColor color(int) const;
+ virtual bool eolFill(int) const;
+ virtual QFont font(int) const;
+ virtual const char *keywords(int) const;
+ virtual QString description(int) const = 0;
+ virtual QColor paper(int) const;
+ virtual QFont defaultFont() const;
+%If (QScintilla_1_7 -)
+ virtual QColor defaultColor() const;
+ virtual QColor defaultPaper() const;
+%End
+ virtual void refreshProperties();
+ bool readSettings(QSettings &,const char * = "/Scintilla");
+ bool writeSettings(QSettings &,const char * = "/Scintilla") const;
+
+public slots:
+ virtual void setAutoIndentStyle(int);
+ virtual void setColor(const QColor &,int = -1);
+ virtual void setDefaultFont(const QFont &);
+%If (QScintilla_1_7 -)
+ virtual void setDefaultColor(const QColor &);
+ virtual void setDefaultPaper(const QColor &);
+%End
+ virtual void setEolFill(bool,int = -1);
+ virtual void setFont(const QFont &,int = -1);
+ virtual void setPaper(const QColor &,int = -1);
+
+signals:
+ void colorChanged(const QColor &,int);
+ void eolFillChanged(bool,int);
+ void fontChanged(const QFont &,int);
+ void paperChanged(const QColor &,int);
+ void propertyChanged(const char *,const char *);
+
+protected:
+ virtual bool readProperties(QSettings &,const QString &);
+ virtual bool writeProperties(QSettings &,const QString &) const;
+
+private:
+ QextScintillaLexer(const QextScintillaLexer &);
+
+};
diff --git a/sip/qtext/qextscintillalexerbash.sip b/sip/qtext/qextscintillalexerbash.sip
new file mode 100644
index 0000000..3a4099d
--- /dev/null
+++ b/sip/qtext/qextscintillalexerbash.sip
@@ -0,0 +1,80 @@
+// This is the SIP interface definition for QextScintillaLexerBash.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_4 -)
+
+class QextScintillaLexerBash : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexerbash.h>
+%End
+
+public:
+ enum {
+ Default,
+ Error,
+ Comment,
+ Number,
+ Keyword,
+ DoubleQuotedString,
+ SingleQuotedString,
+ Operator,
+ Identifier,
+ Scalar,
+ ParameterExpansion,
+ Backticks,
+ HereDocumentDelimiter,
+ SingleQuotedHereDocument
+ };
+
+ QextScintillaLexerBash(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ bool eolFill(int) const;
+ QFont font(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+ QColor paper(int) const;
+
+ void refreshProperties();
+ bool foldComments() const;
+ bool foldCompact() const;
+
+public slots:
+ virtual void setFoldComments(bool);
+ virtual void setFoldCompact(bool);
+
+protected:
+ bool readProperties(QSettings &,const QString &);
+ bool writeProperties(QSettings &,const QString &) const;
+
+private:
+ QextScintillaLexerBash(const QextScintillaLexerBash &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillalexerbatch.sip b/sip/qtext/qextscintillalexerbatch.sip
new file mode 100644
index 0000000..f29f326
--- /dev/null
+++ b/sip/qtext/qextscintillalexerbatch.sip
@@ -0,0 +1,62 @@
+// This is the SIP interface definition for QextScintillaLexerBatch.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_6 -)
+
+class QextScintillaLexerBatch : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexerbatch.h>
+%End
+
+public:
+ enum {
+ Default,
+ Comment,
+ Keyword,
+ Label,
+ HideCommandChar,
+ ExternalCommand,
+ Variable,
+ Operator
+ };
+
+ QextScintillaLexerBatch(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ bool eolFill(int) const;
+ QFont font(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+ QColor paper(int) const;
+
+private:
+ QextScintillaLexerBatch(const QextScintillaLexerBatch &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillalexercpp.sip b/sip/qtext/qextscintillalexercpp.sip
new file mode 100644
index 0000000..dab8cf2
--- /dev/null
+++ b/sip/qtext/qextscintillalexercpp.sip
@@ -0,0 +1,98 @@
+// This is the SIP interface definition for QextScintillaLexerCPP.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintillaLexerCPP : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexercpp.h>
+%End
+
+public:
+ enum {
+%If (QScintilla_1_1 -)
+ Default,
+%End
+ WhiteSpace,
+ Comment,
+ CommentLine,
+ CommentDoc,
+ Number,
+ Keyword,
+ DoubleQuotedString,
+ SingleQuotedString,
+ UUID,
+ PreProcessor,
+ Operator,
+ Identifier,
+ UnclosedString,
+ VerbatimString,
+ Regex,
+ CommentLineDoc,
+ KeywordSet2,
+ CommentDocKeyword,
+ CommentDocKeywordError,
+%If (QScintilla_1_1 -)
+ GlobalClass,
+%End
+ };
+
+ QextScintillaLexerCPP(QObject * /TransferThis/ = 0,const char * = 0,
+ bool = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ bool eolFill(int) const;
+ QFont font(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+ QColor paper(int) const;
+
+ void refreshProperties();
+%If (QScintilla_1_1 -)
+ bool foldAtElse() const;
+%End
+ bool foldComments() const;
+ bool foldCompact() const;
+ bool foldPreprocessor() const;
+ bool stylePreprocessor() const;
+
+public slots:
+%If (QScintilla_1_1 -)
+ virtual void setFoldAtElse(bool);
+%End
+ virtual void setFoldComments(bool);
+ virtual void setFoldCompact(bool);
+ virtual void setFoldPreprocessor(bool);
+ virtual void setStylePreprocessor(bool);
+
+protected:
+ bool readProperties(QSettings &,const QString &);
+ bool writeProperties(QSettings &,const QString &) const;
+
+private:
+ QextScintillaLexerCPP(const QextScintillaLexerCPP &);
+};
diff --git a/sip/qtext/qextscintillalexercsharp.sip b/sip/qtext/qextscintillalexercsharp.sip
new file mode 100644
index 0000000..9444248
--- /dev/null
+++ b/sip/qtext/qextscintillalexercsharp.sip
@@ -0,0 +1,47 @@
+// This is the SIP interface definition for QextScintillaLexerCSharp.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintillaLexerCSharp : QextScintillaLexerCPP
+{
+%TypeHeaderCode
+#include <qextscintillalexercsharp.h>
+%End
+
+public:
+ QextScintillaLexerCSharp(QObject * /TransferThis/ = 0,
+ const char * = 0);
+
+ const char *language() const;
+ QColor color(int) const;
+ bool eolFill(int) const;
+ QFont font(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+ QColor paper(int) const;
+
+private:
+ QextScintillaLexerCSharp(const QextScintillaLexerCSharp &);
+};
diff --git a/sip/qtext/qextscintillalexercss.sip b/sip/qtext/qextscintillalexercss.sip
new file mode 100644
index 0000000..eb02a09
--- /dev/null
+++ b/sip/qtext/qextscintillalexercss.sip
@@ -0,0 +1,81 @@
+// This is the SIP interface definition for QextScintillaLexerCSS.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_6 -)
+
+class QextScintillaLexerCSS : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexercss.h>
+%End
+
+public:
+ enum {
+ Default,
+ Tag,
+ ClassSelector,
+ PseudoClass,
+ UnknownPseudoClass,
+ Operator,
+ CSS1Property,
+ UnknownProperty,
+ Value,
+ Comment,
+ IDSelector,
+ Important,
+ AtRule,
+ DoubleQuotedString,
+ SingleQuotedString,
+ CSS2Property,
+ Attribute
+ };
+
+ QextScintillaLexerCSS(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ QFont font(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+
+ void refreshProperties();
+ bool foldComments() const;
+ bool foldCompact() const;
+
+public slots:
+ virtual void setFoldComments(bool);
+ virtual void setFoldCompact(bool);
+
+protected:
+ bool readProperties(QSettings &,const QString &);
+ bool writeProperties(QSettings &,const QString &) const;
+
+private:
+ QextScintillaLexerCSS(const QextScintillaLexerCSS &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillalexerdiff.sip b/sip/qtext/qextscintillalexerdiff.sip
new file mode 100644
index 0000000..adfcb77
--- /dev/null
+++ b/sip/qtext/qextscintillalexerdiff.sip
@@ -0,0 +1,57 @@
+// This is the SIP interface definition for QextScintillaLexerDiff.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_6 -)
+
+class QextScintillaLexerDiff : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexerdiff.h>
+%End
+
+public:
+ enum {
+ Default,
+ Comment,
+ Command,
+ Header,
+ Position,
+ LineRemoved,
+ LineAdded
+ };
+
+ QextScintillaLexerDiff(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ QString description(int) const;
+
+private:
+ QextScintillaLexerDiff(const QextScintillaLexerDiff &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillalexerhtml.sip b/sip/qtext/qextscintillalexerhtml.sip
new file mode 100644
index 0000000..6b59162
--- /dev/null
+++ b/sip/qtext/qextscintillalexerhtml.sip
@@ -0,0 +1,178 @@
+// This is the SIP interface definition for QextScintillaLexerHTML.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_1 -)
+
+class QextScintillaLexerHTML : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexerhtml.h>
+%End
+
+public:
+ enum {
+ Default,
+ Tag,
+ UnknownTag,
+ Attribute,
+ UnknownAttribute,
+ HTMLNumber,
+ HTMLDoubleQuotedString,
+ HTMLSingleQuotedString,
+ OtherInTag,
+ HTMLComment,
+ Entity,
+ XMLTagEnd,
+ XMLStart,
+ XMLEnd,
+ Script,
+ ASPAtStart,
+ ASPStart,
+ CDATA,
+ PHPStart,
+ HTMLValue,
+ ASPXCComment,
+ SGMLDefault,
+ SGMLCommand,
+ SGMLParameter,
+ SGMLDoubleQuotedString,
+ SGMLSingleQuotedString,
+ SGMLError,
+ SGMLSpecial,
+ SGMLEntity,
+ SGMLComment,
+ SGMLParameterComment,
+ SGMLBlockDefault,
+ JavaScriptStart,
+ JavaScriptDefault,
+ JavaScriptComment,
+ JavaScriptCommentLine,
+ JavaScriptCommentDoc,
+ JavaScriptNumber,
+ JavaScriptWord,
+ JavaScriptKeyword,
+ JavaScriptDoubleQuotedString,
+ JavaScriptSingleQuotedString,
+ JavaScriptSymbol,
+ JavaScriptUnclosedString,
+ JavaScriptRegex,
+ ASPJavaScriptStart,
+ ASPJavaScriptDefault,
+ ASPJavaScriptComment,
+ ASPJavaScriptCommentLine,
+ ASPJavaScriptCommentDoc,
+ ASPJavaScriptNumber,
+ ASPJavaScriptWord,
+ ASPJavaScriptKeyword,
+ ASPJavaScriptDoubleQuotedString,
+ ASPJavaScriptSingleQuotedString,
+ ASPJavaScriptSymbol,
+ ASPJavaScriptUnclosedString,
+ ASPJavaScriptRegex,
+ VBScriptStart,
+ VBScriptDefault,
+ VBScriptComment,
+ VBScriptNumber,
+ VBScriptKeyword,
+ VBScriptString,
+ VBScriptIdentifier,
+ VBScriptUnclosedString,
+ ASPVBScriptStart,
+ ASPVBScriptDefault,
+ ASPVBScriptComment,
+ ASPVBScriptNumber,
+ ASPVBScriptKeyword,
+ ASPVBScriptString,
+ ASPVBScriptIdentifier,
+ ASPVBScriptUnclosedString,
+ PythonStart,
+ PythonDefault,
+ PythonComment,
+ PythonNumber,
+ PythonDoubleQuotedString,
+ PythonSingleQuotedString,
+ PythonKeyword,
+ PythonTripleSingleQuotedString,
+ PythonTripleDoubleQuotedString,
+ PythonClassName,
+ PythonFunctionMethodName,
+ PythonOperator,
+ PythonIdentifier,
+ ASPPythonStart,
+ ASPPythonDefault,
+ ASPPythonComment,
+ ASPPythonNumber,
+ ASPPythonDoubleQuotedString,
+ ASPPythonSingleQuotedString,
+ ASPPythonKeyword,
+ ASPPythonTripleSingleQuotedString,
+ ASPPythonTripleDoubleQuotedString,
+ ASPPythonClassName,
+ ASPPythonFunctionMethodName,
+ ASPPythonOperator,
+ ASPPythonIdentifier,
+ PHPDefault,
+ PHPDoubleQuotedString,
+ PHPSingleQuotedString,
+ PHPKeyword,
+ PHPNumber,
+ PHPVariable,
+ PHPComment,
+ PHPCommentLine,
+ PHPDoubleQuotedVariable,
+ PHPOperator
+ };
+
+ QextScintillaLexerHTML(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ bool eolFill(int) const;
+ QFont font(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+ QColor paper(int) const;
+
+ void refreshProperties();
+ bool foldCompact() const;
+ bool foldPreprocessor() const;
+ bool caseSensitiveTags() const;
+
+public slots:
+ virtual void setFoldCompact(bool);
+ virtual void setFoldPreprocessor(bool);
+ virtual void setCaseSensitiveTags(bool);
+
+protected:
+ bool readProperties(QSettings &,const QString &);
+ bool writeProperties(QSettings &,const QString &) const;
+
+private:
+ QextScintillaLexerHTML(const QextScintillaLexerHTML &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillalexeridl.sip b/sip/qtext/qextscintillalexeridl.sip
new file mode 100644
index 0000000..cf1fe5a
--- /dev/null
+++ b/sip/qtext/qextscintillalexeridl.sip
@@ -0,0 +1,43 @@
+// This is the SIP interface definition for QextScintillaLexerIDL.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintillaLexerIDL : QextScintillaLexerCPP
+{
+%TypeHeaderCode
+#include <qextscintillalexeridl.h>
+%End
+
+public:
+ QextScintillaLexerIDL(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ QColor color(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+
+private:
+ QextScintillaLexerIDL(const QextScintillaLexerIDL &);
+};
diff --git a/sip/qtext/qextscintillalexerjava.sip b/sip/qtext/qextscintillalexerjava.sip
new file mode 100644
index 0000000..8db6bd4
--- /dev/null
+++ b/sip/qtext/qextscintillalexerjava.sip
@@ -0,0 +1,41 @@
+// This is the SIP interface definition for QextScintillaLexerJava.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintillaLexerJava : QextScintillaLexerCPP
+{
+%TypeHeaderCode
+#include <qextscintillalexerjava.h>
+%End
+
+public:
+ QextScintillaLexerJava(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *keywords(int) const;
+
+private:
+ QextScintillaLexerJava(const QextScintillaLexerJava &);
+};
diff --git a/sip/qtext/qextscintillalexerjavascript.sip b/sip/qtext/qextscintillalexerjavascript.sip
new file mode 100644
index 0000000..4b3c9a1
--- /dev/null
+++ b/sip/qtext/qextscintillalexerjavascript.sip
@@ -0,0 +1,47 @@
+// This is the SIP interface definition for QextScintillaLexerJavaScript.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintillaLexerJavaScript : QextScintillaLexerCPP
+{
+%TypeHeaderCode
+#include <qextscintillalexerjavascript.h>
+%End
+
+public:
+ QextScintillaLexerJavaScript(QObject * /TransferThis/ = 0,
+ const char * = 0);
+
+ const char *language() const;
+ QColor color(int) const;
+ bool eolFill(int) const;
+ QFont font(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+ QColor paper(int) const;
+
+private:
+ QextScintillaLexerJavaScript(const QextScintillaLexerJavaScript &);
+};
diff --git a/sip/qtext/qextscintillalexerlua.sip b/sip/qtext/qextscintillalexerlua.sip
new file mode 100644
index 0000000..fe05ea1
--- /dev/null
+++ b/sip/qtext/qextscintillalexerlua.sip
@@ -0,0 +1,79 @@
+// This is the SIP interface definition for QextScintillaLexerLua.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_5 -)
+
+class QextScintillaLexerLua : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexerlua.h>
+%End
+
+public:
+ enum {
+ Default,
+ Comment,
+ LineComment,
+ Number,
+ Keyword,
+ String,
+ Character,
+ LiteralString,
+ Preprocessor,
+ Operator,
+ Identifier,
+ UnclosedString,
+ BasicFunctions,
+ StringTableMathsFunctions,
+ CoroutinesIOSystemFacilities
+ };
+
+ QextScintillaLexerLua(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ bool eolFill(int) const;
+ QFont font(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+ QColor paper(int) const;
+
+ void refreshProperties();
+ bool foldCompact() const;
+
+public slots:
+ virtual void setFoldCompact(bool);
+
+protected:
+ bool readProperties(QSettings &,const QString &);
+ bool writeProperties(QSettings &,const QString &) const;
+
+private:
+ QextScintillaLexerLua(const QextScintillaLexerLua &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillalexermakefile.sip b/sip/qtext/qextscintillalexermakefile.sip
new file mode 100644
index 0000000..83c15b1
--- /dev/null
+++ b/sip/qtext/qextscintillalexermakefile.sip
@@ -0,0 +1,60 @@
+// This is the SIP interface definition for QextScintillaLexerMakefile.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_6 -)
+
+class QextScintillaLexerMakefile : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexermakefile.h>
+%End
+
+public:
+ enum {
+ Default,
+ Comment,
+ Preprocessor,
+ Variable,
+ Operator,
+ Target,
+ Error
+ };
+
+ QextScintillaLexerMakefile(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ bool eolFill(int) const;
+ QFont font(int) const;
+ QString description(int) const;
+ QColor paper(int) const;
+
+private:
+ QextScintillaLexerMakefile(const QextScintillaLexerMakefile &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillalexerperl.sip b/sip/qtext/qextscintillalexerperl.sip
new file mode 100644
index 0000000..a8db0a1
--- /dev/null
+++ b/sip/qtext/qextscintillalexerperl.sip
@@ -0,0 +1,96 @@
+// This is the SIP interface definition for QextScintillaLexerPerl.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_3 -)
+
+class QextScintillaLexerPerl : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexerperl.h>
+%End
+
+public:
+ enum {
+ Default,
+ Error,
+ Comment,
+ POD,
+ Number,
+ Keyword,
+ DoubleQuotedString,
+ SingleQuotedString,
+ Operator,
+ Identifier,
+ Scalar,
+ Array,
+ Hash,
+ SymbolTable,
+ Regex,
+ Substitution,
+ Backticks,
+ DataSection,
+ HereDocumentDelimiter,
+ SingleQuotedHereDocument,
+ DoubleQuotedHereDocument,
+ BacktickHereDocument,
+ QuotedStringQ,
+ QuotedStringQQ,
+ QuotedStringQX,
+ QuotedStringQR,
+ QuotedStringQW,
+%If (QScintilla_1_6 -)
+ PODVerbatim,
+%End
+ };
+
+ QextScintillaLexerPerl(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ bool eolFill(int) const;
+ QFont font(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+ QColor paper(int) const;
+
+ void refreshProperties();
+ bool foldComments() const;
+ bool foldCompact() const;
+
+public slots:
+ virtual void setFoldComments(bool);
+ virtual void setFoldCompact(bool);
+
+protected:
+ bool readProperties(QSettings &,const QString &);
+ bool writeProperties(QSettings &,const QString &) const;
+
+private:
+ QextScintillaLexerPerl(const QextScintillaLexerPerl &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillalexerpov.sip b/sip/qtext/qextscintillalexerpov.sip
new file mode 100644
index 0000000..862e48e
--- /dev/null
+++ b/sip/qtext/qextscintillalexerpov.sip
@@ -0,0 +1,85 @@
+// This is the SIP interface definition for QextScintillaLexerPOV.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_6 -)
+
+class QextScintillaLexerPOV : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexerpov.h>
+%End
+
+public:
+ enum {
+ Default,
+ Comment,
+ CommentLine,
+ Number,
+ Operator,
+ Identifier,
+ String,
+ UnclosedString,
+ Directive,
+ BadDirective,
+ ObjectsCSGAppearance,
+ TypesModifiersItems,
+ PredefinedIdentifiers,
+ PredefinedFunctions,
+ KeywordSet6,
+ KeywordSet7,
+ KeywordSet8
+ };
+
+ QextScintillaLexerPOV(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ bool eolFill(int) const;
+ QFont font(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+ QColor paper(int) const;
+
+ void refreshProperties();
+ bool foldComments() const;
+ bool foldCompact() const;
+ bool foldDirectives() const;
+
+public slots:
+ virtual void setFoldComments(bool);
+ virtual void setFoldCompact(bool);
+ virtual void setFoldDirectives(bool);
+
+protected:
+ bool readProperties(QSettings &,const QString &);
+ bool writeProperties(QSettings &,const QString &) const;
+
+private:
+ QextScintillaLexerPOV(const QextScintillaLexerPOV &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillalexerproperties.sip b/sip/qtext/qextscintillalexerproperties.sip
new file mode 100644
index 0000000..45c52e5
--- /dev/null
+++ b/sip/qtext/qextscintillalexerproperties.sip
@@ -0,0 +1,68 @@
+// This is the SIP interface definition for QextScintillaLexerProperties.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_6 -)
+
+class QextScintillaLexerProperties : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexerproperties.h>
+%End
+
+public:
+ enum {
+ Default,
+ Comment,
+ Section,
+ Assignment,
+ DefaultValue
+ };
+
+ QextScintillaLexerProperties(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ bool eolFill(int) const;
+ QFont font(int) const;
+ QString description(int) const;
+ QColor paper(int) const;
+
+ void refreshProperties();
+ bool foldCompact() const;
+
+public slots:
+ virtual void setFoldCompact(bool);
+
+protected:
+ bool readProperties(QSettings &,const QString &);
+ bool writeProperties(QSettings &,const QString &) const;
+
+private:
+ QextScintillaLexerProperties(const QextScintillaLexerProperties &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillalexerpython.sip b/sip/qtext/qextscintillalexerpython.sip
new file mode 100644
index 0000000..3a2bca5
--- /dev/null
+++ b/sip/qtext/qextscintillalexerpython.sip
@@ -0,0 +1,94 @@
+// This is the SIP interface definition for QextScintillaLexerPython.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintillaLexerPython : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexerpython.h>
+%End
+
+public:
+ enum {
+%If (QScintilla_1_1 -)
+ Default,
+%End
+ WhiteSpace,
+ Comment,
+ Number,
+ DoubleQuotedString,
+ SingleQuotedString,
+ Keyword,
+ TripleSingleQuotedString,
+ TripleDoubleQuotedString,
+ ClassName,
+ FunctionMethodName,
+ Operator,
+ Identifier,
+ CommentBlock,
+ UnclosedString,
+%If (QScintilla_1_7 -)
+ HighlightedIdentifier,
+ Decorator,
+%End
+ };
+
+ enum IndentationWarning {
+ NoWarning,
+ Inconsistent,
+ TabsAfterSpaces,
+ Spaces,
+ Tabs
+ };
+
+ QextScintillaLexerPython(QObject * /TransferThis/ = 0,
+ const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ bool eolFill(int) const;
+ QFont font(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+ QColor paper(int) const;
+ void refreshProperties();
+
+ bool foldComments() const;
+ bool foldQuotes() const;
+ IndentationWarning indentationWarning() const;
+
+public slots:
+ virtual void setFoldComments(bool);
+ virtual void setFoldQuotes(bool);
+ virtual void setIndentationWarning(IndentationWarning);
+
+protected:
+ bool readProperties(QSettings &,const QString &);
+ bool writeProperties(QSettings &,const QString &) const;
+
+private:
+ QextScintillaLexerPython(const QextScintillaLexerPython &);
+};
diff --git a/sip/qtext/qextscintillalexerruby.sip b/sip/qtext/qextscintillalexerruby.sip
new file mode 100644
index 0000000..77beba0
--- /dev/null
+++ b/sip/qtext/qextscintillalexerruby.sip
@@ -0,0 +1,128 @@
+// This is the SIP interface definition for QextScintillaLexerRuby.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_5 -)
+
+class QextScintillaLexerRuby : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexerruby.h>
+%End
+
+public:
+%If (QScintilla_1_7 -)
+ enum {
+ Default,
+ Comment,
+ POD,
+ Number,
+ Keyword,
+ DoubleQuotedString,
+ SingleQuotedString,
+ ClassName,
+ FunctionMethodName,
+ Operator,
+ Identifier,
+ Regex,
+ Global,
+ Symbol,
+ ModuleName,
+ InstanceVariable,
+ ClassVariable,
+ Backticks,
+ DataSection,
+ HereDocumentDelimiter,
+ HereDocument,
+ PercentStringq,
+ PercentStringQ,
+ PercentStringx,
+ PercentStringr,
+ PercentStringw,
+ DemotedKeyword,
+ Stdin,
+ Stdout,
+ Stderr
+ };
+%End
+%If (- QScintilla_1_7)
+ enum {
+ Default,
+ WhiteSpace,
+ Comment,
+ Number,
+ DoubleQuotedString,
+ SingleQuotedString,
+ Keyword,
+ TripleDoubleQuotedString,
+ ClassName,
+ FunctionMethodName,
+ Operator,
+ Identifier,
+ CommentBlock,
+ UnclosedString
+ };
+
+ enum IndentationWarning {
+ NoWarning,
+ Inconsistent,
+ TabsAfterSpaces,
+ Spaces,
+ Tabs
+ };
+%End
+
+ QextScintillaLexerRuby(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ bool eolFill(int) const;
+ QFont font(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+ QColor paper(int) const;
+%If (- QScintilla_1_7)
+ void refreshProperties();
+
+ IndentationWarning indentationWarning() const;
+%End
+
+public slots:
+%If (- QScintilla_1_7)
+ virtual void setIndentationWarning(IndentationWarning);
+%End
+
+protected:
+%If (- QScintilla_1_7)
+ bool readProperties(QSettings &,const QString &);
+ bool writeProperties(QSettings &,const QString &) const;
+%End
+
+private:
+ QextScintillaLexerRuby(const QextScintillaLexerRuby &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillalexersql.sip b/sip/qtext/qextscintillalexersql.sip
new file mode 100644
index 0000000..85a5e19
--- /dev/null
+++ b/sip/qtext/qextscintillalexersql.sip
@@ -0,0 +1,105 @@
+// This is the SIP interface definition for QextScintillaLexerSQL.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_1 -)
+
+class QextScintillaLexerSQL : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexersql.h>
+%End
+
+public:
+ enum {
+ Default,
+ Comment,
+%If (QScintilla_1_6 -)
+ CommentLine,
+ CommentDoc,
+%End
+ LineComment, // Obsolete.
+ Number,
+ Keyword,
+%If (QScintilla_1_6 -)
+ DoubleQuotedString,
+%End
+ SingleQuotedString,
+%If (QScintilla_1_6 -)
+ PlusKeyword,
+ PlusPrompt,
+%End
+ Operator,
+ Identifier,
+%If (QScintilla_1_6 -)
+ PlusComment,
+ CommentLineHash,
+ CommentDocKeyword,
+ CommentDocKeywordError,
+ KeywordSet5,
+ KeywordSet6,
+ KeywordSet7,
+ KeywordSet8,
+%End
+ };
+
+ QextScintillaLexerSQL(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+%If (QScintilla_1_6 -)
+ bool eolFill(int) const;
+%End
+ QFont font(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+%If (QScintilla_1_6 -)
+ QColor paper(int) const;
+
+ void refreshProperties();
+ bool foldComments() const;
+ bool foldCompact() const;
+ bool backslashEscapes() const;
+%End
+
+public slots:
+%If (QScintilla_1_6 -)
+ virtual void setFoldComments(bool);
+ virtual void setFoldCompact(bool);
+ virtual void setBackslashEscapes(bool);
+%End
+
+protected:
+%If (QScintilla_1_6 -)
+ bool readProperties(QSettings &,const QString &);
+ bool writeProperties(QSettings &,const QString &) const;
+%End
+
+private:
+ QextScintillaLexerSQL(const QextScintillaLexerSQL &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillalexertex.sip b/sip/qtext/qextscintillalexertex.sip
new file mode 100644
index 0000000..668fcd0
--- /dev/null
+++ b/sip/qtext/qextscintillalexertex.sip
@@ -0,0 +1,57 @@
+// This is the SIP interface definition for QextScintillaLexerTeX.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (QScintilla_1_6 -)
+
+class QextScintillaLexerTeX : QextScintillaLexer
+{
+%TypeHeaderCode
+#include <qextscintillalexertex.h>
+%End
+
+public:
+ enum {
+ Default,
+ Special,
+ Group,
+ Symbol,
+ Command,
+ Text
+ };
+
+ QextScintillaLexerTeX(QObject * /TransferThis/ = 0,const char * = 0);
+
+ const char *language() const;
+ const char *lexer() const;
+ QColor color(int) const;
+ const char *keywords(int) const;
+ QString description(int) const;
+
+private:
+ QextScintillaLexerTeX(const QextScintillaLexerTeX &);
+};
+
+%End
diff --git a/sip/qtext/qextscintillamacro.sip b/sip/qtext/qextscintillamacro.sip
new file mode 100644
index 0000000..45615af
--- /dev/null
+++ b/sip/qtext/qextscintillamacro.sip
@@ -0,0 +1,49 @@
+// This is the SIP interface definition for QextScintillaMacro.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintillaMacro : QObject
+{
+%TypeHeaderCode
+#include <qextscintillamacro.h>
+%End
+
+public:
+ QextScintillaMacro(QextScintilla * /TransferThis/,const char * = 0);
+ QextScintillaMacro(const QCString &,QextScintilla * /TransferThis/,
+ const char * = 0);
+
+ void clear();
+ bool load(const QCString &);
+ QCString save() const;
+
+public slots:
+ virtual void play();
+ virtual void startRecording();
+ virtual void endRecording();
+
+private:
+ QextScintillaMacro(const QextScintillaMacro &);
+};
diff --git a/sip/qtext/qextscintillaprinter.sip b/sip/qtext/qextscintillaprinter.sip
new file mode 100644
index 0000000..dce068b
--- /dev/null
+++ b/sip/qtext/qextscintillaprinter.sip
@@ -0,0 +1,45 @@
+// This is the SIP interface definition for QextScintillaPrinter.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+class QextScintillaPrinter : QPrinter
+{
+%TypeHeaderCode
+#include <qextscintillaprinter.h>
+%End
+
+public:
+ QextScintillaPrinter(QPrinter::PrinterMode = QPrinter::ScreenResolution);
+
+ virtual void formatPage(QPainter &,bool,QRect &,int);
+ virtual int printRange(QextScintillaBase *,int = -1,int = -1);
+ int magnification() const;
+ virtual void setMagnification(int);
+ QextScintilla::WrapMode wrapMode() const;
+ virtual void setWrapMode(QextScintilla::WrapMode);
+
+private:
+ QextScintillaPrinter(const QextScintillaPrinter &);
+};
diff --git a/sip/qtext/qtextmod.sip b/sip/qtext/qtextmod.sip
new file mode 100644
index 0000000..06024a6
--- /dev/null
+++ b/sip/qtext/qtextmod.sip
@@ -0,0 +1,107 @@
+// This is the SIP interface definition for the qtext module of PyQt.
+//
+// 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.
+
+
+%Module qtext 4
+
+%Import qt/qtmod.sip
+
+%Include copying.sip
+
+
+// The QScintilla versions.
+%Timeline {QScintilla_1_1 QScintilla_1_2 QScintilla_1_3 QScintilla_1_4
+ QScintilla_1_5 QScintilla_1_6 QScintilla_1_7}
+
+
+const unsigned QSCINTILLA_VERSION;
+const char *QSCINTILLA_VERSION_STR;
+const char *QSCINTILLA_BUILD;
+
+
+%Include qextscintillaapis.sip
+%Include qextscintillabase.sip
+%Include qextscintilla.sip
+%Include qextscintillacommand.sip
+%Include qextscintillacommandset.sip
+%Include qextscintilladocument.sip
+%Include qextscintillalexer.sip
+%Include qextscintillalexerbash.sip
+%Include qextscintillalexerbatch.sip
+%Include qextscintillalexercpp.sip
+%Include qextscintillalexercsharp.sip
+%Include qextscintillalexercss.sip
+%Include qextscintillalexerdiff.sip
+%Include qextscintillalexerhtml.sip
+%Include qextscintillalexeridl.sip
+%Include qextscintillalexerjava.sip
+%Include qextscintillalexerjavascript.sip
+%Include qextscintillalexerlua.sip
+%Include qextscintillalexermakefile.sip
+%Include qextscintillalexerperl.sip
+%Include qextscintillalexerpov.sip
+%Include qextscintillalexerproperties.sip
+%Include qextscintillalexerpython.sip
+%Include qextscintillalexerruby.sip
+%Include qextscintillalexersql.sip
+%Include qextscintillalexertex.sip
+%Include qextscintillamacro.sip
+%Include qextscintillaprinter.sip
+
+
+// The build file template.
+
+%Makefile qtext.pro.in
+# The project file for the qtext module.
+#
+# 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.
+
+
+TEMPLATE = lib
+TARGET = @BLX_TARGET_LIB@
+DESTDIR = @PYQT_MODDIR@
+CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@
+INCLUDEPATH = @BLX_INCLUDEPATH@ @PYQT_QSCINTILLA_INC@
+DEFINES = @BLX_DEFINES@ QEXTSCINTILLA_DLL
+LIBS += @PYQT_QT_MODULE@ @PYQT_QSCINTILLA_LIB@ @BLX_LIBS@
+macx:QMAKE_LFLAGS += -framework Python
+
+SOURCES = $B
+
+HEADERS = $H
+%End
diff --git a/sip/qtgl/copying.sip b/sip/qtgl/copying.sip
new file mode 100644
index 0000000..463904b
--- /dev/null
+++ b/sip/qtgl/copying.sip
@@ -0,0 +1,51 @@
+// This is the SIP file defining the PyQt license.
+//
+// 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.
+
+
+%Copying
+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.
+%End
+
+
+%OptionalInclude pyqt-internal.sip
+%OptionalInclude pyqt-gpl.sip
+%OptionalInclude pyqt-commercial.sip
+%OptionalInclude pyqt-edu.sip
+%OptionalInclude pyqt-eval.sip
+%OptionalInclude pyqt-nc.sip
+%OptionalInclude pyqt-tkc.sip
diff --git a/sip/qtgl/qgl.sip b/sip/qtgl/qgl.sip
new file mode 100644
index 0000000..e08b6a9
--- /dev/null
+++ b/sip/qtgl/qgl.sip
@@ -0,0 +1,298 @@
+// This is the SIP interface definition for QGL, QGLContext, QGLFormat and
+// QGLWidget.
+//
+// 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>QGL</Title>
+<Para>
+<Literal>QGL</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QGLContext</Title>
+<Para>
+<Literal>QGLContext</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QGLFormat</Title>
+<Para>
+<Literal>QGLFormat</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QGLWidget</Title>
+<Para>
+<Literal>QGLWidget</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_00 -)
+
+const int QGL_VERSION;
+const char *QGL_VERSION_STR;
+
+const char *qGLVersion();
+
+
+class QGL
+{
+%TypeHeaderCode
+#include <qgl.h>
+%End
+
+public:
+ enum FormatOption {
+ DoubleBuffer,
+ DepthBuffer,
+ Rgba,
+ AlphaChannel,
+ AccumBuffer,
+ StencilBuffer,
+ StereoBuffers,
+ DirectRendering,
+ HasOverlay,
+ SingleBuffer,
+ NoDepthBuffer,
+ ColorIndex,
+ NoAlphaChannel,
+ NoAccumBuffer,
+ NoStencilBuffer,
+ NoStereoBuffers,
+ IndirectRendering,
+ NoOverlay
+ };
+};
+
+
+class QGLFormat : QGL
+{
+%TypeHeaderCode
+#include <qgl.h>
+%End
+
+public:
+ QGLFormat();
+ QGLFormat(int,int = 0);
+
+ bool doubleBuffer() const;
+ void setDoubleBuffer(bool);
+ bool depth() const;
+ void setDepth(bool);
+ bool rgba() const;
+ void setRgba(bool);
+ bool alpha() const;
+ void setAlpha(bool);
+ bool accum() const;
+ void setAccum(bool);
+ bool stencil() const;
+ void setStencil(bool);
+ bool stereo() const;
+ void setStereo(bool);
+ bool directRendering() const;
+ void setDirectRendering(bool);
+ bool hasOverlay() const;
+ void setOverlay(bool);
+
+ int plane() const;
+ void setPlane(int);
+
+ void setOption(FormatOption);
+ bool testOption(FormatOption) const;
+
+ static QGLFormat defaultFormat();
+ static void setDefaultFormat(const QGLFormat &);
+
+ static QGLFormat defaultOverlayFormat();
+ static void setDefaultOverlayFormat(const QGLFormat &);
+
+ static bool hasOpenGL();
+ static bool hasOpenGLOverlays();
+};
+
+
+class QGLContext : QGL
+{
+%TypeHeaderCode
+#include <qgl.h>
+%End
+
+public:
+ QGLContext(const QGLFormat &,QPaintDevice *);
+%If (Qt_3_2_0 -)
+ QGLContext(const QGLFormat &);
+%End
+
+ virtual bool create(const QGLContext * = 0);
+ bool isValid() const;
+ bool isSharing() const;
+ virtual void reset();
+
+ QGLFormat format() const;
+%If (Qt_3_0_0 -)
+ QGLFormat requestedFormat() const;
+%End
+ virtual void setFormat(const QGLFormat &);
+
+ virtual void makeCurrent();
+ virtual void swapBuffers() const;
+
+ QPaintDevice *device() const;
+
+ QColor overlayTransparentColor() const;
+
+ static const QGLContext *currentContext();
+
+protected:
+ virtual bool chooseContext(const QGLContext * = 0);
+ virtual void doneCurrent();
+
+%If (WS_X11)
+ virtual void *tryVisual(const QGLFormat &,int = 1);
+ virtual void *chooseVisual();
+%End
+
+ bool deviceIsPixmap() const;
+ bool windowCreated() const;
+ void setWindowCreated(bool);
+ bool initialized() const;
+ void setInitialized(bool);
+%If (Qt_3_1_0 -)
+ void generateFontDisplayLists(const QFont &,int);
+%End
+
+ uint colorIndex(const QColor &) const;
+%If (Qt_3_2_0 -)
+ void setValid(bool);
+ void setDevice(QPaintDevice *);
+%End
+
+private:
+ QGLContext();
+ QGLContext(const QGLContext &);
+};
+
+
+class QGLWidget : QWidget, QGL
+{
+%TypeHeaderCode
+#include <qgl.h>
+%End
+
+public:
+ QGLWidget(QWidget * /TransferThis/ = 0,const char * = 0,
+ const QGLWidget * = 0,WFlags = 0);
+%If (Qt_3_2_0 -)
+ QGLWidget(QGLContext * /Transfer/,QWidget * /TransferThis/ = 0,const char * = 0,
+ const QGLWidget * = 0,WFlags = 0);
+%End
+ QGLWidget(const QGLFormat &,QWidget * /TransferThis/ = 0,
+ const char * = 0,const QGLWidget * = 0,WFlags = 0);
+
+%ConvertToSubClassCode
+ sipClass = (sipCpp->inherits(sipName_QGLWidget) ? sipClass_QGLWidget : NULL);
+%End
+
+ void qglColor(const QColor &) const;
+ void qglClearColor(const QColor &) const;
+
+ bool isValid() const;
+ bool isSharing() const;
+ virtual void makeCurrent();
+%If (Qt_3_2_0 -)
+ void doneCurrent();
+%End
+
+ bool doubleBuffer() const;
+ virtual void swapBuffers();
+
+ QGLFormat format() const;
+
+ const QGLContext *context() const;
+
+ virtual QPixmap renderPixmap(int = 0,int = 0,bool = 0);
+%If (Qt_3_0_0 -)
+ virtual QImage grabFrameBuffer(bool = 0);
+%End
+
+ virtual void makeOverlayCurrent();
+ const QGLContext *overlayContext() const;
+
+ static QImage convertToGLFormat(const QImage &);
+
+ void setMouseTracking(bool);
+
+%If (Qt_3_0_0 -)
+ virtual void reparent(QWidget * /GetWrapper/,WFlags,const QPoint &,
+ bool = 0);
+%MethodCode
+ if (sipCpp -> parent() != a0)
+ if (a0)
+ sipTransferTo(sipSelf,a0Wrapper);
+ else
+ sipTransferBack(sipSelf);
+
+ Py_BEGIN_ALLOW_THREADS
+ sipSelfWasArg ? sipCpp->QGLWidget::reparent(a0, a1, *a2, a3) : sipCpp->reparent(a0, a1, *a2, a3);
+ Py_END_ALLOW_THREADS
+%End
+
+ const QGLColormap &colormap() const;
+ void setColormap(const QGLColormap &);
+%End
+
+%If (Qt_3_1_0 -)
+ void renderText(int,int,const QString &,const QFont & = QFont(),
+ int = 2000);
+ void renderText(double,double,double,const QString &,
+ const QFont & = QFont(),int = 2000);
+%End
+
+public slots:
+ virtual void updateGL();
+ virtual void updateOverlayGL();
+
+protected:
+ virtual void initializeGL();
+ virtual void resizeGL(int,int);
+ virtual void paintGL();
+
+ virtual void initializeOverlayGL();
+ virtual void resizeOverlayGL(int,int);
+ virtual void paintOverlayGL();
+
+ void setAutoBufferSwap(bool);
+ bool autoBufferSwap() const;
+
+ void paintEvent(QPaintEvent *);
+ void resizeEvent(QResizeEvent *);
+
+ virtual void glInit();
+ virtual void glDraw();
+
+private:
+ QGLWidget(const QGLWidget &);
+};
+
+%End
diff --git a/sip/qtgl/qglcolormap.sip b/sip/qtgl/qglcolormap.sip
new file mode 100644
index 0000000..512897e
--- /dev/null
+++ b/sip/qtgl/qglcolormap.sip
@@ -0,0 +1,63 @@
+// This is the SIP interface definition for QGLColormap.
+//
+// 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>QGLColormap (Qt v3.0+)</Title>
+<FuncSynopsis>
+ <FuncDef>void <Function>setEntries</Function></FuncDef>
+ <ParamDef>int <Parameter>count</Parameter></ParamDef>
+ <ParamDef>const QRgb *<Parameter>colors</Parameter></ParamDef>
+ <ParamDef>int <Parameter>base</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QGLColormap
+{
+%TypeHeaderCode
+#include <qglcolormap.h>
+%End
+
+public:
+ QGLColormap();
+ QGLColormap(const QGLColormap &);
+
+ bool isEmpty() const;
+ int size() const;
+ void detach();
+
+// void setEntries(int,const QRgb *,int = 0);
+ void setEntry(int,QRgb);
+ void setEntry(int,const QColor &);
+ QRgb entryRgb(int) const;
+ QColor entryColor(int) const;
+ int find(QRgb) const;
+ int findNearest(QRgb) const;
+};
+
+%End
diff --git a/sip/qtgl/qtglmod.sip b/sip/qtgl/qtglmod.sip
new file mode 100644
index 0000000..2d6a018
--- /dev/null
+++ b/sip/qtgl/qtglmod.sip
@@ -0,0 +1,71 @@
+// This is the SIP interface definition for the qtgl module of PyQt.
+//
+// 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.
+
+
+%Module qtgl 1
+
+%Import qt/qtmod.sip
+
+%Include copying.sip
+
+
+%Include qgl.sip
+%Include qglcolormap.sip
+
+
+// The build file template.
+
+%Makefile qtgl.pro.in
+# The project file for the qtgl module.
+#
+# 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.
+
+
+TEMPLATE = lib
+TARGET = @BLX_TARGET_LIB@
+DESTDIR = @PYQT_MODDIR@
+CONFIG += @BLX_CONFIG_LIB@ opengl @PYQT_WARN@
+INCLUDEPATH = @BLX_INCLUDEPATH@
+DEFINES = @BLX_DEFINES@
+LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@
+macx:QMAKE_LFLAGS += -framework Python
+
+SOURCES = $B
+
+HEADERS = $H
+%End
diff --git a/sip/qtnetwork/copying.sip b/sip/qtnetwork/copying.sip
new file mode 100644
index 0000000..463904b
--- /dev/null
+++ b/sip/qtnetwork/copying.sip
@@ -0,0 +1,51 @@
+// This is the SIP file defining the PyQt license.
+//
+// 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.
+
+
+%Copying
+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.
+%End
+
+
+%OptionalInclude pyqt-internal.sip
+%OptionalInclude pyqt-gpl.sip
+%OptionalInclude pyqt-commercial.sip
+%OptionalInclude pyqt-edu.sip
+%OptionalInclude pyqt-eval.sip
+%OptionalInclude pyqt-nc.sip
+%OptionalInclude pyqt-tkc.sip
diff --git a/sip/qtnetwork/qdns.sip b/sip/qtnetwork/qdns.sip
new file mode 100644
index 0000000..b91bb9f
--- /dev/null
+++ b/sip/qtnetwork/qdns.sip
@@ -0,0 +1,274 @@
+// This is the SIP interface definition for QDns.
+//
+// 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>QDns (Qt v2.2+)</Title>
+<Para>
+<Literal>QDns</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_DNS)
+%If (Qt_2_2_0 -)
+
+class QDns : QObject
+{
+%TypeHeaderCode
+#include <qdns.h>
+%End
+
+public:
+ enum RecordType {
+ None,
+ A,
+ Aaaa,
+ Mx,
+ Srv,
+ Cname,
+ Ptr,
+ Txt
+ };
+
+ QDns();
+ QDns(const QString &,RecordType = A);
+ QDns(const QHostAddress &,RecordType = A);
+
+ virtual void setLabel(const QString &);
+ virtual void setLabel(const QHostAddress &);
+ QString label() const;
+
+ virtual void setRecordType(RecordType = A);
+ RecordType recordType() const;
+
+ bool isWorking() const;
+
+ QValueList<QHostAddress> addresses() const;
+
+ class MailServer
+ {
+ public:
+ MailServer(const QString & = QString::null,Q_UINT16 = 0);
+
+ QString name;
+ Q_UINT16 priority;
+ };
+
+ QValueList<QDns::MailServer> mailServers() const;
+
+ class Server
+ {
+ public:
+ Server(const QString & = QString::null,Q_UINT16 = 0,
+ Q_UINT16 = 0,Q_UINT16 = 0);
+
+ QString name;
+ Q_UINT16 priority;
+ Q_UINT16 weight;
+ Q_UINT16 port;
+ };
+
+ QValueList<QDns::Server> servers() const;
+
+ QStringList hostNames() const;
+
+ QStringList texts() const;
+
+ QString canonicalName() const;
+
+ QStringList qualifiedNames() const;
+
+signals:
+ void resultsReady();
+};
+
+
+%MappedType QValueList<QHostAddress>
+{
+%TypeHeaderCode
+#include <qvaluelist.h>
+%End
+
+%ConvertFromTypeCode
+ // Convert to a Python list of QHostAddress instances.
+
+ int i;
+ PyObject *l;
+
+ // Create the list.
+
+ if ((l = PyList_New(sipCpp -> count())) == NULL)
+ return NULL;
+
+ // Get it.
+
+ i = 0;
+ QValueListConstIterator<QHostAddress> it;
+
+ for (it = sipCpp -> begin(); it != sipCpp -> end(); ++it)
+ {
+ PyObject *tmobj;
+
+ if ((tmobj = sipConvertFromNewInstance(new QHostAddress(*it),sipClass_QHostAddress,sipTransferObj)) == NULL || PyList_SetItem(l,i,tmobj) < 0)
+ {
+ Py_XDECREF(tmobj);
+ Py_DECREF(l);
+
+ return NULL;
+ }
+
+ ++i;
+ }
+
+ return l;
+%End
+
+%ConvertToTypeCode
+ // At the moment this will never be called, so provide a null
+ // implementation.
+
+ if (sipIsErr == NULL)
+ return PyList_Check(sipPy);
+
+ PyErr_Format(PyExc_TypeError,"Converting to QValueList<QHostAddress> not yet implemented");
+
+ *sipIsErr = 1;
+
+ return 0;
+%End
+};
+
+
+%MappedType QValueList<QDns::MailServer>
+{
+%TypeHeaderCode
+#include <qvaluelist.h>
+%End
+
+%ConvertFromTypeCode
+ // Convert to a Python list of QDns::MailServer instances.
+
+ int i;
+ PyObject *l;
+
+ // Create the list.
+
+ if ((l = PyList_New(sipCpp -> count())) == NULL)
+ return NULL;
+
+ // Get it.
+
+ i = 0;
+ QValueListConstIterator<QDns::MailServer> it;
+
+ for (it = sipCpp -> begin(); it != sipCpp -> end(); ++it)
+ {
+ PyObject *tmobj;
+
+ if ((tmobj = sipConvertFromNewInstance(new QDns::MailServer(*it),sipClass_QDns_MailServer,sipTransferObj)) == NULL || PyList_SetItem(l,i,tmobj) < 0)
+ {
+ Py_XDECREF(tmobj);
+ Py_DECREF(l);
+
+ return NULL;
+ }
+
+ ++i;
+ }
+
+ return l;
+%End
+
+%ConvertToTypeCode
+ // At the moment this will never be called, so provide a null
+ // implementation.
+
+ if (sipIsErr == NULL)
+ return PyList_Check(sipPy);
+
+ PyErr_Format(PyExc_TypeError,"Converting to QValueList<QDns::MailServer> not yet implemented");
+
+ *sipIsErr = 1;
+
+ return 0;
+%End
+};
+
+
+%MappedType QValueList<QDns::Server>
+{
+%TypeHeaderCode
+#include <qvaluelist.h>
+%End
+
+%ConvertFromTypeCode
+ // Convert to a Python list of QDns::Server instances.
+
+ int i;
+ PyObject *l;
+
+ // Create the list.
+
+ if ((l = PyList_New(sipCpp -> count())) == NULL)
+ return NULL;
+
+ // Get it.
+
+ i = 0;
+ QValueListConstIterator<QDns::Server> it;
+
+ for (it = sipCpp -> begin(); it != sipCpp -> end(); ++it)
+ {
+ PyObject *tmobj;
+
+ if ((tmobj = sipConvertFromNewInstance(new QDns::Server(*it),sipClass_QDns_Server,sipTransferObj)) == NULL || PyList_SetItem(l,i,tmobj) < 0)
+ {
+ Py_XDECREF(tmobj);
+ Py_DECREF(l);
+
+ return NULL;
+ }
+
+ ++i;
+ }
+
+ return l;
+%End
+
+%ConvertToTypeCode
+ // At the moment this will never be called, so provide a null
+ // implementation.
+
+ if (sipIsErr == NULL)
+ return PyList_Check(sipPy);
+
+ PyErr_Format(PyExc_TypeError,"Converting to QValueList<QDns::Server> not yet implemented");
+
+ *sipIsErr = 1;
+
+ return 0;
+%End
+};
+
+%End
+%End
diff --git a/sip/qtnetwork/qftp.sip b/sip/qtnetwork/qftp.sip
new file mode 100644
index 0000000..f79ecc1
--- /dev/null
+++ b/sip/qtnetwork/qftp.sip
@@ -0,0 +1,183 @@
+// This is the SIP interface definition for QFtp.
+//
+// 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>QFtp (Qt v2.2+)</Title>
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef>
+ <ParamDef>char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>Q_ULONG <Parameter>maxlen</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a single <Literal>maxlen</Literal> parameter. The
+<Literal>data</Literal> is returned if there was no error, otherwise
+<Literal>None</Literal> is returned.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_NETWORKPROTOCOL_FTP)
+%If (Qt_2_2_0 -)
+
+class QFtp : QNetworkProtocol
+{
+%TypeHeaderCode
+#include <qftp.h>
+%End
+
+public:
+ QFtp();
+%If (Qt_3_1_0 -)
+ QFtp(QObject * /TransferThis/,const char * = 0);
+%End
+ virtual ~QFtp();
+
+%If (Qt_3_0_0 -)
+ int supportedOperations() const;
+%End
+%If (- Qt_3_0_0)
+ virtual int supportedOperations() const;
+%End
+
+%If (Qt_3_1_0 -)
+ enum State {
+ Unconnected,
+ HostLookup,
+ Connecting,
+ Connected,
+ LoggedIn,
+ Closing
+ };
+
+ enum Error {
+ NoError,
+ UnknownError,
+ HostNotFound,
+ ConnectionRefused,
+ NotConnected
+ };
+
+ enum Command {
+ None,
+ ConnectToHost,
+ Login,
+ Close,
+ List,
+ Cd,
+ Get,
+ Put,
+ Remove,
+ Mkdir,
+ Rmdir,
+ Rename,
+ RawCommand
+ };
+
+ int connectToHost(const QString &,Q_UINT16 = 21) /ReleaseGIL/;
+ int login(const QString & = QString::null,
+ const QString & = QString::null) /ReleaseGIL/;
+ int close() /ReleaseGIL/;
+ int list(const QString & = QString::null) /ReleaseGIL/;
+ int cd(const QString &) /ReleaseGIL/;
+ int get(const QString &,QIODevice * = 0) /ReleaseGIL/;
+ int put(const QByteArray &,const QString &) /ReleaseGIL/;
+ int put(QIODevice *,const QString &) /ReleaseGIL/;
+ int remove(const QString &) /ReleaseGIL/;
+ int mkdir(const QString &) /ReleaseGIL/;
+ int rmdir(const QString &) /ReleaseGIL/;
+ int rename(const QString &,const QString &) /ReleaseGIL/;
+
+ int rawCommand(const QString &) /ReleaseGIL/;
+
+ unsigned long bytesAvailable() const;
+
+ SIP_PYOBJECT readBlock(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Q_LONG actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipCpp -> QFtp::readBlock(buf,a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL)
+ sipIsErr = 1;
+
+ sipFree((ANY *)buf);
+ }
+%End
+
+ QByteArray readAll() /ReleaseGIL/;
+
+ int currentId() const;
+ QIODevice* currentDevice() const;
+ Command currentCommand() const;
+ bool hasPendingCommands() const;
+ void clearPendingCommands();
+
+ State state() const;
+
+ Error error() const;
+ QString errorString() const;
+%End
+
+public slots:
+%If (Qt_3_1_0 -)
+ void abort();
+%End
+
+signals:
+%If (Qt_3_1_0 -)
+ void stateChanged(int);
+ void listInfo(const QUrlInfo &);
+ void readyRead();
+ void dataTransferProgress(int,int);
+ void rawCommandReply(int,const QString &);
+
+ void commandStarted(int);
+ void commandFinished(int,bool);
+ void done(bool);
+%End
+
+protected:
+ void parseDir(const QString &,QUrlInfo &);
+ virtual void operationListChildren(QNetworkOperation *);
+ virtual void operationMkDir(QNetworkOperation *);
+ virtual void operationRemove(QNetworkOperation *);
+ virtual void operationRename(QNetworkOperation *);
+ virtual void operationGet(QNetworkOperation *);
+ virtual void operationPut(QNetworkOperation *);
+};
+
+%End
+%End
diff --git a/sip/qtnetwork/qhostaddress.sip b/sip/qtnetwork/qhostaddress.sip
new file mode 100644
index 0000000..e2379e2
--- /dev/null
+++ b/sip/qtnetwork/qhostaddress.sip
@@ -0,0 +1,99 @@
+// This is the SIP interface definition for QHostAddress.
+//
+// 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>QHostAddress (Qt v2.2+)</Title>
+<FuncSynopsis>
+ <FuncDef><Function>QHostAddress</Function></FuncDef>
+ <ParamDef>Q_UINT8 *<Parameter>ip6Addr</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef><Function>QHostAddress</Function></FuncDef>
+ <ParamDef>const Q_IPV6ADDR &amp;<Parameter>ip6Addr</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>setAddress</Function></FuncDef>
+ <ParamDef>Q_UINT8 *<Parameter>ip6Addr</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>Q_IPV6ADDR <Function>toIPv6Address</Function> const</FuncDef>
+ <ParamDef><Parameter></Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_2_0 -)
+
+class QHostAddress
+{
+%TypeHeaderCode
+#include <qhostaddress.h>
+%End
+
+public:
+ QHostAddress();
+ QHostAddress(Q_UINT32);
+// QHostAddress(Q_UINT8 *);
+%If (Qt_3_3_0 -)
+ //QHostAddress(const Q_IPV6ADDR &);
+ // This isn't mentioned in the documentation.
+ //QHostAddress(const QString &);
+%End
+ QHostAddress(const QHostAddress &);
+
+ void setAddress(Q_UINT32);
+// void setAddress(Q_UINT8 *);
+ bool setAddress(const QString &);
+ bool isIp4Addr() const;
+ Q_UINT32 ip4Addr() const;
+
+%If (Qt_3_3_0 -)
+ bool isIPv4Address() const;
+ Q_UINT32 toIPv4Address() const;
+ bool isIPv6Address() const;
+ //Q_IPV6ADDR toIPv6Address() const;
+%End
+
+ QString toString() const;
+
+%If (Qt_3_2_0 -)
+ bool isNull() const;
+%End
+};
+
+%End
diff --git a/sip/qtnetwork/qhttp.sip b/sip/qtnetwork/qhttp.sip
new file mode 100644
index 0000000..fbcc999
--- /dev/null
+++ b/sip/qtnetwork/qhttp.sip
@@ -0,0 +1,279 @@
+// This is the SIP interface definition for QHttp, QHttpHeader,
+// QHttpRequestHeader and QHttpResponseHeader.
+//
+// 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>QHttp (Qt v3+)</Title>
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef>
+ <ParamDef>char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>Q_ULONG <Parameter>maxlen</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a single <Literal>maxlen</Literal> parameter. The
+<Literal>data</Literal> is returned if there was no error, otherwise
+<Literal>None</Literal> is returned.
+</Para>
+</Sect2>
+
+<Sect2><Title>QHttpHeader (Qt v3.1+)</Title>
+<Para>
+<Literal>QHttpHeader</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QHttpRequestHeader (Qt v3.1+)</Title>
+<Para>
+<Literal>QHttpRequestHeader</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QHttpResponseHeader (Qt v3.1+)</Title>
+<Para>
+<Literal>QHttpResponseHeader</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_NETWORKPROTOCOL_HTTP)
+%If (Qt_3_1_0 -)
+
+class QHttpHeader
+{
+%TypeHeaderCode
+#include <qhttp.h>
+%End
+
+public:
+ QHttpHeader();
+ QHttpHeader(const QHttpHeader &);
+ QHttpHeader(const QString &);
+ virtual ~QHttpHeader();
+
+ QString value(const QString &) const;
+ void setValue(const QString &,const QString &);
+ void removeValue(const QString &);
+
+ QStringList keys() const;
+ bool hasKey(const QString &) const;
+
+ bool hasContentLength() const;
+ uint contentLength() const;
+ void setContentLength(int);
+
+ bool hasContentType() const;
+ QString contentType() const;
+ void setContentType(const QString &);
+
+ virtual QString toString() const;
+ bool isValid() const;
+
+ virtual int majorVersion() const = 0;
+ virtual int minorVersion() const = 0;
+
+protected:
+ virtual bool parseLine(const QString &,int);
+ bool parse(const QString &);
+ void setValid(bool);
+};
+
+
+class QHttpResponseHeader : QHttpHeader
+{
+%TypeHeaderCode
+#include <qhttp.h>
+%End
+
+public:
+ QHttpResponseHeader();
+ QHttpResponseHeader(const QHttpResponseHeader &);
+
+ int statusCode() const;
+ QString reasonPhrase() const;
+
+ int majorVersion() const;
+ int minorVersion() const;
+
+ QString toString() const;
+
+protected:
+ bool parseLine(const QString &,int);
+};
+
+
+class QHttpRequestHeader : QHttpHeader
+{
+%TypeHeaderCode
+#include <qhttp.h>
+%End
+
+public:
+ QHttpRequestHeader();
+ QHttpRequestHeader(const QString &,const QString &,int = 1,int = 1);
+ QHttpRequestHeader(const QHttpRequestHeader &);
+ QHttpRequestHeader(const QString &);
+
+ void setRequest(const QString &,const QString &,int = 1,int = 1);
+
+ QString method() const;
+ QString path() const;
+
+ int majorVersion() const;
+ int minorVersion() const;
+
+ QString toString() const;
+
+protected:
+ bool parseLine(const QString &,int);
+};
+
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QHttp : QNetworkProtocol
+{
+%TypeHeaderCode
+#include <qhttp.h>
+%End
+
+public:
+ QHttp();
+%If (Qt_3_1_0 -)
+ QHttp(QObject * /TransferThis/,const char * = 0);
+ QHttp(const QString &,Q_UINT16 = 80,QObject * /TransferThis/ = 0,
+ const char * = 0);
+ virtual ~QHttp();
+%End
+
+ int supportedOperations() const;
+
+%If (Qt_3_1_0 -)
+ enum State {
+ Unconnected,
+ HostLookup,
+ Connecting,
+ Sending,
+ Reading,
+ Connected,
+ Closing
+ };
+
+ enum Error {
+ NoError,
+ UnknownError,
+ HostNotFound,
+ ConnectionRefused,
+ UnexpectedClose,
+ InvalidResponseHeader,
+ WrongContentLength,
+ Aborted
+ };
+
+ int setHost(const QString &,Q_UINT16 = 80);
+
+ int get(const QString &,QIODevice * = 0) /ReleaseGIL/;
+ int post(const QString &,QIODevice *,QIODevice * = 0) /ReleaseGIL/;
+ int post(const QString &,const QByteArray &,
+ QIODevice * = 0) /ReleaseGIL/;
+ int head(const QString &) /ReleaseGIL/;
+ int request(const QHttpRequestHeader &,QIODevice * = 0,
+ QIODevice * = 0) /ReleaseGIL/;
+ int request(const QHttpRequestHeader &,const QByteArray &,
+ QIODevice * = 0) /ReleaseGIL/;
+
+ int closeConnection();
+
+ unsigned long bytesAvailable() const;
+
+ SIP_PYOBJECT readBlock(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Q_LONG actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipCpp -> QHttp::readBlock(buf,a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL)
+ sipIsErr = 1;
+
+ sipFree((ANY *)buf);
+ }
+%End
+
+ QByteArray readAll() /ReleaseGIL/;
+
+ int currentId() const;
+ QIODevice *currentSourceDevice() const;
+ QIODevice *currentDestinationDevice() const;
+ QHttpRequestHeader currentRequest() const;
+ bool hasPendingRequests() const;
+ void clearPendingRequests();
+
+ State state() const;
+
+ Error error() const;
+ QString errorString() const;
+%End
+
+public slots:
+%If (Qt_3_1_0 -)
+ void abort();
+%End
+
+signals:
+%If (Qt_3_1_0 -)
+ void stateChanged(int);
+ void responseHeaderReceived(const QHttpResponseHeader &);
+ void readyRead(const QHttpResponseHeader &);
+ void dataSendProgress(int,int);
+ void dataReadProgress(int,int);
+
+ void requestStarted(int);
+ void requestFinished(int,bool);
+ void done(bool);
+%End
+
+protected:
+ void operationGet(QNetworkOperation *);
+ void operationPut(QNetworkOperation *);
+
+%If (Qt_3_1_0 -)
+ void timerEvent(QTimerEvent *);
+%End
+};
+
+%End
+%End
diff --git a/sip/qtnetwork/qlocalfs.sip b/sip/qtnetwork/qlocalfs.sip
new file mode 100644
index 0000000..a8b816f
--- /dev/null
+++ b/sip/qtnetwork/qlocalfs.sip
@@ -0,0 +1,56 @@
+// This is the SIP interface definition for QLocalFs.
+//
+// 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>QLocalFs (Qt v2.1+)</Title>
+<Para>
+<Literal>QLocalFs</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_NETWORKPROTOCOL)
+%If (Qt_2_1_0 -)
+
+class QLocalFs : QNetworkProtocol
+{
+%TypeHeaderCode
+#include <qlocalfs.h>
+%End
+
+public:
+ QLocalFs();
+
+ virtual int supportedOperations() const;
+
+protected:
+ virtual void operationListChildren(QNetworkOperation *);
+ virtual void operationMkDir(QNetworkOperation *);
+ virtual void operationRemove(QNetworkOperation *);
+ virtual void operationRename(QNetworkOperation *);
+ virtual void operationGet(QNetworkOperation *);
+ virtual void operationPut(QNetworkOperation *);
+};
+
+%End
+%End
diff --git a/sip/qtnetwork/qnetwork.sip b/sip/qtnetwork/qnetwork.sip
new file mode 100644
index 0000000..6b87d4e
--- /dev/null
+++ b/sip/qtnetwork/qnetwork.sip
@@ -0,0 +1,34 @@
+// This is the SIP interface definition for qInitNetworkProtocols.
+//
+// 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.
+
+
+%If (Qt_NETWORKPROTOCOL)
+%If (Qt_2_2_0 -)
+
+%ModuleHeaderCode
+#include <qglobal.h>
+#include <qnetwork.h>
+%End
+
+void qInitNetworkProtocols();
+
+%End
+%End
diff --git a/sip/qtnetwork/qserversocket.sip b/sip/qtnetwork/qserversocket.sip
new file mode 100644
index 0000000..c130969
--- /dev/null
+++ b/sip/qtnetwork/qserversocket.sip
@@ -0,0 +1,70 @@
+// This is the SIP interface definition for QServerSocket.
+//
+// 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>QServerSocket (Qt v2.2+)</Title>
+<Para>
+<Literal>QServerSocket</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_2_0 -)
+
+class QServerSocket : QObject
+{
+%TypeHeaderCode
+#include <qserversocket.h>
+%End
+
+public:
+%If (- Qt_3_0_0)
+ QServerSocket(Q_UINT16,int = 0,QObject * /TransferThis/ = 0,
+ const char * = 0);
+ QServerSocket(const QHostAddress &,Q_UINT16,int = 0,
+ QObject * /TransferThis/ = 0,const char * = 0);
+%End
+%If (Qt_3_0_0 -)
+ QServerSocket(Q_UINT16,int = 1,QObject * /TransferThis/ = 0,
+ const char * = 0);
+ QServerSocket(const QHostAddress &,Q_UINT16,int = 1,
+ QObject * /TransferThis/ = 0,const char * = 0);
+%End
+ QServerSocket(QObject * /TransferThis/ = 0,const char * = 0);
+
+ bool ok() const;
+
+ Q_UINT16 port() const;
+
+ int socket() const;
+ virtual void setSocket(int);
+
+ QHostAddress address() const ;
+
+ virtual void newConnection(int) = 0;
+
+protected:
+ QSocketDevice *socketDevice();
+};
+
+%End
diff --git a/sip/qtnetwork/qsocket.sip b/sip/qtnetwork/qsocket.sip
new file mode 100644
index 0000000..9da9bfc
--- /dev/null
+++ b/sip/qtnetwork/qsocket.sip
@@ -0,0 +1,348 @@
+// This is the SIP interface definition for QSocket.
+//
+// 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>QSocket (Qt v2.2+)</Title>
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef>
+ <ParamDef>char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a single <Literal>len</Literal> parameter. The
+<Literal>data</Literal> is returned if there was no error, otherwise
+<Literal>Py_None</Literal> is returned.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>readLine</Function></FuncDef>
+ <ParamDef>char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>Q_ULONG <Parameter>maxlen</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a single <Literal>maxlen</Literal> parameter. The
+<Literal>data</Literal> is returned if there was no error, otherwise
+<Literal>Py_None</Literal> is returned.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>writeBlock</Function></FuncDef>
+ <ParamDef>const char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+<Literal>len</Literal> is derived from <Literal>data</Literal> and not passed
+as a parameter.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_2_0 -)
+
+class QSocket : QObject, QIODevice
+{
+%TypeHeaderCode
+#include <qsocket.h>
+%End
+
+public:
+ enum Error {
+ ErrConnectionRefused,
+ ErrHostNotFound,
+ ErrSocketRead
+ };
+
+ QSocket(QObject * /TransferThis/ = 0,const char * = 0);
+
+ enum State {
+ Idle,
+ HostLookup,
+ Connecting,
+%If (Qt_3_0_0 -)
+ Connected,
+%End
+%If (- Qt_3_0_0)
+ Listening,
+%End
+ Closing,
+ Connection
+ };
+
+%ConvertToSubClassCode
+ static struct class_graph {
+ const char *name;
+ sipWrapperType **type;
+ int yes, no;
+ } graph[] = {
+ {sipName_QServerSocket, &sipClass_QServerSocket, -1, 1},
+ {sipName_QSocket, &sipClass_QSocket, -1, 2},
+ {sipName_QFtp, &sipClass_QFtp, -1, 3},
+ {sipName_QLocalFs, &sipClass_QLocalFs, -1, 4},
+#if QT_VERSION >= 0x030000
+ {sipName_QHttp, &sipClass_QHttp, -1, 5},
+#else
+ {NULL, NULL, -1, 5},
+#endif
+ {sipName_QDns, &sipClass_QDns, -1, -1},
+ };
+
+ int i = 0;
+
+ sipClass = NULL;
+
+ do
+ {
+ struct class_graph *cg = &graph[i];
+
+ if (cg->name != NULL && sipCpp->inherits(cg->name))
+ {
+ sipClass = *cg->type;
+ i = cg->yes;
+ }
+ else
+ i = cg->no;
+ }
+ while (i >= 0);
+%End
+
+ State state() const;
+
+ int socket() const;
+ virtual void setSocket(int);
+
+%If (Qt_3_0_0 -)
+ QSocketDevice *socketDevice();
+ virtual void setSocketDevice(QSocketDevice *);
+%End
+
+%If (Qt_DNS)
+ virtual void connectToHost(const QString &,Q_UINT16) /ReleaseGIL/;
+%End
+ QString peerName() const;
+
+ bool open(int) /ReleaseGIL/;
+ void close() /ReleaseGIL/;
+ void flush() /ReleaseGIL/;
+%If (Qt_3_0_0 -)
+ Offset size() const;
+ Offset at() const;
+ bool at(Offset);
+%End
+%If (- Qt_3_0_0)
+ uint size() const;
+ int at() const;
+ bool at(int);
+%End
+ bool atEnd() const;
+
+%If (Qt_3_0_0 -)
+ Q_ULONG bytesAvailable() const;
+ Q_ULONG waitForMore(int) const /ReleaseGIL/;
+ //Q_ULONG waitForMore(int,bool *) const /ReleaseGIL/;
+ Q_ULONG bytesToWrite() const;
+%End
+%If (- Qt_3_0_0)
+ int bytesAvailable() const;
+ int waitForMore(int) const /ReleaseGIL/;
+ int bytesToWrite() const;
+%End
+%If (Qt_3_1_0 -)
+ void clearPendingData();
+%End
+
+%If (- Qt_3_0_0)
+ SIP_PYOBJECT readBlock(uint) /ReleaseGIL/ [int (char *,uint)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ int actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipSelfWasArg ? sipCpp->QSocket::readBlock(buf, a0) : sipCpp->readBlock(buf, a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ sipFree((ANY *)buf);
+
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else
+ {
+ sipRes = PyString_FromStringAndSize(buf,actlen);
+
+ sipFree((ANY *)buf);
+
+ if (sipRes == NULL)
+ sipIsErr = 1;
+ }
+ }
+%End
+
+ int writeBlock(const char * /Array/,uint /ArraySize/) /ReleaseGIL/;
+
+ SIP_PYOBJECT readLine(uint) /ReleaseGIL/ [int (char *,uint)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ int actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipCpp -> readLine(buf,a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ sipFree((ANY *)buf);
+
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else
+ {
+ sipRes = PyString_FromStringAndSize(buf,actlen);
+
+ sipFree((ANY *)buf);
+
+ if (sipRes == NULL)
+ sipIsErr = 1;
+ }
+ }
+%End
+%End
+%If (Qt_3_0_0 -)
+ SIP_PYOBJECT readBlock(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Q_LONG actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipSelfWasArg ? sipCpp->QSocket::readBlock(buf, a0) : sipCpp->readBlock(buf, a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ sipFree((ANY *)buf);
+
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else
+ {
+ sipRes = PyString_FromStringAndSize(buf,actlen);
+
+ sipFree((ANY *)buf);
+
+ if (sipRes == NULL)
+ sipIsErr = 1;
+ }
+ }
+%End
+
+ Q_LONG writeBlock(const char * /Array/,
+ Q_ULONG /ArraySize/) /ReleaseGIL/;
+
+ SIP_PYOBJECT readLine(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Q_LONG actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipCpp -> readLine(buf,a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ sipFree((ANY *)buf);
+
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else
+ {
+ sipRes = PyString_FromStringAndSize(buf,actlen);
+
+ sipFree((ANY *)buf);
+
+ if (sipRes == NULL)
+ sipIsErr = 1;
+ }
+ }
+%End
+%End
+
+ int getch() /ReleaseGIL/;
+ int putch(int) /ReleaseGIL/;
+ int ungetch(int);
+
+ bool canReadLine() const;
+ virtual QString readLine() /ReleaseGIL/;
+
+ Q_UINT16 port() const;
+ Q_UINT16 peerPort() const;
+ QHostAddress address() const;
+ QHostAddress peerAddress() const;
+
+%If (Qt_3_2_0 -)
+ void setReadBufferSize(Q_ULONG);
+ Q_ULONG readBufferSize() const;
+%End
+
+signals:
+ void hostFound();
+ void connected();
+ void connectionClosed();
+ void delayedCloseFinished();
+ void readyRead();
+ void bytesWritten(int);
+ void error(int);
+
+protected:
+%If (- Qt_3_0_0)
+ QSocketDevice *socketDevice();
+%End
+
+private:
+ QSocket(const QSocket &);
+};
+
+%End
diff --git a/sip/qtnetwork/qsocketdevice.sip b/sip/qtnetwork/qsocketdevice.sip
new file mode 100644
index 0000000..3b48096
--- /dev/null
+++ b/sip/qtnetwork/qsocketdevice.sip
@@ -0,0 +1,224 @@
+// This is the SIP interface definition for QSocketDevice.
+//
+// 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>QSocketDevice (Qt v2.2+)</Title>
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef>
+ <ParamDef>char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a single <Literal>len</Literal> parameter. The
+<Literal>data</Literal> is returned if there was no error, otherwise
+<Literal>None</Literal> is returned.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>writeBlock</Function></FuncDef>
+ <ParamDef>const char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+<Literal>len</Literal> is derived from <Literal>data</Literal> and not passed
+as a parameter.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_2_0 -)
+
+class QSocketDevice : QIODevice
+{
+%TypeHeaderCode
+#include <qsocketdevice.h>
+%End
+
+public:
+ enum Type {
+ Stream,
+ Datagram
+ };
+
+%If (Qt_3_3_0 -)
+ enum Protocol {
+ IPv4,
+ IPv6,
+ Unknown
+ };
+%End
+
+ QSocketDevice(Type = Stream);
+%If (Qt_3_3_0 -)
+ QSocketDevice(Type,Protocol,int);
+%End
+ QSocketDevice(int,Type);
+
+ bool isValid() const;
+ Type type() const;
+%If (Qt_3_3_0 -)
+ Protocol protocol() const;
+%End
+
+ int socket() const;
+ virtual void setSocket(int,Type);
+
+ bool open(int) /ReleaseGIL/;
+ void close();
+ void flush() /ReleaseGIL/;
+
+%If (- Qt_3_0_0)
+ uint size() const;
+ int at() const;
+ bool at(int);
+%End
+%If (Qt_3_0_0 -)
+ Offset size() const;
+ Offset at() const;
+ bool at(Offset);
+%End
+ bool atEnd() const;
+
+ bool blocking() const;
+ virtual void setBlocking(bool);
+
+ bool addressReusable() const;
+ virtual void setAddressReusable(bool);
+
+ int receiveBufferSize() const;
+ virtual void setReceiveBufferSize(uint);
+ int sendBufferSize() const;
+ virtual void setSendBufferSize(uint);
+
+ virtual bool connect(const QHostAddress &,Q_UINT16);
+
+ virtual bool bind(const QHostAddress &,Q_UINT16);
+ virtual bool listen(int);
+ virtual int accept();
+
+%If (- Qt_3_0_0)
+ int bytesAvailable() const;
+ int waitForMore(int) const /ReleaseGIL/;
+%End
+%If (Qt_3_0_0 -)
+ Q_LONG bytesAvailable() const;
+ Q_LONG waitForMore(int) const /ReleaseGIL/;
+%End
+
+%If (- Qt_3_0_0)
+ SIP_PYOBJECT readBlock(uint) /ReleaseGIL/ [int (char *,uint)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ int actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipSelfWasArg ? sipCpp->QSocketDevice::readBlock(buf, a0) : sipCpp->readBlock(buf, a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL)
+ sipIsErr = 1;
+
+ sipFree((ANY *)buf);
+ }
+%End
+
+ int writeBlock(const char * /Array/,uint /ArraySize/) /ReleaseGIL/;
+ virtual int writeBlock(const char * /Array/,uint /ArraySize/,
+ const QHostAddress &,Q_UINT16) /ReleaseGIL/;
+%End
+%If (Qt_3_0_0 -)
+ SIP_PYOBJECT readBlock(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)];
+%MethodCode
+ char *buf;
+
+ if ((buf = (char *)sipMalloc(a0)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ Q_LONG actlen;
+
+ Py_BEGIN_ALLOW_THREADS
+ actlen = sipSelfWasArg ? sipCpp->QSocketDevice::readBlock(buf, a0) : sipCpp->readBlock(buf, a0);
+ Py_END_ALLOW_THREADS
+
+ if (actlen < 0)
+ {
+ Py_INCREF(Py_None);
+ sipRes = Py_None;
+ }
+ else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL)
+ sipIsErr = 1;
+
+ sipFree((ANY *)buf);
+ }
+%End
+
+
+ Q_LONG writeBlock(const char * /Array/,
+ Q_ULONG /ArraySize/) /ReleaseGIL/;
+ virtual Q_LONG writeBlock(const char * /Array/,Q_ULONG /ArraySize/,
+ const QHostAddress &,Q_UINT16) /ReleaseGIL/;
+%End
+
+ int getch();
+ int putch(int);
+ int ungetch(int);
+
+ Q_UINT16 port() const;
+ Q_UINT16 peerPort() const;
+ QHostAddress address() const;
+ QHostAddress peerAddress() const;
+
+ enum Error {
+ NoError,
+ AlreadyBound,
+ Inaccessible,
+ NoResources,
+ Bug,
+ Impossible,
+ NoFiles,
+ ConnectionRefused,
+ NetworkFailure,
+ UnknownError
+ };
+
+ Error error() const;
+
+protected:
+ void setError(Error);
+
+private:
+ QSocketDevice(const QSocketDevice &);
+};
+
+%End
diff --git a/sip/qtnetwork/qtnetworkmod.sip b/sip/qtnetwork/qtnetworkmod.sip
new file mode 100644
index 0000000..ca580d7
--- /dev/null
+++ b/sip/qtnetwork/qtnetworkmod.sip
@@ -0,0 +1,78 @@
+// This is the SIP interface definition for the qtnetwork module of PyQt.
+//
+// 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.
+
+
+%Module qtnetwork 1
+
+%Import qt/qtmod.sip
+
+%Include copying.sip
+
+
+%Include qdns.sip
+%Include qhostaddress.sip
+%Include qftp.sip
+%Include qhttp.sip
+%Include qlocalfs.sip
+%Include qnetwork.sip
+%Include qserversocket.sip
+%Include qsocket.sip
+%Include qsocketdevice.sip
+
+
+// The build file template.
+
+%Makefile qtnetwork.pro.in
+# The project file for the qtnetwork module.
+#
+# 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.
+
+
+TEMPLATE = lib
+TARGET = @BLX_TARGET_LIB@
+DESTDIR = @PYQT_MODDIR@
+CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@
+INCLUDEPATH = @BLX_INCLUDEPATH@
+DEFINES = @BLX_DEFINES@
+LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@
+macx:QMAKE_LFLAGS += -framework Python
+
+SOURCES = $B
+
+HEADERS = $H
+%End
diff --git a/sip/qtpe/copying.sip b/sip/qtpe/copying.sip
new file mode 100644
index 0000000..463904b
--- /dev/null
+++ b/sip/qtpe/copying.sip
@@ -0,0 +1,51 @@
+// This is the SIP file defining the PyQt license.
+//
+// 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.
+
+
+%Copying
+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.
+%End
+
+
+%OptionalInclude pyqt-internal.sip
+%OptionalInclude pyqt-gpl.sip
+%OptionalInclude pyqt-commercial.sip
+%OptionalInclude pyqt-edu.sip
+%OptionalInclude pyqt-eval.sip
+%OptionalInclude pyqt-nc.sip
+%OptionalInclude pyqt-tkc.sip
diff --git a/sip/qtpe/qpeapplication.sip b/sip/qtpe/qpeapplication.sip
new file mode 100644
index 0000000..f71240e
--- /dev/null
+++ b/sip/qtpe/qpeapplication.sip
@@ -0,0 +1,223 @@
+// This is the SIP interface definition for QPEApplication.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+class QPEApplication : QApplication
+{
+%TypeHeaderCode
+#include <qpe/qpeapplication.h>
+#include <qwidgetlist.h>
+%End
+
+public:
+ QPEApplication(SIP_PYLIST,Type=GuiClient) [(int &,char **,Type=GuiClient)];
+%MethodCode
+ // The Python interface is a list of argument strings that is
+ // modified.
+
+ int argc;
+ char **argv;
+
+ // Convert the list.
+ if ((argv = pyArgvToC(a0,&argc)) == NULL)
+ sipIsErr = 1;
+ else
+ {
+ // Create it now the arguments are right.
+ int nargc = argc;
+
+ Py_BEGIN_ALLOW_THREADS
+ sipCpp = new sipQPEApplication(nargc,argv,(QApplication::Type)a1);
+ Py_END_ALLOW_THREADS
+
+ // Now modify the original list.
+ updatePyArgv(a0,argc,argv);
+ }
+%End
+
+ ~QPEApplication();
+%MethodCode
+ // See the comments in ~QApplication() to understand what's
+ // being done here.
+
+ QWidgetList *tlw = QApplication::topLevelWidgets();
+ QWidgetListIt it(*tlw);
+ QWidget *w;
+
+ while ((w = it.current()) != 0)
+ {
+ PyObject *sw;
+
+ if ((sw = sipGetWrapper(w,sipClass_QWidget)) != NULL)
+ sipTransferTo(sw,NULL);
+
+ ++it;
+ }
+
+ delete tlw;
+%End
+
+%ConvertToSubClassCode
+ // The table of Python class objects indexed by their names. The table
+ // must be sorted by name.
+
+ static sipStringTypeClassMap map[] = {
+ {sipName_FileSelector, &sipClass_FileSelector},
+ {sipName_MenuButton, &sipClass_MenuButton},
+ {sipName_QPEApplication, &sipClass_QPEApplication},
+ {sipName_QPEMenuBar, &sipClass_QPEMenuBar},
+ {sipName_QPEToolBar, &sipClass_QPEToolBar},
+ };
+
+ sipClass = sipMapStringToClass(sipCpp -> className(),map,
+ sizeof (map)/sizeof (map[0]));
+%End
+
+ static QString qpeDir();
+ static QString documentDir();
+ void applyStyle();
+ static int defaultRotation();
+ static void setDefaultRotation(int);
+ static void grabKeyboard();
+ static void ungrabKeyboard();
+
+ enum StylusMode {
+ LeftOnly,
+ RightOnHold
+ };
+
+ static void setStylusOperation(QWidget *,StylusMode);
+ static StylusMode stylusOperation(QWidget *);
+
+ enum InputMethodHint {
+ Normal,
+ AlwaysOff,
+ AlwaysOn
+ };
+
+ enum screenSaverHint {
+ Disable,
+ DisableLightOff,
+ DisableSuspend,
+ Enable
+ };
+
+ static void setInputMethodHint(QWidget *,InputMethodHint);
+ static InputMethodHint inputMethodHint(QWidget *);
+
+ void showMainWidget(QWidget *,bool = 0);
+ void showMainDocumentWidget(QWidget *,bool = 0);
+
+ static void setKeepRunning();
+ bool keepRunning() const;
+
+ int exec() /PyName=exec_loop, ReleaseGIL,
+ PreHook=__pyQtPreEventLoopHook__,
+ PostHook=__pyQtPostEventLoopHook__/;
+
+signals:
+ void clientMoused();
+ void timeChanged();
+ void clockChanged(bool);
+ void volumeChanged(bool);
+ void appMessage(const QCString &,const QByteArray &);
+ void weekChanged(bool);
+ void dateFormatChanged(DateFormat);
+ void flush();
+ void reload();
+
+protected:
+// bool qwsEventFilter(QWSEvent *);
+// void internalSetStyle(const QString &);
+ void prepareForTermination(bool);
+ virtual void restart();
+ virtual void shutdown();
+ bool eventFilter(QObject *,QEvent *);
+ void timerEvent(QTimerEvent *);
+ bool keyboardGrabbed() const;
+ bool raiseAppropriateWindow();
+ virtual void tryQuit();
+
+
+%TypeCode
+#include <string.h>
+
+
+// Convert a Python argv list to a conventional C argc count and argv array.
+static char **pyArgvToC(PyObject *argvlist,int *argcp)
+{
+ int argc;
+ char **argv;
+
+ argc = PyList_Size(argvlist);
+
+ // Allocate space for two copies of the argument pointers, plus the
+ // terminating NULL.
+ if ((argv = (char **)sipMalloc(2 * (argc + 1) * sizeof (char *))) == NULL)
+ return NULL;
+
+ // Convert the list.
+ for (int a = 0; a < argc; ++a)
+ {
+ char *arg;
+
+ // Get the argument and allocate memory for it.
+ if ((arg = PyString_AsString(PyList_GetItem(argvlist,a))) == NULL ||
+ (argv[a] = (char *)sipMalloc(strlen(arg) + 1)) == NULL)
+ return NULL;
+
+ // Copy the argument and save a pointer to it.
+ strcpy(argv[a],arg);
+ argv[a + argc + 1] = argv[a];
+ }
+
+ argv[argc + argc + 1] = argv[argc] = NULL;
+
+ *argcp = argc;
+
+ return argv;
+}
+
+
+// Remove arguments from the Python argv list that have been removed from the
+// C argv array.
+static void updatePyArgv(PyObject *argvlist,int argc,char **argv)
+{
+ for (int a = 0, na = 0; a < argc; ++a)
+ {
+ // See if it was removed.
+ if (argv[na] == argv[a + argc + 1])
+ ++na;
+ else
+ PyList_SetSlice(argvlist,na,na + 1,NULL);
+ }
+}
+%End
+
+};
+
+%End
diff --git a/sip/qtpe/qpeapplnk.sip b/sip/qtpe/qpeapplnk.sip
new file mode 100644
index 0000000..f817ae5
--- /dev/null
+++ b/sip/qtpe/qpeapplnk.sip
@@ -0,0 +1,157 @@
+// This is the SIP interface definition for AppLnk, AppLnkSet, DocLnk and
+// DocLnkSet.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+class AppLnk
+{
+%TypeHeaderCode
+#include <qpe/applnk.h>
+%End
+
+public:
+ AppLnk();
+ AppLnk(const QString &);
+ AppLnk(const AppLnk &);
+
+ bool isValid() const;
+
+ static void setSmallIconSize(int);
+ static void setBigIconSize(int);
+ static int smallIconSize();
+ static int bigIconSize();
+
+ QString name() const;
+ const QPixmap& pixmap() const;
+ const QPixmap& bigPixmap() const;
+ virtual QString exec() const /PyName=exec_property/;
+ QString type() const;
+ QString rotation() const;
+ QString comment() const;
+ QString file() const;
+ QString linkFile() const;
+ QStringList mimeTypes() const;
+ QStringList mimeTypeIcons() const;
+ const QArray<int> &categories() const;
+ int id() const;
+
+ bool fileKnown() const;
+ bool linkFileKnown() const;
+
+ void execute() const /ReleaseGIL/;
+ void execute(const QStringList &) const /ReleaseGIL/;
+ void removeFiles();
+ void removeLinkFile();
+
+ void setName(const QString &);
+ void setExec(const QString &);
+ void setFile(const QString &);
+ void setLinkFile(const QString &);
+ void setComment(const QString &);
+ void setType(const QString &);
+ void setIcon(const QString &);
+ void setCategories(const QArray<int> &);
+ bool writeLink() const;
+
+ void setProperty(const QString &,const QString &);
+ QString property(const QString &) const;
+
+protected:
+ virtual void invoke(const QStringList &) const;
+ bool ensureLinkExists() const;
+// Undocumented and missing on the Zaurus.
+// void storeLink() const;
+};
+
+
+class DocLnk : AppLnk
+{
+%TypeHeaderCode
+#include <qpe/applnk.h>
+%End
+
+public:
+ DocLnk();
+ DocLnk(const DocLnk &);
+ DocLnk(const QString &);
+ DocLnk(const QString &,bool);
+
+ QString exec() const /PyName=exec_property/;
+
+protected:
+ void invoke(const QStringList &) const;
+};
+
+
+class AppLnkSet
+{
+%TypeHeaderCode
+#include <qpe/applnk.h>
+%End
+
+public:
+ AppLnkSet();
+ AppLnkSet(const QString &);
+
+ const AppLnk *find(int) const;
+ const AppLnk *findExec(const QString &) const;
+
+ QStringList types() const;
+ QString typeName(const QString &) const;
+ QPixmap typePixmap(const QString &) const;
+ QPixmap typeBigPixmap(const QString &) const;
+
+ void add(AppLnk *);
+ bool remove(AppLnk *);
+
+ const QList<AppLnk> &children() const;
+ void detachChildren();
+
+private:
+ AppLnkSet(const AppLnkSet &);
+};
+
+
+class DocLnkSet : AppLnkSet
+{
+%TypeHeaderCode
+#include <qpe/applnk.h>
+%End
+
+public:
+ DocLnkSet();
+ DocLnkSet(const QString &,const QString & = QString::null);
+
+ const QList<DocLnk> &children() const;
+
+ void appendFrom(DocLnkSet &);
+
+private:
+ DocLnkSet(const DocLnkSet &);
+};
+
+%End
diff --git a/sip/qtpe/qpeconfig.sip b/sip/qtpe/qpeconfig.sip
new file mode 100644
index 0000000..a8f78d7
--- /dev/null
+++ b/sip/qtpe/qpeconfig.sip
@@ -0,0 +1,78 @@
+// This is the SIP interface definition for Config.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+class Config
+{
+%TypeHeaderCode
+#include <qpe/config.h>
+%End
+
+public:
+ typedef QMap<QString,QString> ConfigGroup;
+
+ enum Domain {
+ File,
+ User
+ };
+
+ Config(const QString &,Domain = User);
+
+ bool isValid() const;
+ bool hasKey(const QString &) const;
+
+ void setGroup(const QString &);
+// void writeEntry(const QString &,const char *);
+ void writeEntry(const QString &,const QString &);
+ void writeEntryCrypt(const QString &,const QString &);
+ void writeEntry(const QString &,int);
+// void writeEntry(const QString &,bool);
+ void writeEntry(const QString &,const QStringList &,const QChar &);
+ void removeEntry(const QString &);
+
+ QString readEntry(const QString &,
+ const QString & = QString::null) const;
+ QString readEntryCrypt(const QString &,
+ const QString & = QString::null) const;
+ QString readEntryDirect(const QString &,
+ const QString & = QString::null) const;
+ int readNumEntry(const QString &,int = -1) const;
+ bool readBoolEntry(const QString &,bool = 0) const;
+ QStringList readListEntry(const QString &,const QChar &) const;
+
+ void clearGroup();
+
+ void write(const QString & = QString::null);
+
+protected:
+// void read();
+// bool parse(const QString &);
+
+// static QString configFilename(const QString &,Domain);
+};
+
+%End
diff --git a/sip/qtpe/qpefilemanager.sip b/sip/qtpe/qpefilemanager.sip
new file mode 100644
index 0000000..d917980
--- /dev/null
+++ b/sip/qtpe/qpefilemanager.sip
@@ -0,0 +1,53 @@
+// This is the SIP interface definition for FileManager.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+class FileManager
+{
+%TypeHeaderCode
+#include <qpe/filemanager.h>
+%End
+
+public:
+ FileManager();
+
+ bool saveFile(const DocLnk &,const QByteArray &);
+ bool saveFile(const DocLnk &,const QString &);
+ bool loadFile(const DocLnk &,QByteArray &);
+ bool loadFile(const DocLnk &,QString &);
+ bool copyFile(const AppLnk &,const AppLnk &);
+
+ QIODevice *openFile(const DocLnk &) /ReleaseGIL/;
+ QIODevice *saveFile(const DocLnk &) /ReleaseGIL/;
+
+ bool exists(const DocLnk &);
+
+protected:
+ bool ensurePathExists(const QString &);
+};
+
+%End
diff --git a/sip/qtpe/qpefileselector.sip b/sip/qtpe/qpefileselector.sip
new file mode 100644
index 0000000..cfea063
--- /dev/null
+++ b/sip/qtpe/qpefileselector.sip
@@ -0,0 +1,69 @@
+// This is the SIP interface definition for FileSelector and FileSelectorItem.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+class FileSelectorItem : QListViewItem
+{
+%TypeHeaderCode
+#include <qpe/fileselector.h>
+%End
+
+public:
+ FileSelectorItem(QListView * /TransferThis/,const DocLnk &);
+
+ DocLnk file() const;
+};
+
+
+class FileSelector : QVBox
+{
+%TypeHeaderCode
+#include <qpe/fileselector.h>
+%End
+
+public:
+ FileSelector(const QString &,QWidget * /TransferThis/,const char *,
+ bool = 1,bool = 1);
+
+ void setNewVisible(bool);
+ void setCloseVisible(bool);
+ void reread();
+ int fileCount();
+%If (- QtPE_1_6_0)
+ const DocLnk *selected();
+%End
+%If (QtPE_1_6_0 -)
+ DocLnk selectedDocument();
+%End
+
+signals:
+ void fileSelected(const DocLnk &);
+ void newSelected(const DocLnk &);
+ void closeMe();
+};
+
+%End
diff --git a/sip/qtpe/qpefontdatabase.sip b/sip/qtpe/qpefontdatabase.sip
new file mode 100644
index 0000000..2276b5b
--- /dev/null
+++ b/sip/qtpe/qpefontdatabase.sip
@@ -0,0 +1,67 @@
+// This is the SIP interface definition for FontDatabase.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+%If (Qt_FONTDATABASE)
+
+class FontDatabase : QFontDatabase
+{
+%TypeHeaderCode
+#include <qpe/fontdatabase.h>
+%End
+
+public:
+ FontDatabase();
+
+ QStringList families() const;
+
+ static void loadRenderers();
+};
+
+%End
+
+
+%If (!Qt_FONTDATABASE)
+
+class FontDatabase
+{
+%TypeHeaderCode
+#include <qpe/fontdatabase.h>
+%End
+
+public:
+ FontDatabase();
+
+ QStringList families() const;
+ static QValueList<int> standardSizes();
+
+ static void loadRenderers();
+};
+
+%End
+
+%End
diff --git a/sip/qtpe/qpeglobal.sip b/sip/qtpe/qpeglobal.sip
new file mode 100644
index 0000000..f5b4482
--- /dev/null
+++ b/sip/qtpe/qpeglobal.sip
@@ -0,0 +1,83 @@
+// This is the SIP interface definition for Global.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+class Global
+{
+%TypeHeaderCode
+#include <qpe/global.h>
+%End
+
+public:
+ Global();
+
+ static const QDawg &fixedDawg();
+ static const QDawg &addedDawg();
+ static const QDawg &dawg(const QString &);
+
+ static void addWords(const QStringList &);
+ static void addWords(const QString &,const QStringList &);
+
+ static void createDocDir();
+
+ static void findDocuments(DocLnkSet *,const QString & = QString::null);
+
+ static QString applicationFileName(const QString &,const QString &);
+
+// struct Command {
+// const char *file;
+// QWidget *(*func)(bool);
+// bool maximized;
+// bool documentary;
+// };
+
+// static void setBuiltinCommands(Command *);
+
+%If (- QtPE_1_6_0)
+ static void invoke(const QString &);
+%End
+ static void execute(const QString &,const QString & = QString::null) /ReleaseGIL/;
+ static void setDocument(QWidget *,const QString &);
+ static bool terminateBuiltin(const QString &);
+ static void terminate(const AppLnk *);
+
+ static bool isBuiltinCommand(const QString &);
+
+ static void applyStyle();
+ static void statusMessage(const QString &);
+ static QWidget *shutdown(bool = 0);
+ static QWidget *restart(bool = 0);
+ static void hideInputMethod();
+ static void showInputMethod();
+
+ static void writeHWClock();
+
+ static QString shellQuote(const QString &);
+ static QString stringQuote(const QString &);
+};
+
+%End
diff --git a/sip/qtpe/qpemenubar.sip b/sip/qtpe/qpemenubar.sip
new file mode 100644
index 0000000..4164843
--- /dev/null
+++ b/sip/qtpe/qpemenubar.sip
@@ -0,0 +1,42 @@
+// This is the SIP interface definition for QPEMenuBar.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+class QPEMenuBar : QMenuBar
+{
+%TypeHeaderCode
+#include <qpe/qpemenubar.h>
+%End
+
+public:
+ QPEMenuBar(QWidget * /TransferThis/ = 0,const char * = 0);
+
+protected:
+ virtual void keyPressEvent(QKeyEvent *);
+};
+
+%End
diff --git a/sip/qtpe/qpemenubutton.sip b/sip/qtpe/qpemenubutton.sip
new file mode 100644
index 0000000..ff3a729
--- /dev/null
+++ b/sip/qtpe/qpemenubutton.sip
@@ -0,0 +1,61 @@
+// This is the SIP interface definition for MenuButton.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+class MenuButton : QPushButton
+{
+%TypeHeaderCode
+#include <qpe/menubutton.h>
+%End
+
+public:
+ MenuButton(QWidget * /TransferThis/,const char * = 0);
+ MenuButton(const QStringList &,QWidget * /TransferThis/,
+ const char * = 0);
+
+ void clear();
+
+ int currentItem() const;
+ QString currentText() const;
+
+ void insertItems(const QStringList &);
+ void insertItem(const QIconSet &,const QString & = QString::null);
+ void insertItem(const QString &);
+ void insertSeparator();
+
+ void setLabel(const QString &);
+
+signals:
+ void selected(int);
+ void selected(const QString &);
+
+public slots:
+ void select(int);
+ void select(const QString &);
+};
+
+%End
diff --git a/sip/qtpe/qpeqcopenvelope.sip b/sip/qtpe/qpeqcopenvelope.sip
new file mode 100644
index 0000000..9bbff30
--- /dev/null
+++ b/sip/qtpe/qpeqcopenvelope.sip
@@ -0,0 +1,39 @@
+// This is the SIP interface definition for QCopEnvelope.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+class QCopEnvelope : QDataStream
+{
+%TypeHeaderCode
+#include <qpe/qcopenvelope_qws.h>
+%End
+
+public:
+ QCopEnvelope(const QCString &,const QCString &);
+};
+
+%End
diff --git a/sip/qtpe/qpeqdawg.sip b/sip/qtpe/qpeqdawg.sip
new file mode 100644
index 0000000..f04d642
--- /dev/null
+++ b/sip/qtpe/qpeqdawg.sip
@@ -0,0 +1,65 @@
+// This is the SIP interface definition for QDawg.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+class QDawg
+{
+%TypeHeaderCode
+#include <qpe/qdawg.h>
+%End
+
+public:
+ QDawg();
+
+ bool readFile(const QString &) /ReleaseGIL/;
+ bool read(QIODevice *) /ReleaseGIL/;
+ bool write(QIODevice *) const /ReleaseGIL/;
+ bool createFromWords(QIODevice *);
+ void createFromWords(const QStringList &);
+ QStringList allWords() const;
+
+ bool contains(const QString &) const;
+ int countWords() const;
+
+ class Node {
+ public:
+ QChar letter() const;
+ bool isWord() const;
+ bool isLast() const;
+ const QDawg::Node *next() const;
+ const QDawg::Node *jump() const;
+
+ private:
+ Node();
+ };
+
+ const QDawg::Node *root() const;
+
+ void dump() const;
+};
+
+%End
diff --git a/sip/qtpe/qperesource.sip b/sip/qtpe/qperesource.sip
new file mode 100644
index 0000000..de094b0
--- /dev/null
+++ b/sip/qtpe/qperesource.sip
@@ -0,0 +1,50 @@
+// This is the SIP interface definition for Resource.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+class Resource
+{
+%TypeHeaderCode
+#include <qpe/resource.h>
+%End
+
+public:
+ Resource();
+
+ static QImage loadImage(const QString &);
+
+ static QPixmap loadPixmap(const QString &);
+ static QBitmap loadBitmap(const QString &);
+ static QString findPixmap(const QString &);
+
+ static QIconSet loadIconSet(const QString &);
+
+ static QString findSound(const QString &);
+ static QStringList allSounds();
+};
+
+%End
diff --git a/sip/qtpe/qpetimestring.sip b/sip/qtpe/qpetimestring.sip
new file mode 100644
index 0000000..4df6a4f
--- /dev/null
+++ b/sip/qtpe/qpetimestring.sip
@@ -0,0 +1,71 @@
+// This is the SIP interface definition for DateFormat.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+class DateFormat
+{
+%TypeHeaderCode
+#include <qpe/timestring.h>
+%End
+
+public:
+ enum Order {
+ DayMonthYear,
+ MonthDayYear,
+ YearMonthDay
+ };
+
+ DateFormat(QChar = '/',Order = MonthDayYear);
+ DateFormat(QChar,Order,Order);
+ DateFormat(const DateFormat &);
+
+ enum Verbosity {
+ shortNumber,
+ longNumber,
+ padNumber,
+ shortWord,
+ longWord,
+ showWeekDay
+ };
+
+ QString toNumberString() const;
+ QString toWordString() const;
+
+ QString numberDate(const QDate &,int = 0) const;
+ QString wordDate(const QDate &,int = 0) const;
+
+%If (Qt_DATASTREAM)
+ void load(QDataStream &);
+ void save(QDataStream &) const;
+%End
+
+ QChar separator() const;
+ Order shortOrder() const;
+ Order longOrder() const;
+};
+
+%End
diff --git a/sip/qtpe/qpetoolbar.sip b/sip/qtpe/qpetoolbar.sip
new file mode 100644
index 0000000..1d503ea
--- /dev/null
+++ b/sip/qtpe/qpetoolbar.sip
@@ -0,0 +1,42 @@
+// This is the SIP interface definition for QPEToolBar.
+//
+// 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.
+
+
+// The documentation is in the main documentation file because SIP isn't clever
+// enough to handle the resulting %Timeline complexity.
+
+
+%If (WS_QWS)
+
+class QPEToolBar : QToolBar
+{
+%TypeHeaderCode
+#include <qpe/qpetoolbar.h>
+%End
+
+public:
+ QPEToolBar(QMainWindow * /TransferThis/ = 0,const char * = 0);
+
+protected:
+ virtual void childEvent(QChildEvent *);
+};
+
+%End
diff --git a/sip/qtpe/qtpemod.sip b/sip/qtpe/qtpemod.sip
new file mode 100644
index 0000000..3194a03
--- /dev/null
+++ b/sip/qtpe/qtpemod.sip
@@ -0,0 +1,94 @@
+// This is the SIP interface definition for the qtpe module of PyQt.
+//
+// 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.
+
+
+%Module qtpe 1
+
+%Import qt/qtmod.sip
+
+%Include copying.sip
+
+
+// QPE has it's own version numbering.
+%Timeline {QtPE_1_5_0 QtPE_1_6_0}
+
+
+%ModuleHeaderCode
+#include <qpe/version.h>
+%End
+
+const char *QPE_VERSION;
+
+
+%Include qpeapplication.sip
+%Include qpeapplnk.sip
+%Include qpeconfig.sip
+%Include qpefilemanager.sip
+%Include qpefileselector.sip
+%Include qpefontdatabase.sip
+%Include qpeglobal.sip
+%Include qpemenubar.sip
+%Include qpemenubutton.sip
+%Include qpeqcopenvelope.sip
+%Include qpeqdawg.sip
+%Include qperesource.sip
+%Include qpetimestring.sip
+%Include qpetoolbar.sip
+
+
+// The build file template.
+
+%Makefile qtpe.pro.in
+# The project file for the qtpe module.
+#
+# 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.
+
+
+TEMPLATE = lib
+TARGET = @BLX_TARGET_LIB@
+DESTDIR = @PYQT_MODDIR@
+CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@
+INCLUDEPATH = @BLX_INCLUDEPATH@
+DEFINES = @BLX_DEFINES@
+LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@ -lqpe
+macx:QMAKE_LFLAGS += -framework Python
+
+SOURCES = $B
+
+HEADERS = $H
+%End
diff --git a/sip/qtsql/copying.sip b/sip/qtsql/copying.sip
new file mode 100644
index 0000000..463904b
--- /dev/null
+++ b/sip/qtsql/copying.sip
@@ -0,0 +1,51 @@
+// This is the SIP file defining the PyQt license.
+//
+// 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.
+
+
+%Copying
+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.
+%End
+
+
+%OptionalInclude pyqt-internal.sip
+%OptionalInclude pyqt-gpl.sip
+%OptionalInclude pyqt-commercial.sip
+%OptionalInclude pyqt-edu.sip
+%OptionalInclude pyqt-eval.sip
+%OptionalInclude pyqt-nc.sip
+%OptionalInclude pyqt-tkc.sip
diff --git a/sip/qtsql/qdatabrowser.sip b/sip/qtsql/qdatabrowser.sip
new file mode 100644
index 0000000..ff2e4d8
--- /dev/null
+++ b/sip/qtsql/qdatabrowser.sip
@@ -0,0 +1,150 @@
+// This is the SIP interface definition for QDataBrowser.
+//
+// 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>QDataBrowser (Qt v3+)</Title>
+<FuncSynopsis>
+ <FuncDef>virtual void <Function>del</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>delOnCursor</Literal> in Python.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QDataBrowser : QWidget
+{
+%TypeHeaderCode
+#include <qdatabrowser.h>
+%End
+
+public:
+ QDataBrowser(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+
+ enum Boundary {
+ Unknown,
+ None,
+ BeforeBeginning,
+ Beginning,
+ End,
+ AfterEnd
+ };
+
+ Boundary boundary();
+ void setBoundaryChecking(bool);
+ bool boundaryChecking() const;
+
+ void setSort(const QSqlIndex &);
+ void setSort(const QStringList &);
+ QStringList sort() const;
+ void setFilter(const QString &);
+ QString filter() const;
+
+ virtual void setSqlCursor(QSqlCursor * /GetWrapper/,bool = 0);
+%MethodCode
+ Py_BEGIN_ALLOW_THREADS
+ sipSelfWasArg ? sipCpp->QDataBrowser::setSqlCursor(a0, a1) : sipCpp->setSqlCursor(a0, a1);
+ Py_END_ALLOW_THREADS
+
+ // Transfer ownership of the cursor if the autoDelete flag is
+ // set.
+ if (a0 && a1)
+ sipTransferTo(a0Wrapper,sipSelf);
+%End
+
+ QSqlCursor* sqlCursor() const;
+ virtual void setForm(QSqlForm *);
+ QSqlForm* form();
+
+ virtual void setConfirmEdits(bool);
+ virtual void setConfirmInsert(bool);
+ virtual void setConfirmUpdate(bool);
+ virtual void setConfirmDelete(bool);
+ virtual void setConfirmCancels(bool);
+ bool confirmEdits() const;
+ bool confirmInsert() const;
+ bool confirmUpdate() const;
+ bool confirmDelete() const;
+ bool confirmCancels() const;
+
+ virtual void setReadOnly(bool);
+ bool isReadOnly() const;
+ virtual void setAutoEdit(bool);
+ bool autoEdit() const;
+
+ virtual bool seek(int,bool = 0) /ReleaseGIL/;
+
+signals:
+ void firstRecordAvailable(bool);
+ void lastRecordAvailable(bool);
+ void nextRecordAvailable(bool);
+ void prevRecordAvailable(bool);
+
+ void currentChanged(const QSqlRecord *);
+ void primeInsert(QSqlRecord *);
+ void primeUpdate(QSqlRecord *);
+ void primeDelete(QSqlRecord *);
+ void beforeInsert(QSqlRecord *);
+ void beforeUpdate(QSqlRecord *);
+ void beforeDelete(QSqlRecord *);
+ void cursorChanged(QSqlCursor::Mode);
+
+public slots:
+ virtual void refresh();
+
+ virtual void insert() /ReleaseGIL/;
+ virtual void update() /ReleaseGIL/;
+ virtual void del() /PyName=delOnCursor, ReleaseGIL/;
+
+ virtual void first() /ReleaseGIL/;
+ virtual void last() /ReleaseGIL/;
+ virtual void next() /ReleaseGIL/;
+ virtual void prev() /ReleaseGIL/;
+
+ virtual void readFields();
+ virtual void writeFields();
+ virtual void clearValues();
+
+ void updateBoundary();
+
+protected:
+ virtual bool insertCurrent() /ReleaseGIL/;
+ virtual bool updateCurrent() /ReleaseGIL/;
+ virtual bool deleteCurrent() /ReleaseGIL/;
+ virtual bool currentEdited();
+
+ virtual QSql::Confirm confirmEdit(QSql::Op) /ReleaseGIL/;
+ virtual QSql::Confirm confirmCancel(QSql::Op) /ReleaseGIL/;
+
+ virtual void handleError(const QSqlError &) /ReleaseGIL/;
+
+private:
+%If (Qt_3_1_0 -)
+ QDataBrowser(const QDataBrowser &);
+%End
+};
+
+%End
diff --git a/sip/qtsql/qdatatable.sip b/sip/qtsql/qdatatable.sip
new file mode 100644
index 0000000..bcb0290
--- /dev/null
+++ b/sip/qtsql/qdatatable.sip
@@ -0,0 +1,201 @@
+// This is the SIP interface definition for QDataTable.
+//
+// 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>QDataTable (Qt v3+)</Title>
+<Para>
+<Literal>QDataTable</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QDataTable : QTable
+{
+%TypeHeaderCode
+#include <qdatatable.h>
+%End
+
+public:
+ QDataTable(QWidget* /TransferThis/ = 0,const char * = 0);
+ QDataTable(QSqlCursor *,bool = 0,QWidget * /TransferThis/ = 0,
+ const char * = 0);
+
+ virtual void addColumn(const QString &,const QString & = QString::null,
+ int = -1,const QIconSet & = QIconSet());
+ virtual void removeColumn(uint);
+ virtual void setColumn(uint,const QString &,
+ const QString & = QString::null,int = -1,
+ const QIconSet & = QIconSet());
+
+ QString nullText() const;
+ QString trueText() const;
+ QString falseText() const;
+ DateFormat dateFormat() const;
+ bool confirmEdits() const;
+ bool confirmInsert() const;
+ bool confirmUpdate() const;
+ bool confirmDelete() const;
+ bool confirmCancels() const;
+ bool autoDelete() const;
+ bool autoEdit() const;
+ QString filter() const;
+ QStringList sort() const;
+
+ virtual void setSqlCursor(QSqlCursor * /GetWrapper/ = 0,bool = 0,bool = 0);
+%MethodCode
+ Py_BEGIN_ALLOW_THREADS
+ sipSelfWasArg ? sipCpp->QDataTable::setSqlCursor(a0, a1, a2) : sipCpp->setSqlCursor(a0, a1, a2);
+ Py_END_ALLOW_THREADS
+
+ // Transfer ownership of the cursor if the autoDelete flag is
+ // set.
+ if (a0 && a2)
+ sipTransferTo(a0Wrapper,sipSelf);
+%End
+
+ QSqlCursor *sqlCursor() const;
+
+ virtual void setNullText(const QString &);
+ virtual void setTrueText(const QString &);
+ virtual void setFalseText(const QString &);
+ virtual void setDateFormat(const DateFormat);
+ virtual void setConfirmEdits(bool);
+ virtual void setConfirmInsert(bool);
+ virtual void setConfirmUpdate(bool);
+ virtual void setConfirmDelete(bool);
+ virtual void setConfirmCancels(bool);
+ virtual void setAutoDelete(bool);
+ virtual void setAutoEdit(bool);
+ virtual void setFilter(const QString &);
+ virtual void setSort(const QStringList &);
+ virtual void setSort(const QSqlIndex &);
+
+ enum Refresh {
+ RefreshData,
+ RefreshColumns,
+ RefreshAll
+ };
+
+ void refresh(Refresh);
+ void sortColumn(int,bool = 1,bool = 0);
+ QString text(int,int) const;
+ QVariant value(int,int) const;
+ QSqlRecord *currentRecord() const;
+
+ void installEditorFactory(QSqlEditorFactory * /Transfer/);
+ void installPropertyMap(QSqlPropertyMap * /Transfer/);
+
+ int numCols() const;
+ int numRows() const;
+ void setNumCols(int);
+ void setNumRows(int);
+ bool findBuffer(const QSqlIndex &,int = 0);
+
+%If (Qt_3_2_0 -)
+ void hideColumn(int);
+ void showColumn(int);
+%End
+
+signals:
+ void currentChanged(QSqlRecord *);
+ void primeInsert(QSqlRecord *);
+ void primeUpdate(QSqlRecord *);
+ void primeDelete(QSqlRecord *);
+ void beforeInsert(QSqlRecord *);
+ void beforeUpdate(QSqlRecord *);
+ void beforeDelete(QSqlRecord *);
+ void cursorChanged(QSql::Op);
+
+public slots:
+ virtual void find(const QString &,bool,bool);
+ virtual void sortAscending(int);
+ virtual void sortDescending(int);
+ virtual void refresh();
+ void setColumnWidth(int,int);
+%If (Qt_3_0_5 -)
+ void adjustColumn(int);
+ void setColumnStretchable(int,bool);
+%End
+%If (Qt_3_1_0 -)
+ void swapColumns(int,int,bool = 0);
+%End
+
+protected:
+ virtual bool insertCurrent();
+ virtual bool updateCurrent();
+ virtual bool deleteCurrent();
+
+ virtual QSql::Confirm confirmEdit(QSql::Op);
+ virtual QSql::Confirm confirmCancel(QSql::Op);
+
+ virtual void handleError(const QSqlError &);
+
+ virtual bool beginInsert();
+ virtual QWidget *beginUpdate(int,int,bool);
+
+ bool eventFilter(QObject *,QEvent *);
+%If (Qt_3_2_0 -)
+ void keyPressEvent(QKeyEvent *);
+%End
+ void resizeEvent(QResizeEvent *);
+ void contentsMousePressEvent(QMouseEvent *);
+ void contentsContextMenuEvent(QContextMenuEvent *);
+ void endEdit(int,int,bool,bool);
+
+ // We don't specify /Factory/ for this because the returned QWidget
+ // will always have a parent which will own it.
+ QWidget *createEditor(int,int,bool) const;
+
+ void activateNextCell();
+ int indexOf(uint) const;
+ void reset();
+ void setSize(QSqlCursor *);
+ void repaintCell(int,int);
+ void paintCell(QPainter *,int,int,const QRect &,bool,
+ const QColorGroup &);
+ virtual void paintField(QPainter *,const QSqlField *,const QRect &,
+ bool);
+%If (Qt_3_1_0 -)
+ void drawContents(QPainter *,int,int,int,int);
+%End
+ virtual int fieldAlignment(const QSqlField *);
+ void columnClicked(int);
+ void resizeData(int);
+
+ QTableItem *item(int,int) const;
+ void setItem(int,int,QTableItem *);
+ void clearCell(int,int);
+ void setPixmap(int,int,const QPixmap &);
+ void takeItem(QTableItem *);
+
+private:
+ QWidget *beginEdit(int,int,bool);
+
+%If (Qt_3_1_0 -)
+ QDataTable(const QDataTable &);
+%End
+};
+
+%End
diff --git a/sip/qtsql/qdataview.sip b/sip/qtsql/qdataview.sip
new file mode 100644
index 0000000..e6bb36e
--- /dev/null
+++ b/sip/qtsql/qdataview.sip
@@ -0,0 +1,60 @@
+// This is the SIP interface definition for QDataView.
+//
+// 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>QDataView (Qt v3+)</Title>
+<Para>
+<Literal>QDataView</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QDataView : QWidget
+{
+%TypeHeaderCode
+#include <qdataview.h>
+%End
+
+public:
+ QDataView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0);
+
+ virtual void setForm(QSqlForm *);
+ QSqlForm *form();
+ virtual void setRecord(QSqlRecord *);
+ QSqlRecord *record();
+
+public slots:
+ virtual void refresh(QSqlRecord *);
+ virtual void readFields();
+ virtual void writeFields();
+ virtual void clearValues();
+
+private:
+%If (Qt_3_1_0 -)
+ QDataView(const QDataView &);
+%End
+};
+
+%End
diff --git a/sip/qtsql/qeditorfactory.sip b/sip/qtsql/qeditorfactory.sip
new file mode 100644
index 0000000..49f932b
--- /dev/null
+++ b/sip/qtsql/qeditorfactory.sip
@@ -0,0 +1,55 @@
+// This is the SIP interface definition for QEditorFactory.
+//
+// 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>QEditorFactory (Qt v3+)</Title>
+<Para>
+<Literal>QEditorFactory</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QEditorFactory : QObject
+{
+%TypeHeaderCode
+#include <qeditorfactory.h>
+%End
+
+public:
+ QEditorFactory(QObject * /TransferThis/ = 0,const char * = 0);
+
+ virtual QWidget *createEditor(QWidget * /TransferThis/,
+ const QVariant &) /Factory/;
+
+ static QEditorFactory *defaultFactory();
+ static void installDefaultFactory(QEditorFactory * /Transfer/);
+
+private:
+%If (Qt_3_1_0 -)
+ QEditorFactory(const QEditorFactory &);
+%End
+};
+
+%End
diff --git a/sip/qtsql/qsql.sip b/sip/qtsql/qsql.sip
new file mode 100644
index 0000000..f2df075
--- /dev/null
+++ b/sip/qtsql/qsql.sip
@@ -0,0 +1,80 @@
+// This is the SIP interface definition for QSql.
+//
+// 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>QSql (Qt v3+)</Title>
+<Para>
+<Literal>QSql</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSql
+{
+%TypeHeaderCode
+#include <qsql.h>
+%End
+
+public:
+ QSql();
+
+ enum Op {
+ None,
+ Insert,
+ Update,
+ Delete
+ };
+
+ enum Location {
+ BeforeFirst,
+ AfterLast
+ };
+
+ enum Confirm {
+ Cancel,
+ No,
+ Yes
+ };
+
+%If (Qt_3_2_0 -)
+ enum ParameterType {
+ In,
+ Out,
+ InOut
+ };
+
+ enum TableType {
+ Tables,
+ SystemTables,
+ Views,
+ AllTables
+ };
+%End
+
+private:
+ QSql(const QSql &);
+};
+
+%End
diff --git a/sip/qtsql/qsqlcursor.sip b/sip/qtsql/qsqlcursor.sip
new file mode 100644
index 0000000..2e11c1b
--- /dev/null
+++ b/sip/qtsql/qsqlcursor.sip
@@ -0,0 +1,148 @@
+// This is the SIP interface definition for QSqlCursor.
+//
+// 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>QSqlCursor (Qt v3+)</Title>
+<FuncSynopsis>
+ <FuncDef>virtual int <Function>del</Function></FuncDef>
+ <ParamDef>bool <Parameter>invalidate</Parameter> = TRUE</ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>delRecords</Literal> in Python.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>virtual int <Function>del</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>filter</Parameter></ParamDef>
+ <ParamDef>bool <Parameter>invalidate</Parameter> = TRUE</ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>delRecords</Literal> in Python.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>exec</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>query</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>execQuery</Literal> in Python.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSqlCursor : QSqlRecord, QSqlQuery
+{
+%TypeHeaderCode
+#include <qsqlcursor.h>
+%End
+
+public:
+ QSqlCursor(const QString & = QString::null,bool = 1,QSqlDatabase * = 0);
+ QSqlCursor(const QSqlCursor &);
+
+ enum Mode {
+ ReadOnly,
+ Insert,
+ Update,
+ Delete,
+ Writable
+ };
+
+ QVariant value(int) const;
+ QVariant value(const QString &) const;
+%If (Qt_3_1_0 -)
+ void setValue(int,const QVariant &);
+ void setValue(const QString &,const QVariant &);
+%End
+ virtual QSqlIndex primaryIndex(bool = 1) const;
+ virtual QSqlIndex index(const QStringList &) const;
+ QSqlIndex index(const QString &) const;
+// QSqlIndex index(const char *) const;
+ virtual void setPrimaryIndex(const QSqlIndex &);
+
+ virtual void append(const QSqlFieldInfo &);
+ virtual void insert(int,const QSqlFieldInfo &);
+ void remove(int);
+ void clear();
+ void setGenerated(const QString &,bool);
+ void setGenerated(int,bool);
+
+ virtual QSqlRecord *editBuffer(bool = 0);
+ virtual QSqlRecord *primeInsert();
+ virtual QSqlRecord *primeUpdate();
+ virtual QSqlRecord *primeDelete();
+ virtual int insert(bool = 1) /ReleaseGIL/;
+ virtual int update(bool = 1) /ReleaseGIL/;
+ virtual int del(bool = 1) /PyName=delRecords, ReleaseGIL/;
+
+ virtual void setMode(int);
+ int mode() const;
+ virtual void setCalculated(const QString &,bool);
+ bool isCalculated(const QString &) const;
+ virtual void setTrimmed(const QString &,bool);
+ bool isTrimmed(const QString &) const;
+
+ bool isReadOnly() const;
+ bool canInsert() const;
+ bool canUpdate() const;
+ bool canDelete() const;
+
+ bool select() /ReleaseGIL/;
+ bool select(const QSqlIndex &) /ReleaseGIL/;
+ bool select(const QSqlIndex &,const QSqlIndex &) /ReleaseGIL/;
+ virtual bool select(const QString &,const QSqlIndex & = QSqlIndex()) /ReleaseGIL/;
+
+ virtual void setSort(const QSqlIndex &);
+ QSqlIndex sort() const;
+ virtual void setFilter(const QString &);
+ QString filter() const;
+ virtual void setName(const QString &,bool = 1);
+ QString name() const;
+ QString toString(const QString & = QString::null,
+ const QString & = ",") const;
+
+%If (Qt_3_1_0 -)
+ bool isNull(int) const;
+ bool isNull(const QString &) const;
+%End
+
+protected:
+ void afterSeek();
+ bool exec(const QString &) /PyName=execQuery, ReleaseGIL/;
+
+ virtual QVariant calculateField(const QString &);
+ virtual int update(const QString &,bool = 1);
+ virtual int del(const QString &,bool = 1) /PyName=delRecords, ReleaseGIL/;
+
+ virtual QString toString(const QString &,QSqlField *,
+ const QString &) const;
+ virtual QString toString(QSqlRecord *,const QString &,const QString &,
+ const QString &) const;
+ virtual QString toString(const QSqlIndex &,QSqlRecord *,
+ const QString &,const QString &,
+ const QString &) const;
+};
+
+%End
diff --git a/sip/qtsql/qsqldatabase.sip b/sip/qtsql/qsqldatabase.sip
new file mode 100644
index 0000000..510499f
--- /dev/null
+++ b/sip/qtsql/qsqldatabase.sip
@@ -0,0 +1,154 @@
+// This is the SIP interface definition for QSqlDatabase.
+//
+// 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>QSqlDatabase (Qt v3+)</Title>
+<FuncSynopsis>
+ <FuncDef>QSqlQuery <Function>exec</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>query</Parameter> = QString::null</ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>execStatement</Literal> in Python.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSqlDatabase : QObject
+{
+%TypeHeaderCode
+#include <qsqldatabase.h>
+%End
+
+public:
+%ConvertToSubClassCode
+ static struct class_graph {
+ const char *name;
+ sipWrapperType **type;
+ int yes, no;
+ } graph[] = {
+ {sipName_QSqlDriver, &sipClass_QSqlDriver, -1, 1},
+ {sipName_QEditorFactory, &sipClass_QEditorFactory, 7, 2},
+ {sipName_QSqlDatabase, &sipClass_QSqlDatabase, -1, 3},
+ {sipName_QSqlForm, &sipClass_QSqlForm, -1, 4},
+ {sipName_QDataView, &sipClass_QDataView, -1, 5},
+ {sipName_QDataTable, &sipClass_QDataTable, -1, 6},
+ {sipName_QDataBrowser, &sipClass_QDataBrowser, -1, -1},
+ {sipName_QSqlEditorFactory, &sipClass_QSqlEditorFactory, -1, -1},
+ };
+
+ int i = 0;
+
+ sipClass = NULL;
+
+ do
+ {
+ struct class_graph *cg = &graph[i];
+
+ if (cg->name != NULL && sipCpp->inherits(cg->name))
+ {
+ sipClass = *cg->type;
+ i = cg->yes;
+ }
+ else
+ i = cg->no;
+ }
+ while (i >= 0);
+%End
+
+ bool open() /ReleaseGIL/;
+ bool open(const QString &,const QString &) /ReleaseGIL/;
+ void close();
+ bool isOpen() const;
+ bool isOpenError() const;
+ QStringList tables() const;
+%If (Qt_3_2_0 -)
+ QStringList tables(QSql::TableType) const;
+%End
+ QSqlIndex primaryIndex(const QString &) const;
+ QSqlRecord record(const QString &) const;
+ QSqlRecord record(const QSqlQuery &) const;
+ QSqlRecordInfo recordInfo(const QString &) const;
+ QSqlRecordInfo recordInfo(const QSqlQuery &) const;
+ QSqlQuery exec(const QString & = QString::null) const /PyName=execStatement, ReleaseGIL/;
+ QSqlError lastError() const;
+
+ bool transaction();
+ bool commit();
+ bool rollback();
+
+ virtual void setDatabaseName(const QString &);
+ virtual void setUserName(const QString &);
+ virtual void setPassword(const QString &);
+ virtual void setHostName(const QString &);
+ virtual void setPort(int);
+%If (Qt_3_2_0 -)
+ void setConnectOptions(const QString & = QString::null);
+%End
+ QString databaseName() const;
+ QString userName() const;
+ QString password() const;
+ QString hostName() const;
+ QString driverName() const;
+ int port() const;
+%If (Qt_3_2_0 -)
+ QString connectOptions() const;
+%End
+
+ QSqlDriver *driver() const;
+
+ static QSqlDatabase *addDatabase(const QString &,
+ const QString & = QString(QSqlDatabase::defaultConnection));
+%If (Qt_3_2_0 -)
+ static QSqlDatabase *addDatabase(QSqlDriver *,
+ const QString & = QString(QSqlDatabase::defaultConnection));
+%End
+ static QSqlDatabase *database(const QString & = QString(QSqlDatabase::defaultConnection),bool = 1);
+ static void removeDatabase(const QString &);
+%If (Qt_3_2_0 -)
+ static void removeDatabase(QSqlDatabase *);
+%End
+ static bool contains(const QString & = QString(QSqlDatabase::defaultConnection));
+ static QStringList drivers();
+// static void registerSqlDriver(const QString &,
+// const QSqlDriverCreatorBase *);
+%If (Qt_3_2_0 -)
+ static bool isDriverAvailable(const QString &);
+%End
+
+protected:
+ QSqlDatabase(const QString &,const QString &,
+ QObject * /TransferThis/ = 0,const char * = 0);
+%If (Qt_3_2_0 -)
+ QSqlDatabase(QSqlDriver *,QObject * /TransferThis/ = 0,
+ const char * = 0);
+%End
+
+private:
+%If (Qt_3_1_0 -)
+ QSqlDatabase(const QSqlDatabase &);
+%End
+};
+
+%End
diff --git a/sip/qtsql/qsqldriver.sip b/sip/qtsql/qsqldriver.sip
new file mode 100644
index 0000000..3ebdaa9
--- /dev/null
+++ b/sip/qtsql/qsqldriver.sip
@@ -0,0 +1,93 @@
+// This is the SIP interface definition for QSqlDriver.
+//
+// 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>QSqlDriver (Qt v3+)</Title>
+<Para>
+<Literal>QSqlDriver</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSqlDriver : QObject
+{
+%TypeHeaderCode
+#include <qsqldriver.h>
+%End
+
+public:
+ enum DriverFeature {
+ Transactions,
+ QuerySize,
+ BLOB,
+%If (Qt_3_1_0 -)
+ Unicode,
+ PreparedQueries,
+ NamedPlaceholders,
+ PositionalPlaceholders
+%End
+ };
+
+ QSqlDriver(QObject * /TransferThis/ = 0,const char * = 0);
+
+ bool isOpen() const;
+ bool isOpenError() const;
+
+ virtual bool beginTransaction();
+ virtual bool commitTransaction();
+ virtual bool rollbackTransaction();
+ virtual QStringList tables(const QString &) const;
+ virtual QSqlIndex primaryIndex(const QString &) const;
+ virtual QSqlRecord record(const QString &) const;
+ virtual QSqlRecord record(const QSqlQuery &) const;
+ virtual QSqlRecordInfo recordInfo(const QString &) const;
+ virtual QSqlRecordInfo recordInfo(const QSqlQuery &) const;
+ virtual QString nullText() const;
+ virtual QString formatValue(const QSqlField *,bool = 0) const;
+ QSqlError lastError() const;
+
+ virtual bool hasFeature(DriverFeature) const = 0;
+ virtual bool open(const QString &,const QString & = QString::null,
+ const QString & = QString::null,
+ const QString & = QString::null,
+ int = -1) = 0 /ReleaseGIL/;
+ virtual void close() = 0;
+ virtual QSqlQuery createQuery() const = 0;
+
+%If (Qt_3_2_0 -)
+ bool open(const QString &,const QString &,const QString &,
+ const QString &,int,const QString &) /ReleaseGIL/;
+%End
+
+protected:
+ virtual void setOpen(bool);
+ virtual void setOpenError(bool);
+ virtual void setLastError(const QSqlError &);
+
+private:
+ QSqlDriver(const QSqlDriver &);
+};
+
+%End
diff --git a/sip/qtsql/qsqleditorfactory.sip b/sip/qtsql/qsqleditorfactory.sip
new file mode 100644
index 0000000..af93bd4
--- /dev/null
+++ b/sip/qtsql/qsqleditorfactory.sip
@@ -0,0 +1,57 @@
+// This is the SIP interface definition for QSqlEditorFactory.
+//
+// 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>QSqlEditorFactory (Qt v3+)</Title>
+<Para>
+<Literal>QSqlEditorFactory</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSqlEditorFactory : QEditorFactory
+{
+%TypeHeaderCode
+#include <qsqleditorfactory.h>
+%End
+
+public:
+ QSqlEditorFactory(QObject * /TransferThis/ = 0,const char * = 0);
+
+ virtual QWidget *createEditor(QWidget * /TransferThis/,
+ const QVariant &) /Factory/;
+ virtual QWidget *createEditor(QWidget * /TransferThis/,
+ const QSqlField *) /Factory/;
+
+ static QSqlEditorFactory *defaultFactory();
+ static void installDefaultFactory(QSqlEditorFactory * /Transfer/);
+
+private:
+%If (Qt_3_1_0 -)
+ QSqlEditorFactory(const QSqlEditorFactory &);
+%End
+};
+
+%End
diff --git a/sip/qtsql/qsqlerror.sip b/sip/qtsql/qsqlerror.sip
new file mode 100644
index 0000000..17f9504
--- /dev/null
+++ b/sip/qtsql/qsqlerror.sip
@@ -0,0 +1,68 @@
+// This is the SIP interface definition for QSqlError.
+//
+// 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>QSqlError (Qt v3+)</Title>
+<Para>
+<Literal>QSqlError</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSqlError
+{
+%TypeHeaderCode
+#include <qsqlerror.h>
+%End
+
+public:
+ enum Type {
+ None,
+ Connection,
+ Statement,
+ Transaction,
+ Unknown
+ };
+
+ QSqlError(const QString & = QString::null,
+ const QString & = QString::null,int = QSqlError::None,
+ int = -1);
+ QSqlError(const QSqlError &);
+
+ QString driverText() const;
+ virtual void setDriverText(const QString &);
+ QString databaseText() const;
+ virtual void setDatabaseText(const QString &);
+ int type() const;
+ virtual void setType(int);
+ int number() const;
+ virtual void setNumber(int);
+%If (Qt_3_2_0 -)
+ QString text() const;
+ void showMessage(const QString & = QString::null) const;
+%End
+};
+
+%End
diff --git a/sip/qtsql/qsqlfield.sip b/sip/qtsql/qsqlfield.sip
new file mode 100644
index 0000000..39dc046
--- /dev/null
+++ b/sip/qtsql/qsqlfield.sip
@@ -0,0 +1,95 @@
+// This is the SIP interface definition for QSqlField and QSqlFieldInfo.
+//
+// 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>QSqlField (Qt v3+)</Title>
+<Para>
+<Literal>QSqlField</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QSqlFieldInfo (Qt v3+)</Title>
+<Para>
+<Literal>QSqlFieldInfo</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSqlField
+{
+%TypeHeaderCode
+#include <qsqlfield.h>
+%End
+
+public:
+ QSqlField(const QString & = QString::null,
+ QVariant::Type = QVariant::Invalid );
+ QSqlField(const QSqlField &);
+
+ virtual void setValue(const QVariant &);
+ virtual QVariant value() const;
+ virtual void setName(const QString &);
+ QString name() const;
+ virtual void setNull();
+ bool isNull() const;
+ virtual void setReadOnly(bool);
+ bool isReadOnly() const;
+ void clear(bool = 1);
+ QVariant::Type type() const;
+};
+
+
+class QSqlFieldInfo
+{
+%TypeHeaderCode
+#include <qsqlfield.h>
+%End
+
+public:
+ QSqlFieldInfo(const QString & = QString::null,
+ QVariant::Type = QVariant::Invalid,int = -1,int = -1,
+ int = -1,const QVariant & = QVariant(),int = 0,bool = 1,
+ bool = 0,bool = 0);
+ QSqlFieldInfo(const QSqlFieldInfo &);
+ QSqlFieldInfo(const QSqlField &,bool = 1);
+
+ QSqlField toField() const;
+ int isRequired() const;
+ QVariant::Type type() const;
+ int length() const;
+ int precision() const;
+ QVariant defaultValue() const;
+ QString name() const;
+ int typeID() const;
+ bool isGenerated() const;
+ bool isTrim() const;
+ bool isCalculated() const;
+
+ virtual void setTrim(bool);
+ virtual void setGenerated(bool);
+ virtual void setCalculated(bool);
+};
+
+%End
diff --git a/sip/qtsql/qsqlform.sip b/sip/qtsql/qsqlform.sip
new file mode 100644
index 0000000..84e05b7
--- /dev/null
+++ b/sip/qtsql/qsqlform.sip
@@ -0,0 +1,74 @@
+// This is the SIP interface definition for QSqlForm.
+//
+// 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>QSqlForm (Qt v3+)</Title>
+<Para>
+<Literal>QSqlForm</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSqlForm : QObject
+{
+%TypeHeaderCode
+#include <qsqlform.h>
+%End
+
+public:
+ QSqlForm(QObject * /TransferThis/ = 0,const char * = 0);
+
+ virtual void insert(QWidget *,const QString &);
+ virtual void remove(const QString &);
+ uint count() const;
+
+ QWidget *widget(uint) const;
+ QSqlField *widgetToField(QWidget *) const;
+ QWidget *fieldToWidget(QSqlField *) const;
+
+ void installPropertyMap(QSqlPropertyMap * /Transfer/);
+
+ virtual void setRecord(QSqlRecord *);
+
+public slots:
+ virtual void readField(QWidget *);
+ virtual void writeField(QWidget *);
+ virtual void readFields();
+ virtual void writeFields();
+
+ virtual void clear();
+ virtual void clearValues(bool = 0);
+
+protected:
+ virtual void insert(QWidget *,QSqlField *);
+ virtual void remove(QWidget *);
+
+private:
+%If (Qt_3_1_0 -)
+ QSqlForm(const QSqlForm &);
+%End
+};
+
+%End
diff --git a/sip/qtsql/qsqlindex.sip b/sip/qtsql/qsqlindex.sip
new file mode 100644
index 0000000..af88129
--- /dev/null
+++ b/sip/qtsql/qsqlindex.sip
@@ -0,0 +1,64 @@
+// This is the SIP interface definition for QSqlIndex.
+//
+// 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>QSqlIndex (Qt v3+)</Title>
+<Para>
+<Literal>QSqlIndex</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSqlIndex : QSqlRecord
+{
+%TypeHeaderCode
+#include <qsqlindex.h>
+%End
+
+public:
+ QSqlIndex(const QString & = QString::null,
+ const QString & = QString::null);
+ QSqlIndex(const QSqlIndex &);
+
+ virtual void setCursorName(const QString &);
+ QString cursorName() const;
+ virtual void setName(const QString &);
+ QString name() const;
+
+ void append(const QSqlField &);
+ virtual void append(const QSqlField &,bool);
+
+ bool isDescending(int) const;
+ virtual void setDescending(int,bool);
+
+ QString toString(const QString & = QString::null,const QString & = ",",
+ bool = 1) const;
+ QStringList toStringList(const QString & = QString::null,
+ bool = 1) const;
+
+ static QSqlIndex fromStringList(const QStringList &,const QSqlCursor *);
+};
+
+%End
diff --git a/sip/qtsql/qsqlpropertymap.sip b/sip/qtsql/qsqlpropertymap.sip
new file mode 100644
index 0000000..c2f8ae8
--- /dev/null
+++ b/sip/qtsql/qsqlpropertymap.sip
@@ -0,0 +1,63 @@
+// This is the SIP interface definition for QSqlPropertyMap.
+//
+// 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>QSqlPropertyMap (Qt v3+)</Title>
+<Para>
+<Literal>QSqlPropertyMap</Literal> is fully implemented. However, because PyQt
+does not allow new properties to be defined, it is not possible to implement
+custom editor widgets in Python and add them to a property map. These will
+simply be ignored.
+</Para>
+
+<Para>
+This problem may be addressed in a future release of PyQt.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSqlPropertyMap
+{
+%TypeHeaderCode
+#include <qsqlpropertymap.h>
+%End
+
+public:
+ QSqlPropertyMap();
+
+ QVariant property(QWidget *);
+ virtual void setProperty(QWidget *,const QVariant &);
+
+ void insert(const QString &,const QString &);
+ void remove(const QString &);
+
+ static QSqlPropertyMap *defaultMap();
+ static void installDefaultMap(QSqlPropertyMap * /Transfer/);
+
+private:
+ QSqlPropertyMap(const QSqlPropertyMap &);
+};
+
+%End
diff --git a/sip/qtsql/qsqlquery.sip b/sip/qtsql/qsqlquery.sip
new file mode 100644
index 0000000..a7284f1
--- /dev/null
+++ b/sip/qtsql/qsqlquery.sip
@@ -0,0 +1,115 @@
+// This is the SIP interface definition for QSqlQuery.
+//
+// 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>QSqlQuery (Qt v3+)</Title>
+<FuncSynopsis>
+ <FuncDef>QMap&lt;QString,QVariant&gt; <Function>boundValues</Function> const</FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented. (Qt v3.2.0+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>virtual bool <Function>exec</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>query</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>execQuery</Literal> in Python.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>exec</Function></FuncDef>
+ <ParamDef></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>execQuery</Literal> in Python. (Qt v3.1+)
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSqlQuery
+{
+%TypeHeaderCode
+#include <qsqlquery.h>
+%End
+
+public:
+ QSqlQuery(QSqlResult *);
+ QSqlQuery(const QString & = QString::null,QSqlDatabase * = 0);
+%If (Qt_3_2_0 -)
+ QSqlQuery(QSqlDatabase *);
+%End
+ QSqlQuery(const QSqlQuery &);
+
+ bool isValid() const;
+ bool isActive() const;
+ bool isNull(int) const;
+ int at() const;
+ QString lastQuery() const;
+ int numRowsAffected() const;
+ QSqlError lastError() const;
+ bool isSelect() const;
+ int size() const;
+ const QSqlDriver *driver() const;
+ const QSqlResult *result() const;
+%If (Qt_3_1_0 -)
+ bool isForwardOnly() const;
+ void setForwardOnly(bool);
+%End
+
+ virtual bool exec(const QString &) /PyName=execQuery, ReleaseGIL/;
+ virtual QVariant value(int) const;
+
+ virtual bool seek(int,bool = 0) /ReleaseGIL/;
+ virtual bool next() /ReleaseGIL/;
+ virtual bool prev() /ReleaseGIL/;
+ virtual bool first() /ReleaseGIL/;
+ virtual bool last() /ReleaseGIL/;
+
+%If (Qt_3_1_0 -)
+ bool exec() /PyName=execQuery, ReleaseGIL/;
+ bool prepare(const QString &);
+ void bindValue(const QString &,const QVariant &);
+ void bindValue(int,const QVariant &);
+ void addBindValue(const QVariant &);
+%End
+%If (Qt_3_2_0 -)
+ void bindValue(const QString &,const QVariant &,QSql::ParameterType);
+ void bindValue(int,const QVariant &,QSql::ParameterType);
+ void addBindValue(const QVariant &,QSql::ParameterType);
+ QVariant boundValue(const QString &) const;
+ QVariant boundValue(int) const;
+// QMap<QString,QVariant> boundValues() const;
+ QString executedQuery() const;
+%End
+
+protected:
+ virtual void beforeSeek();
+ virtual void afterSeek();
+};
+
+%End
diff --git a/sip/qtsql/qsqlrecord.sip b/sip/qtsql/qsqlrecord.sip
new file mode 100644
index 0000000..5676bcc
--- /dev/null
+++ b/sip/qtsql/qsqlrecord.sip
@@ -0,0 +1,177 @@
+// This is the SIP interface definition for QSqlRecord and QSqlRecordInfo.
+//
+// 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>QSqlRecord (Qt v3+)</Title>
+<Para>
+<Literal>QSqlRecord</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QSqlRecordInfo (Qt v3+)</Title>
+<Para>
+<Literal>QSqlRecordInfo</Literal> is implemented as a Python list of
+<Literal>QSqlFieldInfo</Literal> instances.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSqlRecord
+{
+%TypeHeaderCode
+#include <qsqlrecord.h>
+%End
+
+public:
+ QSqlRecord();
+ QSqlRecord(const QSqlRecord &);
+
+ virtual QVariant value(int) const;
+ virtual QVariant value(const QString &) const;
+ virtual void setValue(int,const QVariant &);
+ virtual void setValue(const QString &,const QVariant &);
+ bool isGenerated(int) const;
+ bool isGenerated(const QString &) const;
+ virtual void setGenerated(const QString &,bool);
+ virtual void setGenerated(int,bool);
+ virtual void setNull(int);
+ virtual void setNull(const QString &);
+ bool isNull(int);
+ bool isNull(const QString &);
+%If (Qt_3_1_0 -)
+// bool isNull(int) const;
+// bool isNull(const QString &) const;
+%End
+
+ int position(const QString &) const;
+ QString fieldName(int) const;
+ QSqlField *field(int);
+ QSqlField *field(const QString &);
+// const QSqlField *field(int) const;
+// const QSqlField *field(const QString &) const;
+
+ virtual void append(const QSqlField &);
+ virtual void insert(int,const QSqlField &);
+ virtual void remove(int);
+
+ bool isEmpty() const;
+ bool contains(const QString &) const;
+ virtual void clear();
+ virtual void clearValues(bool = 0);
+ uint count() const;
+ virtual QString toString(const QString & = QString::null,
+ const QString & = ",") const;
+ virtual QStringList toStringList(const QString & = QString::null) const;
+};
+
+
+%MappedType QSqlRecordInfo
+{
+%TypeHeaderCode
+#include <qsqlrecord.h>
+%End
+
+%ConvertFromTypeCode
+ // Convert to a Python list of QSqlFieldInfo instances.
+
+ int i;
+ PyObject *l;
+
+ // Create the list.
+
+ if ((l = PyList_New(sipCpp -> count())) == NULL)
+ return NULL;
+
+ // Get it.
+
+ i = 0;
+ QValueListConstIterator<QSqlFieldInfo> it;
+
+ for (it = sipCpp -> begin(); it != sipCpp -> end(); ++it)
+ {
+ PyObject *tmobj;
+
+ if ((tmobj = sipConvertFromNewInstance(new QSqlFieldInfo(*it),sipClass_QSqlFieldInfo,sipTransferObj)) == NULL || PyList_SetItem(l,i,tmobj) < 0)
+ {
+ Py_XDECREF(tmobj);
+ Py_DECREF(l);
+
+ return NULL;
+ }
+
+ ++i;
+ }
+
+ return l;
+%End
+
+
+%ConvertToTypeCode
+ // Convert a Python list of QSqlFieldInfo instances to a QSqlRecordInfo
+ // on the heap.
+
+ if (sipIsErr == NULL)
+ {
+ if (!PyList_Check(sipPy))
+ return 0;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QSqlFieldInfo,SIP_NOT_NONE))
+ return 0;
+
+ return 1;
+ }
+
+ QSqlRecordInfo *qri = new QSqlRecordInfo;
+
+ for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+ {
+ int iserr = 0, state;
+
+ // We apply the transfer to the list itself, not the elements.
+ QSqlFieldInfo *itm = reinterpret_cast<QSqlFieldInfo *>(sipConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QSqlFieldInfo,0,SIP_NOT_NONE,&state,&iserr));
+
+ if (iserr)
+ {
+ sipReleaseInstance(itm,sipClass_QSqlFieldInfo,state);
+
+ *sipIsErr = 1;
+ delete qri;
+
+ return 0;
+ }
+
+ qri -> append(*itm);
+
+ sipReleaseInstance(itm,sipClass_QSqlFieldInfo,state);
+ }
+
+ *sipCppPtr = qri;
+
+ return sipGetState(sipTransferObj);
+%End
+};
+
+%End
diff --git a/sip/qtsql/qsqlresult.sip b/sip/qtsql/qsqlresult.sip
new file mode 100644
index 0000000..f4fc7f6
--- /dev/null
+++ b/sip/qtsql/qsqlresult.sip
@@ -0,0 +1,73 @@
+// This is the SIP interface definition for QSqlResult.
+//
+// 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>QSqlResult (Qt v3+)</Title>
+<Para>
+<Literal>QSqlResult</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QSqlResult
+{
+%TypeHeaderCode
+#include <qsqlresult.h>
+%End
+
+protected:
+ QSqlResult(const QSqlDriver *);
+
+ int at() const;
+ QString lastQuery() const;
+ QSqlError lastError() const;
+ bool isValid() const;
+ bool isActive() const;
+ bool isSelect() const;
+ bool isForwardOnly() const;
+ const QSqlDriver *driver() const;
+ virtual void setAt(int);
+ virtual void setActive(bool);
+ virtual void setLastError(const QSqlError &);
+ virtual void setQuery(const QString &);
+ virtual void setSelect(bool);
+ virtual void setForwardOnly(bool);
+
+ virtual QVariant data(int) = 0;
+ virtual bool isNull(int) = 0;
+ virtual bool reset(const QString &) = 0;
+ virtual bool fetch(int) = 0;
+ virtual bool fetchNext();
+ virtual bool fetchPrev();
+ virtual bool fetchFirst() = 0;
+ virtual bool fetchLast() = 0;
+ virtual int size() = 0;
+ virtual int numRowsAffected() = 0;
+
+private:
+ QSqlResult(const QSqlResult &);
+};
+
+%End
diff --git a/sip/qtsql/qsqlselectcursor.sip b/sip/qtsql/qsqlselectcursor.sip
new file mode 100644
index 0000000..289cc42
--- /dev/null
+++ b/sip/qtsql/qsqlselectcursor.sip
@@ -0,0 +1,92 @@
+// This is the SIP interface definition for QSqlSelectCursor.
+//
+// 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>QSqlSelectCursor (Qt v3.2.0+)</Title>
+<FuncSynopsis>
+ <FuncDef>int <Function>del</Function></FuncDef>
+ <ParamDef>bool <Parameter>invalidate</Parameter> = TRUE</ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>delRecords</Literal> in Python.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>exec</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>query</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This has been renamed <Literal>execQuery</Literal> in Python.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_2_0 -)
+
+class QSqlSelectCursor : QSqlCursor
+{
+%TypeHeaderCode
+#include <qsqlselectcursor.h>
+%End
+
+public:
+ QSqlSelectCursor(const QString & = QString::null,QSqlDatabase * = 0);
+ QSqlSelectCursor(const QSqlSelectCursor &);
+ ~QSqlSelectCursor();
+
+ bool exec(const QString &) /PyName=execQuery, ReleaseGIL/;
+ bool select() /ReleaseGIL/;
+
+protected:
+ QSqlIndex primaryIndex(bool = 1) const;
+ QSqlIndex index(const QStringList &) const;
+ QSqlIndex index(const QString &) const;
+// QSqlIndex index(const char *) const;
+ void setPrimaryIndex(const QSqlIndex &);
+ void append(const QSqlFieldInfo &);
+ void insert(int,const QSqlFieldInfo &);
+ void remove(int);
+ void clear();
+ void setGenerated(const QString &,bool);
+ void setGenerated(int,bool);
+ QSqlRecord *editBuffer(bool = 0);
+ QSqlRecord *primeInsert();
+ QSqlRecord *primeUpdate();
+ QSqlRecord *primeDelete();
+ int insert(bool = 1) /ReleaseGIL/;
+ int update(bool = 1) /ReleaseGIL/;
+ int del(bool = 1) /PyName=delRecords, ReleaseGIL/;
+ void setMode(int);
+
+ void setSort(const QSqlIndex &);
+ QSqlIndex sort() const;
+ void setFilter(const QString &);
+ QString filter() const;
+ void setName(const QString &,bool = 1);
+ QString name() const;
+ QString toString(const QString & = QString::null,
+ const QString & = ",") const;
+ bool select(const QString &,const QSqlIndex & = QSqlIndex()) /ReleaseGIL/;
+};
+
+%End
diff --git a/sip/qtsql/qtsqlmod.sip b/sip/qtsql/qtsqlmod.sip
new file mode 100644
index 0000000..f780a9a
--- /dev/null
+++ b/sip/qtsql/qtsqlmod.sip
@@ -0,0 +1,88 @@
+// This is the SIP interface definition for the qtsql module of PyQt.
+//
+// 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.
+
+
+%Module qtsql 1
+
+%Import qt/qtmod.sip
+%Import qttable/qttablemod.sip
+
+%Include copying.sip
+
+
+%Include qdatabrowser.sip
+%Include qdatatable.sip
+%Include qdataview.sip
+%Include qeditorfactory.sip
+%Include qsql.sip
+%Include qsqlcursor.sip
+%Include qsqldatabase.sip
+%Include qsqldriver.sip
+%Include qsqleditorfactory.sip
+%Include qsqlerror.sip
+%Include qsqlfield.sip
+%Include qsqlform.sip
+%Include qsqlindex.sip
+%Include qsqlpropertymap.sip
+%Include qsqlquery.sip
+%Include qsqlrecord.sip
+%Include qsqlresult.sip
+%Include qsqlselectcursor.sip
+
+
+// The build file template.
+
+%Makefile qtsql.pro.in
+# The project file for the qtsql module.
+#
+# 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.
+
+
+TEMPLATE = lib
+TARGET = @BLX_TARGET_LIB@
+DESTDIR = @PYQT_MODDIR@
+CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@
+INCLUDEPATH = @BLX_INCLUDEPATH@
+DEFINES = @BLX_DEFINES@
+LIBS += @PYQT_QTTABLE_MODULE@ @BLX_LIBS@
+macx:QMAKE_LFLAGS += -framework Python
+
+SOURCES = $B
+
+HEADERS = $H
+%End
diff --git a/sip/qttable/copying.sip b/sip/qttable/copying.sip
new file mode 100644
index 0000000..463904b
--- /dev/null
+++ b/sip/qttable/copying.sip
@@ -0,0 +1,51 @@
+// This is the SIP file defining the PyQt license.
+//
+// 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.
+
+
+%Copying
+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.
+%End
+
+
+%OptionalInclude pyqt-internal.sip
+%OptionalInclude pyqt-gpl.sip
+%OptionalInclude pyqt-commercial.sip
+%OptionalInclude pyqt-edu.sip
+%OptionalInclude pyqt-eval.sip
+%OptionalInclude pyqt-nc.sip
+%OptionalInclude pyqt-tkc.sip
diff --git a/sip/qttable/qtable.sip b/sip/qttable/qtable.sip
new file mode 100644
index 0000000..87a0be3
--- /dev/null
+++ b/sip/qttable/qtable.sip
@@ -0,0 +1,532 @@
+// This is the SIP interface definition for QTable, QTableItem,
+// QCheckTableItem, QComboTableItem and QTableSelection.
+//
+// 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>QTable (Qt v2.2+)</Title>
+<Para>
+<Literal>QTable</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QTableItem (Qt v2.2+)</Title>
+<Para>
+<Literal>QTableItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QCheckTableItem (Qt v3+)</Title>
+<Para>
+<Literal>QCheckTableItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QComboTableItem (Qt v3+)</Title>
+<Para>
+<Literal>QComboTableItem</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QTableSelection (Qt v2.2+)</Title>
+<Para>
+<Literal>QTableSelection</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_TABLE)
+%If (Qt_2_2_0 -)
+
+class QTableSelection
+{
+%TypeHeaderCode
+#include <qtable.h>
+%End
+
+public:
+ QTableSelection();
+%If (Qt_3_1_0 -)
+ QTableSelection(int,int,int,int);
+%End
+
+ void init(int,int);
+ void expandTo(int,int);
+
+ int topRow() const;
+ int bottomRow() const;
+ int leftCol() const;
+ int rightCol() const;
+ int anchorRow() const;
+ int anchorCol() const;
+%If (Qt_3_2_0 -)
+ int numRows() const;
+ int numCols() const;
+%End
+
+ bool isActive() const;
+%If (Qt_3_2_0 -)
+ bool isEmpty() const;
+%End
+};
+
+
+class QTableItem : Qt
+{
+%TypeHeaderCode
+#include <qtable.h>
+%End
+
+public:
+ enum EditType {
+ Never,
+ OnTyping,
+ WhenCurrent,
+ Always
+ };
+
+ // Note that the Qt documentation is wrong. Ownership is only taken by
+ // QTable::setItem().
+%If (Qt_3_2_0 -)
+ QTableItem(QTable *,EditType);
+%End
+ QTableItem(QTable *,EditType,const QString &);
+ QTableItem(QTable *,EditType,const QString &,const QPixmap &);
+
+%ConvertToSubClassCode
+ Py_BEGIN_ALLOW_THREADS
+
+#if QT_VERSION >= 0x030000
+ int rtti = sipCpp -> rtti();
+
+ if (rtti == QCheckTableItem::RTTI)
+ sipClass = sipClass_QCheckTableItem;
+ else if (rtti == QComboTableItem::RTTI)
+ sipClass = sipClass_QComboTableItem;
+ else
+ sipClass = 0;
+#else
+ sipClass = 0;
+#endif
+
+ Py_END_ALLOW_THREADS
+%End
+
+ virtual QPixmap pixmap() const;
+ virtual QString text() const;
+ virtual void setPixmap(const QPixmap &);
+ virtual void setText(const QString &);
+ QTable *table() const;
+
+ virtual int alignment() const;
+ virtual void setWordWrap(bool);
+ bool wordWrap() const;
+
+ EditType editType() const;
+ virtual QWidget *createEditor() const /Factory/;
+ virtual void setContentFromEditor(QWidget *);
+ virtual void setReplaceable(bool);
+ bool isReplaceable() const;
+
+ virtual QString key() const;
+ virtual QSize sizeHint() const;
+
+ virtual void setSpan(int,int);
+ int rowSpan() const;
+ int colSpan() const;
+
+ virtual void setRow(int);
+ virtual void setCol(int);
+ int row() const;
+ int col() const;
+
+ virtual void paint(QPainter *,const QColorGroup &,const QRect &,bool);
+
+ void updateEditor(int,int);
+
+%If (Qt_3_0_0 -)
+ virtual void setEnabled(bool);
+ bool isEnabled() const;
+
+ virtual int rtti() const;
+%End
+
+protected:
+%If (Qt_3_2_0 - Qt_3_3_0)
+ QString content() const;
+%End
+};
+
+
+%If (Qt_3_0_0 -)
+
+class QComboTableItem : QTableItem
+{
+%TypeHeaderCode
+#include <qtable.h>
+%End
+
+public:
+ // Note that the Qt documentation is wrong. Ownership is only taken by
+ // QTable::setItem().
+ QComboTableItem(QTable *,const QStringList &,bool = 0);
+
+ virtual QWidget *createEditor() const /Factory/;
+ virtual void setContentFromEditor(QWidget *);
+ virtual void paint(QPainter *,const QColorGroup &,const QRect &,bool);
+ virtual void setCurrentItem(int);
+ virtual void setCurrentItem(const QString &);
+ int currentItem() const;
+ QString currentText() const;
+ int count() const;
+ QString text(int) const;
+ virtual void setEditable(bool);
+ bool isEditable() const;
+ virtual void setStringList(const QStringList &);
+
+ int rtti() const;
+
+%If (Qt_3_0_6 -)
+ QSize sizeHint() const;
+%End
+};
+
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QCheckTableItem : QTableItem
+{
+%TypeHeaderCode
+#include <qtable.h>
+%End
+
+public:
+ // Note that the Qt documentation is wrong. Ownership is only taken by
+ // QTable::setItem().
+ QCheckTableItem(QTable *,const QString &);
+
+%If (Qt_3_2_0 -)
+ void setText(const QString &);
+%End
+ virtual QWidget *createEditor() const /Factory/;
+ virtual void setContentFromEditor(QWidget *);
+ virtual void paint(QPainter *,const QColorGroup &,const QRect &,bool);
+ virtual void setChecked(bool);
+ bool isChecked() const;
+
+ int rtti() const;
+
+%If (Qt_3_0_6 -)
+ QSize sizeHint() const;
+%End
+};
+
+%End
+
+
+class QTable : QScrollView
+{
+%TypeHeaderCode
+#include <qtable.h>
+%End
+
+public:
+ QTable(QWidget * /TransferThis/ = 0,const char * = 0);
+ QTable(int,int,QWidget * /TransferThis/ = 0,const char * = 0);
+
+%ConvertToSubClassCode
+ sipClass = (sipCpp->inherits(sipName_QTable) ? sipClass_QTable : NULL);
+%End
+
+ QHeader *horizontalHeader() const;
+ QHeader *verticalHeader() const;
+
+%If (- Qt_3_0_0)
+ enum SelectionMode {
+ Single,
+ Multi,
+ NoSelection
+ };
+%End
+%If (Qt_3_0_0 -)
+ enum SelectionMode {
+ Single,
+ Multi,
+ SingleRow,
+ MultiRow,
+ NoSelection
+ };
+%End
+
+ virtual void setSelectionMode(SelectionMode);
+ SelectionMode selectionMode() const;
+
+ virtual void setItem(int,int,QTableItem * /Transfer/);
+ virtual void setText(int,int,const QString &);
+ virtual void setPixmap(int,int,const QPixmap &);
+ virtual QTableItem *item(int,int) const;
+ virtual QString text(int,int) const;
+ virtual QPixmap pixmap(int,int) const;
+ virtual void clearCell(int,int);
+
+ virtual QRect cellGeometry(int,int) const;
+ virtual int columnWidth(int) const;
+ virtual int rowHeight(int) const;
+ virtual int columnPos(int) const;
+ virtual int rowPos(int) const;
+ virtual int columnAt(int) const;
+ virtual int rowAt(int) const;
+
+%If (- Qt_3_0_0)
+ int numRows() const;
+ int numCols() const;
+%End
+%If (Qt_3_0_0 -)
+ virtual int numRows() const;
+ virtual int numCols() const;
+%End
+
+ void updateCell(int,int);
+
+ bool eventFilter(QObject *,QEvent *);
+
+ int currentRow() const;
+ int currentColumn() const;
+ void ensureCellVisible(int,int);
+
+ bool isSelected(int,int) const;
+ bool isRowSelected(int,bool = 0) const;
+ bool isColumnSelected(int,bool = 0) const;
+ int numSelections() const;
+ QTableSelection selection(int) const;
+ virtual int addSelection(const QTableSelection &);
+ virtual void removeSelection(const QTableSelection &);
+ virtual void removeSelection(int);
+ virtual int currentSelection() const;
+
+%If (Qt_3_1_0 -)
+ void selectCells(int,int,int,int);
+ void selectRow(int);
+ void selectColumn(int);
+%End
+
+ bool showGrid() const;
+
+ bool columnMovingEnabled() const;
+ bool rowMovingEnabled() const;
+
+ virtual void sortColumn(int,bool = 1,bool = 0);
+
+ bool sorting() const;
+
+ virtual void takeItem(QTableItem * /TransferBack/);
+
+ virtual void setCellWidget(int,int,QWidget * /Transfer/);
+ virtual QWidget *cellWidget(int,int) const;
+ virtual void clearCellWidget(int,int);
+
+%If (Qt_3_0_0 -)
+ virtual QRect cellRect(int,int) const;
+%End
+
+ virtual void paintCell(QPainter *,int,int,const QRect &,bool);
+%If (Qt_3_0_0 -)
+ virtual void paintCell(QPainter *,int,int,const QRect &,bool,
+ const QColorGroup &);
+%End
+ virtual void paintFocus(QPainter *,const QRect &);
+ QSize sizeHint() const;
+
+%If (Qt_3_0_0 -)
+ bool isReadOnly() const;
+ bool isRowReadOnly(int) const;
+ bool isColumnReadOnly(int) const;
+
+ void setEnabled(bool);
+
+ void repaintSelections();
+
+ enum FocusStyle {
+ FollowStyle,
+ SpreadSheet
+ };
+
+ virtual void setFocusStyle(FocusStyle);
+ FocusStyle focusStyle() const;
+%End
+
+%If (Qt_3_1_0 -)
+ void updateHeaderStates();
+%End
+
+public slots:
+ virtual void setNumRows(int);
+ virtual void setNumCols(int);
+ virtual void setShowGrid(bool);
+ virtual void hideRow(int);
+ virtual void hideColumn(int);
+ virtual void showRow(int);
+ virtual void showColumn(int);
+%If (Qt_3_3_0 -)
+ bool isRowHidden(int) const;
+ bool isColumnHidden(int) const;
+%End
+
+ virtual void setColumnWidth(int,int);
+ virtual void setRowHeight(int,int);
+
+ virtual void adjustColumn(int);
+ virtual void adjustRow(int);
+
+ virtual void setColumnStretchable(int,bool);
+ virtual void setRowStretchable(int,bool);
+ bool isColumnStretchable(int) const;
+ bool isRowStretchable(int) const;
+ virtual void setSorting(bool);
+%If (- Qt_3_0_0)
+ virtual void swapRows(int,int);
+ virtual void swapColumns(int,int);
+%End
+%If (Qt_3_0_0 -)
+ virtual void swapRows(int,int,bool = 0);
+ virtual void swapColumns(int,int,bool = 0);
+%End
+ virtual void swapCells(int,int,int,int);
+
+ virtual void setLeftMargin(int);
+ virtual void setTopMargin(int);
+ virtual void setCurrentCell(int,int);
+ void clearSelection(bool = 1);
+ virtual void setColumnMovingEnabled(bool);
+ virtual void setRowMovingEnabled(bool);
+
+%If (Qt_3_0_0 -)
+ virtual void setReadOnly(bool);
+ virtual void setRowReadOnly(int,bool);
+ virtual void setColumnReadOnly(int,bool);
+
+ virtual void setDragEnabled(bool);
+ bool dragEnabled() const;
+
+ virtual void insertRows(int,int = 1);
+ virtual void insertColumns(int,int = 1);
+ virtual void removeRow(int);
+ virtual void removeRows(const QMemArray<int> &);
+ virtual void removeColumn(int);
+ virtual void removeColumns(const QMemArray<int> &);
+
+ virtual void editCell(int,int,bool = 0);
+%End
+
+%If (Qt_3_1_0 -)
+ void setRowLabels(const QStringList &);
+ void setColumnLabels(const QStringList &);
+%End
+
+protected:
+%If (Qt_3_0_0 -)
+ enum EditMode {
+ NotEditing,
+ Editing,
+ Replacing
+ };
+%End
+
+ void drawContents(QPainter *,int,int,int,int);
+ void contentsMousePressEvent(QMouseEvent *);
+ void contentsMouseMoveEvent(QMouseEvent *);
+ void contentsMouseDoubleClickEvent(QMouseEvent *);
+ void contentsMouseReleaseEvent(QMouseEvent *);
+%If (Qt_3_0_0 -)
+ void contentsContextMenuEvent(QContextMenuEvent *);
+%End
+ void keyPressEvent(QKeyEvent *);
+ void focusInEvent(QFocusEvent *);
+ void focusOutEvent(QFocusEvent *);
+%If (- Qt_3_0_0)
+ void resizeEvent(QResizeEvent *);
+%End
+%If (Qt_3_0_0 -)
+ void viewportResizeEvent(QResizeEvent *);
+%End
+ void showEvent(QShowEvent *);
+%If (Qt_3_1_0 -)
+ void paintEvent(QPaintEvent *);
+%End
+%If (Qt_3_0_0 -)
+ void setEditMode(EditMode,int,int);
+ virtual void contentsDragEnterEvent(QDragEnterEvent *);
+ virtual void contentsDragMoveEvent(QDragMoveEvent *);
+ virtual void contentsDragLeaveEvent(QDragLeaveEvent *);
+ virtual void contentsDropEvent(QDropEvent *);
+ virtual QDragObject *dragObject();
+ virtual void startDrag();
+%End
+
+ virtual void paintEmptyArea(QPainter *,int,int,int,int);
+ virtual void activateNextCell();
+ virtual QWidget *createEditor(int,int,bool) const /Factory/;
+ virtual void setCellContentFromEditor(int,int);
+ virtual QWidget *beginEdit(int,int,bool);
+ virtual void endEdit(int,int,bool,bool);
+
+ virtual void resizeData(int);
+ virtual void insertWidget(int,int,QWidget *);
+ int indexOf(int,int) const;
+
+%If (Qt_3_0_0 -)
+ void windowActivationChange(bool);
+ bool isEditing() const;
+ EditMode editMode() const;
+ int currEditRow() const;
+ int currEditCol() const;
+%End
+
+protected slots:
+ virtual void columnWidthChanged(int);
+ virtual void rowHeightChanged(int);
+ virtual void columnIndexChanged(int,int,int);
+ virtual void rowIndexChanged(int,int,int);
+ virtual void columnClicked(int);
+
+signals:
+ void currentChanged(int,int);
+ void clicked(int,int,int,const QPoint &);
+ void doubleClicked(int,int,int,const QPoint &);
+ void pressed(int,int,int,const QPoint &);
+ void selectionChanged();
+ void valueChanged(int,int);
+%If (Qt_3_0_0 -)
+ void contextMenuRequested(int,int,const QPoint &);
+ void dropped(QDropEvent *);
+%End
+
+private:
+%If (Qt_3_1_0 -)
+ QTable(const QTable &);
+%End
+};
+
+%End
+%End
diff --git a/sip/qttable/qttablemod.sip b/sip/qttable/qttablemod.sip
new file mode 100644
index 0000000..d470d22
--- /dev/null
+++ b/sip/qttable/qttablemod.sip
@@ -0,0 +1,70 @@
+// This is the SIP interface definition for the qttable module of PyQt.
+//
+// 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.
+
+
+%Module qttable 1
+
+%Import qt/qtmod.sip
+
+%Include copying.sip
+
+
+%Include qtable.sip
+
+
+// The build file template.
+
+%Makefile qttable.pro.in
+# The project file for the qttable module.
+#
+# 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.
+
+
+TEMPLATE = lib
+TARGET = @BLX_TARGET_LIB@
+DESTDIR = @PYQT_MODDIR@
+CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@
+INCLUDEPATH = @BLX_INCLUDEPATH@
+DEFINES = @BLX_DEFINES@
+LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@
+macx:QMAKE_LFLAGS += -framework Python
+
+SOURCES = $B
+
+HEADERS = $H
+%End
diff --git a/sip/qtui/copying.sip b/sip/qtui/copying.sip
new file mode 100644
index 0000000..463904b
--- /dev/null
+++ b/sip/qtui/copying.sip
@@ -0,0 +1,51 @@
+// This is the SIP file defining the PyQt license.
+//
+// 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.
+
+
+%Copying
+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.
+%End
+
+
+%OptionalInclude pyqt-internal.sip
+%OptionalInclude pyqt-gpl.sip
+%OptionalInclude pyqt-commercial.sip
+%OptionalInclude pyqt-edu.sip
+%OptionalInclude pyqt-eval.sip
+%OptionalInclude pyqt-nc.sip
+%OptionalInclude pyqt-tkc.sip
diff --git a/sip/qtui/qtuimod.sip b/sip/qtui/qtuimod.sip
new file mode 100644
index 0000000..f6616b0
--- /dev/null
+++ b/sip/qtui/qtuimod.sip
@@ -0,0 +1,71 @@
+// This is the SIP interface definition for the qtui module of PyQt. Thanks to
+// Hans-Peter Jansen for the original work.
+//
+// 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.
+
+
+%Module qtui 1
+
+%Import qt/qtmod.sip
+
+%Include copying.sip
+
+
+%Include qwidgetfactory.sip
+
+
+// The build file template.
+
+%Makefile qtui.pro.in
+# The project file for the qtui module.
+#
+# 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.
+
+
+TEMPLATE = lib
+TARGET = @BLX_TARGET_LIB@
+DESTDIR = @PYQT_MODDIR@
+CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@
+INCLUDEPATH = @BLX_INCLUDEPATH@
+DEFINES = @BLX_DEFINES@
+LIBS += @PYQT_QT_MODULE@ @PYQT_QUI_LIB@ @BLX_LIBS@
+macx:QMAKE_LFLAGS += -framework Python
+
+SOURCES = $B
+
+HEADERS = $H
+%End
diff --git a/sip/qtui/qwidgetfactory.sip b/sip/qtui/qwidgetfactory.sip
new file mode 100644
index 0000000..b011658
--- /dev/null
+++ b/sip/qtui/qwidgetfactory.sip
@@ -0,0 +1,63 @@
+// This is the SIP interface definition for QWidgetFactory. Thanks to
+// Hans-Peter Jansen for the original work.
+//
+// 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>QWidgetFactory (Qt v3+)</Title>
+<Para>
+<Literal>QWidgetFactory</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_3_0_0 -)
+
+class QWidgetFactory
+{
+%TypeHeaderCode
+#include <qwidgetfactory.h>
+%End
+
+public:
+ QWidgetFactory();
+ virtual ~QWidgetFactory();
+
+ static QWidget *create(const QString &,QObject * = 0,
+ QWidget * /TransferThis/ = 0,
+ const char * = 0) /Factory/;
+ static QWidget *create(QIODevice *,QObject * = 0,
+ QWidget * /TransferThis/ = 0,
+ const char * = 0) /Factory/;
+ static void addWidgetFactory(QWidgetFactory * /Transfer/);
+ static void loadImages(const QString &);
+
+ virtual QWidget *createWidget(const QString &,QWidget * /TransferThis/,
+ const char *) const /Factory/;
+
+%If (Qt_3_1_0 -)
+ static QStringList widgets();
+ static bool supportsWidget(const QString &);
+%End
+};
+
+%End
diff --git a/sip/qtxml/copying.sip b/sip/qtxml/copying.sip
new file mode 100644
index 0000000..463904b
--- /dev/null
+++ b/sip/qtxml/copying.sip
@@ -0,0 +1,51 @@
+// This is the SIP file defining the PyQt license.
+//
+// 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.
+
+
+%Copying
+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.
+%End
+
+
+%OptionalInclude pyqt-internal.sip
+%OptionalInclude pyqt-gpl.sip
+%OptionalInclude pyqt-commercial.sip
+%OptionalInclude pyqt-edu.sip
+%OptionalInclude pyqt-eval.sip
+%OptionalInclude pyqt-nc.sip
+%OptionalInclude pyqt-tkc.sip
diff --git a/sip/qtxml/qdom.sip b/sip/qtxml/qdom.sip
new file mode 100644
index 0000000..7a156d9
--- /dev/null
+++ b/sip/qtxml/qdom.sip
@@ -0,0 +1,874 @@
+// This is the SIP interface definition for the QDom classes.
+//
+// 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>QDomImplementation (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomImplementation</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomNode (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomNode</Literal> is fully implemented, including the Python
+<Literal>==</Literal> and <Literal>!=</Literal> operators.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomNodeList (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomNodeList</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomDocument (Qt v2.2+)</Title>
+<FuncSynopsis>
+ <FuncDef>bool <Function>setContent</Function></FuncDef>
+ <ParamDef>const QCString &amp;<Parameter>buffer</Parameter></ParamDef>
+ <ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef>
+ <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>buffer</Literal> and
+<Literal>namespaceProcessing</Literal> parameters and returns a tuple
+containing the <Literal>bool</Literal> result and the
+<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
+<Literal>errorColumn</Literal> values. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>setContent</Function></FuncDef>
+ <ParamDef>const QByteArray &amp;<Parameter>buffer</Parameter></ParamDef>
+ <ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef>
+ <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>buffer</Literal> and
+<Literal>namespaceProcessing</Literal> parameters and returns a tuple
+containing the <Literal>bool</Literal> result and the
+<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
+<Literal>errorColumn</Literal> values. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>setContent</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>text</Parameter></ParamDef>
+ <ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef>
+ <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>text</Literal> and
+<Literal>namespaceProcessing</Literal> parameters and returns a tuple
+containing the <Literal>bool</Literal> result and the
+<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
+<Literal>errorColumn</Literal> values. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>setContent</Function></FuncDef>
+ <ParamDef>const QIODevice *<Parameter>dev</Parameter></ParamDef>
+ <ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef>
+ <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>dev</Literal> and
+<Literal>namespaceProcessing</Literal> parameters and returns a tuple
+containing the <Literal>bool</Literal> result and the
+<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
+<Literal>errorColumn</Literal> values. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>setContent</Function></FuncDef>
+ <ParamDef>const QCString &amp;<Parameter>buffer</Parameter></ParamDef>
+ <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>buffer</Literal> parameter only and returns a tuple
+containing the <Literal>bool</Literal> result and the
+<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
+<Literal>errorColumn</Literal> values. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>setContent</Function></FuncDef>
+ <ParamDef>const QByteArray &amp;<Parameter>buffer</Parameter></ParamDef>
+ <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>buffer</Literal> parameter only and returns a tuple
+containing the <Literal>bool</Literal> result and the
+<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
+<Literal>errorColumn</Literal> values. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>setContent</Function></FuncDef>
+ <ParamDef>const QString &amp;<Parameter>text</Parameter></ParamDef>
+ <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>text</Literal> parameter only and returns a tuple
+containing the <Literal>bool</Literal> result and the
+<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
+<Literal>errorColumn</Literal> values. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>setContent</Function></FuncDef>
+ <ParamDef>const QIODevice *<Parameter>dev</Parameter></ParamDef>
+ <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+This takes the <Literal>dev</Literal> parameter only and returns a tuple
+containing the <Literal>bool</Literal> result and the
+<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
+<Literal>errorColumn</Literal> values. (Qt v3+)
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>setContent</Function></FuncDef>
+ <ParamDef>QXmlInputSource *<Parameter>source</Parameter></ParamDef>
+ <ParamDef>QXmlReader *<Parameter>reader</Parameter></ParamDef>
+ <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
+ <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented. (Qt v3.2.0+)
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomDocumentFragment (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomDocumentFragment</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomDocumentType (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomDocumentType</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomNamedNodeMap (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomNamedNodeMap</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomCharacterData (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomCharacterData</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomAttr (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomAttr</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomElement (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomElement</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomText (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomText</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomComment (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomComment</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomCDATASection (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomCDATASection</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomNotation (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomNotation</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomEntity (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomEntity</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomEntityReference (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomEntityReference</Literal> is fully implemented.
+</Para>
+</Sect2>
+
+<Sect2><Title>QDomProcessingInstruction (Qt v2.2+)</Title>
+<Para>
+<Literal>QDomProcessingInstruction</Literal> is fully implemented.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_DOM)
+%If (Qt_2_2_0 -)
+
+class QDomImplementation
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomImplementation();
+ QDomImplementation(const QDomImplementation &);
+
+ virtual bool hasFeature(const QString &,const QString &);
+%If (Qt_3_0_0 -)
+ virtual QDomDocumentType createDocumentType(const QString &,
+ const QString &,
+ const QString &);
+ virtual QDomDocument createDocument(const QString &,const QString &,
+ const QDomDocumentType &);
+%End
+ bool isNull();
+};
+
+
+class QDomNode
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ enum NodeType {
+ ElementNode,
+ AttributeNode,
+ TextNode,
+ CDATASectionNode,
+ EntityReferenceNode,
+ EntityNode,
+ ProcessingInstructionNode,
+ CommentNode,
+ DocumentNode,
+ DocumentTypeNode,
+ DocumentFragmentNode,
+ NotationNode,
+ BaseNode,
+ CharacterDataNode
+ };
+
+ QDomNode();
+ QDomNode(const QDomNode &);
+
+ bool operator==(const QDomNode &) const;
+ bool operator!=(const QDomNode &) const;
+
+ virtual QDomNode insertBefore(const QDomNode &,const QDomNode &);
+ virtual QDomNode insertAfter(const QDomNode &,const QDomNode &);
+ virtual QDomNode replaceChild(const QDomNode &,const QDomNode &);
+ virtual QDomNode removeChild(const QDomNode &);
+ virtual QDomNode appendChild(const QDomNode &);
+%If (Qt_3_0_0 -)
+ virtual bool hasChildNodes() const;
+%End
+ virtual QDomNode cloneNode(bool = 1) const;
+%If (Qt_3_0_0 -)
+ virtual void normalize();
+ virtual bool isSupported(const QString &,const QString &) const;
+%End
+
+ virtual QString nodeName() const;
+ virtual NodeType nodeType() const;
+ virtual QDomNode parentNode() const;
+ virtual QDomNodeList childNodes() const;
+ virtual QDomNode firstChild() const;
+ virtual QDomNode lastChild() const;
+ virtual QDomNode previousSibling() const;
+ virtual QDomNode nextSibling() const;
+ virtual QDomNamedNodeMap attributes() const;
+ virtual QDomDocument ownerDocument() const;
+%If (Qt_3_0_0 -)
+ virtual QString namespaceURI() const;
+ virtual QString localName() const;
+ virtual bool hasAttributes() const;
+%End
+
+ virtual QString nodeValue() const;
+ virtual void setNodeValue(const QString &);
+%If (Qt_3_0_0 -)
+ virtual QString prefix() const;
+ virtual void setPrefix(const QString &);
+%End
+
+ virtual bool isAttr() const;
+ virtual bool isCDATASection() const;
+ virtual bool isDocumentFragment() const;
+ virtual bool isDocument() const;
+ virtual bool isDocumentType() const;
+ virtual bool isElement() const;
+ virtual bool isEntityReference() const;
+ virtual bool isText() const;
+ virtual bool isEntity() const;
+ virtual bool isNotation() const;
+ virtual bool isProcessingInstruction() const;
+ virtual bool isCharacterData() const;
+ virtual bool isComment() const;
+
+ QDomNode namedItem(const QString &) const;
+
+ bool isNull() const;
+ void clear();
+
+ QDomAttr toAttr();
+ QDomCDATASection toCDATASection();
+ QDomDocumentFragment toDocumentFragment();
+ QDomDocument toDocument();
+ QDomDocumentType toDocumentType();
+ QDomElement toElement();
+ QDomEntityReference toEntityReference();
+ QDomText toText();
+ QDomEntity toEntity();
+ QDomNotation toNotation();
+ QDomProcessingInstruction toProcessingInstruction();
+ QDomCharacterData toCharacterData();
+ QDomComment toComment();
+
+ void save(QTextStream &,int) const;
+};
+
+
+class QDomNodeList
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomNodeList();
+ QDomNodeList(const QDomNodeList &);
+
+ virtual QDomNode item(int) const;
+
+ virtual uint length() const;
+ uint count() const;
+};
+
+
+class QDomDocumentType : QDomNode
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomDocumentType();
+ QDomDocumentType(const QDomDocumentType &);
+
+ virtual QString name() const;
+ virtual QDomNamedNodeMap entities() const;
+ virtual QDomNamedNodeMap notations() const;
+%If (Qt_3_0_0 -)
+ virtual QString publicId() const;
+ virtual QString systemId() const;
+ virtual QString internalSubset() const;
+%End
+
+ QDomNode::NodeType nodeType() const;
+ bool isDocumentType() const;
+};
+
+
+class QDomDocument : QDomNode
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomDocument();
+ QDomDocument(const QString &);
+%If (Qt_3_0_0 -)
+ QDomDocument(const QDomDocumentType &);
+%End
+ QDomDocument(const QDomDocument &);
+
+ QDomElement createElement(const QString &);
+ QDomDocumentFragment createDocumentFragment();
+ QDomText createTextNode(const QString &);
+ QDomComment createComment(const QString &);
+ QDomCDATASection createCDATASection(const QString &);
+ QDomProcessingInstruction createProcessingInstruction(const QString &,
+ const QString &);
+ QDomAttr createAttribute(const QString &);
+ QDomEntityReference createEntityReference(const QString &);
+ QDomNodeList elementsByTagName(const QString &) const;
+%If (Qt_3_0_0 -)
+ QDomElement elementById(const QString &);
+%End
+
+ QDomDocumentType doctype() const;
+ QDomImplementation implementation() const;
+ QDomElement documentElement() const;
+
+%If (- Qt_3_0_0)
+ bool setContent(const QCString &);
+ bool setContent(const QByteArray &);
+ bool setContent(const QString &);
+ bool setContent(QIODevice *);
+%End
+%If (Qt_3_0_0 -)
+ // Note that we need handwritten code for these because of the need to
+ // allocate storage for the error string.
+ SIP_PYTUPLE setContent(const QCString &,bool);
+%MethodCode
+ bool res;
+ QString *emsg = new QString();
+ int eline, ecol;
+
+ Py_BEGIN_ALLOW_THREADS
+ res = sipCpp -> QDomDocument::setContent(*a0,a1,emsg,&eline,&ecol);
+ Py_END_ALLOW_THREADS
+
+ sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
+ sipType_QString, (PyObject *)0, eline, ecol);
+%End
+
+ SIP_PYTUPLE setContent(const QByteArray &,bool);
+%MethodCode
+ bool res;
+ QString *emsg = new QString();
+ int eline, ecol;
+
+ Py_BEGIN_ALLOW_THREADS
+ res = sipCpp -> QDomDocument::setContent(*a0,a1,emsg,&eline,&ecol);
+ Py_END_ALLOW_THREADS
+
+ sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
+ sipType_QString, (PyObject *)0, eline, ecol);
+%End
+
+ SIP_PYTUPLE setContent(const QString &,bool);
+%MethodCode
+ bool res;
+ QString *emsg = new QString();
+ int eline, ecol;
+
+ Py_BEGIN_ALLOW_THREADS
+ res = sipCpp -> QDomDocument::setContent(*a0,a1,emsg,&eline,&ecol);
+ Py_END_ALLOW_THREADS
+
+ sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
+ sipType_QString, (PyObject *)0, eline, ecol);
+%End
+
+ SIP_PYTUPLE setContent(QIODevice *,bool);
+%MethodCode
+ bool res;
+ QString *emsg = new QString();
+ int eline, ecol;
+
+ Py_BEGIN_ALLOW_THREADS
+ res = sipCpp -> QDomDocument::setContent(a0,a1,emsg,&eline,&ecol);
+ Py_END_ALLOW_THREADS
+
+ sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
+ sipType_QString, (PyObject *)0, eline, ecol);
+%End
+
+ SIP_PYTUPLE setContent(const QCString &);
+%MethodCode
+ bool res;
+ QString *emsg = new QString();
+ int eline, ecol;
+
+ Py_BEGIN_ALLOW_THREADS
+ res = sipCpp -> QDomDocument::setContent(*a0,emsg,&eline,&ecol);
+ Py_END_ALLOW_THREADS
+
+ sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
+ sipType_QString, (PyObject *)0, eline, ecol);
+%End
+
+ SIP_PYTUPLE setContent(const QByteArray &);
+%MethodCode
+ bool res;
+ QString *emsg = new QString();
+ int eline, ecol;
+
+ Py_BEGIN_ALLOW_THREADS
+ res = sipCpp -> QDomDocument::setContent(*a0,emsg,&eline,&ecol);
+ Py_END_ALLOW_THREADS
+
+ sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
+ sipType_QString, (PyObject *)0, eline, ecol);
+%End
+
+ SIP_PYTUPLE setContent(const QString &);
+%MethodCode
+ bool res;
+ QString *emsg = new QString();
+ int eline, ecol;
+
+ Py_BEGIN_ALLOW_THREADS
+ res = sipCpp -> QDomDocument::setContent(*a0,emsg,&eline,&ecol);
+ Py_END_ALLOW_THREADS
+
+ sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
+ sipType_QString, (PyObject *)0, eline, ecol);
+%End
+
+ SIP_PYTUPLE setContent(QIODevice *);
+%MethodCode
+ bool res;
+ QString *emsg = new QString();
+ int eline, ecol;
+
+ Py_BEGIN_ALLOW_THREADS
+ res = sipCpp -> QDomDocument::setContent(a0,emsg,&eline,&ecol);
+ Py_END_ALLOW_THREADS
+
+ sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
+ sipType_QString, (PyObject *)0, eline, ecol);
+%End
+
+%End
+
+%If (Qt_3_2_0 -)
+// bool setContent(QXmlInputSource *,QXmlReader *,QString * = 0,int * = 0,
+// int * = 0);
+%End
+
+ QDomNode::NodeType nodeType() const;
+ bool isDocument() const;
+
+ QString toString() const;
+%If (Qt_3_1_0 -)
+ QString toString(int) const;
+%End
+ QCString toCString() const;
+%If (Qt_3_1_0 -)
+ QCString toCString(int) const;
+%End
+};
+
+
+class QDomNamedNodeMap
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomNamedNodeMap();
+ QDomNamedNodeMap(const QDomNamedNodeMap &);
+
+ QDomNode namedItem(const QString &) const;
+ QDomNode setNamedItem(const QDomNode &);
+ QDomNode removeNamedItem(const QString &);
+ QDomNode item(int) const;
+%If (Qt_3_0_0 -)
+ QDomNode namedItemNS(const QString &,const QString &) const;
+ QDomNode setNamedItemNS(const QDomNode &);
+ QDomNode removeNamedItemNS(const QString &,const QString &);
+%End
+
+ uint length() const;
+%If (Qt_3_0_0 -)
+ uint count() const;
+%End
+
+ bool contains(const QString &) const;
+};
+
+
+class QDomDocumentFragment : QDomNode
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomDocumentFragment();
+ QDomDocumentFragment(const QDomDocumentFragment &);
+
+ QDomNode::NodeType nodeType() const;
+ bool isDocumentFragment() const;
+};
+
+
+class QDomCharacterData : QDomNode
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomCharacterData();
+ QDomCharacterData(const QDomCharacterData &);
+
+ virtual QString substringData(unsigned long,unsigned long);
+ virtual void appendData(const QString &);
+ virtual void insertData(unsigned long,const QString &);
+ virtual void deleteData(unsigned long,unsigned long);
+ virtual void replaceData(unsigned long,unsigned long,const QString &);
+
+ virtual uint length() const;
+
+ virtual QString data() const;
+ virtual void setData(const QString &);
+
+ QDomNode::NodeType nodeType() const;
+ bool isCharacterData() const;
+};
+
+
+class QDomAttr : QDomNode
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomAttr();
+ QDomAttr(const QDomAttr&);
+
+ virtual QString name() const;
+ virtual bool specified() const;
+%If (Qt_3_0_0 -)
+ virtual QDomElement ownerElement() const;
+%End
+
+ virtual QString value() const;
+ virtual void setValue(const QString &);
+
+ QDomNode::NodeType nodeType() const;
+ bool isAttr() const;
+};
+
+
+class QDomElement : QDomNode
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomElement();
+ QDomElement(const QDomElement &);
+
+ QString attribute(const QString &,
+ const QString & = QString::null) const;
+ void setAttribute(const QString &,const QString &);
+ void setAttribute(const QString &,int /Constrained/);
+// void setAttribute(const QString &,uint);
+%If (Qt_3_2_0 -)
+// void setAttribute(const QString &,long);
+// void setAttribute(const QString &,ulong);
+%End
+ void setAttribute(const QString &,double);
+ void removeAttribute(const QString &);
+ QDomAttr attributeNode(const QString &);
+ QDomAttr setAttributeNode(const QDomAttr &);
+ QDomAttr removeAttributeNode(const QDomAttr &);
+ virtual QDomNodeList elementsByTagName(const QString &) const;
+ bool hasAttribute(const QString &) const;
+%If (- Qt_3_0_0)
+ void normalize();
+%End
+
+%If (Qt_3_0_0 -)
+ QString attributeNS(const QString,const QString &,
+ const QString &) const;
+ void setAttributeNS(const QString,const QString &,const QString &);
+ void setAttributeNS(const QString,const QString &,int /Constrained/);
+// void setAttributeNS(const QString,const QString &,uint);
+%If (Qt_3_2_0 -)
+// void setAttributeNS(const QString &,const QString &,long);
+// void setAttributeNS(const QString &,const QString &,ulong);
+%End
+ void setAttributeNS(const QString,const QString &,double);
+ void removeAttributeNS(const QString &,const QString &);
+ QDomAttr attributeNodeNS(const QString &,const QString &);
+ QDomAttr setAttributeNodeNS(const QDomAttr &);
+ virtual QDomNodeList elementsByTagNameNS(const QString &,
+ const QString &) const;
+ bool hasAttributeNS(const QString &,const QString &) const;
+%End
+
+ QString tagName() const;
+ void setTagName(const QString &);
+
+ QDomNamedNodeMap attributes() const;
+ QDomNode::NodeType nodeType() const;
+ bool isElement() const;
+
+ QString text() const;
+};
+
+
+class QDomText : QDomCharacterData
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomText();
+ QDomText(const QDomText &);
+
+ QDomText splitText(int);
+
+ QDomNode::NodeType nodeType() const;
+ bool isText() const;
+};
+
+
+class QDomComment : QDomCharacterData
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomComment();
+ QDomComment(const QDomComment &);
+
+ QDomNode::NodeType nodeType() const;
+ bool isComment() const;
+};
+
+
+class QDomCDATASection : QDomText
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomCDATASection();
+ QDomCDATASection(const QDomCDATASection&);
+
+ QDomNode::NodeType nodeType() const;
+ bool isCDATASection() const;
+};
+
+
+class QDomNotation : QDomNode
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomNotation();
+ QDomNotation(const QDomNotation &);
+
+ QString publicId() const;
+ QString systemId() const;
+
+ QDomNode::NodeType nodeType() const;
+ bool isNotation() const;
+};
+
+
+class QDomEntity : QDomNode
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomEntity();
+ QDomEntity(const QDomEntity &);
+
+ virtual QString publicId() const;
+ virtual QString systemId() const;
+ virtual QString notationName() const;
+
+ QDomNode::NodeType nodeType() const;
+ bool isEntity() const;
+};
+
+
+class QDomEntityReference : QDomNode
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomEntityReference();
+ QDomEntityReference(const QDomEntityReference &);
+
+ QDomNode::NodeType nodeType() const;
+ bool isEntityReference() const;
+};
+
+
+class QDomProcessingInstruction : QDomNode
+{
+%TypeHeaderCode
+#include <qdom.h>
+%End
+
+public:
+ QDomProcessingInstruction();
+ QDomProcessingInstruction(const QDomProcessingInstruction &);
+
+ virtual QString target() const;
+
+ virtual QString data() const;
+ virtual void setData(const QString &);
+
+ QDomNode::NodeType nodeType() const;
+ bool isProcessingInstruction() const;
+};
+
+%End
+%End
diff --git a/sip/qtxml/qtxmlmod.sip b/sip/qtxml/qtxmlmod.sip
new file mode 100644
index 0000000..58eebf4
--- /dev/null
+++ b/sip/qtxml/qtxmlmod.sip
@@ -0,0 +1,80 @@
+// This is the SIP interface definition for the qtxml module of PyQt.
+//
+// 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.
+
+
+%Module qtxml 0
+
+%Import qt/qtmod.sip
+
+%Include copying.sip
+
+
+%Include qdom.sip
+
+
+// This is only needed on Windows to make sure that the DLL containing the C++
+// code of the main qt module is loaded before we import our own C++ code which
+// has been linked against it. All other modules inherit from a class in the
+// qt module which sorts it out, but this module doesn't so we add a dummy. It
+// is ignored by SIP v4.x and later.
+%PrePythonCode
+from qt import QObject
+%End
+
+
+// The build file template.
+
+%Makefile qtxml.pro.in
+# The project file for the qtxml module.
+#
+# 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.
+
+
+TEMPLATE = lib
+TARGET = @BLX_TARGET_LIB@
+DESTDIR = @PYQT_MODDIR@
+CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@
+INCLUDEPATH = @BLX_INCLUDEPATH@
+DEFINES = @BLX_DEFINES@
+LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@
+macx:QMAKE_LFLAGS += -framework Python
+
+SOURCES = $B
+
+HEADERS = $H
+%End