diff options
Diffstat (limited to 'python/pyqt/sip/qt')
181 files changed, 35793 insertions, 0 deletions
diff --git a/python/pyqt/sip/qt/copying.sip b/python/pyqt/sip/qt/copying.sip new file mode 100644 index 00000000..463904b2 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qaccel.sip b/python/pyqt/sip/qt/qaccel.sip new file mode 100644 index 00000000..9c547ef4 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qaction.sip b/python/pyqt/sip/qt/qaction.sip new file mode 100644 index 00000000..e1f5c705 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qapplication.sip b/python/pyqt/sip/qt/qapplication.sip new file mode 100644 index 00000000..fbdf9e5e --- /dev/null +++ b/python/pyqt/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 &<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 &<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 &<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) /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/python/pyqt/sip/qt/qarray.sip b/python/pyqt/sip/qt/qarray.sip new file mode 100644 index 00000000..76125e1a --- /dev/null +++ b/python/pyqt/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<type> (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/python/pyqt/sip/qt/qassistantclient.sip b/python/pyqt/sip/qt/qassistantclient.sip new file mode 100644 index 00000000..34c48203 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qbitmap.sip b/python/pyqt/sip/qt/qbitmap.sip new file mode 100644 index 00000000..b0132ddc --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qbrush.sip b/python/pyqt/sip/qt/qbrush.sip new file mode 100644 index 00000000..ab629d75 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qbutton.sip b/python/pyqt/sip/qt/qbutton.sip new file mode 100644 index 00000000..356de1e9 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qbuttongroup.sip b/python/pyqt/sip/qt/qbuttongroup.sip new file mode 100644 index 00000000..647bb173 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qbytearray.sip b/python/pyqt/sip/qt/qbytearray.sip new file mode 100644 index 00000000..fa992ec6 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qcdestyle.sip b/python/pyqt/sip/qt/qcdestyle.sip new file mode 100644 index 00000000..790662ff --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qcheckbox.sip b/python/pyqt/sip/qt/qcheckbox.sip new file mode 100644 index 00000000..9c2bfc45 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qclipboard.sip b/python/pyqt/sip/qt/qclipboard.sip new file mode 100644 index 00000000..4220c371 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qcolor.sip b/python/pyqt/sip/qt/qcolor.sip new file mode 100644 index 00000000..7d0d53ed --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qcolordialog.sip b/python/pyqt/sip/qt/qcolordialog.sip new file mode 100644 index 00000000..2f715d93 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qcolorgroup.sip b/python/pyqt/sip/qt/qcolorgroup.sip new file mode 100644 index 00000000..20e37b0e --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qcombobox.sip b/python/pyqt/sip/qt/qcombobox.sip new file mode 100644 index 00000000..3555eba1 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qcommonstyle.sip b/python/pyqt/sip/qt/qcommonstyle.sip new file mode 100644 index 00000000..b8387168 --- /dev/null +++ b/python/pyqt/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 &<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>virtual 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 -) + +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/python/pyqt/sip/qt/qcstring.sip b/python/pyqt/sip/qt/qcstring.sip new file mode 100644 index 00000000..64b3b2ab --- /dev/null +++ b/python/pyqt/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 &<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/python/pyqt/sip/qt/qcursor.sip b/python/pyqt/sip/qt/qcursor.sip new file mode 100644 index 00000000..3631c30e --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qdatastream.sip b/python/pyqt/sip/qt/qdatastream.sip new file mode 100644 index 00000000..1a271326 --- /dev/null +++ b/python/pyqt/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 &<Function>readBytes</Function></FuncDef> + <ParamDef>const char *&<Parameter>s</Parameter></ParamDef> + <ParamDef>uint &<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 &<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 &<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 &<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/python/pyqt/sip/qt/qdatetime.sip b/python/pyqt/sip/qt/qdatetime.sip new file mode 100644 index 00000000..cede0216 --- /dev/null +++ b/python/pyqt/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><</Literal>, <Literal><=</Literal>, +<Literal>></Literal>, <Literal>>=</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><</Literal>, <Literal><=</Literal>, +<Literal>></Literal>, <Literal>>=</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><</Literal>, <Literal><=</Literal>, +<Literal>></Literal>, <Literal>>=</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/python/pyqt/sip/qt/qdatetimeedit.sip b/python/pyqt/sip/qt/qdatetimeedit.sip new file mode 100644 index 00000000..27ee8304 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qdesktopwidget.sip b/python/pyqt/sip/qt/qdesktopwidget.sip new file mode 100644 index 00000000..a6030e68 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qdial.sip b/python/pyqt/sip/qt/qdial.sip new file mode 100644 index 00000000..9587e8c4 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qdialog.sip b/python/pyqt/sip/qt/qdialog.sip new file mode 100644 index 00000000..c2835202 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qdir.sip b/python/pyqt/sip/qt/qdir.sip new file mode 100644 index 00000000..906e8051 --- /dev/null +++ b/python/pyqt/sip/qt/qdir.sip @@ -0,0 +1,384 @@ +// 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> +#include "sipqtQFileInfo.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/python/pyqt/sip/qt/qdockarea.sip b/python/pyqt/sip/qt/qdockarea.sip new file mode 100644 index 00000000..87c01268 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qdockwindow.sip b/python/pyqt/sip/qt/qdockwindow.sip new file mode 100644 index 00000000..5a2bef66 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qdragobject.sip b/python/pyqt/sip/qt/qdragobject.sip new file mode 100644 index 00000000..54652195 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qdrawutil.sip b/python/pyqt/sip/qt/qdrawutil.sip new file mode 100644 index 00000000..413ca4ad --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qdropsite.sip b/python/pyqt/sip/qt/qdropsite.sip new file mode 100644 index 00000000..a2c11dee --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qerrormessage.sip b/python/pyqt/sip/qt/qerrormessage.sip new file mode 100644 index 00000000..1f31264c --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qevent.sip b/python/pyqt/sip/qt/qevent.sip new file mode 100644 index 00000000..d4db7057 --- /dev/null +++ b/python/pyqt/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 ®ion() 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/python/pyqt/sip/qt/qeventloop.sip b/python/pyqt/sip/qt/qeventloop.sip new file mode 100644 index 00000000..22d7a2cd --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qfile.sip b/python/pyqt/sip/qt/qfile.sip new file mode 100644 index 00000000..f87685c7 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qfiledialog.sip b/python/pyqt/sip/qt/qfiledialog.sip new file mode 100644 index 00000000..611387a3 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qfileinfo.sip b/python/pyqt/sip/qt/qfileinfo.sip new file mode 100644 index 00000000..3755e317 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qfont.sip b/python/pyqt/sip/qt/qfont.sip new file mode 100644 index 00000000..b2abfd40 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qfontdatabase.sip b/python/pyqt/sip/qt/qfontdatabase.sip new file mode 100644 index 00000000..cacecea7 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qfontdialog.sip b/python/pyqt/sip/qt/qfontdialog.sip new file mode 100644 index 00000000..9196000e --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qfontinfo.sip b/python/pyqt/sip/qt/qfontinfo.sip new file mode 100644 index 00000000..d58eab0f --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qfontmetrics.sip b/python/pyqt/sip/qt/qfontmetrics.sip new file mode 100644 index 00000000..e5059fb5 --- /dev/null +++ b/python/pyqt/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 &<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 &<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/python/pyqt/sip/qt/qframe.sip b/python/pyqt/sip/qt/qframe.sip new file mode 100644 index 00000000..9e2a4e24 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qglobal.sip b/python/pyqt/sip/qt/qglobal.sip new file mode 100644 index 00000000..e2fb63a9 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qgmanager.sip b/python/pyqt/sip/qt/qgmanager.sip new file mode 100644 index 00000000..5a194b81 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qgrid.sip b/python/pyqt/sip/qt/qgrid.sip new file mode 100644 index 00000000..f26acb34 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qgridview.sip b/python/pyqt/sip/qt/qgridview.sip new file mode 100644 index 00000000..d1ca16b1 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qgroupbox.sip b/python/pyqt/sip/qt/qgroupbox.sip new file mode 100644 index 00000000..c420082c --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qhbox.sip b/python/pyqt/sip/qt/qhbox.sip new file mode 100644 index 00000000..7e5b2ee3 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qhbuttongroup.sip b/python/pyqt/sip/qt/qhbuttongroup.sip new file mode 100644 index 00000000..60cad68a --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qheader.sip b/python/pyqt/sip/qt/qheader.sip new file mode 100644 index 00000000..30302082 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qhgroupbox.sip b/python/pyqt/sip/qt/qhgroupbox.sip new file mode 100644 index 00000000..c12059af --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qiconset.sip b/python/pyqt/sip/qt/qiconset.sip new file mode 100644 index 00000000..4a55058a --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qiconview.sip b/python/pyqt/sip/qt/qiconview.sip new file mode 100644 index 00000000..122d2ec2 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qimage.sip b/python/pyqt/sip/qt/qimage.sip new file mode 100644 index 00000000..aa7e2e5f --- /dev/null +++ b/python/pyqt/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_AsLong(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/python/pyqt/sip/qt/qinputdialog.sip b/python/pyqt/sip/qt/qinputdialog.sip new file mode 100644 index 00000000..80a5394f --- /dev/null +++ b/python/pyqt/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 &<Parameter>caption</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>label</Parameter></ParamDef> + <ParamDef>const QString &<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 &<Parameter>caption</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>label</Parameter></ParamDef> + <ParamDef>QLineEdit::EchoMode<Parameter>echo</Parameter></ParamDef> + <ParamDef>const QString &<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 &<Parameter>caption</Parameter></ParamDef> + <ParamDef>const QString &<Parameter>label</Parameter></ParamDef> + <ParamDef>QLineEdit::EchoMode<Parameter>echo</Parameter> = QLineEdit::Normal</ParamDef> + <ParamDef>const QString &<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 &<Parameter>caption</Parameter></ParamDef> + <ParamDef>const QString &<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 &<Parameter>caption</Parameter></ParamDef> + <ParamDef>const QString &<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 &<Parameter>caption</Parameter></ParamDef> + <ParamDef>const QString &<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/python/pyqt/sip/qt/qinterlacestyle.sip b/python/pyqt/sip/qt/qinterlacestyle.sip new file mode 100644 index 00000000..5455b2fb --- /dev/null +++ b/python/pyqt/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 &<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. +</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/python/pyqt/sip/qt/qiodevice.sip b/python/pyqt/sip/qt/qiodevice.sip new file mode 100644 index 00000000..32079d2d --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qkeycode.sip b/python/pyqt/sip/qt/qkeycode.sip new file mode 100644 index 00000000..72c0a253 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qkeysequence.sip b/python/pyqt/sip/qt/qkeysequence.sip new file mode 100644 index 00000000..c7800f93 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qlabel.sip b/python/pyqt/sip/qt/qlabel.sip new file mode 100644 index 00000000..62655e6c --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qlayout.sip b/python/pyqt/sip/qt/qlayout.sip new file mode 100644 index 00000000..4270e1ef --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qlcdnumber.sip b/python/pyqt/sip/qt/qlcdnumber.sip new file mode 100644 index 00000000..ae250fd8 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qlibrary.sip b/python/pyqt/sip/qt/qlibrary.sip new file mode 100644 index 00000000..cb9813ad --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qlineedit.sip b/python/pyqt/sip/qt/qlineedit.sip new file mode 100644 index 00000000..47bd3fa0 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qlist.sip b/python/pyqt/sip/qt/qlist.sip new file mode 100644 index 00000000..8b5750ca --- /dev/null +++ b/python/pyqt/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<type> (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/python/pyqt/sip/qt/qlistbox.sip b/python/pyqt/sip/qt/qlistbox.sip new file mode 100644 index 00000000..0027e8f2 --- /dev/null +++ b/python/pyqt/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); + virtual void setColumnMode(int); + virtual void setRowMode(LayoutMode); + 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/python/pyqt/sip/qt/qlistview.sip b/python/pyqt/sip/qt/qlistview.sip new file mode 100644 index 00000000..2028d1e0 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qlocale.sip b/python/pyqt/sip/qt/qlocale.sip new file mode 100644 index 00000000..71f3e6db --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qmainwindow.sip b/python/pyqt/sip/qt/qmainwindow.sip new file mode 100644 index 00000000..11a2f120 --- /dev/null +++ b/python/pyqt/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 &<Function>operator<<</Function></FuncDef> + <ParamDef>QTextStream &<Parameter></Parameter></ParamDef> + <ParamDef>const QMainWindow &<Parameter></Parameter></ParamDef> +</FuncSynopsis> +<Para> +This operator is fully implemented. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>QTextStream &<Function>operator>></Function></FuncDef> + <ParamDef>QTextStream &<Parameter></Parameter></ParamDef> + <ParamDef>QMainWindow &<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 &<Parameter>dock</Parameter></ParamDef> + <ParamDef>int &<Parameter>index</Parameter></ParamDef> + <ParamDef>bool &<Parameter>nl</Parameter></ParamDef> + <ParamDef>int &<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<QToolBar> <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/python/pyqt/sip/qt/qmemarray.sip b/python/pyqt/sip/qt/qmemarray.sip new file mode 100644 index 00000000..d3e371ca --- /dev/null +++ b/python/pyqt/sip/qt/qmemarray.sip @@ -0,0 +1,92 @@ +// 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<type> (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 +}; + +%End diff --git a/python/pyqt/sip/qt/qmenubar.sip b/python/pyqt/sip/qt/qmenubar.sip new file mode 100644 index 00000000..5f614582 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qmenudata.sip b/python/pyqt/sip/qt/qmenudata.sip new file mode 100644 index 00000000..ac5dab0b --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qmessagebox.sip b/python/pyqt/sip/qt/qmessagebox.sip new file mode 100644 index 00000000..16e635e3 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qmetaobject.sip b/python/pyqt/sip/qt/qmetaobject.sip new file mode 100644 index 00000000..5cf77037 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qmime.sip b/python/pyqt/sip/qt/qmime.sip new file mode 100644 index 00000000..cb5abd80 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qmotifplusstyle.sip b/python/pyqt/sip/qt/qmotifplusstyle.sip new file mode 100644 index 00000000..18aaa3e0 --- /dev/null +++ b/python/pyqt/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 &<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 QScrollBar *<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_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/python/pyqt/sip/qt/qmotifstyle.sip b/python/pyqt/sip/qt/qmotifstyle.sip new file mode 100644 index 00000000..d749745b --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qmovie.sip b/python/pyqt/sip/qt/qmovie.sip new file mode 100644 index 00000000..ba4f3e92 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qmultilinedit.sip b/python/pyqt/sip/qt/qmultilinedit.sip new file mode 100644 index 00000000..1d407bae --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qmutex.sip b/python/pyqt/sip/qt/qmutex.sip new file mode 100644 index 00000000..1f9ff868 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qnamespace.sip b/python/pyqt/sip/qt/qnamespace.sip new file mode 100644 index 00000000..cddd3b51 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qnetworkprotocol.sip b/python/pyqt/sip/qt/qnetworkprotocol.sip new file mode 100644 index 00000000..6af512b9 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qobject.sip b/python/pyqt/sip/qt/qobject.sip new file mode 100644 index 00000000..97b3ff88 --- /dev/null +++ b/python/pyqt/sip/qt/qobject.sip @@ -0,0 +1,1369 @@ +// 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 { + 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 (sipEmitSignal(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 = sipGetSender(); +%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 = sipGetSender(); +%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 + + +// This is Qt support code for SIP v4.4 and later. +%ModuleCode + +#include <qobject.h> +#include <qvariant.h> +#include <qmetaobject.h> +#include <private/qucom_p.h> +#include <private/qucomextra_p.h> + + +// 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, sipSlotConnection *conn, const char **member); + ~UniversalSlot(); + + virtual QMetaObject *metaObject() const + { + return staticMetaObject(); + } + + virtual bool qt_invoke(int, QUObject *args); + static QMetaObject *staticMetaObject(); + + static const QObject *lastSender; + + static UniversalSlot *unislots; + UniversalSlot *nextus, *prevus; + sipSlotConnection 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, sipSlotConnection *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() +{ + sipFreeConnection(&conn); + + // Remove this one from the global list. + if (nextus) + nextus -> prevus = prevus; + + if (prevus) + prevus -> nextus = nextus; + else + unislots = nextus; +} + + +QMetaObject *UniversalSlot::metaObj = 0; + +#if QT_VERSION >= 0x030100 +static QMetaObjectCleanUp cleanUp_UniversalSlot("UniversalSlot", &UniversalSlot::staticMetaObject); +#else +static QMetaObjectCleanUp cleanUp_UniversalSlot; +#endif + +const 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 sipSignature *psig = conn.sc_signature; + QVariant *qv; + + // Save in case it is asked for later. + lastSender = 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 && sipEmitToSlot(&conn.sc_slot, argtup) < 0) + ok = FALSE; + + Py_DECREF(argtup); + } + + if (!ok) + PyErr_Print(); + +#ifdef WITH_THREAD + PyGILState_Release(state); +#endif + + return ok; +} + + +// Declare explicit C linkage. +extern "C" +{ + static void *sipQtCreateUniversalSlot(sipWrapper *, sipSlotConnection *, const char **); + 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 sipQtSignalsBlocked(void *); + static const void *sipQtGetSender(); + static void sipQtForgetSender(); + static int sipQtSameSignalSlotName(const char *, const char *); + static sipSlotConnection *sipQtFindConnection(void *, void **); +} + + +// 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, sipSlotConnection *conn, const char **member) +{ + 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(tx, (PyTypeObject *)sipClass_QObject)) + qtx = reinterpret_cast<QObject *>(conn->sc_transmitter); + + return new UniversalSlot(qtx, conn, member); +} + + +// 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) + if (sipSameConnection(&us->conn, tx, sig, 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 signals are currently blocked for a QObject. +static int sipQtSignalsBlocked(void *qobj) +{ + return reinterpret_cast<QObject *>(qobj)->signalsBlocked(); +} + + +// Get the last sender for QObject::sender(). +static const void *sipQtGetSender() +{ + return UniversalSlot::lastSender; +} + + +// Forget the last sender. +static void sipQtForgetSender() +{ + UniversalSlot::lastSender = 0; +} + + +// 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 connection for a particular transmitter. This will be +// called with the GIL locked. +static sipSlotConnection *sipQtFindConnection(void *tx, void **context) +{ + UniversalSlot *us = *reinterpret_cast<UniversalSlot **>(context); + + if (!us) + us = UniversalSlot::unislots; + + sipSlotConnection *conn = 0; + + while (us) + { + sipSlotConnection *this_conn = &us->conn; + + us = us->nextus; + + if (this_conn->sc_transmitter == tx) + { + conn = this_conn; + break; + } + } + + *context = us; + + return conn; +} + +%End diff --git a/python/pyqt/sip/qt/qobjectcleanuphandler.sip b/python/pyqt/sip/qt/qobjectcleanuphandler.sip new file mode 100644 index 00000000..0828fc7f --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qobjectlist.sip b/python/pyqt/sip/qt/qobjectlist.sip new file mode 100644 index 00000000..d9adc9e0 --- /dev/null +++ b/python/pyqt/sip/qt/qobjectlist.sip @@ -0,0 +1,108 @@ +// 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> +#include "sipqtQObject.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/python/pyqt/sip/qt/qpaintdevice.sip b/python/pyqt/sip/qt/qpaintdevice.sip new file mode 100644 index 00000000..52b78f28 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qpaintdevicemetrics.sip b/python/pyqt/sip/qt/qpaintdevicemetrics.sip new file mode 100644 index 00000000..ece93568 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qpainter.sip b/python/pyqt/sip/qt/qpainter.sip new file mode 100644 index 00000000..f9b1fca1 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qpair.sip b/python/pyqt/sip/qt/qpair.sip new file mode 100644 index 00000000..6064e222 --- /dev/null +++ b/python/pyqt/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<type,type> (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/python/pyqt/sip/qt/qpalette.sip b/python/pyqt/sip/qt/qpalette.sip new file mode 100644 index 00000000..ae7b94ca --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qpen.sip b/python/pyqt/sip/qt/qpen.sip new file mode 100644 index 00000000..f59db981 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qpicture.sip b/python/pyqt/sip/qt/qpicture.sip new file mode 100644 index 00000000..dbeb3091 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qpixmap.sip b/python/pyqt/sip/qt/qpixmap.sip new file mode 100644 index 00000000..d00cd78f --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qpixmapcache.sip b/python/pyqt/sip/qt/qpixmapcache.sip new file mode 100644 index 00000000..5e8e0664 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qplatinumstyle.sip b/python/pyqt/sip/qt/qplatinumstyle.sip new file mode 100644 index 00000000..5392eea6 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qpoint.sip b/python/pyqt/sip/qt/qpoint.sip new file mode 100644 index 00000000..6dc338fd --- /dev/null +++ b/python/pyqt/sip/qt/qpoint.sip @@ -0,0 +1,103 @@ +// 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 &<Function>rx</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QCOORD &<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 + + // Qt defines the remaining operators as global, rather than part of + // the class, but SIP doesn't support global operators. + bool operator==(const QPoint &); + bool operator!=(const QPoint &); + const QPoint operator+(const QPoint &); + const QPoint operator-(const QPoint &); + const QPoint operator*(int /Constrained/); + const QPoint operator*(double); + + const QPoint __neg__(); +%MethodCode + sipRes = new QPoint(-(*sipCpp)); +%End + + const QPoint operator/(int /Constrained/); + const QPoint operator/(double); +}; diff --git a/python/pyqt/sip/qt/qpointarray.sip b/python/pyqt/sip/qt/qpointarray.sip new file mode 100644 index 00000000..c88b56b6 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qpopupmenu.sip b/python/pyqt/sip/qt/qpopupmenu.sip new file mode 100644 index 00000000..08366b42 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qprintdialog.sip b/python/pyqt/sip/qt/qprintdialog.sip new file mode 100644 index 00000000..2ead1f98 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qprinter.sip b/python/pyqt/sip/qt/qprinter.sip new file mode 100644 index 00000000..b8bf4f9f --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qprocess.sip b/python/pyqt/sip/qt/qprocess.sip new file mode 100644 index 00000000..c02c5120 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qprogressbar.sip b/python/pyqt/sip/qt/qprogressbar.sip new file mode 100644 index 00000000..bcf3ad23 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qprogressdialog.sip b/python/pyqt/sip/qt/qprogressdialog.sip new file mode 100644 index 00000000..49630411 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qptrlist.sip b/python/pyqt/sip/qt/qptrlist.sip new file mode 100644 index 00000000..c49afad8 --- /dev/null +++ b/python/pyqt/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<type> (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/python/pyqt/sip/qt/qpushbutton.sip b/python/pyqt/sip/qt/qpushbutton.sip new file mode 100644 index 00000000..93e6fa07 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qradiobutton.sip b/python/pyqt/sip/qt/qradiobutton.sip new file mode 100644 index 00000000..77c00db1 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qrangecontrol.sip b/python/pyqt/sip/qt/qrangecontrol.sip new file mode 100644 index 00000000..2c1c3af6 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qrect.sip b/python/pyqt/sip/qt/qrect.sip new file mode 100644 index 00000000..e658baa1 --- /dev/null +++ b/python/pyqt/sip/qt/qrect.sip @@ -0,0 +1,209 @@ +// 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>&</Literal>, <Literal>&=</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 &<Function>rBottom</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>QCOORD &<Function>rLeft</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>QCOORD &<Function>rRight</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>QCOORD &<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; + + // Qt defines the remaining operators as global, rather than part of + // the class, but SIP doesn't support global operators. + bool operator==(const QRect &) const; + bool operator!=(const QRect &) const; +}; diff --git a/python/pyqt/sip/qt/qregexp.sip b/python/pyqt/sip/qt/qregexp.sip new file mode 100644 index 00000000..3d1dc403 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qregion.sip b/python/pyqt/sip/qt/qregion.sip new file mode 100644 index 00000000..07f166bf --- /dev/null +++ b/python/pyqt/sip/qt/qregion.sip @@ -0,0 +1,126 @@ +// 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>&</Literal>, <Literal>&=</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<QRect> <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; +// QArray<QRect> rects() const; +%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/python/pyqt/sip/qt/qscrollbar.sip b/python/pyqt/sip/qt/qscrollbar.sip new file mode 100644 index 00000000..20b8e5d1 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qscrollview.sip b/python/pyqt/sip/qt/qscrollview.sip new file mode 100644 index 00000000..4d7161f8 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qsemaphore.sip b/python/pyqt/sip/qt/qsemaphore.sip new file mode 100644 index 00000000..5e1ba408 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qsemimodal.sip b/python/pyqt/sip/qt/qsemimodal.sip new file mode 100644 index 00000000..0efc1c83 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qsessionmanager.sip b/python/pyqt/sip/qt/qsessionmanager.sip new file mode 100644 index 00000000..92ff03cf --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qsettings.sip b/python/pyqt/sip/qt/qsettings.sip new file mode 100644 index 00000000..122593e4 --- /dev/null +++ b/python/pyqt/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 &<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 &<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 &<Parameter>key</Parameter></ParamDef> + <ParamDef>const QString &<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 &<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 &<Parameter>key</Parameter></ParamDef> + <ParamDef>const QChar &<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 &<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 &<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/python/pyqt/sip/qt/qsgistyle.sip b/python/pyqt/sip/qt/qsgistyle.sip new file mode 100644 index 00000000..c2563ea4 --- /dev/null +++ b/python/pyqt/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 &<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_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/python/pyqt/sip/qt/qsignalmapper.sip b/python/pyqt/sip/qt/qsignalmapper.sip new file mode 100644 index 00000000..d5877239 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qsimplerichtext.sip b/python/pyqt/sip/qt/qsimplerichtext.sip new file mode 100644 index 00000000..7b189c33 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qsize.sip b/python/pyqt/sip/qt/qsize.sip new file mode 100644 index 00000000..e85d61dc --- /dev/null +++ b/python/pyqt/sip/qt/qsize.sip @@ -0,0 +1,114 @@ +// 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 &<Function>rheight</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QCOORD &<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 + + // Qt defines the remaining operators as global, rather than part of + // the class, but SIP doesn't support global operators. + bool operator==(const QSize &) const; + bool operator!=(const QSize &) const; + const QSize operator+(const QSize &) const; + const QSize operator-(const QSize &) const; + const QSize operator*(int /Constrained/) const; + const QSize operator*(double) const; + const QSize operator/(int /Constrained/) const; + const QSize operator/(double) const; +}; diff --git a/python/pyqt/sip/qt/qsizegrip.sip b/python/pyqt/sip/qt/qsizegrip.sip new file mode 100644 index 00000000..af21e943 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qsizepolicy.sip b/python/pyqt/sip/qt/qsizepolicy.sip new file mode 100644 index 00000000..c26b54af --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qslider.sip b/python/pyqt/sip/qt/qslider.sip new file mode 100644 index 00000000..9560216c --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qsocketnotifier.sip b/python/pyqt/sip/qt/qsocketnotifier.sip new file mode 100644 index 00000000..1f1527a7 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qsound.sip b/python/pyqt/sip/qt/qsound.sip new file mode 100644 index 00000000..8cdbb1b3 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qspinbox.sip b/python/pyqt/sip/qt/qspinbox.sip new file mode 100644 index 00000000..fad96216 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qsplashscreen.sip b/python/pyqt/sip/qt/qsplashscreen.sip new file mode 100644 index 00000000..8277f112 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qsplitter.sip b/python/pyqt/sip/qt/qsplitter.sip new file mode 100644 index 00000000..167f8fc3 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qstatusbar.sip b/python/pyqt/sip/qt/qstatusbar.sip new file mode 100644 index 00000000..4e1f7043 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qstring.sip b/python/pyqt/sip/qt/qstring.sip new file mode 100644 index 00000000..21bf0e8c --- /dev/null +++ b/python/pyqt/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==(char); + bool operator==(QChar); + bool operator!=(QChar); + bool operator!=(char); + bool operator<=(char); + bool operator<=(QChar); + bool operator>=(char); + bool operator>=(QChar); + bool operator<(char); + bool operator<(QChar); + bool operator>(char); + bool operator>(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 + + bool operator==(const QString &) const; + bool operator!=(const QString &) const; + bool operator<(const QString &) const; + bool operator<=(const QString &) const; + bool operator>(const QString &) const; + bool operator>=(const QString &) const; + + // 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 = ((sipWrapper *)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); + + ((sipWrapper *)sipSelf)->user = encobj; + } + else + sipRes = -1; + } + else + { + const char *asc = sipCpp->ascii(); + + *sipPtrPtr = (void *)asc; + sipRes = qstrlen(asc); + } + } +%End +}; + +%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/python/pyqt/sip/qt/qstringlist.sip b/python/pyqt/sip/qt/qstringlist.sip new file mode 100644 index 00000000..d95034c4 --- /dev/null +++ b/python/pyqt/sip/qt/qstringlist.sip @@ -0,0 +1,247 @@ +// This is the SIP interface definition for QStringList. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <info@riverbankcomputing.co.uk> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QStringList (Qt v2+)</Title> +<Para> +The Python <Literal>len</Literal>, <Literal>[]</Literal> (for both reading and +writing slices and individual elements), <Literal>del</Literal> (for deleting +slices and individual elements), <Literal>+</Literal>, <Literal>+=</Literal>, +<Literal>*</Literal>, <Literal>*=</Literal>, <Literal>==</Literal>, +<Literal>!=</Literal> and <Literal>in</Literal> operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>Iterator <Function>append</Function></FuncDef> + <ParamDef>const QString &<Parameter>x</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This does not return a value. +</Para> + +<FuncSynopsis> + <FuncDef>Iterator <Function>prepend</Function></FuncDef> + <ParamDef>const QString &<Parameter>x</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This does not return a value. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QStringList +{ +%TypeHeaderCode +#include <qstringlist.h> +%End + +public: + QStringList(); + QStringList(const QStringList &); + QStringList(const QString &); + + void sort(); +%If (Qt_2_1_0 -) + static QStringList fromStrList(const QStrList &); + static QStringList split(const QString &,const QString &,bool = 0); + static QStringList split(const QChar &,const QString &,bool = 0); + static QStringList split(const QRegExp &,const QString &,bool = 0); + QString join(const QString &) const; + QStringList grep(const QString &,bool = 1) const; + QStringList grep(const QRegExp &) const; +%End + +%If (Qt_3_2_0 -) + QStringList &gres(const QString &,const QString &,bool = 1); + QStringList &gres(const QRegExp &,const QString &); +%End + + // These are actually in QValueList, which isn't implemented so + // pretend they are here. + + bool isEmpty() const; + void append(const QString &); + void prepend(const QString &); + void remove(const QString &); + const QString &first() const; + const QString &last() const; + int findIndex(const QString &) const; + uint contains(const QString &) const; + uint count() const; + void clear(); + + int __len__(); +%MethodCode + sipRes = sipCpp -> count(); +%End + + void __setitem__(int,const QString &); +%MethodCode + int len; + + len = sipCpp -> count(); + + if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0) + sipIsErr = 1; + else + (*sipCpp)[a0] = *a1; +%End + + void __setitem__(SIP_PYSLICE,const QStringList &); +%MethodCode +#if PY_VERSION_HEX >= 0x02050000 + Py_ssize_t len, start, stop, step, slicelength, i; +#else + int len, start, stop, step, slicelength, i; +#endif + + len = sipCpp -> count(); + + if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0) + sipIsErr = 1; + else + { + int vlen = a1 -> count(); + + if (vlen != slicelength) + { + sipBadLengthForSlice(vlen,slicelength); + sipIsErr = 1; + } + else + { + QStringList::ConstIterator it = a1 -> begin(); + + for (i = 0; i < slicelength; ++i) + { + (*sipCpp)[start] = *it; + start += step; + ++it; + } + } + } +%End + + void __delitem__(int); +%MethodCode + int len; + + len = sipCpp -> count(); + + if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0) + sipIsErr = 1; + else + sipCpp -> remove(sipCpp -> at(a0)); +%End + + void __delitem__(SIP_PYSLICE); +%MethodCode +#if PY_VERSION_HEX >= 0x02050000 + Py_ssize_t len, start, stop, step, slicelength, i; +#else + int len, start, stop, step, slicelength, i; +#endif + + len = sipCpp -> count(); + + if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0) + sipIsErr = 1; + else + for (i = 0; i < slicelength; ++i) + { + sipCpp -> remove(sipCpp -> at(start)); + start += step - 1; + } +%End + + QString operator[](int); +%MethodCode + int len; + + len = sipCpp -> count(); + + if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0) + sipIsErr = 1; + else + sipRes = new QString((*sipCpp)[a0]); +%End + + QStringList operator[](SIP_PYSLICE); +%MethodCode +#if PY_VERSION_HEX >= 0x02050000 + Py_ssize_t len, start, stop, step, slicelength, i; +#else + int len, start, stop, step, slicelength, i; +#endif + + len = sipCpp -> count(); + + if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0) + sipIsErr = 1; + else + { + sipRes = new QStringList(); + + for (i = 0; i < slicelength; ++i) + { + (*sipRes) += (*sipCpp)[start]; + start += step; + } + } +%End + + int __contains__(const QString &); +%MethodCode + sipRes = (sipCpp -> findIndex(*a0) >= 0); +%End + + QStringList operator+(const QStringList &); + QStringList &operator+=(const QStringList &); + + QStringList &operator+=(const QString &); + + QStringList operator*(int); +%MethodCode + sipRes = new QStringList(); + + while (a0-- > 0) + *sipRes += *sipCpp; +%End + + QStringList &operator*=(int); +%MethodCode + QStringList orig(*sipCpp); + + sipCpp -> clear(); + + while (a0-- > 0) + *sipCpp += orig; +%End + + bool operator==(const QStringList &); + bool operator!=(const QStringList &); +}; + +%End diff --git a/python/pyqt/sip/qt/qstrlist.sip b/python/pyqt/sip/qt/qstrlist.sip new file mode 100644 index 00000000..189e1343 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qstyle.sip b/python/pyqt/sip/qt/qstyle.sip new file mode 100644 index 00000000..23e116c0 --- /dev/null +++ b/python/pyqt/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 &<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>virtual void <Function>scrollBarMetrics</Function></FuncDef> + <ParamDef>const QScrollBar *<Parameter>b</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> +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 &<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> + +<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 = 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); +%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/python/pyqt/sip/qt/qstylefactory.sip b/python/pyqt/sip/qt/qstylefactory.sip new file mode 100644 index 00000000..9249c625 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qstylesheet.sip b/python/pyqt/sip/qt/qstylesheet.sip new file mode 100644 index 00000000..c248e568 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qsyntaxhighlighter.sip b/python/pyqt/sip/qt/qsyntaxhighlighter.sip new file mode 100644 index 00000000..13d24e8d --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qtabbar.sip b/python/pyqt/sip/qt/qtabbar.sip new file mode 100644 index 00000000..dede1bd0 --- /dev/null +++ b/python/pyqt/sip/qt/qtabbar.sip @@ -0,0 +1,264 @@ +// 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<QTab> <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/python/pyqt/sip/qt/qtabdialog.sip b/python/pyqt/sip/qt/qtabdialog.sip new file mode 100644 index 00000000..115cf9d7 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qtableview.sip b/python/pyqt/sip/qt/qtableview.sip new file mode 100644 index 00000000..a2159be7 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qtabwidget.sip b/python/pyqt/sip/qt/qtabwidget.sip new file mode 100644 index 00000000..2f78472e --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qtextbrowser.sip b/python/pyqt/sip/qt/qtextbrowser.sip new file mode 100644 index 00000000..d7f45703 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qtextcodec.sip b/python/pyqt/sip/qt/qtextcodec.sip new file mode 100644 index 00000000..626e12bf --- /dev/null +++ b/python/pyqt/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 &<Parameter>uc</Parameter></ParamDef> + <ParamDef>int &<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 &<Parameter>uc</Parameter></ParamDef> + <ParamDef>int &<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/python/pyqt/sip/qt/qtextedit.sip b/python/pyqt/sip/qt/qtextedit.sip new file mode 100644 index 00000000..3576bf31 --- /dev/null +++ b/python/pyqt/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 &<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 &<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,¶); + 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/python/pyqt/sip/qt/qtextstream.sip b/python/pyqt/sip/qt/qtextstream.sip new file mode 100644 index 00000000..7e8abcdd --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qtextview.sip b/python/pyqt/sip/qt/qtextview.sip new file mode 100644 index 00000000..d79a34ad --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qthread.sip b/python/pyqt/sip/qt/qthread.sip new file mode 100644 index 00000000..29966c6b --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qtimer.sip b/python/pyqt/sip/qt/qtimer.sip new file mode 100644 index 00000000..62d20b25 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qtmod.sip b/python/pyqt/sip/qt/qtmod.sip new file mode 100644 index 00000000..913ff8b6 --- /dev/null +++ b/python/pyqt/sip/qt/qtmod.sip @@ -0,0 +1,282 @@ +// 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 + +%Include versions.sip +%Include copying.sip + + +unsigned PYQT_VERSION; +const char *PYQT_VERSION_STR; + +%ModuleCode +static unsigned PYQT_VERSION = 0x031102; +static const char *PYQT_VERSION_STR = "3.17.2"; +%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 + + +// 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/python/pyqt/sip/qt/qtoolbar.sip b/python/pyqt/sip/qt/qtoolbar.sip new file mode 100644 index 00000000..7143ba0f --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qtoolbox.sip b/python/pyqt/sip/qt/qtoolbox.sip new file mode 100644 index 00000000..804d7dd2 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qtoolbutton.sip b/python/pyqt/sip/qt/qtoolbutton.sip new file mode 100644 index 00000000..7de2e90b --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qtooltip.sip b/python/pyqt/sip/qt/qtooltip.sip new file mode 100644 index 00000000..5dacad7e --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qtranslator.sip b/python/pyqt/sip/qt/qtranslator.sip new file mode 100644 index 00000000..08200ad6 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qurl.sip b/python/pyqt/sip/qt/qurl.sip new file mode 100644 index 00000000..7cbe394d --- /dev/null +++ b/python/pyqt/sip/qt/qurl.sip @@ -0,0 +1,114 @@ +// 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; + + // Qt doesn't implement these, but Python doesn't support C++'s + // default handling of != when == is implemented. + bool operator!=(const QUrl &) const; + bool operator!=(const QString &) const; + + 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/python/pyqt/sip/qt/qurlinfo.sip b/python/pyqt/sip/qt/qurlinfo.sip new file mode 100644 index 00000000..7f2d5d3b --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qurloperator.sip b/python/pyqt/sip/qt/qurloperator.sip new file mode 100644 index 00000000..b776516f --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/quuid.sip b/python/pyqt/sip/qt/quuid.sip new file mode 100644 index 00000000..5836dfb8 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qvalidator.sip b/python/pyqt/sip/qt/qvalidator.sip new file mode 100644 index 00000000..d3329dbd --- /dev/null +++ b/python/pyqt/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 ®Exp() const; + +private: + QRegExpValidator(const QRegExpValidator &); +}; + +%End diff --git a/python/pyqt/sip/qt/qvaluelist.sip b/python/pyqt/sip/qt/qvaluelist.sip new file mode 100644 index 00000000..732740da --- /dev/null +++ b/python/pyqt/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<type> (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/python/pyqt/sip/qt/qvariant.sip b/python/pyqt/sip/qt/qvariant.sip new file mode 100644 index 00000000..c942c3ef --- /dev/null +++ b/python/pyqt/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 &<Parameter>val</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef><Function>QVariant</Function></FuncDef> + <ParamDef>const QValueList<QVariant> &<Parameter>val</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef><Function>QVariant</Function></FuncDef> + <ParamDef>const QMap<QString,QVariant> &<Parameter>val</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QBitArray &<Function>asBitArray</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool &<Function>asBool</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>double &<Function>asDouble</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>int &<Function>asInt</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QValueList<QVariant> &<Function>asList</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QMap<QString,QVariant> &<Function>asMap</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>uint &<Function>asUInt</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QValueListConstIterator<QVariant><Function>listBegin</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QValueListConstIterator<QVariant><Function>listEnd</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QMapConstIterator<QString,QVariant><Function>mapBegin</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QMapConstIterator<QString,QVariant><Function>mapEnd</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QMapConstIterator<QString,QVariant><Function>mapFind</Function> const</FuncDef> + <ParamDef>const QString &<Parameter>key</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QValueListConstIterator<QString><Function>stringListBegin</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QValueListConstIterator<QString><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<QVariant><Function>toList</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>const QMap<QString,QVariant><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/python/pyqt/sip/qt/qvbox.sip b/python/pyqt/sip/qt/qvbox.sip new file mode 100644 index 00000000..9f0e8113 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qvbuttongroup.sip b/python/pyqt/sip/qt/qvbuttongroup.sip new file mode 100644 index 00000000..9561ed54 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qvgroupbox.sip b/python/pyqt/sip/qt/qvgroupbox.sip new file mode 100644 index 00000000..06b355e0 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qwaitcondition.sip b/python/pyqt/sip/qt/qwaitcondition.sip new file mode 100644 index 00000000..5d8d66f2 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qwhatsthis.sip b/python/pyqt/sip/qt/qwhatsthis.sip new file mode 100644 index 00000000..b7454497 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qwidget.sip b/python/pyqt/sip/qt/qwidget.sip new file mode 100644 index 00000000..f515277d --- /dev/null +++ b/python/pyqt/sip/qt/qwidget.sip @@ -0,0 +1,654 @@ +// 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 + +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/python/pyqt/sip/qt/qwidgetlist.sip b/python/pyqt/sip/qt/qwidgetlist.sip new file mode 100644 index 00000000..7fc67421 --- /dev/null +++ b/python/pyqt/sip/qt/qwidgetlist.sip @@ -0,0 +1,108 @@ +// 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> +#include "sipqtQWidget.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/python/pyqt/sip/qt/qwidgetstack.sip b/python/pyqt/sip/qt/qwidgetstack.sip new file mode 100644 index 00000000..daf6694a --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qwindow.sip b/python/pyqt/sip/qt/qwindow.sip new file mode 100644 index 00000000..4305c426 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qwindowdefs.sip b/python/pyqt/sip/qt/qwindowdefs.sip new file mode 100644 index 00000000..4638d710 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qwindowdefs_qws.sip b/python/pyqt/sip/qt/qwindowdefs_qws.sip new file mode 100644 index 00000000..53f4b773 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qwindowdefs_x11.sip b/python/pyqt/sip/qt/qwindowdefs_x11.sip new file mode 100644 index 00000000..4ddfcd42 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qwindowsstyle.sip b/python/pyqt/sip/qt/qwindowsstyle.sip new file mode 100644 index 00000000..34be4260 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qwindowsxpstyle.sip b/python/pyqt/sip/qt/qwindowsxpstyle.sip new file mode 100644 index 00000000..394bfad0 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qwizard.sip b/python/pyqt/sip/qt/qwizard.sip new file mode 100644 index 00000000..c062f65c --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qwmatrix.sip b/python/pyqt/sip/qt/qwmatrix.sip new file mode 100644 index 00000000..1bb8cdc4 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/qworkspace.sip b/python/pyqt/sip/qt/qworkspace.sip new file mode 100644 index 00000000..bbc9dfc9 --- /dev/null +++ b/python/pyqt/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/python/pyqt/sip/qt/versions.sip b/python/pyqt/sip/qt/versions.sip new file mode 100644 index 00000000..c662a854 --- /dev/null +++ b/python/pyqt/sip/qt/versions.sip @@ -0,0 +1,88 @@ +// 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 |