summaryrefslogtreecommitdiffstats
path: root/sip/qt
diff options
context:
space:
mode:
Diffstat (limited to 'sip/qt')
-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
181 files changed, 36833 insertions, 0 deletions
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