diff options
Diffstat (limited to 'sip')
280 files changed, 48733 insertions, 0 deletions
diff --git a/sip/pyqt-gpl.sip b/sip/pyqt-gpl.sip new file mode 100644 index 0000000..bec8f9e --- /dev/null +++ b/sip/pyqt-gpl.sip @@ -0,0 +1 @@ +%License /Type="gpl"/ diff --git a/sip/qt/copying.sip b/sip/qt/copying.sip new file mode 100644 index 0000000..463904b --- /dev/null +++ b/sip/qt/copying.sip @@ -0,0 +1,51 @@ +// This is the SIP file defining the PyQt license. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// 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 <[email protected]> + +This file is part of PyQt. + +This copy of PyQt is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%End + + +%OptionalInclude pyqt-internal.sip +%OptionalInclude pyqt-gpl.sip +%OptionalInclude pyqt-commercial.sip +%OptionalInclude pyqt-edu.sip +%OptionalInclude pyqt-eval.sip +%OptionalInclude pyqt-nc.sip +%OptionalInclude pyqt-tkc.sip diff --git a/sip/qt/qaccel.sip b/sip/qt/qaccel.sip new file mode 100644 index 0000000..9c547ef --- /dev/null +++ b/sip/qt/qaccel.sip @@ -0,0 +1,104 @@ +// This is the SIP interface definition for QAccel. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QAccel</Title> +<Para> +<Literal>QAccel</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QAccel : QObject +{ +%TypeHeaderCode +#include <qaccel.h> +%End + +public: + QAccel(QWidget * /TransferThis/,char * = 0); +%If (Qt_2_1_0 -) + QAccel(QWidget *,QObject * /TransferThis/,char * = 0); +%End + + bool isEnabled(); + void setEnabled(bool); + + uint count(); + +%If (- Qt_3_0_0) + int insertItem(int,int = -1); +%End +%If (Qt_3_0_0 -) + int insertItem(const QKeySequence &,int = -1); +%End + void removeItem(int); + void clear(); + +%If (- Qt_3_0_0) + int key(int); + int findKey(int) const; +%End +%If (Qt_3_0_0 -) + QKeySequence key(int); + int findKey(const QKeySequence &) const; +%End + + bool isItemEnabled(int) const; + void setItemEnabled(int,bool); + + bool connectItem(int,SIP_RXOBJ_CON,SIP_SLOT_CON(int)); + bool disconnectItem(int,SIP_RXOBJ_DIS,SIP_SLOT_DIS(int)); + + void repairEventFilter(); + +%If (Qt_2_00 -) + void setWhatsThis(int,const QString &); + QString whatsThis(int) const; + void setIgnoreWhatsThis(bool); + bool ignoreWhatsThis() const; +%End + +%If (Qt_2_00 - Qt_3_0_0) + static int shortcutKey(const QString &); + static QString keyToString(int); + static int stringToKey(const QString &); +%End +%If (Qt_3_0_0 -) + static QKeySequence shortcutKey(const QString &); + static QString keyToString(QKeySequence); + static QKeySequence stringToKey(const QString &); +%End + +signals: + void activated(int); +%If (Qt_3_1_0 -) + void activatedAmbiguously(int); +%End + +protected: + bool eventFilter(QObject *,QEvent *); + +private: + QAccel(const QAccel &); +}; diff --git a/sip/qt/qaction.sip b/sip/qt/qaction.sip new file mode 100644 index 0000000..e1f5c70 --- /dev/null +++ b/sip/qt/qaction.sip @@ -0,0 +1,210 @@ +// This is the SIP interface definition for QAction and QActionGroup. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QAction (Qt v2.2+)</Title> +<Para> +<Literal>QAction</Literal> is fully implemented. +</Para> + +</Sect2> +<Sect2><Title>QActionGroup (Qt v2.2+)</Title> +<Para> +<Literal>QActionGroup</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_ACTION) +%If (Qt_2_2_0 -) + +class QAction : QObject +{ +%TypeHeaderCode +#include <qaction.h> +%End + +public: +%If (- Qt_3_0_0) + QAction(QObject * /TransferThis/ = 0,const char * = 0,bool = 0); + QAction(const QString &,const QIconSet &,const QString &,int, + QObject * /TransferThis/,const char * = 0,bool = 0); + QAction(const QString &,const QString &,int,QObject * /TransferThis/, + const char * = 0,bool = 0); +%End +%If (Qt_3_0_0 - Qt_3_2_0) + QAction(QObject * /TransferThis/,const char * = 0,bool = 0); +%End +%If (Qt_3_2_0 -) + QAction(QObject * /TransferThis/,const char * = 0); + QAction(const QString &,QKeySequence,QObject * /TransferThis/, + const char * = 0); + QAction(const QIconSet &,const QString &,QKeySequence, + QObject * /TransferThis/,const char * = 0); +%End +%If (Qt_3_0_0 -) + // Obsolete. + QAction(const QString &,const QIconSet &,const QString &,QKeySequence, + QObject * /TransferThis/,const char * = 0,bool = 0); + // Obsolete. + QAction(const QString &,const QString &,QKeySequence, + QObject * /TransferThis/,const char * = 0,bool = 0); +%End +%If (Qt_3_2_0 -) + // Obsolete. + QAction(QObject * /TransferThis/,const char *,bool); +%End + + virtual void setIconSet(const QIconSet &); + QIconSet iconSet() const; + virtual void setText(const QString &); + QString text() const; + virtual void setMenuText(const QString &); + QString menuText() const; + virtual void setToolTip(const QString &); + QString toolTip() const; + virtual void setStatusTip(const QString &); + QString statusTip() const; + virtual void setWhatsThis(const QString &); + QString whatsThis() const; +%If (- Qt_3_0_0) + virtual void setAccel(int); + int accel() const; +%End +%If (Qt_3_0_0 -) + virtual void setAccel(const QKeySequence &); + QKeySequence accel() const; +%End + virtual void setToggleAction(bool); + bool isToggleAction() const; +%If (- Qt_3_0_0) + virtual void setOn(bool); +%End + bool isOn() const; + bool isEnabled() const; +%If (Qt_3_1_0 -) + bool isVisible() const; +%End + virtual bool addTo(QWidget *); + virtual bool removeFrom(QWidget *); + +protected: +%If (Qt_3_0_0 -) + virtual void addedTo(QWidget *,QWidget *); + virtual void addedTo(int,QPopupMenu *); +%End + +public slots: +%If (Qt_3_3_0 -) + void activate(); +%End +%If (Qt_3_0_0 -) + void toggle(); + virtual void setOn(bool); +%End + virtual void setEnabled(bool); +%If (Qt_3_3_0 -) + void setDisabled(bool); +%End +%If (Qt_3_1_0 -) + void setVisible(bool); +%End + +signals: + void activated(); + void toggled(bool); + +private: +%If (Qt_3_1_0 -) + QAction(const QAction &); +%End +}; + + +class QActionGroup : QAction +{ +%TypeHeaderCode +#include <qaction.h> +%End + +public: +%If (- Qt_3_0_0) + QActionGroup(QWidget * /TransferThis/,const char * = 0,bool = 1); +%End +%If (Qt_3_0_0 - Qt_3_2_0) + QActionGroup(QObject * /TransferThis/,const char * = 0,bool = 1); +%End +%If (Qt_3_2_0 -) + QActionGroup(QObject * /TransferThis/,const char * = 0); + // Obsolete. + QActionGroup(QObject * /TransferThis/,const char *,bool); +%End + + void setExclusive(bool); + bool isExclusive() const; +%If (- Qt_3_0_0) + void insert(QAction *); +%End +%If (Qt_3_0_0 -) + void add(QAction *); + void addSeparator(); +%End + bool addTo(QWidget *); + bool removeFrom(QWidget *); + void setEnabled(bool); +%If (Qt_3_2_0 -) + void setToggleAction(bool); + void setOn(bool); +%End + +%If (Qt_3_0_0 -) + void setUsesDropDown(bool); + bool usesDropDown() const; + + void setIconSet(const QIconSet &); + void setText(const QString &); + void setMenuText(const QString &); + void setToolTip(const QString &); + void setWhatsThis(const QString &); +%End + +protected: +%If (Qt_3_0_0 -) + void childEvent(QChildEvent *); + virtual void addedTo(QWidget *,QWidget *,QAction *); + virtual void addedTo(int,QPopupMenu *,QAction *); + virtual void addedTo(QWidget *,QWidget *); + virtual void addedTo(int,QPopupMenu *); +%End + +signals: + void selected(QAction *); + +private: +%If (Qt_3_1_0 -) + QActionGroup(const QActionGroup &); +%End +}; + +%End +%End diff --git a/sip/qt/qapplication.sip b/sip/qt/qapplication.sip new file mode 100644 index 0000000..57ff0d7 --- /dev/null +++ b/sip/qt/qapplication.sip @@ -0,0 +1,574 @@ +// This is the SIP interface definition for QApplication. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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 /Constrained/) /PostHook=__pyQtQAppHook__/ [(int &,char **,Type)]; +%MethodCode + // The Python interface is a list of argument strings that is + // modified. + + int argc; + char **argv; + + // Convert the list. + if ((argv = pyArgvToC(a0,argc)) == NULL) + sipIsErr = 1; + else + { + // Create it now the arguments are right. + static int nargc; + nargc = argc; + + Py_BEGIN_ALLOW_THREADS + sipCpp = new sipQApplication(nargc,argv,(QApplication::Type)a1); + Py_END_ALLOW_THREADS + + // Now modify the original list. + updatePyArgv(a0,argc,argv); + } +%End +%End + + ~QApplication(); +%MethodCode + // Make sure all remaining top level widgets are not owned by + // Python. When a PyQt script terminates we have no control + // over the order in which the QApplication instance and the + // top level widgets are destroyed. If the former happens + // first then we get a seg. fault. We could take the approach + // of only pretending to delete the QApplication instance, but + // Qt seems to allow an application to delete the QApplication + // instance and then create another one. The approach we take + // is to transfer ownership of all top level widgets away from + // Python so that the C++ dtor is not called if they are + // destroyed after the QApplication instance. This might be + // seen as a memory leak - but if we really are terminating + // then it doesn't matter, and if we are just deleting the + // QApplication instance then (I think) we should have already + // deleted the top level widgets manually. In any event, the X + // server resources will be freed. + + QWidgetList *tlw = QApplication::topLevelWidgets(); + QWidgetListIt it(*tlw); + QWidget *w; + + while ((w = it.current()) != 0) + { + PyObject *sw; + + if ((sw = sipGetWrapper(w,sipClass_QWidget)) != NULL) + sipTransferTo(sw,NULL); + + ++it; + } + + delete tlw; +%End + + int argc() const; + SIP_PYLIST argv() const; +%MethodCode + // The Python interface returns a list of strings. + + int argc = sipCpp -> argc(); + + if ((sipRes = PyList_New(argc)) == NULL) + sipIsErr = 1; + else + for (int a = 0; a < argc; ++a) + if (PyList_SetItem(sipRes,a,PyString_FromString(sipCpp -> argv()[a])) < 0) + { + Py_DECREF(sipRes); + sipIsErr = 1; + break; + } +%End + +%If (Qt_2_3_0 -) + Type type() const; +%End +%If (- Qt_2_00) + static GUIStyle style(); + static void setStyle(GUIStyle); +%End +%If (Qt_2_00 -) + static QStyle &style(); + static void setStyle(QStyle * /Transfer/); +%End +%If (Qt_3_0_0 -) + static QStyle *setStyle(const QString &); +%End + +%If (- Qt_2_00) + enum ColorSpec + { + NormalColor = 0, + CustomColor = 1, + PrivateColor = 4, + ManyColor = 4, + TrueColor = 4 + }; +%End +%If (Qt_2_00 -) + enum ColorSpec + { + NormalColor = 0, + CustomColor = 1, + ManyColor = 2 + }; +%End + + static int colorSpec(); + static void setColorSpec(int); + static QCursor *overrideCursor(); + static void setOverrideCursor(QCursor &,bool = 0); + static void restoreOverrideCursor(); + static bool hasGlobalMouseTracking(); + static void setGlobalMouseTracking(bool); +%If (- Qt_2_00) + static QPalette *palette(); + static void setPalette(QPalette &,bool = 0); + static QFont *font(); + static void setFont(const QFont &,bool = 0); +%End +%If (Qt_2_00 -) + static QPalette palette(const QWidget * = 0); + static void setPalette(QPalette &,bool = 0,const char * = 0); + static QFont font(const QWidget * = 0); + static void setFont(const QFont &,bool = 0,const char * = 0); +%End + static QFontMetrics fontMetrics(); + QWidget *mainWidget() const; +%If (- Qt_2_00) + // We may not need the /Transfer/ now that the QApplication dtor is + // instrumented, but we'll leave it in so as not to break old programs + // needlessly. + void setMainWidget(QWidget * /Transfer/); +%End +%If (Qt_2_00 -) + virtual void setMainWidget(QWidget *); + virtual void polish(QWidget *); +%End + static QWidgetList *allWidgets(); + static QWidgetList *topLevelWidgets(); +%If (- Qt_3_0_0) + static QWidget *desktop(); +%End +%If (Qt_3_0_0 -) + static QDesktopWidget *desktop(); +%End + static QWidget *activePopupWidget(); + static QWidget *activeModalWidget(); + static QClipboard *clipboard(); + QWidget *focusWidget() const; +%If (Qt_2_00 -) + QWidget *activeWindow() const; +%End + static QWidget *widgetAt(int,int,bool = 0); + static QWidget *widgetAt(const QPoint &,bool = 0); + +%If (Qt_3_1_0 -) + static QEventLoop *eventLoop(); +%End + + int exec() /PyName=exec_loop, ReleaseGIL, + PreHook=__pyQtPreEventLoopHook__, + PostHook=__pyQtPostEventLoopHook__/; + void processEvents() /ReleaseGIL/; + void processEvents(int) /ReleaseGIL/; + void processOneEvent() /ReleaseGIL/; +%If (Qt_3_0_0 -) + bool hasPendingEvents(); +%End + int enter_loop() /ReleaseGIL/; + void exit_loop(); +%If (Qt_2_00 -) + int loopLevel() const; +%End + static void exit(int = 0); + static bool sendEvent(QObject *,QEvent *) /ReleaseGIL/; + static void postEvent(QObject *,QEvent * /Transfer/) /ReleaseGIL/; + static void sendPostedEvents(QObject *,int) /ReleaseGIL/; +%If (Qt_2_00 -) + static void sendPostedEvents() /ReleaseGIL/; + static void removePostedEvents(QObject *); +%End + virtual bool notify(QObject *,QEvent *) /ReleaseGIL/; + static bool startingUp(); + static bool closingDown(); + static void flushX(); +%If (Qt_3_0_0 -) + static void flush(); +%End + static void syncX(); + static void beep(); +%If (Qt_2_00 -) + void setDefaultCodec(QTextCodec *); + QTextCodec *defaultCodec() const; + void installTranslator(QTranslator *); + void removeTranslator(QTranslator *); +%End +%If (Qt_2_00 - Qt_3_0_0) + QString translate(const char *,const char *) const; +%End +%If (Qt_2_2_0 - Qt_3_0_0) + QString translate(const char *,const char *,const char *) const; +%End +%If (Qt_3_0_0 -) + enum Encoding { + DefaultCodec, + UnicodeUTF8 + }; + + QString translate(const char *,const char *,const char * = 0, + Encoding = DefaultCodec) const; +%End +%If (Qt_3_2_0 -) + QString applicationDirPath(); + QString applicationFilePath(); +%End +%If (- Qt_3_0_0) + static void setWinStyleHighlightColor(const QColor &); + static const QColor &winStyleHighlightColor(); +%End +%If (Qt_2_00 -) + static void setDesktopSettingsAware(bool); + static bool desktopSettingsAware(); + static void setCursorFlashTime(int); + static int cursorFlashTime(); +%End + static void setDoubleClickInterval(int); + static int doubleClickInterval(); +%If (Qt_2_1_0 -) + static void setWheelScrollLines(int); + static int wheelScrollLines(); +%If (Qt_2_2_0 -) + static void setGlobalStrut(const QSize &); + static QSize globalStrut(); +%End +%If (Qt_3_0_0 -) + static void setLibraryPaths(const QStringList &); + static QStringList libraryPaths(); + static void addLibraryPath(const QString &); + static void removeLibraryPath(const QString &); +%End + static void setStartDragTime(int); + static int startDragTime(); + static void setStartDragDistance(int); + static int startDragDistance(); +%If (Qt_3_0_0 -) + static void setReverseLayout(bool); + static bool reverseLayout(); + + static int horizontalAlignment(int); +%End +%If (Qt_2_2_0 -) + static bool isEffectEnabled(Qt::UIEffect); + static void setEffectEnabled(Qt::UIEffect,bool = 1); +%End +%End + + +%If (Qt_2_00 -) + bool isSessionRestored() const; + QString sessionId() const; +%If (Qt_3_1_0 -) + QString sessionKey() const; +%End + virtual void commitData(QSessionManager &); + virtual void saveState(QSessionManager &); +%End +%If (Qt_2_1_0 -) + void wakeUpGuiThread(); +%End +%If (Qt_THREAD_SUPPORT) +%If (Qt_2_2_0 -) + void lock() /ReleaseGIL/; + void unlock(bool = 1); + bool locked(); +%End +%If (Qt_3_0_0 -) + bool tryLock(); +%End +%End + +signals: + void lastWindowClosed(); +%If (Qt_2_00 -) + void aboutToQuit(); +%End +%If (Qt_2_1_0 -) + void guiThreadAwake(); +%End + +public slots: + void quit(); +%If (Qt_2_00 -) + void closeAllWindows(); +%End +%If (Qt_3_2_0 -) + void aboutQt(); +%End + +protected: +%If (Qt_3_1_0 -) + bool event(QEvent *); +%End + +private: + QApplication(const QApplication &); + + +%TypeCode +#include <string.h> + + +// Convert a Python argv list to a conventional C argc count and argv array. +static char **pyArgvToC(PyObject *argvlist,int &argc) +{ + char **argv; + + argc = PyList_Size(argvlist); + + // Allocate space for two copies of the argument pointers, plus the + // terminating NULL. + if ((argv = (char **)sipMalloc(2 * (argc + 1) * sizeof (char *))) == NULL) + return NULL; + + // Convert the list. + for (int a = 0; a < argc; ++a) + { + char *arg; + + // Get the argument and allocate memory for it. + if ((arg = PyString_AsString(PyList_GetItem(argvlist,a))) == NULL || + (argv[a] = (char *)sipMalloc(strlen(arg) + 1)) == NULL) + return NULL; + + // Copy the argument and save a pointer to it. + strcpy(argv[a],arg); + argv[a + argc + 1] = argv[a]; + } + + argv[argc + argc + 1] = argv[argc] = NULL; + + return argv; +} + + +// Remove arguments from the Python argv list that have been removed from the +// C argv array. +static void updatePyArgv(PyObject *argvlist,int argc,char **argv) +{ + for (int a = 0, na = 0; a < argc; ++a) + { + // See if it was removed. + if (argv[na] == argv[a + argc + 1]) + ++na; + else + PyList_SetSlice(argvlist,na,na + 1,NULL); + } +} +%End + +}; + + +enum QtMsgType { + QtDebugMsg, + QtWarningMsg, + QtFatalMsg +}; + + +SIP_PYCALLABLE qInstallMsgHandler(SIP_PYCALLABLE /AllowNone/); +%MethodCode + void (*old)(QtMsgType, const char *); + + // Treat None as the default handler. + old = qInstallMsgHandler((a0 != Py_None) ? pyqtMsgHandler : 0); + + // If we recognise the old handler, then return it. Otherwise return + // the default handler. This doesn't exactly mimic the Qt behaviour + // but it is probably close enough for the way it will be used. + sipRes = (old == pyqtMsgHandler) ? pyqtPyMsgHandler : Py_None; + Py_INCREF(sipRes); + + // Save the new Python handler. + Py_XDECREF(pyqtPyMsgHandler); + pyqtPyMsgHandler = a0; + Py_INCREF(pyqtPyMsgHandler); +%End + +%ModuleCode +// The user supplied Python handler. +static PyObject *pyqtPyMsgHandler = 0; + +// The C++ wrapper around the Python handler. +static void pyqtMsgHandler(QtMsgType type, const char *msg) +{ + PyObject *res; + + SIP_BLOCK_THREADS + +#if SIP_VERSION >= 0x040200 + res = sipCallMethod(0, pyqtPyMsgHandler, "Es", type, sipEnum_QtMsgType, msg); +#elif SIP_VERSION >= 0x040000 + res = sipCallMethod(0, pyqtPyMsgHandler, "es", type, msg); +#else + PyObject *args = Py_BuildValue("is", type, msg); + + if (args != NULL) + { + res = PyEval_CallObject(pyqtPyMsgHandler, args); + Py_DECREF(args); + } +#endif + + Py_XDECREF(res); + + if (res != NULL && res != Py_None) + { + PyErr_SetString(PyExc_TypeError, "invalid result type from PyQt message handler"); + res = NULL; + } + + if (res == NULL) + PyErr_Print(); + + SIP_UNBLOCK_THREADS +} +%End diff --git a/sip/qt/qarray.sip b/sip/qt/qarray.sip new file mode 100644 index 0000000..76125e1 --- /dev/null +++ b/sip/qt/qarray.sip @@ -0,0 +1,94 @@ +// This is the SIP interface definition for all types based on the QArray +// template. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qassistantclient.sip b/sip/qt/qassistantclient.sip new file mode 100644 index 0000000..34c4820 --- /dev/null +++ b/sip/qt/qassistantclient.sip @@ -0,0 +1,63 @@ +// This is the SIP interface definition for QAssistantClient. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QAssistantClient (Qt v3.1+)</Title> +<Para> +<Literal>QAssistantClient</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_ASSISTANTCLIENT) +%If (Qt_3_1_0 -) + +class QAssistantClient : QObject +{ +%TypeHeaderCode +#include <qassistantclient.h> +%End + +public: + QAssistantClient(const QString &,QObject * /TransferThis/ = 0, + const char * = 0); + + bool isOpen() const; + +%If (Qt_3_2_0 -) + void setArguments(const QStringList &); +%End + +public slots: + virtual void openAssistant() /ReleaseGIL/; + virtual void closeAssistant(); + virtual void showPage(const QString &); + +signals: + void assistantOpened(); + void assistantClosed(); + void error(const QString &); +}; + +%End +%End diff --git a/sip/qt/qbitmap.sip b/sip/qt/qbitmap.sip new file mode 100644 index 0000000..b0132dd --- /dev/null +++ b/sip/qt/qbitmap.sip @@ -0,0 +1,59 @@ +// This is the SIP interface definition for QBitmap. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QBitmap</Title> +<Para> +<Literal>QBitmap</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QBitmap : QPixmap +{ +%TypeHeaderCode +#include <qbitmap.h> +%End + +public: + QBitmap(); +%If (- Qt_2_00) + QBitmap(int,int,bool = 0); + QBitmap(const QSize &,bool = 0); +%End +%If (Qt_2_00 -) + QBitmap(int,int,bool = 0,QPixmap::Optimization = QPixmap::DefaultOptim); + QBitmap(const QSize &,bool = 0,QPixmap::Optimization = QPixmap::DefaultOptim); +%End + QBitmap(int,int,uchar *,bool = 0); + QBitmap(const QSize &,uchar *,bool = 0); + QBitmap(const QBitmap &); +%If (- Qt_2_00) + QBitmap(const char *,const char * = 0); +%End +%If (Qt_2_00 -) + QBitmap(const QString &,const char * = 0); +%End + + QBitmap xForm(const QWMatrix &) const; +}; diff --git a/sip/qt/qbrush.sip b/sip/qt/qbrush.sip new file mode 100644 index 0000000..ab629d7 --- /dev/null +++ b/sip/qt/qbrush.sip @@ -0,0 +1,105 @@ +// This is the SIP interface definition for QBrush. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QBrush</Title> +<Para> +<Literal>QBrush</Literal> is fully implemented, including the Python +<Literal>==</Literal> and <Literal>!=</Literal> operators. +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +enum BrushStyle { + NoBrush, + SolidPattern, + Dense1Pattern, + Dense2Pattern, + Dense3Pattern, + Dense4Pattern, + Dense5Pattern, + Dense6Pattern, + Dense7Pattern, + HorPattern, + VerPattern, + CrossPattern, + BDiagPattern, + FDiagPattern, + DiagCrossPattern, + CustomPattern = 24 +}; + + +class QBrush +{ +%TypeHeaderCode +#include <qbrush.h> +%End + +public: + QBrush(); + QBrush(BrushStyle); + QBrush(const QColor &,BrushStyle = SolidPattern); + QBrush(const QColor &,const QPixmap &); + QBrush(const QBrush &); + + BrushStyle style() const; + void setStyle(BrushStyle); + const QColor &color() const; + void setColor(const QColor &); + QPixmap *pixmap() const; + void setPixmap(const QPixmap &); +}; + +%End + + +%If (Qt_2_00 -) + +class QBrush : Qt +{ +%TypeHeaderCode +#include <qbrush.h> +%End + +public: + QBrush(); + QBrush(BrushStyle); + QBrush(const QColor &,BrushStyle = SolidPattern); + QBrush(const QColor &,const QPixmap &); + QBrush(const QBrush &); + + BrushStyle style() const; + void setStyle(BrushStyle); + const QColor &color() const; + void setColor(const QColor &); + QPixmap *pixmap() const; + void setPixmap(const QPixmap &); + + bool operator==(const QBrush &) const; + bool operator!=(const QBrush &) const; +}; + +%End diff --git a/sip/qt/qbutton.sip b/sip/qt/qbutton.sip new file mode 100644 index 0000000..356de1e --- /dev/null +++ b/sip/qt/qbutton.sip @@ -0,0 +1,184 @@ +// This is the SIP interface definition for QButton. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QButton</Title> +<Para> +<Literal>QButton</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QButton : QWidget +{ +%TypeHeaderCode +#include <qbutton.h> +%End + +public: +%If (- Qt_2_00) + QButton(QWidget * /TransferThis/ = 0,const char * = 0); +%End +%If (Qt_2_00 -) + QButton(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); +%End + +%If (- Qt_2_00) + const char *text() const; + void setText(const char *); +%End +%If (Qt_2_00 -) + QString text() const; + virtual void setText(const QString &); +%End + const QPixmap *pixmap() const; +%If (- Qt_2_00) + void setPixmap(const QPixmap &); +%End +%If (Qt_2_00 -) + virtual void setPixmap(const QPixmap &); +%End + +%If (- Qt_3_0_0) + int accel() const; +%End +%If (Qt_3_0_0 -) + QKeySequence accel() const; +%End +%If (- Qt_2_00) + void setAccel(int); +%End +%If (Qt_2_00 - Qt_3_0_0) + virtual void setAccel(int); +%End +%If (Qt_3_0_0 -) + virtual void setAccel(const QKeySequence &); +%End + + bool isToggleButton() const; + +%If (Qt_2_00 -) + enum ToggleType + { + SingleShot, + Toggle, + Tristate + }; + + ToggleType toggleType() const; +%End + +%If (- Qt_2_00) + void setDown(bool); +%End +%If (Qt_2_00 -) + virtual void setDown(bool); +%End + bool isDown() const; + + bool isOn() const; + +%If (Qt_2_00 -) + enum ToggleState + { + Off, + NoChange, + On + }; + + ToggleState state() const; +%End + +%If (- Qt_3_0_0) + bool autoResize() const; +%End +%If (- Qt_2_00) + void setAutoResize(bool); +%End +%If (Qt_2_00 - Qt_3_0_0) + virtual void setAutoResize(bool); +%End + + bool autoRepeat() const; +%If (- Qt_2_00) + void setAutoRepeat(bool); +%End +%If (Qt_2_00 -) + virtual void setAutoRepeat(bool); +%End + +%If (Qt_2_00 -) + bool isExclusiveToggle() const; +%End + +%If (Qt_2_00 - Qt_3_0_0) + bool focusNextPrevChild(bool); +%End + +%If (Qt_2_00 -) + QButtonGroup *group() const; +%End + +public slots: + void animateClick(); + void toggle(); + +signals: + void pressed(); + void released(); + void clicked(); + void toggled(bool); +%If (Qt_2_00 -) + void stateChanged(int); +%End + +protected: + void setToggleButton(bool); +%If (Qt_2_00 -) + virtual void setToggleType(ToggleType); +%End + void setOn(bool); +%If (Qt_2_00 -) + virtual void setState(ToggleState); +%End + + virtual bool hitButton(const QPoint &) const; + virtual void drawButton(QPainter *); + virtual void drawButtonLabel(QPainter *); + + void keyPressEvent(QKeyEvent *); +%If (Qt_2_1_0 -) + void keyReleaseEvent(QKeyEvent *); +%End + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void paintEvent(QPaintEvent *); + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); + + void enabledChange(bool); + +private: + QButton(const QButton &); +}; diff --git a/sip/qt/qbuttongroup.sip b/sip/qt/qbuttongroup.sip new file mode 100644 index 0000000..647bb17 --- /dev/null +++ b/sip/qt/qbuttongroup.sip @@ -0,0 +1,104 @@ +// This is the SIP interface definition for QButtonGroup. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QButtonGroup</Title> +<Para> +<Literal>QButtonGroup</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QButtonGroup : QGroupBox +{ +%TypeHeaderCode +#include <qbuttongroup.h> +%End + +public: + QButtonGroup(QWidget * /TransferThis/ = 0,const char * = 0); +%If (- Qt_2_00) + QButtonGroup(const char *,QWidget * /TransferThis/ = 0, + const char * = 0); +%End +%If (Qt_2_00 -) + QButtonGroup(const QString &,QWidget * /TransferThis/ = 0, + const char * = 0); + QButtonGroup(int,Orientation,QWidget * /TransferThis/ = 0, + const char * = 0); + QButtonGroup(int,Orientation,const QString &, + QWidget * /TransferThis/ = 0,const char * = 0); +%End + + bool isExclusive() const; +%If (- Qt_2_00) + void setExclusive(bool); + void setButton(int); +%End +%If (Qt_2_00 -) + bool isRadioButtonExclusive() const; + virtual void setExclusive(bool); + virtual void setRadioButtonExclusive(bool); +%End + + int insert(QButton *,int = -1); + void remove(QButton *); + QButton *find(int) const; +%If (Qt_2_00 -) + int id(QButton *) const; + int count() const; + + virtual void setButton(int); + + virtual void moveFocus(int); +%End + +%If (Qt_2_00 - Qt_3_0_0) + QButton *selected(); +%End +%If (Qt_3_0_0 -) + QButton *selected() const; +%End +%If (Qt_3_2_0 -) + int selectedId() const; +%End + +signals: + void pressed(int); + void released(int); + void clicked(int); + +protected slots: + void buttonPressed(); + void buttonReleased(); + void buttonClicked(); + void buttonToggled(bool); + +protected: +%If (Qt_3_1_0 -) + bool event(QEvent *); +%End + +private: + QButtonGroup(const QButtonGroup &); +}; diff --git a/sip/qt/qbytearray.sip b/sip/qt/qbytearray.sip new file mode 100644 index 0000000..fa992ec --- /dev/null +++ b/sip/qt/qbytearray.sip @@ -0,0 +1,203 @@ +// This is the SIP interface definition for QByteArray. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QByteArray</Title> +<Para> +A Python string can be used whenever a <Literal>QByteArray</Literal> can be +used. A <Literal>QByteArray</Literal> can be converted to a Python string +using the Python <Literal>str()</Literal> function. +</Para> + +<FuncSynopsis> + <FuncDef>QByteArray &<Function>assign</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>uint <Parameter>size</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>char &<Function>at</Function></FuncDef> + <ParamDef>uint <Parameter>i</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>contains</Function></FuncDef> + <ParamDef>const char &<Parameter>d</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>fill</Function></FuncDef> + <ParamDef>const char &<Parameter>d</Parameter></ParamDef> + <ParamDef>int <Parameter>size</Parameter> = -1</ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>find</Function></FuncDef> + <ParamDef>const char &<Parameter>d</Parameter></ParamDef> + <ParamDef>uint <Parameter>i</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>resetRawData</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>uint<Parameter>size</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QByteArray &<Function>setRawData</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>uint<Parameter>size</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +%End + + +class QByteArray +{ +%TypeHeaderCode +#include <qstring.h> +%End + +public: + QByteArray(); + QByteArray(int); + QByteArray(const QByteArray &); + + SIP_PYOBJECT data() const; +%MethodCode + // QByteArrays aren't '\0' terminated so set the size + // explicitly. + + char *res; + uint len; + + Py_BEGIN_ALLOW_THREADS + res = sipCpp -> data(); + len = sipCpp -> size(); + Py_END_ALLOW_THREADS + + if (res) + { + if ((sipRes = PyString_FromStringAndSize(res,len)) == NULL) + sipIsErr = 1; + } + else + { + Py_INCREF(Py_None); + sipRes = Py_None; + } +%End + + // These are actually in QMemArray, which isn't implemented so pretend + // they are here. + + uint nrefs() const; + bool isEmpty() const; + bool isNull() const; + bool resize(uint); + bool truncate(uint); +// bool fill(const char &,int = -1); + void detach(); + QByteArray copy() const; + QByteArray &assign(const QByteArray &); +// QByteArray &assign(const char *,uint); + QByteArray &duplicate(const QByteArray &); + QByteArray &duplicate(const char *,uint); +// QByteArray &setRawData(const char *,uint); +// void resetRawData(const char *,uint); +// int find(const char &,uint = 0) const; +// int contains(const char &) const; +// char &at(uint) const; + + SIP_PYOBJECT __str__(); +%MethodCode + // QByteArrays aren't '\0' terminated so set the size + // explicitly. + + char *data; + uint len; + + Py_BEGIN_ALLOW_THREADS + data = sipCpp -> data(); + len = sipCpp -> size(); + Py_END_ALLOW_THREADS + + if (data == NULL) + sipRes = PyString_FromString(""); + else + sipRes = PyString_FromStringAndSize(data,len); +%End + +%ConvertToTypeCode + // Allow a Python string whenever a QByteArray is expected. + + if (sipIsErr == NULL) + return (PyString_Check(sipPy) || + sipCanConvertToInstance(sipPy,sipClass_QByteArray,SIP_NO_CONVERTORS)); + + if (PyString_Check(sipPy)) + { + Py_BEGIN_ALLOW_THREADS + QByteArray *ba = new QByteArray(); + + ba -> duplicate(PyString_AS_STRING(sipPy),PyString_GET_SIZE(sipPy)); + + *sipCppPtr = ba; + Py_END_ALLOW_THREADS + + return sipGetState(sipTransferObj); + } + + *sipCppPtr = reinterpret_cast<QByteArray *>(sipConvertToInstance(sipPy,sipClass_QByteArray,sipTransferObj,SIP_NO_CONVERTORS,0,sipIsErr)); + + return 0; +%End +}; + + +%If (Qt_3_1_0 -) +QByteArray qCompress(const uchar * /Array/,int /ArraySize/); +QByteArray qCompress(const QByteArray &); +QByteArray qUncompress(const uchar * /Array/,int /ArraySize/); +QByteArray qUncompress(const QByteArray &); +%End diff --git a/sip/qt/qcdestyle.sip b/sip/qt/qcdestyle.sip new file mode 100644 index 0000000..790662f --- /dev/null +++ b/sip/qt/qcdestyle.sip @@ -0,0 +1,68 @@ +// This is the SIP interface definition for QCDEStyle. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QCDEStyle (Qt v2+)</Title> +<Para> +<Literal>QCDEStyle</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_STYLE_CDE) +%If (Qt_2_00 -) + +class QCDEStyle : QMotifStyle +{ +%TypeHeaderCode +#include <qcdestyle.h> +%End + +public: + QCDEStyle(bool = 0); + +%If (- Qt_3_0_0) + int defaultFrameWidth() const; + void drawArrow(QPainter *,ArrowType,bool,int,int,int,int, + const QColorGroup &,bool,const QBrush * = 0); + void drawIndicator(QPainter *,int,int,int,int,const QColorGroup &,int, + bool = 0,bool = 1); + void drawExclusiveIndicator(QPainter *,int,int,int,int, + const QColorGroup &,bool,bool = 0,bool = 1); +%End +%If (Qt_3_0_0 -) + int pixelMetric(PixelMetric,const QWidget * = 0) const; + + void drawControl(ControlElement,QPainter *,const QWidget *, + const QRect &,const QColorGroup &, + SFlags = Style_Default, + const QStyleOption & = QStyleOption()) const; + + void drawPrimitive(PrimitiveElement,QPainter *,const QRect &, + const QColorGroup &,SFlags = Style_Default, + const QStyleOption & = QStyleOption()) const; +%End +}; + +%End +%End diff --git a/sip/qt/qcheckbox.sip b/sip/qt/qcheckbox.sip new file mode 100644 index 0000000..9c2bfc4 --- /dev/null +++ b/sip/qt/qcheckbox.sip @@ -0,0 +1,88 @@ +// This is the SIP interface definition for QCheckBox. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QCheckBox</Title> +<Para> +<Literal>QCheckBox</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QCheckBox : QButton +{ +%TypeHeaderCode +#include <qcheckbox.h> +%End + +public: +%If (- Qt_2_00) + QCheckBox(QWidget * /TransferThis/ = 0,const char * = 0); + QCheckBox(const char *,QWidget * /TransferThis/,const char * = 0); +%End +%If (Qt_2_00 -) + QCheckBox(QWidget * /TransferThis/,const char * = 0); + QCheckBox(const QString &,QWidget * /TransferThis/,const char * = 0); +%End + + bool isChecked() const; + +%If (Qt_2_00 -) + void setNoChange(); + + void setTristate(bool = 1); +%End +%If (Qt_2_2_0 -) + bool isTristate() const; +%End + + QSize sizeHint() const; +%If (Qt_2_00 - Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + +%If (- Qt_3_0_0) + void setChecked(bool); +%End + +public slots: +%If (Qt_3_0_0 -) + void setChecked(bool); +%End + +protected: +%If (Qt_2_00 -) + void resizeEvent(QResizeEvent *); +%End + void drawButton(QPainter *); + void drawButtonLabel(QPainter *); +%If (Qt_2_00 -) + void updateMask(); +%End +%If (Qt_3_2_0 -) + bool hitButton(const QPoint &) const; +%End + +private: + QCheckBox(const QCheckBox &); +}; diff --git a/sip/qt/qclipboard.sip b/sip/qt/qclipboard.sip new file mode 100644 index 0000000..4220c37 --- /dev/null +++ b/sip/qt/qclipboard.sip @@ -0,0 +1,152 @@ +// This is the SIP interface definition for QClipboard. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QClipboard</Title> +<FuncSynopsis> + <FuncDef>void *<Function>data</Function> const</FuncDef> + <ParamDef>const char *<Parameter>format</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented (Qt v1.x). +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>setData</Function></FuncDef> + <ParamDef>const char *<Parameter>format</Parameter></ParamDef> + <ParamDef>void *<Parameter></Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented (Qt v1.x). +</Para> +</Sect2> +%End + + +%If (Qt_CLIPBOARD) + +class QClipboard : QObject +{ +%TypeHeaderCode +#include <qclipboard.h> +%End + +private: + QClipboard(QObject * /TransferThis/ = 0,const char * = 0); + ~QClipboard(); + +public: +%If (Qt_3_1_0 -) + enum Mode { + Clipboard, + Selection + }; + + void clear(Mode); +%End + void clear(); + +%If (Qt_3_0_0 -) + bool supportsSelection() const; + bool ownsSelection() const; + bool ownsClipboard() const; + + void setSelectionMode(bool); + bool selectionModeEnabled() const; +%End + +%If (Qt_3_1_0 -) + QString text(Mode) const; + QString text(QCString &,Mode) const; + void setText(const QString &,Mode); + +%If (Qt_MIMECLIPBOARD) + QMimeSource *data(Mode) const; + void setData(QMimeSource * /GetWrapper/,Mode); +%MethodCode + sipCpp->setData(a0, a1); + + // Transfer ownership to C++ and make sure the Python object + // stays alive by giving it a reference to itself. The cycle + // will be broken by QMimeSource's virtual dtor. + sipTransferTo(a0Wrapper, a0Wrapper); +%End + + QImage image(Mode) const; + QPixmap pixmap(Mode) const; + void setImage(const QImage &,Mode); + void setPixmap(const QPixmap &,Mode); +%End +%End + +%If (- Qt_2_00) +// void *data(const char *) const; +// void setData(const char *,void *); + const char *text() const; + void setText(const char *); + QPixmap *pixmap() const; +%End + +%If (Qt_2_00 -) +%If (Qt_MIMECLIPBOARD) + QMimeSource *data() const; + void setData(QMimeSource * /GetWrapper/); +%MethodCode + sipCpp->setData(a0); + + // Transfer ownership to C++ and make sure the Python object + // stays alive by giving it a reference to itself. The cycle + // will be broken by QMimeSource's virtual dtor. + sipTransferTo(a0Wrapper, a0Wrapper); +%End +%End + QString text() const; +%If (Qt_2_2_0 -) + QString text(QCString &) const; +%End + void setText(const QString &); +%If (Qt_MIMECLIPBOARD) + QImage image() const; + QPixmap pixmap() const; + void setImage(const QImage &); +%End +%End + +%If (Qt_MIMECLIPBOARD) + void setPixmap(const QPixmap &); +%End + +signals: +%If (Qt_3_0_0 -) + void selectionChanged(); +%End + void dataChanged(); + +protected: + void connectNotify(const char *); + bool event(QEvent *); + +private: + QClipboard(const QClipboard &); +}; + +%End diff --git a/sip/qt/qcolor.sip b/sip/qt/qcolor.sip new file mode 100644 index 0000000..7d0d53e --- /dev/null +++ b/sip/qt/qcolor.sip @@ -0,0 +1,207 @@ +// This is the SIP interface definition for QColor. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QColor</Title> +<Para> +The Python <Literal>==</Literal> and <Literal>!=</Literal> operators are +supported. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>getHsv</Function></FuncDef> + <ParamDef>int *<Parameter>h</Parameter></ParamDef> + <ParamDef>int *<Parameter>s</Parameter></ParamDef> + <ParamDef>int *<Parameter>v</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns the <Literal>h</Literal>, +<Literal>s</Literal> and <Literal>v</Literal> values as a tuple. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>getRgb</Function></FuncDef> + <ParamDef>int *<Parameter>r</Parameter></ParamDef> + <ParamDef>int *<Parameter>g</Parameter></ParamDef> + <ParamDef>int *<Parameter>b</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns the <Literal>r</Literal>, +<Literal>g</Literal> and <Literal>b</Literal> values as a tuple. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>hsv</Function></FuncDef> + <ParamDef>int *<Parameter>h</Parameter></ParamDef> + <ParamDef>int *<Parameter>s</Parameter></ParamDef> + <ParamDef>int *<Parameter>v</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns the <Literal>h</Literal>, +<Literal>s</Literal> and <Literal>v</Literal> values as a tuple. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>rgb</Function></FuncDef> + <ParamDef>int *<Parameter>r</Parameter></ParamDef> + <ParamDef>int *<Parameter>g</Parameter></ParamDef> + <ParamDef>int *<Parameter>b</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns the <Literal>r</Literal>, +<Literal>g</Literal> and <Literal>b</Literal> values as a tuple. +</Para> +</Sect2> +%End + + +%ModuleHeaderCode +#include <qcolor.h> +%End + + +%If (- Qt_2_00) +// The global colours. + +QColor color0; +QColor color1; +QColor black; +QColor white; +QColor darkGray; +QColor gray; +QColor lightGray; +QColor red; +QColor green; +QColor blue; +QColor cyan; +QColor magenta; +QColor yellow; +QColor darkRed; +QColor darkGreen; +QColor darkBlue; +QColor darkCyan; +QColor darkMagenta; +QColor darkYellow; +%End + + +// Related functions. + +int qRed(QRgb); +int qGreen(QRgb); +int qBlue(QRgb); +QRgb qRgb(int,int,int); +int qGray(int,int,int); +int qGray(QRgb); + +%If (Qt_2_00 -) +int qAlpha(QRgb); +QRgb qRgba(int,int,int,int); +%End + + +class QColor +{ +%TypeHeaderCode +#include <qcolor.h> +%End + +public: + enum Spec { + Rgb, + Hsv + }; + + QColor(); + QColor(int,int,int); + QColor(int,int,int,Spec); + QColor(QRgb,uint = 0xffffffff); +%If (Qt_2_00 -) + QColor(const QString &); +%End + QColor(const char *); + QColor(const QColor &); + + bool isValid() const; + bool isDirty() const; +%If (- Qt_2_00) + void setNamedColor(const char *); +%End +%If (Qt_2_1_0 -) + QString name() const; +%End +%If (Qt_2_00 -) + void setNamedColor(const QString &); +%End + + QRgb rgb() const; + void setRgb(int,int,int); + void setRgb(QRgb); +%If (Qt_3_2_0 -) + void getRgb(int *,int *,int *) const; +%End + + // Obsolete and is hidden anyway by the overload above. + //void rgb(int *,int *,int *) const; + + int red() const; + int green() const; + int blue() const; + + void setHsv(int,int,int); + +%If (Qt_3_2_0 -) + void getHsv(int *,int *,int *) const; +%End +%If (- Qt_3_2_0) + void getHsv(int &,int &,int &) const; +%End + + // Obsolete. + void hsv(int *,int *,int *) const; + + QColor light(int = 150) const; + QColor dark(int = 200) const; +%If (- Qt_3_0_0) + static bool lazyAlloc(); + static void setLazyAlloc(bool); +%End + + bool operator==(const QColor &) const; + bool operator!=(const QColor &) const; + + uint alloc(); + uint pixel() const; + static int maxColors(); + static int numBitPlanes(); + static int enterAllocContext(); + static void leaveAllocContext(); + static int currentAllocContext(); + static void destroyAllocContext(int); +%If (Qt_3_0_0 -) +%End + static void initialize(); + static void cleanup(); +%If (Qt_3_2_0 -) + static QStringList colorNames(); +%End +}; diff --git a/sip/qt/qcolordialog.sip b/sip/qt/qcolordialog.sip new file mode 100644 index 0000000..2f715d9 --- /dev/null +++ b/sip/qt/qcolordialog.sip @@ -0,0 +1,77 @@ +// This is the SIP interface definition for QColorDialog. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QColorDialog (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>static QRgb <Function>getRgba</Function></FuncDef> + <ParamDef>QRgb <Parameter>initial</Parameter></ParamDef> + <ParamDef>bool *<Parameter>ok</Parameter></ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>initial</Literal>, <Literal>parent</Literal> and +<Literal>name</Literal> parameters and returns a tuple containing the +<Literal>QRgb</Literal> result and the <Literal>ok</Literal> value. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) +%If (Qt_COLORDIALOG) + +class QColorDialog : QDialog +{ +%TypeHeaderCode +#include <qcolordialog.h> +%End + +public: +%If (- Qt_3_0_0) + static QColor getColor(QColor,QWidget * = 0,const char * = 0) /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + static QColor getColor(const QColor & = Qt::white,QWidget * = 0, + const char * = 0) /ReleaseGIL/; +%End +%If (Qt_2_1_0 -) + static QRgb getRgba(QRgb,bool * = 0,QWidget * = 0,const char * = 0) /ReleaseGIL/; + static int customCount(); + static QRgb customColor(int); + static void setCustomColor(int,QRgb); +%End +%If (Qt_3_1_0 -) + static void setStandardColor(int,QRgb); +%End + +private: +%If (Qt_2_1_0 -) + QColorDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0); + QColorDialog(const QColorDialog &); + ~QColorDialog(); +%End +}; + +%End +%End diff --git a/sip/qt/qcolorgroup.sip b/sip/qt/qcolorgroup.sip new file mode 100644 index 0000000..20e37b0 --- /dev/null +++ b/sip/qt/qcolorgroup.sip @@ -0,0 +1,125 @@ +// This is the SIP interface definition for QColorGroup. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QColorGroup</Title> +<Para> +<Literal>QColorGroup</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QColorGroup +{ +%TypeHeaderCode +#include <qpalette.h> +%End + +public: + QColorGroup(); + QColorGroup(const QColor &,const QColor &,const QColor &,const QColor &, + const QColor &,const QColor &,const QColor &); +%If (Qt_2_00 -) + QColorGroup(const QBrush &,const QBrush &,const QBrush &,const QBrush &, + const QBrush &,const QBrush &,const QBrush &,const QBrush &, + const QBrush &); +%End + QColorGroup(QColorGroup&); + +%If (- Qt_2_00) + QColor midlight() const; +%End + +%If (Qt_2_00 - Qt_3_0_0) + enum ColorRole + { + Foreground, + Button, + Light, + Midlight, + Dark, + Mid, + Text, + BrightText, + ButtonText, + Base, + Background, + Shadow, + Highlight, + HighlightedText, + NColorRoles + }; +%End +%If (Qt_3_0_0 -) + enum ColorRole + { + Foreground, + Button, + Light, + Midlight, + Dark, + Mid, + Text, + BrightText, + ButtonText, + Base, + Background, + Shadow, + Highlight, + HighlightedText, + Link, + LinkVisited, + NColorRoles + }; +%End + +%If (Qt_2_00 -) + const QColor &color(ColorRole) const; + const QBrush &brush(ColorRole) const; + void setColor(ColorRole,const QColor &); + void setBrush(ColorRole,const QBrush &); +%End + + const QColor &foreground() const; +%If (Qt_2_00 -) + const QColor &button() const; +%End + const QColor &light() const; + const QColor &dark() const; + const QColor &mid() const; + const QColor &text() const; + const QColor &base() const; + const QColor &background() const; +%If (Qt_2_00 -) + const QColor &midlight() const; + const QColor &brightText() const; + const QColor &buttonText() const; + const QColor &shadow() const; + const QColor &highlight() const; + const QColor &highlightedText() const; +%End +%If (Qt_3_0_0 -) + const QColor &link() const; + const QColor &linkVisited() const; +%End +}; diff --git a/sip/qt/qcombobox.sip b/sip/qt/qcombobox.sip new file mode 100644 index 0000000..3555eba --- /dev/null +++ b/sip/qt/qcombobox.sip @@ -0,0 +1,277 @@ +// This is the SIP interface definition for QComboBox. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QComboBox</Title> +<Para> +<Literal>QComboBox</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QComboBox : QWidget +{ +%TypeHeaderCode +#include <qcombobox.h> +%End + +public: + QComboBox(QWidget * /TransferThis/ = 0,char * = 0); + QComboBox(bool,QWidget * /TransferThis/ = 0,char * = 0); + + int count() const; + +%If (Qt_2_00 -) + void insertStringList(QStringList &,int = -1); +%End + void insertStrList(const QStrList *,int = -1); +// void insertStrList(const QStrList &,int = -1); +// void insertStrList(const char **,int = -1,int = -1); + +%If (- Qt_2_00) + void insertItem(const char *,int = -1); +%End +%If (Qt_2_00 -) + void insertItem(const QString &,int = -1); +%End + void insertItem(const QPixmap &,int = -1); +%If (Qt_2_1_0 -) + void insertItem(const QPixmap &,const QString &,int = -1); +%End + + void removeItem(int); + +%If (- Qt_3_0_0) + void clear(); +%End + + int currentItem() const; +%If (- Qt_2_00) + void setCurrentItem(int); +%End +%If (Qt_2_00 -) + virtual void setCurrentItem(int); +%End + +%If (- Qt_2_00) + const char *currentText() const; +%End +%If (Qt_2_00 -) + QString currentText() const; +%End +%If (Qt_3_0_0 -) + virtual void setCurrentText(const QString &); +%End + +%If (- Qt_2_00) + const char *text(int) const; +%End +%If (Qt_2_00 -) + QString text(int) const; +%End + const QPixmap *pixmap(int) const; + +%If (- Qt_2_00) + void changeItem(const char *,int); +%End +%If (Qt_2_00 -) + void changeItem(const QString &,int); +%End + void changeItem(const QPixmap &,int); +%If (Qt_2_1_0 -) + void changeItem(const QPixmap &,const QString &,int); +%End + + bool autoResize() const; +%If (- Qt_2_00) + void setAutoResize(bool); +%End +%If (Qt_2_00 -) + virtual void setAutoResize(bool); +%End + QSize sizeHint() const; +%If (Qt_2_00 - Qt_3_0_0) + virtual QSizePolicy sizePolicy() const; +%End + +%If (- Qt_2_00) + void setBackgroundColor(const QColor &); + void setStyle(GUIStyle); +%End +%If (Qt_2_00 - Qt_3_0_0) + virtual void setBackgroundColor(const QColor &); +%End +%If (- Qt_2_00) + void setPalette(const QPalette &); + void setFont(const QFont &); + void setEnabled(bool); +%End +%If (Qt_2_00 - Qt_3_0_0) + virtual void setPalette(const QPalette &); + virtual void setFont(const QFont &); + virtual void setEnabled(bool); +%End +%If (Qt_3_0_0 -) + void setPalette(const QPalette &); + void setFont(const QFont &); + void setEnabled(bool); +%End + +%If (- Qt_2_00) + void setSizeLimit(int); +%End +%If (Qt_2_00 -) + virtual void setSizeLimit(int); +%End + int sizeLimit() const; + +%If (- Qt_2_00) + void setMaxCount(int); +%End +%If (Qt_2_00 -) + virtual void setMaxCount(int); +%End + int maxCount() const; + + enum Policy { + NoInsertion, + AtTop, + AtCurrent, + AtBottom, + AfterCurrent, + BeforeCurrent + }; + +%If (- Qt_2_00) + void setInsertionPolicy(Policy); +%End +%If (Qt_2_00 -) + virtual void setInsertionPolicy(Policy); +%End + Policy insertionPolicy() const; + +%If (- Qt_2_00) + void setValidator(QValidator *); + QValidator *validator() const; +%End +%If (Qt_2_00 -) + virtual void setValidator(const QValidator *); + const QValidator *validator() const; +%End + +%If (- Qt_2_00) + void setListBox(QListBox *); +%End +%If (Qt_2_00 -) + virtual void setListBox(QListBox *); +%End + QListBox *listBox() const; + +%If (Qt_3_0_0 -) + virtual void setLineEdit(QLineEdit *); +%End +%If (Qt_2_1_0 -) + QLineEdit *lineEdit() const; +%End + +%If (- Qt_2_00) + void setAutoCompletion(bool); +%End +%If (Qt_2_00 -) + virtual void setAutoCompletion(bool); +%End + bool autoCompletion() const; + + bool eventFilter(QObject *,QEvent *); + +%If (Qt_2_1_0 -) + void setDuplicatesEnabled(bool); + bool duplicatesEnabled() const; +%End + +%If (Qt_2_2_0 -) + bool editable() const; + void setEditable(bool); +%End + +%If (Qt_3_0_0 -) + virtual void popup(); +%End + +%If (Qt_3_3_0 -) + void hide(); +%End + +public slots: +%If (Qt_3_0_0 -) + void clear(); +%End + void clearValidator(); + void clearEdit(); +%If (- Qt_2_00) + void setEditText(const char *); +%End +%If (Qt_2_00 -) + virtual void setEditText(const QString &); +%End + +signals: + void activated(int); + void highlighted(int); +%If (- Qt_2_00) + void activated(const char *); + void highlighted(const char *); +%End +%If (Qt_2_00 -) + void activated(const QString &); + void highlighted(const QString &); + void textChanged(const QString &); +%End + +protected: + void paintEvent(QPaintEvent *); + void resizeEvent(QResizeEvent *); + void mousePressEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseDoubleClickEvent(QMouseEvent *); + void keyPressEvent(QKeyEvent *); + void focusInEvent(QFocusEvent *); +%If (Qt_3_1_1 -) + void focusOutEvent(QFocusEvent *); +%End +%If (Qt_3_1_0 -) + void wheelEvent(QWheelEvent *); +%End +%If (- Qt_3_0_0) + void popup(); +%End +%If (Qt_2_00 -) + void styleChange(QStyle &); + + void updateMask(); +%End + +private: + QComboBox(const QComboBox &); +}; diff --git a/sip/qt/qcommonstyle.sip b/sip/qt/qcommonstyle.sip new file mode 100644 index 0000000..b838716 --- /dev/null +++ b/sip/qt/qcommonstyle.sip @@ -0,0 +1,137 @@ +// This is the SIP interface definition for QCommonStyle. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qcstring.sip b/sip/qt/qcstring.sip new file mode 100644 index 0000000..64b3b2a --- /dev/null +++ b/sip/qt/qcstring.sip @@ -0,0 +1,223 @@ +// This is the SIP interface definition for QCString. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qcursor.sip b/sip/qt/qcursor.sip new file mode 100644 index 0000000..3631c30 --- /dev/null +++ b/sip/qt/qcursor.sip @@ -0,0 +1,144 @@ +// This is the SIP interface definition for QCursor. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QCursor</Title> +<Para> +<Literal>QCursor</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%ModuleHeaderCode +#include <qcursor.h> +%End + + +%If (- Qt_2_00) +// Global cursors. + +const QCursor arrowCursor; +const QCursor upArrowCursor; +const QCursor crossCursor; +const QCursor waitCursor; +const QCursor ibeamCursor; +const QCursor sizeVerCursor; +const QCursor sizeHorCursor; +const QCursor sizeBDiagCursor; +const QCursor sizeFDiagCursor; +const QCursor sizeAllCursor; +const QCursor blankCursor; +%End + + +%If (- Qt_3_0_0) +enum QCursorShape { + ArrowCursor, + UpArrowCursor, + CrossCursor, + WaitCursor, + IbeamCursor, + SizeVerCursor, + SizeHorCursor, + SizeBDiagCursor, + SizeFDiagCursor, + SizeAllCursor, + BlankCursor, + LastCursor = BlankCursor, + BitmapCursor = 24 +}; + + +class QCursor +{ +%TypeHeaderCode +#include <qcursor.h> +%End + +public: + QCursor(); + QCursor(int); + QCursor(const QBitmap &,const QBitmap &,int = -1,int = -1); +%If (Qt_2_00 -) + QCursor(const QPixmap &,int = -1,int = -1); +%End + QCursor(const QCursor &); + + int shape() const; + void setShape(int); + const QBitmap *bitmap() const; + const QBitmap *mask() const; + QPoint hotSpot() const; +%If (- Qt_2_00) + HANDLE handle() const; +%End +%If (Qt_2_00 -) +%If (WS_X11) + HANDLE handle() const; +%End +%End + static QPoint pos(); + static void setPos(int,int); + static void setPos(const QPoint &); + static void initialize(); + static void cleanup(); +}; +%End + +%If (Qt_3_0_0 -) +class QCursor : Qt +{ +%TypeHeaderCode +#include <qcursor.h> +%End + +public: + QCursor(); + QCursor(int); + QCursor(const QBitmap &,const QBitmap &,int = -1,int = -1); + QCursor(const QPixmap &,int = -1,int = -1); + QCursor(const QCursor &); + + int shape() const; + void setShape(int); + const QBitmap *bitmap() const; + const QBitmap *mask() const; + QPoint hotSpot() const; + +%If (WS_X11) + HANDLE handle() const; +%If (Qt_3_3_0 -) + // This would have the same Python signature as QCursor(int). + //QCursor(HANDLE); +%End +%End + static QPoint pos(); + static void setPos(int,int); + static void setPos(const QPoint &); + static void initialize(); + static void cleanup(); +%If (WS_X11) + static int x11Screen(); +%End +}; +%End diff --git a/sip/qt/qdatastream.sip b/sip/qt/qdatastream.sip new file mode 100644 index 0000000..1a27132 --- /dev/null +++ b/sip/qt/qdatastream.sip @@ -0,0 +1,224 @@ +// This is the SIP interface definition for QDataStream. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qdatetime.sip b/sip/qt/qdatetime.sip new file mode 100644 index 0000000..cede021 --- /dev/null +++ b/sip/qt/qdatetime.sip @@ -0,0 +1,280 @@ +// This is the SIP interface definition for QDate, QDateTime and QTime. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qdatetimeedit.sip b/sip/qt/qdatetimeedit.sip new file mode 100644 index 0000000..27ee830 --- /dev/null +++ b/sip/qt/qdatetimeedit.sip @@ -0,0 +1,256 @@ +// This is the SIP interface definition for QDateEdit, QDateTimeEdit and +// QTimeEdit. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QDateEdit (Qt v3+)</Title> +<Para> +<Literal>QDateEdit</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTimeEdit (Qt v3+)</Title> +<Para> +<Literal>QTimeEdit</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDateTimeEdit (Qt v3+)</Title> +<Para> +<Literal>QDateTimeEdit</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +// QDateEdit actually inherits QDateTimeEditBase but that's an internal class +// and isn't exported under Windows in all versions. + +class QDateEdit : QWidget +{ +%TypeHeaderCode +#include <qdatetimeedit.h> +%End + +public: + QDateEdit(QWidget * /TransferThis/ = 0,const char * = 0); + QDateEdit(const QDate &,QWidget * /TransferThis/ = 0,const char * = 0); + + enum Order { + DMY, + MDY, + YMD, + YDM + }; + + QSize sizeHint() const; + QSize minimumSizeHint() const; +%If (- Qt_3_1_0) + virtual void setDate(const QDate &); +%End + QDate date() const; + virtual void setOrder(Order); + Order order() const; + virtual void setAutoAdvance(bool); + bool autoAdvance() const; + + virtual void setMinValue(const QDate &); + QDate minValue() const; + virtual void setMaxValue(const QDate &); + QDate maxValue() const; + virtual void setRange(const QDate &,const QDate &); + QString separator() const; + virtual void setSeparator(const QString &); + +%If (Qt_3_2_0 -) + void removeFirstNumber(int); +%End + +public slots: +%If (Qt_3_1_0 -) + virtual void setDate(const QDate &); +%End + +signals: + void valueChanged(const QDate &); + +protected: + bool event(QEvent *); + void timerEvent(QTimerEvent *); + void resizeEvent(QResizeEvent *); + void stepUp(); + void stepDown(); + QString sectionFormattedText(int); + void addNumber(int,int); + void removeLastNumber(int); + bool setFocusSection(int); + + virtual void setYear(int); + virtual void setMonth(int); + virtual void setDay(int); + virtual void fix(); + virtual bool outOfRange(int,int,int) const; + +protected slots: + void updateButtons(); + +private: +%If (Qt_3_1_0 -) + QDateEdit(const QDateEdit &); +%End +}; + + +// QDateEdit actually inherits QDateTimeEditBase but that's an internal class +// and isn't exported under Windows in all versions. + +class QTimeEdit : QWidget +{ +%TypeHeaderCode +#include <qdatetimeedit.h> +%End + +public: +%If (Qt_3_1_0 -) + enum Display { + Hours, + Minutes, + Seconds, + AMPM + }; +%End + + QTimeEdit(QWidget * /TransferThis/ = 0,const char * = 0); + QTimeEdit(const QTime &,QWidget * /TransferThis/ = 0,const char * = 0); + + QSize sizeHint() const; + QSize minimumSizeHint() const; +%If (- Qt_3_1_0) + virtual void setTime(const QTime &); +%End + QTime time() const; + virtual void setAutoAdvance(bool); + bool autoAdvance() const; + + virtual void setMinValue(const QTime &); + QTime minValue() const; + virtual void setMaxValue(const QTime &); + QTime maxValue() const; + virtual void setRange(const QTime &,const QTime &); + QString separator() const; + virtual void setSeparator(const QString &); + +%If (Qt_3_1_0 -) + uint display() const; + void setDisplay(uint); +%End + +%If (Qt_3_2_0 -) + void removeFirstNumber(int); +%End + +public slots: +%If (Qt_3_1_0 -) + virtual void setTime(const QTime &); +%End + +signals: + void valueChanged(const QTime &); + +protected: + bool event(QEvent *); + void timerEvent(QTimerEvent *); + void resizeEvent(QResizeEvent *); + void stepUp(); + void stepDown(); + QString sectionFormattedText(int); + void addNumber(int,int); + void removeLastNumber(int); + bool setFocusSection(int); + + virtual bool outOfRange(int,int,int) const; + virtual void setHour(int); + virtual void setMinute(int); + virtual void setSecond(int); + +protected slots: + void updateButtons(); + +private: +%If (Qt_3_1_0 -) + QTimeEdit(const QTimeEdit &); +%End +}; + + +class QDateTimeEdit : QWidget +{ +%TypeHeaderCode +#include <qdatetimeedit.h> +%End + +public: + QDateTimeEdit(QWidget * /TransferThis/ = 0,const char * = 0); + QDateTimeEdit(const QDateTime &,QWidget * /TransferThis/ = 0, + const char * = 0); + + QSize sizeHint() const; + QSize minimumSizeHint() const; +%If (- Qt_3_1_0) + virtual void setDateTime(const QDateTime &); +%End + QDateTime dateTime() const; + + QDateEdit* dateEdit(); + QTimeEdit* timeEdit(); + + virtual void setAutoAdvance(bool); + bool autoAdvance() const; + +public slots: +%If (Qt_3_1_0 -) + virtual void setDateTime(const QDateTime &); +%End + +signals: + void valueChanged(const QDateTime &); + +protected: + void init(); + void resizeEvent(QResizeEvent *); +%If (- Qt_3_1_2) + void layoutEditors(); +%End + +protected slots: + void newValue(const QDate &); + void newValue(const QTime &); + +private: +%If (Qt_3_1_0 -) + QDateTimeEdit(const QDateTimeEdit &); +%End +}; + +%End diff --git a/sip/qt/qdesktopwidget.sip b/sip/qt/qdesktopwidget.sip new file mode 100644 index 0000000..a6030e6 --- /dev/null +++ b/sip/qt/qdesktopwidget.sip @@ -0,0 +1,84 @@ +// This is the SIP interface definition for QDesktopWidget. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QDesktopWidget (Qt v3+)</Title> +<Para> +<Literal>QDesktopWidget</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QDesktopWidget : QWidget +{ +%TypeHeaderCode +#include <qdesktopwidget.h> +%End + +public: + QDesktopWidget(); + + bool isVirtualDesktop() const; + + int numScreens() const; + int primaryScreen() const; + + int screenNumber(QWidget * = 0) const; + int screenNumber(const QPoint &) const; + + QWidget *screen(int = -1); + + const QRect &screenGeometry(int = -1) const; +%If (Qt_3_1_0 -) + const QRect &screenGeometry(QWidget *) const; + const QRect &screenGeometry(const QPoint &) const; + + const QRect &availableGeometry(int = -1) const; + const QRect &availableGeometry(QWidget *) const; + const QRect &availableGeometry(const QPoint &) const; + + void insertChild(QObject *); +%End + +signals: +%If (Qt_3_2_0 -) + void resized(int); +%End +%If (Qt_3_3_0 -) + void workAreaResized(int); +%End + +protected: +%If (Qt_3_1_0 -) + void resizeEvent(QResizeEvent *); +%End + +private: +%If (Qt_3_1_0 -) + QDesktopWidget(const QDesktopWidget &); +%End +}; + +%End diff --git a/sip/qt/qdial.sip b/sip/qt/qdial.sip new file mode 100644 index 0000000..9587e8c --- /dev/null +++ b/sip/qt/qdial.sip @@ -0,0 +1,112 @@ +// This is the SIP interface definition for QDial. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QDial (Qt v2.2+)</Title> +<Para> +<Literal>QDial</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_2_0 -) +%If (Qt_DIAL) + +class QDial : QWidget, QRangeControl +{ +%TypeHeaderCode +#include <qdial.h> +%End + +public: +%If (- Qt_3_0_0) + QDial(QWidget * /TransferThis/ = 0,const char * = 0); +%End +%If (Qt_3_0_0 -) + QDial(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); +%End + QDial(int,int,int,int,QWidget * /TransferThis/ = 0,const char * = 0); + + bool tracking() const; + + bool wrapping() const; + + int notchSize() const; + + virtual void setNotchTarget(double); + double notchTarget() const; + + bool notchesVisible() const; + + QSize sizeHint() const; + QSize minimumSizeHint() const; + + int minValue() const; + int maxValue() const; + void setMinValue(int); + void setMaxValue(int); + int lineStep() const; + int pageStep() const; + void setLineStep(int); + void setPageStep(int); + int value() const; + +public slots: + virtual void setValue(int); + void addLine(); + void subtractLine(); + void addPage(); + void subtractPage(); + virtual void setNotchesVisible(bool); + virtual void setWrapping(bool); + virtual void setTracking(bool); + +signals: + void valueChanged(int); + void dialPressed(); + void dialMoved(int); + void dialReleased(); + +protected: + void resizeEvent(QResizeEvent *); + void paintEvent(QPaintEvent *); + + void keyPressEvent(QKeyEvent *); + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void wheelEvent(QWheelEvent *); + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); + + void valueChange(); + void rangeChange(); + + virtual void repaintScreen(const QRect * = 0); + +private: + QDial(const QDial &); +}; + +%End +%End diff --git a/sip/qt/qdialog.sip b/sip/qt/qdialog.sip new file mode 100644 index 0000000..c283520 --- /dev/null +++ b/sip/qt/qdialog.sip @@ -0,0 +1,158 @@ +// This is the SIP interface definition for QDialog. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QDialog</Title> +<FuncSynopsis> + <FuncDef>int <Function>exec</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>exec_loop</Literal> in Python. +</Para> +<Para> +This method also causes ownership of the underlying C++ dialog to be transfered +to Python. This means that the C++ dialog will be deleted when the Python +wrapper is garbage collected. Although this is a little inconsistent, it +ensures that the dialog is deleted without having to explicity code it using +<Literal>QObject.deleteLater()</Literal> or other techniques. +</Para> +</Sect2> +%End + + +class QDialog : QWidget +{ +%TypeHeaderCode +#include <qdialog.h> +%End + +public: + QDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0,WFlags = 0); + + enum DialogCode { + Rejected, + Accepted + }; + +%If (- Qt_3_0_0) + int exec() /PyName=exec_loop, ReleaseGIL, + PreHook=__pyQtPreEventLoopHook__, + PostHook=__pyQtPostEventLoopHook__/; +%MethodCode + // Transfer ownership back to Python (a modal dialog will + // probably have the main window as it's parent). This means + // the Qt dialog will be deleted when the Python wrapper is + // garbage collected. Although this is a little inconsistent, + // it saves having to code it explicitly to avoid the memory + // leak. + sipTransferBack(sipSelf); + + Py_BEGIN_ALLOW_THREADS + sipRes = sipCpp->QDialog::exec(); + Py_END_ALLOW_THREADS +%End +%End + + int result() const; + + void show(); +%If (Qt_2_00 -) + void hide(); +%End + void move(int,int); + void move(const QPoint &); + void resize(int,int); + void resize(const QSize &); + void setGeometry(int,int,int,int); + void setGeometry(const QRect &); + +%If (Qt_2_2_0 -) + void setOrientation(Orientation); + Orientation orientation() const; + + void setExtension(QWidget *); + QWidget *extension() const; + + QSize sizeHint() const; + QSize minimumSizeHint() const; + + void setSizeGripEnabled(bool); + bool isSizeGripEnabled() const; +%End + +%If (Qt_3_2_0 -) + void setModal(bool); + bool isModal() const; +%End + +public slots: +%If (Qt_3_0_0 -) + int exec() /PyName=exec_loop, ReleaseGIL, + PreHook=__pyQtPreEventLoopHook__, + PostHook=__pyQtPostEventLoopHook__/; +%MethodCode + // Transfer ownership back to Python (a modal dialog will + // probably have the main window as it's parent). This means + // the Qt dialog will be deleted when the Python wrapper is + // garbage collected. Although this is a little inconsistent, + // it saves having to code it explicitly to avoid the memory + // leak. + sipTransferBack(sipSelf); + + Py_BEGIN_ALLOW_THREADS + sipRes = sipCpp->QDialog::exec(); + Py_END_ALLOW_THREADS +%End +%End + +protected slots: + virtual void done(int); +%If (- Qt_2_00) + void accept(); + void reject(); +%End +%If (Qt_2_00 -) + virtual void accept(); + virtual void reject(); +%End + +%If (Qt_2_2_0 -) + void showExtension(bool); +%End + +protected: + void setResult(int); + void keyPressEvent(QKeyEvent *); + void closeEvent(QCloseEvent *); +%If (Qt_2_2_0 -) + void resizeEvent(QResizeEvent *); +%End +%If (Qt_3_0_0 -) + void contextMenuEvent(QContextMenuEvent *); + bool eventFilter(QObject *,QEvent *); + void adjustPosition(QWidget *); +%End + +private: + QDialog(const QDialog &); +}; diff --git a/sip/qt/qdir.sip b/sip/qt/qdir.sip new file mode 100644 index 0000000..93a1f3c --- /dev/null +++ b/sip/qt/qdir.sip @@ -0,0 +1,383 @@ +// This is the SIP interface definition for QDir and QFileInfoList. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QDir</Title> +<Para> +<Literal>QDir</Literal> is fully implemented, including the Python +<Literal>len</Literal>, <Literal>[]</Literal> (for reading slices and +individual elements), <Literal>==</Literal>, <Literal>!=</Literal> and +<Literal>in</Literal> operators +</Para> +</Sect2> + +<Sect2><Title>QFileInfoList</Title> +<Para> +This class isn't implemented. Whenever a <Literal>QFileInfoList</Literal> is +the return type of a function or the type of an argument, a Python list of +<Literal>QFileInfo</Literal> instances is used instead. +</Para> +</Sect2> +%End + + +%MappedType QFileInfoList +{ +%TypeHeaderCode +#include <qdir.h> +%End + +%ConvertFromTypeCode + PyObject *pl; + QFileInfo *obj; + + // Convert the list. + + if ((pl = PyList_New(0)) == NULL) + return NULL; + + for (QFileInfoListIterator it(*sipCpp); (obj = it.current()) != NULL; ++it) + { + PyObject *inst; + + if ((inst = sipConvertFromInstance(obj,sipClass_QFileInfo,sipTransferObj)) == NULL || PyList_Append(pl,inst) < 0) + { + Py_XDECREF(inst); + Py_DECREF(pl); + + return NULL; + } + + Py_DECREF(inst); + } + + return pl; +%End + +%ConvertToTypeCode + // Convert a Python list of QFileInfo instances to a QFileInfoList on + // the heap. + + if (sipIsErr == NULL) + { + if (!PyList_Check(sipPy)) + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QFileInfo,0)) + return 0; + + return 1; + } + + QFileInfoList *qfil = new QFileInfoList; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + QFileInfo *qfi; + + // We apply the transfer to the list itself, not the elements. + // Note that any temporary element will never be destroyed. + // There is nothing that can be done about this. + qfi = reinterpret_cast<QFileInfo *>(sipConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QFileInfo,0,0,0,sipIsErr)); + + if (*sipIsErr) + { + delete qfil; + return 0; + } + + qfil -> append(qfi); + } + + *sipCppPtr = qfil; + + return sipGetState(sipTransferObj); +%End +}; + + +class QDir +{ +%TypeHeaderCode +#include <qdir.h> +%End + +public: + enum FilterSpec { + Dirs, + Files, + Drives, + NoSymLinks, + All, + TypeMask, + + Readable, + Writable, + Executable, + RWEMask, + + Modified, + Hidden, + System, + AccessMask, + + DefaultFilter + }; + + enum SortSpec { + Name, + Time, + Size, + Unsorted, + SortByMask, + + DirsFirst, + Reversed, + IgnoreCase, + DefaultSort + }; + + QDir(); +%If (- Qt_2_00) + QDir(const char *,const char * = 0,int = Name | IgnoreCase,int = All); +%End +%If (Qt_2_00 -) + QDir(const QString &,const QString & = QString::null, + int = Name | IgnoreCase,int = All); +%End + QDir(const QDir &); + +%If (- Qt_2_00) + void setPath(const char *); + const char *path() const; + QString absPath() const; + QString canonicalPath() const; + + QString dirName() const; + QString filePath(const char *,bool = 1) const; + QString absFilePath(const char *,bool = 1) const; + + static QString convertSeparators(const char *); + + bool cd(const char *,bool = 1); + bool cdUp(); + + const char *nameFilter() const; + void setNameFilter(const char *); +%End +%If (Qt_2_00 -) + virtual void setPath(const QString &); + virtual QString path() const; + virtual QString absPath() const; + virtual QString canonicalPath() const; + + virtual QString dirName() const; + virtual QString filePath(const QString &,bool = 1) const; + virtual QString absFilePath(const QString &,bool = 1) const; + + static QString convertSeparators(const QString &); + + virtual bool cd(const QString &,bool = 1); + virtual bool cdUp(); + + QString nameFilter() const; + virtual void setNameFilter(const QString &); +%End + FilterSpec filter() const; +%If (- Qt_2_00) + void setFilter(int); +%End +%If (Qt_2_00 -) + virtual void setFilter(int); +%End + SortSpec sorting() const; +%If (- Qt_2_00) + void setSorting(int); +%End +%If (Qt_2_00 -) + virtual void setSorting(int); +%End + + bool matchAllDirs() const; +%If (- Qt_2_00) + void setMatchAllDirs(bool); +%End +%If (Qt_2_00 -) + virtual void setMatchAllDirs(bool); +%End + + uint count() const; + + int __len__() const; +%MethodCode + Py_BEGIN_ALLOW_THREADS + sipRes = sipCpp -> count(); + Py_END_ALLOW_THREADS +%End + + QString operator[](int) const; +%MethodCode + int len; + + Py_BEGIN_ALLOW_THREADS + len = sipCpp -> count(); + Py_END_ALLOW_THREADS + + if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0) + sipIsErr = 1; + else + { + Py_BEGIN_ALLOW_THREADS + sipRes = new QString((*sipCpp)[a0]); + Py_END_ALLOW_THREADS + } +%End + + QStringList operator[](SIP_PYSLICE) const; +%MethodCode +#if PY_VERSION_HEX >= 0x02050000 + Py_ssize_t len, start, stop, step, slicelength, i; +#else + int len, start, stop, step, slicelength, i; +#endif + + Py_BEGIN_ALLOW_THREADS + len = sipCpp -> count(); + Py_END_ALLOW_THREADS + + if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0) + sipIsErr = 1; + else + { + Py_BEGIN_ALLOW_THREADS + sipRes = new QStringList(); + + for (i = 0; i < slicelength; ++i) + { + (*sipRes) += (*sipCpp)[start]; + start += step; + } + Py_END_ALLOW_THREADS + } +%End + + int __contains__(const QString &) const; +%MethodCode + Py_BEGIN_ALLOW_THREADS + sipRes = (sipCpp -> entryList().findIndex(*a0) >= 0); + Py_END_ALLOW_THREADS +%End + +%If (- Qt_2_00) + const QStrList *entryList(int = DefaultFilter,int = DefaultSort) const; + const QStrList *entryList(const char *,int = DefaultFilter, + int = DefaultSort) const; + const QFileInfoList *entryInfoList(int = DefaultFilter, + int = DefaultSort) const; + const QFileInfoList *entryInfoList(const char *,int = DefaultFilter, + int = DefaultSort) const; +%End +%If (Qt_2_00 -) + virtual QStrList encodedEntryList(int = DefaultFilter, + int = DefaultSort) const; + virtual QStrList encodedEntryList(const QString &,int = DefaultFilter, + int = DefaultSort) const; + virtual QStringList entryList(int = DefaultFilter, + int = DefaultSort) const; + virtual QStringList entryList(const QString &,int = DefaultFilter, + int = DefaultSort) const; + virtual const QFileInfoList *entryInfoList(int = DefaultFilter, + int = DefaultSort) const; + virtual const QFileInfoList *entryInfoList(const QString &, + int = DefaultFilter, + int = DefaultSort) const; +%End + + static const QFileInfoList *drives(); + +%If (- Qt_2_00) + bool mkdir(const char *,bool = 1) const; + bool rmdir(const char *,bool = 1) const; + + bool isReadable() const; + bool exists() const; + bool isRoot() const; + + bool isRelative() const; + void convertToAbs(); + + bool operator==(const QDir &) const; + bool operator!=(const QDir &) const; + + bool remove(const char *,bool = 1); + bool rename(const char *,const char *,bool = 1); + bool exists(const char *,bool = 1); +%End +%If (Qt_2_00 -) + virtual bool mkdir(const QString &,bool = 1) const; + virtual bool rmdir(const QString &,bool = 1) const; + + virtual bool isReadable() const; + virtual bool exists() const; + virtual bool isRoot() const; + + virtual bool isRelative() const; + virtual void convertToAbs(); + + virtual bool remove(const QString &,bool = 1); + virtual bool rename(const QString &,const QString &,bool = 1); + virtual bool exists(const QString &,bool = 1); +%End + + static char separator(); + +%If (- Qt_2_00) + static bool setCurrent(const char *); +%End +%If (Qt_2_00 -) + static bool setCurrent(const QString &); +%End + static QDir current(); + static QDir home(); + static QDir root(); + static QString currentDirPath(); + static QString homeDirPath(); + static QString rootDirPath(); + +%If (- Qt_2_00) + static bool match(const char *,const char *); + static QString cleanDirPath(const char *); + static bool isRelativePath(const char *); +%End +%If (Qt_2_1_0 -) + static bool match(const QStringList &,const QString &); +%End +%If (Qt_2_00 -) + static bool match(const QString &,const QString &); + static QString cleanDirPath(const QString &); + static bool isRelativePath(const QString &); +%End +%If (Qt_3_1_0 -) + void refresh() const; +%End +}; diff --git a/sip/qt/qdockarea.sip b/sip/qt/qdockarea.sip new file mode 100644 index 0000000..87c0126 --- /dev/null +++ b/sip/qt/qdockarea.sip @@ -0,0 +1,88 @@ +// This is the SIP interface definition for QDockArea. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QDockArea (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>bool <Function>hasDockWindow</Function> const</FuncDef> + <ParamDef>QDockWindow *<Parameter>w</Parameter></ParamDef> + <ParamDef>int *<Parameter>index</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>w</Literal> parameter and returns the index of the +QDockWIndow or -1 if the QDockArea does not contain the QDockWindow. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QDockArea : QWidget +{ +%TypeHeaderCode +#include <qdockarea.h> +%End + +public: + enum HandlePosition { + Normal, + Reverse + }; + + QDockArea(Orientation,HandlePosition = Normal, + QWidget * /TransferThis/ = 0,const char * = 0); + + void moveDockWindow(QDockWindow *,const QPoint &,const QRect &,bool); + void removeDockWindow(QDockWindow *,bool,bool,bool = 1); + void moveDockWindow(QDockWindow *,int = -1); + + int hasDockWindow(QDockWindow *); +%MethodCode + // The Python interface returns the index. + + Py_BEGIN_ALLOW_THREADS + sipCpp -> QDockArea::hasDockWindow(a0,&sipRes); + Py_END_ALLOW_THREADS +%End + + void invalidNextOffset(QDockWindow *); + + Orientation orientation() const; + HandlePosition handlePosition() const; + + bool eventFilter(QObject *,QEvent *); + bool isEmpty() const; + int count() const; + QPtrList<QDockWindow> dockWindowList() const; + + bool isDockWindowAccepted(QDockWindow *); + void setAcceptDockWindow(QDockWindow *,bool); + +public slots: + void lineUp(bool); + +private: + QDockArea(const QDockArea &); +}; + +%End diff --git a/sip/qt/qdockwindow.sip b/sip/qt/qdockwindow.sip new file mode 100644 index 0000000..5a2bef6 --- /dev/null +++ b/sip/qt/qdockwindow.sip @@ -0,0 +1,135 @@ +// This is the SIP interface definition for QDockWindow. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QDockWindow (Qt v3+)</Title> +<Para> +<Literal>QDockWindow</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QDockWindow : QFrame +{ +%TypeHeaderCode +#include <qdockwindow.h> +%End + +public: + enum Place { + InDock, + OutsideDock + }; + + enum CloseMode { + Never, + Docked, + Undocked, + Always + }; + + QDockWindow(Place = InDock,QWidget * /TransferThis/ = 0, + const char * = 0,WFlags = 0); +%If (Qt_3_1_0 -) + QDockWindow(QWidget * /TransferThis/,const char * = 0,WFlags = 0); +%End + + virtual void setWidget(QWidget *); + QWidget *widget() const; + + Place place() const; + + QDockArea *area() const; + + virtual void setCloseMode(int); + bool isCloseEnabled() const; + int closeMode() const; + + virtual void setResizeEnabled(bool); + virtual void setMovingEnabled(bool); + bool isResizeEnabled() const; + bool isMovingEnabled() const; + + virtual void setHorizontallyStretchable(bool); + virtual void setVerticallyStretchable(bool); + bool isHorizontallyStretchable() const; + bool isVerticallyStretchable() const; + bool isStretchable() const; + + virtual void setOffset(int); + int offset() const; + + virtual void setFixedExtentWidth(int); + virtual void setFixedExtentHeight(int); + QSize fixedExtent() const; + + virtual void setNewLine(bool); + bool newLine() const; + + Qt::Orientation orientation() const; + + QSize sizeHint() const; + QSize minimumSize() const; + QSize minimumSizeHint() const; + + QBoxLayout *boxLayout(); + + virtual void setOpaqueMoving(bool); + bool opaqueMoving() const; + + bool eventFilter(QObject *,QEvent *); + +signals: + void orientationChanged(Orientation); + void placeChanged(QDockWindow::Place); + void visibilityChanged(bool); + +public slots: + virtual void undock(QWidget *); + virtual void undock(); + virtual void dock(); + virtual void setOrientation(Orientation); + void setCaption(const QString &); + +protected: + void resizeEvent(QResizeEvent *); + void showEvent(QShowEvent *); + void hideEvent(QHideEvent *); + void contextMenuEvent(QContextMenuEvent *); + +%If (Qt_3_0_1 -) + void drawFrame(QPainter *); +%End +%If (Qt_3_1_0 -) + void drawContents(QPainter *); +%End + + bool event(QEvent *); + +private: + QDockWindow(const QDockWindow &); +}; + +%End diff --git a/sip/qt/qdragobject.sip b/sip/qt/qdragobject.sip new file mode 100644 index 0000000..5465219 --- /dev/null +++ b/sip/qt/qdragobject.sip @@ -0,0 +1,374 @@ +// This is the SIP interface definition for QDragObject, QImageDrag, +// QStoredDrag, QTextDrag, QUriDrag, QUrlDrag, QColorDrag. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QColorDrag (Qt v2.1+)</Title> +<Para> +<Literal>QColorDrag</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDragObject</Title> +<Para> +<Literal>QDragObject</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QImageDrag</Title> +<Para> +<Literal>QImageDrag</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QStoredDrag</Title> +<Para> +<Literal>QStoredDrag</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTextDrag</Title> +<Para> +<Literal>QTextDrag</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QUriDrag (Qt v2+)</Title> +<Para> +<Literal>QUriDrag</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QUrlDrag (Qt v1.x)</Title> +<Para> +<Literal>QUrlDrag</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +class QDragObject : QObject +{ +%TypeHeaderCode +#include <qdragobject.h> +%End + +public: + enum DragMode { + DragDefault, + DragCopy, + DragMove, + DragCopyOrMove + }; + + QDragObject(QWidget * /TransferThis/ = 0,const char * = 0); + + bool drag(); + bool dragMove(); + void dragCopy(); + virtual bool provides(const char *) const; + virtual const char *format(int) const = 0; + virtual QByteArray encodedData(const char *) const = 0; + void setPixmap(QPixmap); + void setPixmap(QPixmap,QPoint); + QPixmap pixmap() const; + QPoint pixmapHotSpot() const; + QWidget *source(); + +protected: + virtual bool drag(DragMode); +}; + +%End + +%If (Qt_2_00 -) + +class QDragObject : QObject, QMimeSource +{ +%TypeHeaderCode +#include <qdragobject.h> +%End + +public: + QDragObject(QWidget * /TransferThis/ = 0,const char * = 0); + +%If (Qt_DRAGANDDROP) + bool drag(); + bool dragMove(); + void dragCopy(); +%If (Qt_3_0_0 -) + void dragLink(); +%End + + virtual void setPixmap(QPixmap); +%If (- Qt_3_0_0) + virtual void setPixmap(QPixmap,QPoint); +%End +%If (Qt_3_0_0 -) + virtual void setPixmap(QPixmap,const QPoint &); +%End + QPixmap pixmap() const; + QPoint pixmapHotSpot() const; +%End + + QWidget *source(); + static QWidget *target(); + + static void setTarget(QWidget *); + +%If (Qt_DRAGANDDROP) +%If (- Qt_3_0_0) + enum DragMode { + DragDefault, + DragCopy, + DragMove, + DragCopyOrMove + }; +%End +%If (Qt_3_0_0 -) + enum DragMode { + DragDefault, + DragCopy, + DragMove, + DragLink, + DragCopyOrMove + }; +%End +%End + +protected: +%If (Qt_DRAGANDDROP) + virtual bool drag(DragMode); +%End + +private: +%If (Qt_3_1_0 -) + QDragObject(const QDragObject &); +%End +}; + +%End + + +class QStoredDrag : QDragObject +{ +%TypeHeaderCode +#include <qdragobject.h> +%End + +public: + QStoredDrag(const char *,QWidget * /TransferThis/ = 0,const char * = 0); + +%If (- Qt_2_00) + void setEncodedData(const QByteArray&); +%End +%If (Qt_2_00 -) + virtual void setEncodedData(const QByteArray&); +%End + + const char *format(int) const; + virtual QByteArray encodedData(const char *) const; + +private: +%If (Qt_3_1_0 -) + QStoredDrag(const QStoredDrag &); +%End +}; + + +%If (- Qt_2_00) + +class QTextDrag : QStoredDrag +{ +%TypeHeaderCode +#include <qdragobject.h> +%End + +public: + QTextDrag(const char *,QWidget * /TransferThis/ = 0,const char * = 0); + QTextDrag(QWidget * /TransferThis/ = 0,const char * = 0); + + void setText(const char *); + static bool canDecode(QDragMoveEvent *); + static bool decode(QDropEvent *,QString &); +}; + +%End + +%If (Qt_2_00 -) + +class QTextDrag : QDragObject +{ +%TypeHeaderCode +#include <qdragobject.h> +%End + +public: + QTextDrag(const QString &,QWidget * /TransferThis/ = 0, + const char * = 0); + QTextDrag(QWidget * /TransferThis/ = 0,const char * = 0); + + virtual void setText(const QString &); + virtual void setSubtype(const QCString &); + + const char *format(int) const; + virtual QByteArray encodedData(const char *) const; + + static bool canDecode(const QMimeSource *); + static bool decode(const QMimeSource *,QString &); + static bool decode(const QMimeSource *,QString &,QCString &); + +private: +%If (Qt_3_1_0 -) + QTextDrag(const QTextDrag &); +%End +}; + +%End + + +class QImageDrag : QDragObject +{ +%TypeHeaderCode +#include <qdragobject.h> +%End + +public: + QImageDrag(QImage,QWidget * /TransferThis/ = 0,const char * = 0); + QImageDrag(QWidget * /TransferThis/ = 0,const char * = 0); + +%If (- Qt_2_00) + void setImage(QImage); +%End +%If (Qt_2_00 -) + virtual void setImage(QImage); +%End + + const char *format(int) const; + virtual QByteArray encodedData(const char *) const; + +%If (- Qt_2_00) + static bool canDecode(QDragMoveEvent *); + static bool decode(QDropEvent *,QImage &); + static bool decode(QDropEvent *,QPixmap &); +%End +%If (Qt_2_00 -) + static bool canDecode(const QMimeSource *); + static bool decode(const QMimeSource *,QImage &); + static bool decode(const QMimeSource *,QPixmap &); +%End + +private: +%If (Qt_3_1_0 -) + QImageDrag(const QImageDrag &); +%End +}; + + +%If (- Qt_2_00) + +class QUrlDrag : QStoredDrag +{ +%TypeHeaderCode +#include <qdragobject.h> +%End + +public: + QUrlDrag(QStrList,QWidget * /TransferThis/ = 0,const char * = 0); + QUrlDrag(QWidget * /TransferThis/ = 0,const char * = 0); + + void setUrls(QStrList); + static QString urlToLocalFile(const char *); + static bool canDecode(QDragMoveEvent *); + static bool decode(QDropEvent *,QStrList &); + static bool decodeLocalFiles(QDropEvent *,QStrList &); +}; + +%End + +%If (Qt_2_00 -) + +class QUriDrag : QStoredDrag +{ +%TypeHeaderCode +#include <qdragobject.h> +%End + +public: + QUriDrag(QStrList,QWidget * /TransferThis/ = 0,const char * = 0); + QUriDrag(QWidget * /TransferThis/ = 0,const char * = 0); + +%If (- Qt_3_0_0) + void setFilenames(QStringList); + void setUnicodeUris(QStringList); +%End +%If (Qt_3_0_0 -) + void setFileNames(const QStringList &); + void setUnicodeUris(const QStringList &); +%End + virtual void setUris(QStrList); + + static QString uriToLocalFile(const char *); + static QCString localFileToUri(const QString &); + static QString uriToUnicodeUri(const char *); + static QCString unicodeUriToUri(const QString &); + static bool canDecode(const QMimeSource *); + static bool decode(const QMimeSource *,QStrList &); + static bool decodeToUnicodeUris(const QMimeSource *,QStringList &); + static bool decodeLocalFiles(const QMimeSource *,QStringList &); + +private: +%If (Qt_3_1_0 -) + QUriDrag(const QUriDrag &); +%End +}; + +%End + + +%If (Qt_2_1_0 -) + +class QColorDrag : QStoredDrag +{ +%TypeHeaderCode +#include <qdragobject.h> +%End + +public: + QColorDrag(const QColor &,QWidget * /TransferThis/ = 0, + const char * = 0); + QColorDrag(QWidget * /TransferThis/ = 0,const char * = 0); + + void setColor(const QColor &); + + static bool canDecode(QMimeSource *); + static bool decode(QMimeSource *,QColor &); + +private: +%If (Qt_3_1_0 -) + QColorDrag(const QColorDrag &); +%End +}; + +%End diff --git a/sip/qt/qdrawutil.sip b/sip/qt/qdrawutil.sip new file mode 100644 index 0000000..413ca4a --- /dev/null +++ b/sip/qt/qdrawutil.sip @@ -0,0 +1,74 @@ +// This is the SIP interface definition for the Qt drawing utilities. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ModuleHeaderCode +#include <qdrawutil.h> +%End + + +void qDrawShadeLine(QPainter *,int,int,int,int,const QColorGroup &,bool = 1, + int = 1,int = 0); +void qDrawShadeLine(QPainter *,const QPoint &,const QPoint &, + const QColorGroup &,bool = 1,int = 1,int = 0); + +void qDrawShadeRect(QPainter *,int,int,int,int,const QColorGroup &,bool = 0, + int = 1,int = 0,const QBrush * = 0); +void qDrawShadeRect(QPainter *,const QRect &,const QColorGroup &,bool = 0, + int = 1,int = 0,const QBrush * = 0); + +void qDrawShadePanel(QPainter *,int,int,int,int,const QColorGroup &,bool = 0, + int = 1,const QBrush * = 0); +void qDrawShadePanel(QPainter *,const QRect &,const QColorGroup &,bool = 0, + int = 1,const QBrush * = 0); + +void qDrawWinButton(QPainter *,int,int,int,int,const QColorGroup &,bool = 0, + const QBrush * = 0); +void qDrawWinButton(QPainter *,const QRect &,const QColorGroup &,bool = 0, + const QBrush * = 0); + +void qDrawWinPanel(QPainter *,int,int,int,int,const QColorGroup &,bool = 0, + const QBrush * = 0); +void qDrawWinPanel(QPainter *,const QRect &,const QColorGroup &,bool = 0, + const QBrush * = 0); + +void qDrawPlainRect(QPainter *,int,int,int,int,const QColor &,int = 1, + const QBrush * = 0); +void qDrawPlainRect(QPainter *,const QRect &,const QColor &,int = 1, + const QBrush * = 0); + +%If (- Qt_2_00) +QRect qItemRect(QPainter *,GUIStyle,int,int,int,int,int,bool,const QPixmap *, + const char *,int = -1); + +void qDrawItem(QPainter *,GUIStyle,int,int,int,int,int,const QColorGroup &,bool, + const QPixmap *,const char *,int = -1); + +enum ArrowType { + UpArrow, + DownArrow, + LeftArrow, + RightArrow +}; + +void qDrawArrow(QPainter *,ArrowType,GUIStyle,bool,int,int,int,int, + const QColorGroup &,bool); +%End diff --git a/sip/qt/qdropsite.sip b/sip/qt/qdropsite.sip new file mode 100644 index 0000000..a2c11de --- /dev/null +++ b/sip/qt/qdropsite.sip @@ -0,0 +1,51 @@ +// This is the SIP interface definition for QDropSite. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QDropSite</Title> +<Para> +<Literal>QDropSite</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_DRAGANDDROP) + +class QDropSite +{ +%TypeHeaderCode +#include <qdropsite.h> +%End + +public: + QDropSite(QWidget *); + +%If (- Qt_2_00) + virtual void dragEnterEvent(QDragEnterEvent *); + virtual void dragMoveEvent(QDragMoveEvent *); + virtual void dragLeaveEvent(QDragLeaveEvent *); + virtual void dropEvent(QDropEvent *); +%End +}; + +%End diff --git a/sip/qt/qerrormessage.sip b/sip/qt/qerrormessage.sip new file mode 100644 index 0000000..1f31264 --- /dev/null +++ b/sip/qt/qerrormessage.sip @@ -0,0 +1,57 @@ +// This is the SIP interface definition for QErrorMessage. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QErrorMessage (Qt v3+)</Title> +<Para> +<Literal>QErrorMessage</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QErrorMessage : QDialog +{ +%TypeHeaderCode +#include <qerrormessage.h> +%End + +public: + QErrorMessage(QWidget * /TransferThis/,const char * = 0); + + static QErrorMessage *qtHandler(); + +public slots: + void message(const QString &); + +protected: + void done(int); + +private: +%If (Qt_3_1_0 -) + QErrorMessage(const QErrorMessage &); +%End +}; + +%End diff --git a/sip/qt/qevent.sip b/sip/qt/qevent.sip new file mode 100644 index 0000000..d4db705 --- /dev/null +++ b/sip/qt/qevent.sip @@ -0,0 +1,1235 @@ +// This is the SIP interface definition for QEvent, QChildEvent, QCloseEvent, +// QIconDragEvent, QContextMenuEvent, QCustomEvent, QDragEnterEvent, +// QDragLeaveEvent, QDragMoveEvent, QDropEvent, QFocusEvent, QHideEvent, +// QIMEvent, QIMComposeEvent, QKeyEvent, QMouseEvent, QMoveEvent, QPaintEvent, +// QResizeEvent, QShowEvent, QTabletEvent, QTimerEvent, QWheelEvent. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qeventloop.sip b/sip/qt/qeventloop.sip new file mode 100644 index 0000000..22d7a2c --- /dev/null +++ b/sip/qt/qeventloop.sip @@ -0,0 +1,89 @@ +// This is the SIP interface definition for QEventLoop. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QEventLoop (Qt v3.1+)</Title> +<FuncSynopsis> + <FuncDef>virtual int <Function>exec</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>exec_loop</Literal> in Python. +</Para> +</Sect2> +%End + + +%If (Qt_3_1_0 -) + +class QEventLoop : QObject +{ +%TypeHeaderCode +#include <qeventloop.h> +%End + +public: + QEventLoop(QObject * /TransferThis/ = 0,const char * = 0); + + enum ProcessEvents { + AllEvents, + ExcludeUserInput, + ExcludeSocketNotifiers, + WaitForMore + }; + + typedef uint ProcessEventsFlags; + + void processEvents(ProcessEventsFlags,int) /ReleaseGIL/; + virtual bool processEvents(ProcessEventsFlags) /ReleaseGIL/; + + virtual bool hasPendingEvents() const; + + virtual void registerSocketNotifier(QSocketNotifier *); + virtual void unregisterSocketNotifier(QSocketNotifier *); +%If (Qt_3_1_1 -) + // These were present in the X11 version of Qt v3.1.0 but didn't make + // it to the Windows version until Qt v3.1.1. + void setSocketNotifierPending(QSocketNotifier *); + int activateSocketNotifiers(); + + int activateTimers(); + int timeToWait() const; +%End + + virtual int exec() /PyName=exec_loop, ReleaseGIL, + PreHook=__pyQtPreEventLoopHook__, + PostHook=__pyQtPostEventLoopHook__/; + virtual void exit(int = 0); + + virtual int enterLoop(); + virtual void exitLoop(); + virtual int loopLevel() const; + + virtual void wakeUp(); + +signals: + void awake(); + void aboutToBlock(); +}; + +%End diff --git a/sip/qt/qfile.sip b/sip/qt/qfile.sip new file mode 100644 index 0000000..06012f1 --- /dev/null +++ b/sip/qt/qfile.sip @@ -0,0 +1,310 @@ +// This is the SIP interface definition for QFile. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QFile</Title> +<FuncSynopsis> + <FuncDef>bool <Function>open</Function></FuncDef> + <ParamDef>int <Parameter>m</Parameter></ParamDef> + <ParamDef>FILE *<Parameter>f</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>len</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>None</Literal> is returned. +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readLine</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>maxlen</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>maxlen</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>None</Literal> is returned. +</Para> + +<FuncSynopsis> + <FuncDef>static void <Function>setDecodingFunction</Function></FuncDef> + <ParamDef>EncoderFn <Parameter>f</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>static void <Function>setEncodingFunction</Function></FuncDef> + <ParamDef>EncoderFn <Parameter>f</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>writeBlock</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +<Literal>len</Literal> is derived from <Literal>data</Literal> and not passed +as a parameter. +</Para> +</Sect2> +%End + + +class QFile : QIODevice +{ +%TypeHeaderCode +#include <qfile.h> +%End + +public: + QFile(); +%If (- Qt_2_00) + QFile(const char *); +%End +%If (Qt_2_00 -) + QFile(const QString &); +%End + +%If (- Qt_2_00) + const char *name() const; + void setName(const char *); +%End +%If (Qt_2_00 -) + QString name() const; + void setName(const QString &); +%End + +%If (Qt_2_00 -) + static QCString encodeName(const QString &); + static QString decodeName(const QCString &); +// static void setEncodingFunction(EncoderFn); +// static void setDecodingFunction(DecoderFn); +%End + + bool exists() const; +%If (- Qt_2_00) + static bool exists(const char *); +%End +%If (Qt_2_00 -) + static bool exists(const QString &); +%End + + bool remove(); +%If (- Qt_2_00) + static bool remove(const char *); +%End +%If (Qt_2_00 -) + static bool remove(const QString &); +%End + + bool open(int) /ReleaseGIL/; +// bool open(int,FILE *) /ReleaseGIL/; + bool open(int,int) /ReleaseGIL/; + void close(); + void flush() /ReleaseGIL/; + +%If (- Qt_3_0_0) + uint size() const; + int at() const; + bool at(int); +%End +%If (Qt_3_0_0 -) + Offset size() const; + Offset at() const; + bool at(Offset); +%End + bool atEnd() const; + +%If (- Qt_3_0_0) + SIP_PYOBJECT readBlock(uint) /ReleaseGIL/ [int (char *,uint)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + int actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipSelfWasArg ? sipCpp->QFile::readBlock(buf,a0) : sipCpp->readBlock(buf,a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + Py_INCREF(Py_None); + sipRes = Py_None; + } + else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL) + sipIsErr = 1; + + sipFree((ANY *)buf); + } +%End + + int writeBlock(const char * /Array/,uint /ArraySize/) /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + SIP_PYOBJECT readBlock(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + Q_LONG actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipSelfWasArg ? sipCpp->QFile::readBlock(buf,a0) : sipCpp->readBlock(buf,a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + Py_INCREF(Py_None); + sipRes = Py_None; + } + else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL) + sipIsErr = 1; + + sipFree((ANY *)buf); + } +%End + + + Q_LONG writeBlock(const char * /Array/, + Q_ULONG /ArraySize/) /ReleaseGIL/; +%End +%If (Qt_2_00 - Qt_3_0_0) + int writeBlock(const QByteArray &) /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + Q_LONG writeBlock(const QByteArray &) /ReleaseGIL/; +%End + +%If (- Qt_3_0_0) + SIP_PYOBJECT readLine(uint) /ReleaseGIL/ [int (char *,uint)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + int actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipSelfWasArg ? sipCpp->QFile::readLine(buf,a0) : sipCpp->readLine(buf,a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End +%End +%If (Qt_3_0_0 -) + SIP_PYOBJECT readLine(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + Q_LONG actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipSelfWasArg ? sipCpp->QFile::readLine(buf,a0) : sipCpp->readLine(buf,a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End +%End + +%If (Qt_2_00 - Qt_3_0_0) + int readLine(QString &,uint) /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + Q_LONG readLine(QString &,Q_ULONG) /ReleaseGIL/; +%End + + int getch(); + int putch(int); + int ungetch(int); + + int handle() const; + +%If (Qt_3_2_0 -) + QString errorString() const; +%End + +protected: +%If (Qt_3_2_0 -) + void setErrorString(const QString &); +%End + +private: + QFile(const QFile &); +}; diff --git a/sip/qt/qfiledialog.sip b/sip/qt/qfiledialog.sip new file mode 100644 index 0000000..611387a --- /dev/null +++ b/sip/qt/qfiledialog.sip @@ -0,0 +1,361 @@ +// This is the SIP interface definition for QFileDialog, QFileIconProvider and +// QFilePreview. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QFileDialog</Title> +<Para> +<Literal>QFileDialog</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QFileIconProvider</Title> +<Para> +<Literal>QFileIconProvider</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QFilePreview</Title> +<Para> +<Literal>QFilePreview</Literal> is fully implemented. However it cannot be +used from Python in the same way as it is used from C++ because PyQt does not +support multiple inheritance involving more than one wrapped class. A trick +that seems to work is to use composition rather than inheritance as in the +following code fragment. +</Para> +<ProgramListing> +class FilePreview(QFilePreview): + pass + +class Preview(QLabel): + def __init__(self, parent=None): + QLabel.__init__(self, parent) + self.preview = FilePreview() + self.preview.previewUrl = self.previewUrl +</ProgramListing> +<Para> +Note that QFilePreview cannot be instantiated directly because it is abstract. +Thanks to Hans-Peter Jansen for this trick. +</Para> +</Sect2> +%End + + +%If (Qt_FILEDIALOG) + +class QFileIconProvider : QObject +{ +%TypeHeaderCode +#include <qfiledialog.h> +%End + +public: + QFileIconProvider(QObject * /TransferThis/ = 0,const char * = 0); + + virtual const QPixmap *pixmap(const QFileInfo &); + +private: +%If (Qt_2_1_0 -) + QFileIconProvider(const QFileIconProvider &); +%End +}; + + +%If (Qt_2_1_0 -) +class QFilePreview +{ +%TypeHeaderCode +#include <qfiledialog.h> +%End + +public: + QFilePreview(); + + virtual void previewUrl(const QUrl &) = 0; +}; +%End + + +class QFileDialog : QDialog +{ +%TypeHeaderCode +#include <qfiledialog.h> +%End + +public: +%If (- Qt_2_00) + QFileDialog(const char *,const char * = 0,QWidget * /TransferThis/ = 0, + const char * = 0,bool = 0); +%End +%If (Qt_2_00 -) + QFileDialog(const QString &,const QString & = QString::null, + QWidget * /TransferThis/ = 0,const char * = 0,bool = 0); +%End + QFileDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0); + +%If (- Qt_2_00) + static QString getOpenFileName(const char * = 0,const char * = 0, + QWidget * = 0, + const char * = 0) /ReleaseGIL/; + static QString getSaveFileName(const char * = 0,const char * = 0, + QWidget * = 0, + const char * = 0) /ReleaseGIL/; + static QString getExistingDirectory(const char * = 0,QWidget * = 0, + const char * = 0) /ReleaseGIL/; + static QStrList getOpenFileNames(const char * = 0,const char * = 0, + QWidget * = 0, + const char * = 0) /ReleaseGIL/; +%End +%If (Qt_2_00 - Qt_3_0_0) + static QString getOpenFileName(const QString & = QString::null, + const QString & = QString::null, + QWidget * = 0, + const char * = 0) /ReleaseGIL/; + static QString getSaveFileName(const QString & = QString::null, + const QString & = QString::null, + QWidget * = 0, + const char * = 0) /ReleaseGIL/; + static QString getExistingDirectory(const QString & = QString::null, + QWidget * = 0, + const char * = 0) /ReleaseGIL/; + static QStringList getOpenFileNames(const QString & = QString::null, + const QString & = QString::null, + QWidget * = 0, + const char * = 0) /ReleaseGIL/; +%End +%If (Qt_2_1_0 - Qt_3_0_0) + static QString getOpenFileName(const QString &,const QString &, + QWidget *,const char *, + const QString &) /ReleaseGIL/; + static QString getSaveFileName(const QString &,const QString &, + QWidget *,const char *, + const QString &) /ReleaseGIL/; + static QString getExistingDirectory(const QString &,QWidget *, + const char *, + const QString &) /ReleaseGIL/; + static QStringList getOpenFileNames(const QString &,const QString &, + QWidget *,const char *, + const QString &) /ReleaseGIL/; +%End +%If (Qt_2_2_0 - Qt_3_0_0) + static QString getExistingDirectory(const QString &,QWidget *, + const char *, + const QString &,bool) /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + static QString getOpenFileName(const QString & = QString::null, + const QString & = QString::null, + QWidget * = 0,const char * = 0, + const QString & = QString::null, + QString * = 0,bool = 1) /ReleaseGIL/; + + static QString getSaveFileName(const QString & = QString::null, + const QString & = QString::null, + QWidget * = 0,const char * = 0, + const QString & = QString::null, + QString * = 0,bool = 1) /ReleaseGIL/; + + static QString getExistingDirectory(const QString & = QString::null, + QWidget * = 0,const char * = 0, + const QString & = QString::null, + bool = 1,bool = 1) /ReleaseGIL/; + + static QStringList getOpenFileNames(const QString & = QString::null, + const QString & = QString::null, + QWidget * = 0,const char * = 0, + const QString & = QString::null, + QString * = 0, + bool = 1) /ReleaseGIL/; + +%End + + static void setIconProvider(QFileIconProvider *); + static QFileIconProvider *iconProvider(); + + QString selectedFile() const; +%If (Qt_2_1_0 -) + QString selectedFilter() const; +%End +%If (Qt_3_0_0 -) + virtual void setSelectedFilter(const QString &); + virtual void setSelectedFilter(int); +%End + +%If (- Qt_2_00) + void setSelection(const char *); +%End +%If (Qt_2_00 -) + void setSelection(const QString &); +%End + +%If (Qt_2_1_0 -) + void selectAll(bool); + + QStringList selectedFiles() const; +%End + +%If (- Qt_2_00) + const char *dirPath() const; +%End +%If (Qt_2_00 -) + QString dirPath() const; +%End + + void setDir(const QDir &); + const QDir* dir() const; + +%If (Qt_2_1_0 -) + void setShowHiddenFiles(bool); + bool showHiddenFiles() const; +%End + + void rereadDir() /ReleaseGIL/; +%If (Qt_2_1_0 -) + void resortDir(); +%End + +%If (- Qt_2_2_0) + enum Mode { + AnyFile, + ExistingFile, + Directory, + ExistingFiles + }; +%End +%If (Qt_2_2_0 -) + enum Mode { + AnyFile, + ExistingFile, + Directory, + ExistingFiles, + DirectoryOnly + }; +%End + + void setMode(Mode); + Mode mode() const; + +%If (Qt_2_1_0 -) + enum ViewMode { + Detail, + List + }; + + enum PreviewMode { + NoPreview, + Contents, + Info + }; + + void setViewMode(ViewMode); + ViewMode viewMode() const; + void setPreviewMode(PreviewMode); + PreviewMode previewMode() const; +%End + + bool eventFilter(QObject *,QEvent *); + +%If (Qt_2_1_0 -) + bool isInfoPreviewEnabled() const; + bool isContentsPreviewEnabled() const; + void setInfoPreviewEnabled(bool); + void setContentsPreviewEnabled(bool); + + void setInfoPreview(QWidget *,QFilePreview *); + void setContentsPreview(QWidget *,QFilePreview *); + + QUrl url() const; +%End + +%If (Qt_3_0_0 -) + void addFilter(const QString &); +%End + +public slots: +%If (Qt_2_2_0 -) + void done(int); +%End +%If (- Qt_2_00) + void setDir(const char *); +%End +%If (Qt_2_00 -) + void setDir(const QString &); +%End +%If (Qt_2_1_0 -) + void setUrl(const QUrlOperator &); +%End +%If (- Qt_2_00) + void setFilter(const char *); +%End +%If (Qt_2_00 -) + void setFilter(const QString &); +%End +%If (Qt_2_1_0 -) + void setFilters(const QString &); +%End +// void setFilters(const char **); +%If (- Qt_2_00) + void setFilters(const QStrList &); +%End +%If (Qt_2_00 -) + void setFilters(const QStringList &); +%End + +signals: +%If (- Qt_2_00) + void fileHighlighted(const char *); + void fileSelected(const char *); + void dirEntered(const char *); +%End +%If (Qt_2_00 -) + void fileHighlighted(const QString &); + void fileSelected(const QString &); +%End +%If (Qt_3_0_0 -) + void filesSelected(const QStringList &); +%End +%If (Qt_2_00 -) + void dirEntered(const QString &); +%End +%If (Qt_3_0_0 -) + void filterSelected(const QString &); +%End + +protected: + void resizeEvent(QResizeEvent *); + void keyPressEvent(QKeyEvent *); + + void addWidgets(QLabel *,QWidget *,QPushButton *); +%If (Qt_2_1_0 -) + void addToolButton(QButton *,bool = 0); + void addLeftWidget(QWidget *); + void addRightWidget(QWidget *); +%End +%If (Qt_2_1_0 - Qt_3_0_0) + void addFilter(const QString &); +%End + +private: + QFileDialog(const QFileDialog &); +}; + +%End diff --git a/sip/qt/qfileinfo.sip b/sip/qt/qfileinfo.sip new file mode 100644 index 0000000..3755e31 --- /dev/null +++ b/sip/qt/qfileinfo.sip @@ -0,0 +1,145 @@ +// This is the SIP interface definition for QFileInfo. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QFileInfo</Title> +<Para> +<Literal>QFileInfo</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QFileInfo +{ +%TypeHeaderCode +#include <qfileinfo.h> +%End + +public: + enum PermissionSpec { +%If (Qt_3_2_0 -) + ReadOwner, WriteOwner, ExeOwner, +%End + ReadUser, WriteUser, ExeUser, + ReadGroup, WriteGroup, ExeGroup, + ReadOther, WriteOther, ExeOther + }; + + QFileInfo(); +%If (- Qt_2_00) + QFileInfo(const char *); +%End +%If (Qt_2_00 -) + QFileInfo(const QString &); +%End + QFileInfo(const QFile &); +%If (- Qt_2_00) + QFileInfo(const QDir &,const char *); +%End +%If (Qt_2_00 -) + QFileInfo(const QDir &,const QString &); +%End + QFileInfo(const QFileInfo &); + +%If (- Qt_2_00) + void setFile(const char *); +%End +%If (Qt_2_00 -) + void setFile(const QString &); +%End + void setFile(const QFile &); +%If (- Qt_2_00) + void setFile(const QDir &,const char *); +%End +%If (Qt_2_00 -) + void setFile(const QDir &,const QString &); +%End + bool exists() const; + void refresh() const; + bool caching() const; + void setCaching(bool); + +%If (- Qt_2_00) + const char *filePath() const; +%End +%If (Qt_2_00 -) + const QString filePath() const; +%End + QString fileName() const; + QString absFilePath() const; +%If (- Qt_3_0_0) + QString baseName() const; +%End +%If (Qt_3_0_0 -) + QString baseName(bool = 1) const; +%End +%If (- Qt_2_00) + QString extension() const; +%End +%If (Qt_2_00 -) + QString extension(bool = 1) const; +%End + + QString dirPath(bool = 0) const; + QDir dir(bool = 0) const; + bool isReadable() const; + bool isWritable() const; + bool isExecutable() const; +%If (Qt_3_1_0 -) + bool isHidden() const; +%End + + bool isRelative() const; + bool convertToAbs(); + + bool isFile() const; + bool isDir() const; + bool isSymLink() const; + + QString readLink() const /ReleaseGIL/; + +%If (- Qt_2_00) + const char *owner() const; +%End +%If (Qt_2_00 -) + QString owner() const; +%End + uint ownerId() const; +%If (- Qt_2_00) + const char *group() const; +%End +%If (Qt_2_00 -) + QString group() const; +%End + uint groupId() const; + + bool permission(int) const; + + uint size() const; + +%If (Qt_3_0_0 -) + QDateTime created() const; +%End + QDateTime lastModified() const; + QDateTime lastRead() const; +}; diff --git a/sip/qt/qfont.sip b/sip/qt/qfont.sip new file mode 100644 index 0000000..b2abfd4 --- /dev/null +++ b/sip/qt/qfont.sip @@ -0,0 +1,441 @@ +// This is the SIP interface definition for QFont. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QFont</Title> +<Para> +<Literal>QFont</Literal> is fully implemented, including the Python +<Literal>==</Literal> and <Literal>!=</Literal> operators. +</Para> +</Sect2> +%End + + +class QFont +{ +%TypeHeaderCode +#include <qfont.h> +%End + +public: +%If (- Qt_2_00) + enum CharSet { + Latin1, ISO_8859_1 = Latin1, AnyCharSet, + Latin2, ISO_8859_2 = Latin2, + Latin3, ISO_8859_3 = Latin3, + Latin4, ISO_8859_4 = Latin4, + Latin5, ISO_8859_5 = Latin5, + Latin6, ISO_8859_6 = Latin6, + Latin7, ISO_8859_7 = Latin7, + Latin8, ISO_8859_8 = Latin8, + Latin9, ISO_8859_9 = Latin9, + KOI8R + }; +%End +%If (Qt_2_00 - Qt_2_1_0) + enum CharSet { + ISO_8859_1, Latin1 = ISO_8859_1, AnyCharSet, + ISO_8859_2, Latin2 = ISO_8859_2, + ISO_8859_3, Latin3 = ISO_8859_3, + ISO_8859_4, Latin4 = ISO_8859_4, + ISO_8859_5, + ISO_8859_6, + ISO_8859_7, + ISO_8859_8, + ISO_8859_9, Latin5 = ISO_8859_9, + ISO_8859_10, Latin6 = ISO_8859_10, + ISO_8859_11, + ISO_8859_12, + ISO_8859_13, Latin7 = ISO_8859_13, + ISO_8859_14, Latin8 = ISO_8859_14, + ISO_8859_15, Latin9 = ISO_8859_15, + KOI8R, + Set_Ja, Set_1 = Set_Ja, + Set_Ko, + Set_Th_TH, + Set_Zh, + Set_Zh_TW, Set_N = Set_Zh_TW, + Unicode + }; +%End +%If (Qt_2_1_0 - Qt_2_2_0) + enum CharSet { + ISO_8859_1, Latin1 = ISO_8859_1, AnyCharSet, + ISO_8859_2, Latin2 = ISO_8859_2, + ISO_8859_3, Latin3 = ISO_8859_3, + ISO_8859_4, Latin4 = ISO_8859_4, + ISO_8859_5, + ISO_8859_6, + ISO_8859_7, + ISO_8859_8, + ISO_8859_9, Latin5 = ISO_8859_9, + ISO_8859_10, Latin6 = ISO_8859_10, + ISO_8859_11, + ISO_8859_12, + ISO_8859_13, Latin7 = ISO_8859_13, + ISO_8859_14, Latin8 = ISO_8859_14, + ISO_8859_15, Latin9 = ISO_8859_15, + KOI8R, + Set_Ja, Set_1 = Set_Ja, + Set_Ko, + Set_Th_TH, + Set_Zh, + Set_Zh_TW, Set_N = Set_Zh_TW, + Unicode, + Set_GBK, + Set_Big5 + }; +%End +%If (Qt_2_2_0 - Qt_3_0_0) + enum CharSet { + ISO_8859_1, Latin1 = ISO_8859_1, AnyCharSet, + ISO_8859_2, Latin2 = ISO_8859_2, + ISO_8859_3, Latin3 = ISO_8859_3, + ISO_8859_4, Latin4 = ISO_8859_4, + ISO_8859_5, + ISO_8859_6, + ISO_8859_7, + ISO_8859_8, + ISO_8859_9, Latin5 = ISO_8859_9, + ISO_8859_10, Latin6 = ISO_8859_10, + ISO_8859_11, + ISO_8859_12, + ISO_8859_13, Latin7 = ISO_8859_13, + ISO_8859_14, Latin8 = ISO_8859_14, + ISO_8859_15, Latin9 = ISO_8859_15, + KOI8R, + Set_Ja, Set_1 = Set_Ja, + Set_Ko, + Set_Th_TH, + Set_Zh, + Set_Zh_TW, Set_N = Set_Zh_TW, + Unicode, + Set_GBK, + Set_Big5, + JIS_X_0201 = 0xa0, + JIS_X_0208 = 0xc0, Enc16 = JIS_X_0208, + KSC_5601, + GB_2312, + Big5, + TSCII + }; +%End + + enum StyleHint { + Helvetica, + Times, + Courier, + OldEnglish, + System, + AnyStyle, + SansSerif, + Serif, + TypeWriter, + Decorative + }; + +%If (Qt_2_2_0 -) + enum StyleStrategy { + PreferDefault, + PreferBitmap, + PreferDevice, + PreferOutline, + ForceOutline, + PreferMatch, + PreferQuality, +%If (Qt_3_0_0 -) + PreferAntialias, + NoAntialias, +%End +%If (Qt_3_2_0 -) + OpenGLCompatible, +%End + }; +%End + + enum Weight { + Light, + Normal, + DemiBold, + Bold, + Black + }; + +%If (Qt_3_2_0 -) + enum Stretch { + UltraCondensed, + ExtraCondensed, + Condensed, + SemiCondensed, + Unstretched, + SemiExpanded, + Expanded, + ExtraExpanded, + UltraExpanded + }; +%End + + QFont(); +%If (- Qt_2_00) + QFont(const char *,int = 12,int = Normal,bool = 0); + QFont(const char *,int,int,bool,CharSet); +%End +%If (Qt_2_00 - Qt_3_2_0) + QFont(const QString &,int = 12,int = Normal,bool = 0); +%End +%If (Qt_3_2_0 -) + QFont(const QString &,int = 12,int = -1,bool = 0); +%End +%If (Qt_2_00 - Qt_3_0_0) + QFont(const QString &,int,int,bool,CharSet); +%End + QFont(const QFont &); + +%If (- Qt_2_00) + const char *family() const; + void setFamily(const char *); +%End +%If (Qt_2_00 -) + QString family() const; + void setFamily(const QString &); + + float pointSizeFloat() const; + void setPointSizeFloat(float); + + int pixelSize() const; + void setPixelSize(int); + void setPixelSizeFloat(float); +%End + int pointSize() const; + void setPointSize(int); + + int weight() const; + void setWeight(int); + + bool bold() const; + void setBold(bool); + + bool italic() const; + void setItalic(bool); + + bool underline() const; + void setUnderline(bool); + +%If (Qt_3_2_0 -) + bool overline() const; + void setOverline(bool); +%End + + bool strikeOut() const; + void setStrikeOut(bool); + + bool fixedPitch() const; + void setFixedPitch(bool); + + StyleHint styleHint() const; +%If (Qt_2_2_0 -) + StyleStrategy styleStrategy() const; +%End +%If (- Qt_3_0_0) + void setStyleHint(StyleHint); +%End +%If (Qt_2_2_0 - Qt_3_0_0) + void setStyleHint(StyleHint,StyleStrategy); +%End +%If (Qt_3_0_0 -) + void setStyleHint(StyleHint,StyleStrategy = PreferDefault); + void setStyleStrategy(StyleStrategy); +%End + +%If (- Qt_3_0_0) + CharSet charSet() const; + void setCharSet(CharSet); +%End + +%If (Qt_3_2_0 -) + int stretch() const; + void setStretch(int); +%End + + bool rawMode() const; + void setRawMode(bool); + + bool exactMatch() const; + + bool operator==(const QFont &) const; + bool operator!=(const QFont &) const; + + bool isCopyOf(const QFont &) const; + +%If (- Qt_2_00) + HANDLE handle(HANDLE = 0); + const char *rawName() const; + static const QFont &defaultFont(); + static const char *substitute(const char *); + static void insertSubstitution(const char *,const char *); + static void removeSubstitution(const char *); + static void listSubstitutions(QStrList *); +%End + +%If (Qt_2_00 - Qt_3_0_0) + static CharSet charSetForLocale(); +%End + +%If (Qt_2_00 -) +%If (- Qt_3_0_0) +%If (WS_X11) + HANDLE handle() const; +%End +%End +%If (Qt_3_0_0 -) +%If (WS_X11) + Qt::HANDLE handle() const; +%End +%End + void setRawName(const QString &); + QString rawName() const; +%End + QString key() const; +%If (Qt_3_0_0 -) + QString toString() const; + bool fromString(const QString &); +%End +%If (Qt_2_00 - Qt_3_0_0) + static QString encodingName(CharSet); +%End +%If (Qt_2_00 -) + static QString substitute(const QString &); +%If (Qt_3_0_0 -) + static QStringList substitutes(const QString &); +%End + static QStringList substitutions(); + static void insertSubstitution(const QString &,const QString &); +%If (Qt_3_0_0 -) + static void insertSubstitutions(const QString &,const QStringList &); +%End + static void removeSubstitution(const QString &); +%If (- Qt_3_0_0) + static void locale_init(); +%End +%End + + static void initialize(); + static void cleanup(); + static void cacheStatistics(); + +%If (Qt_3_0_0 -) + enum Script { + Latin, + Greek, + Cyrillic, + Armenian, + Georgian, + Runic, + Ogham, + SpacingModifiers, + CombiningMarks, + + Hebrew, + Arabic, + Syriac, + Thaana, + + Devanagari, + Bengali, + Gurmukhi, + Gujarati, + Oriya, + Tamil, + Telugu, + Kannada, + Malayalam, + Sinhala, + Thai, + Lao, + Tibetan, + Myanmar, + Khmer, + + Han, + Hiragana, + Katakana, + Hangul, + Bopomofo, + Yi, + + Ethiopic, + Cherokee, + CanadianAboriginal, + Mongolian, + + CurrencySymbols, + LetterlikeSymbols, + NumberForms, + MathematicalOperators, + TechnicalSymbols, + GeometricSymbols, + MiscellaneousSymbols, + EnclosedAndSquare, + Braille, + + Unicode, + +%If (Qt_3_2_0 -) + Tagalog, + Hanunoo, + Buhid, + Tagbanwa, + + KatakanaHalfWidth, +%End + +%If (Qt_3_3_0 -) + Limbu, + TaiLe, +%End + }; + + QString defaultFamily() const; + QString lastResortFamily() const; + QString lastResortFont() const; +%End + +%If (Qt_2_00 - Qt_3_0_0) + static QFont defaultFont(); +%End +%If (- Qt_3_0_0) + static void setDefaultFont(const QFont &); +%End + +%If (Qt_3_2_0 -) + QFont resolve(const QFont &) const; +%End + +protected: + bool dirty() const; +%If (- Qt_3_0_0) + QString defaultFamily() const; + QString lastResortFamily() const; + QString lastResortFont() const; +%End + int deciPointSize() const; +}; diff --git a/sip/qt/qfontdatabase.sip b/sip/qt/qfontdatabase.sip new file mode 100644 index 0000000..cacecea --- /dev/null +++ b/sip/qt/qfontdatabase.sip @@ -0,0 +1,121 @@ +// This is the SIP interface definition for QFontDatabase. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QFontDatabase (Qt v2.1+)</Title> +<Para> +<Literal>QFontDatabase</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_FONTDATABASE) +%If (Qt_2_1_0 -) + +class QFontDatabase +{ +%TypeHeaderCode +#include <qfontdatabase.h> +%End + +public: + QFontDatabase(); + + static QValueList<int> standardSizes(); + +%If (- Qt_3_0_0) + QStringList charSets(const QString &,bool = 1 ) const; + QStringList families(bool = 1) const; + QStringList styles(const QString &, + const QString & = QString::null) const; + QValueList<int> pointSizes(const QString &, + const QString & = QString::null, + const QString & = QString::null); + QValueList<int> smoothSizes(const QString &,const QString &, + const QString & = QString::null); +%End +%If (Qt_3_0_0 -) + QStringList families() const; +%If (Qt_3_2_0 -) + QStringList families(QFont::Script) const; +%End + QStringList styles(const QString &) const; + QValueList<int> pointSizes(const QString &, + const QString & = QString::null); + QValueList<int> smoothSizes(const QString &,const QString &); +%End + QString styleString(const QFont &); + +%If (- Qt_3_0_0) + QFont font(const QString,const QString &,int, + const QString = QString::null); + + bool isBitmapScalable(const QString &,const QString & = QString::null, + const QString & = QString::null) const; + bool isSmoothlyScalable(const QString &, + const QString & = QString::null, + const QString & = QString::null) const; + bool isScalable(const QString &,const QString & = QString::null, + const QString & = QString::null) const; +%End +%If (Qt_3_0_0 -) + QFont font(const QString,const QString &,int); + + bool isBitmapScalable(const QString &, + const QString & = QString::null) const; + bool isSmoothlyScalable(const QString &, + const QString & = QString::null) const; + bool isScalable(const QString &,const QString & = QString::null) const; +%End +%If (Qt_2_3_0 - Qt_3_0_0) + bool isFixedPitch(const QString &,const QString & = QString::null, + const QString & = QString::null) const; +%End +%If (Qt_3_0_0 -) + bool isFixedPitch(const QString &, + const QString & = QString::null) const; +%End + +%If (- Qt_3_0_0) + bool italic(const QString &,const QString &, + const QString & = QString::null) const; + bool bold(const QString &,const QString &, + const QString & = QString::null) const; + int weight(const QString &,const QString &, + const QString & = QString::null) const; + + static QString verboseCharSetName(const QString &); + static QString charSetSample(const QString &); +%End +%If (Qt_3_0_0 -) + bool italic(const QString &,const QString &) const; + bool bold(const QString &,const QString &) const; + int weight(const QString &,const QString &) const; + + static QString scriptName(QFont::Script); + static QString scriptSample(QFont::Script); +%End +}; + +%End +%End diff --git a/sip/qt/qfontdialog.sip b/sip/qt/qfontdialog.sip new file mode 100644 index 0000000..9196000 --- /dev/null +++ b/sip/qt/qfontdialog.sip @@ -0,0 +1,105 @@ +// This is the SIP interface definition for QFontDialog. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QFontDialog (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>static QFont <Function>getFont</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter></ParamDef> + <ParamDef>const QFont &<Parameter>def</Parameter></ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>def</Literal>, <Literal>parent</Literal> and +<Literal>name</Literal> parameters and returns a tuple containing the +<Literal>QFont</Literal> result and the <Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>static QFont <Function>getFont</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter></ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>parent</Literal> and <Literal>name</Literal> parameters +and returns a tuple containing the <Literal>QFont</Literal> result and the +<Literal>ok</Literal> value. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) +%If (Qt_FONTDIALOG) + +class QFontDialog : QDialog +{ +%TypeHeaderCode +#include <qfontdialog.h> +%End + +public: + static QFont getFont(bool *,const QFont &,QWidget * = 0, + const char * = 0); + static QFont getFont(bool *,QWidget * = 0,const char * = 0); + +signals: +%If (- Qt_3_2_0) + void fontSelected(const QFont &); + void fontHighlighted(const QFont &); +%End + +protected: +%If (- Qt_3_2_0) + bool eventFilter(QObject *,QEvent *); + + QListBox *familyListBox() const; + virtual void updateFamilies(); + + QListBox *styleListBox() const; + virtual void updateStyles(); + + QListBox *sizeListBox() const; + virtual void updateSizes(); + + QComboBox *scriptCombo() const; + virtual void updateScripts(); +%End + +protected slots: +%If (- Qt_3_2_0) + void sizeChanged(const QString &); +%End + +private: + QFontDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0, + WFlags = 0); +%If (Qt_2_1_0 -) + QFontDialog(const QFontDialog &); +%End + ~QFontDialog(); +}; + +%End +%End diff --git a/sip/qt/qfontinfo.sip b/sip/qt/qfontinfo.sip new file mode 100644 index 0000000..d58eab0 --- /dev/null +++ b/sip/qt/qfontinfo.sip @@ -0,0 +1,70 @@ +// This is the SIP interface definition for QFontInfo. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QFontInfo</Title> +<Para> +<Literal>QFontInfo</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QFontInfo +{ +%TypeHeaderCode +#include <qfontinfo.h> +%End + +public: + QFontInfo(const QFont &); +%If (Qt_3_2_0 -) + QFontInfo(const QFont &,QFont::Script); +%End + QFontInfo(const QFontInfo &); + +%If (- Qt_2_00) + const char *family() const; +%End +%If (Qt_2_00 -) + QString family() const; +%End +%If (Qt_3_0_0 -) + int pixelSize() const; +%End + int pointSize() const; + bool italic() const; + int weight() const; + bool bold() const; + bool underline() const; +%If (Qt_3_2_0 -) + bool overline() const; +%End + bool strikeOut() const; + bool fixedPitch() const; + QFont::StyleHint styleHint() const; +%If (- Qt_3_0_0) + QFont::CharSet charSet() const; +%End + bool rawMode() const; + bool exactMatch() const; +}; diff --git a/sip/qt/qfontmetrics.sip b/sip/qt/qfontmetrics.sip new file mode 100644 index 0000000..e5059fb --- /dev/null +++ b/sip/qt/qfontmetrics.sip @@ -0,0 +1,220 @@ +// This is the SIP interface definition for QFontMetrics. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qframe.sip b/sip/qt/qframe.sip new file mode 100644 index 0000000..9e2a4e2 --- /dev/null +++ b/sip/qt/qframe.sip @@ -0,0 +1,180 @@ +// This is the SIP interface definition for QFrame. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QFrame</Title> +<Para> +<Literal>QFrame</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QFrame : QWidget +{ +%TypeHeaderCode +#include <qframe.h> +%End + +public: +%If (- Qt_3_0_0) + QFrame(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0, + bool = 1); +%End +%If (Qt_3_0_0 -) + QFrame(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); +%End + + int frameStyle() const; +%If (- Qt_2_00) + void setFrameStyle(int); +%End +%If (Qt_2_00 -) + virtual void setFrameStyle(int); +%End + + int frameWidth() const; + QRect contentsRect() const; + +%If (- Qt_2_00) + bool lineShapesOk() const; +%End + + QSize sizeHint() const; +%If (Qt_2_00 - Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + +%If (- Qt_2_00) + enum { + NoFrame, + Box, + Panel, + WinPanel, + HLine, + VLine, + MShape, + Plain, + Raised, + Sunken, + MShadow + }; +%End +%If (Qt_2_00 -) + enum Shape { + NoFrame, + Box, + Panel, + WinPanel, + HLine, + VLine, + StyledPanel, + PopupPanel, +%If (Qt_3_0_0 -) + MenuBarPanel, + ToolBarPanel, +%End +%If (Qt_3_0_1 -) + LineEditPanel, + TabWidgetPanel, +%End +%If (Qt_3_1_0 -) + GroupBoxPanel, +%End + MShape + }; +%End + +%If (Qt_2_00 -) + enum Shadow { + Plain, + Raised, + Sunken, + MShadow + }; +%End + +%If (- Qt_2_00) + int frameShape() const; +%End +%If (Qt_2_00 -) + Shape frameShape() const; + void setFrameShape(Shape); +%End +%If (- Qt_2_00) + int frameShadow() const; +%End +%If (Qt_2_00 -) + Shadow frameShadow() const; + void setFrameShadow(Shadow); +%End + + int lineWidth() const; +%If (- Qt_2_00) + void setLineWidth(int); +%End +%If (Qt_2_00 -) + virtual void setLineWidth(int); +%End + + int margin() const; +%If (- Qt_2_00) + void setMargin(int); +%End +%If (Qt_2_00 -) + virtual void setMargin(int); +%End + + int midLineWidth() const; +%If (- Qt_2_00) + void setMidLineWidth(int); +%End +%If (Qt_2_00 -) + virtual void setMidLineWidth(int); +%End + + QRect frameRect() const; +%If (Qt_2_00 -) + virtual void setFrameRect(const QRect &); +%End + +protected: +%If (- Qt_2_00) + void setFrameRect(const QRect &); +%End + void paintEvent(QPaintEvent *); + void resizeEvent(QResizeEvent *); + virtual void drawFrame(QPainter *); + virtual void drawContents(QPainter *); + virtual void frameChanged(); +%If (Qt_2_00 - Qt_3_0_0) + void updateMask(); + virtual void drawFrameMask(QPainter *); + virtual void drawContentsMask(QPainter *); +%End +%If (Qt_3_1_0 -) + void styleChange(QStyle &); +%End + +private: + QFrame(const QFrame &); +}; diff --git a/sip/qt/qglobal.sip b/sip/qt/qglobal.sip new file mode 100644 index 0000000..e2fb63a --- /dev/null +++ b/sip/qt/qglobal.sip @@ -0,0 +1,74 @@ +// This is the SIP interface definition for some Qt globals. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ModuleHeaderCode +#include <qglobal.h> +%End + + +const int QT_VERSION; +const char *QT_VERSION_STR; + +typedef unsigned char uchar; +typedef unsigned short ushort; +typedef unsigned uint; +typedef unsigned long ulong; +typedef char * pchar; +typedef uchar * puchar; +typedef const char * pcchar; + +typedef char Q_INT8; +typedef unsigned char Q_UINT8; +typedef short Q_INT16; +typedef unsigned short Q_UINT16; +typedef int Q_INT32; +typedef unsigned Q_UINT32; + +%If (Qt_Q_LONG_IS_long) +typedef long Q_LONG; +typedef unsigned long Q_ULONG; +%End +%If (!Qt_Q_LONG_IS_long) +typedef long long Q_LONG; +typedef unsigned long long Q_ULONG; +%End + +const char *qVersion(); + +%If (Qt_3_0_0 -) +%End + +%If (Qt_3_1_0 -) +const char *qInstallPath(); +const char *qInstallPathDocs(); +const char *qInstallPathHeaders(); +const char *qInstallPathLibs(); +const char *qInstallPathBins(); +const char *qInstallPathPlugins(); +const char *qInstallPathData(); +%End +%If (Qt_3_2_0 -) +const char *qInstallPathTranslations(); +%If (!WS_WIN) +const char *qInstallPathSysconf(); +%End +%End diff --git a/sip/qt/qgmanager.sip b/sip/qt/qgmanager.sip new file mode 100644 index 0000000..5a194b8 --- /dev/null +++ b/sip/qt/qgmanager.sip @@ -0,0 +1,88 @@ +// This is the SIP interface definition for QGManager. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QGManager (Qt v1.x)</Title> +<Para> +<Literal>QGManager</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QChain (Qt v1.x)</Title> +<Para> +<Literal>QChain</Literal> is implemented as an opaque class. +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +class QChain; + + +class QGManager : QObject +{ +%TypeHeaderCode +#include <qgmanager.h> +%End + +public: + QGManager(QWidget *,const char * = 0); + + enum Direction { + LeftToRight, + RightToLeft, + Down, + Up + }; + + enum { + unlimited = QCOORD_MAX + }; + + void setBorder(int); + QChain *newSerChain(Direction); + QChain *newParChain(Direction); + bool add(QChain *,QChain *,int = 0); + bool addWidget(QChain *,QWidget *,int = 0); + bool addSpacing(QChain *,int,int = 0,int = unlimited); + bool addBranch(QChain *,QChain *,int,int); + void setStretch(QChain *,int); + bool activate(); + void freeze(int = 0,int = 0); + void unFreeze(); + QChain *xChain(); + QChain *yChain(); + void setMenuBar(QWidget *); + QWidget *mainWidget(); + void remove(QWidget *); + void setName(QChain *,const char *); + +protected: + bool eventFilter(QObject *,QEvent *); + +private: + QGManager(const QGManager &); +}; + +%End diff --git a/sip/qt/qgrid.sip b/sip/qt/qgrid.sip new file mode 100644 index 0000000..f26acb3 --- /dev/null +++ b/sip/qt/qgrid.sip @@ -0,0 +1,72 @@ +// This is the SIP interface definition for QGrid. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QGrid (Qt v2+)</Title> +<Para> +<Literal>QGrid</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QGrid : QFrame +{ +%TypeHeaderCode +#include <qgrid.h> +%End + +public: +%If (- Qt_3_0_0) + enum Direction { + Horizontal, + Vertical + }; +%End + + QGrid(int,QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); +%If (- Qt_3_0_0) + QGrid(int,Direction,QWidget * /TransferThis/ = 0,const char * = 0, + WFlags = 0); +%End +%If (Qt_3_0_0 -) + QGrid(int,Orientation,QWidget * /TransferThis/ = 0,const char * = 0, + WFlags = 0); +%End + + void setSpacing(int); +%If (Qt_2_1_0 -) + QSize sizeHint() const; +%End + +protected: + void frameChanged(); + +private: +%If (Qt_2_1_0 -) + QGrid(const QGrid &); +%End +}; + +%End diff --git a/sip/qt/qgridview.sip b/sip/qt/qgridview.sip new file mode 100644 index 0000000..d1ca16b --- /dev/null +++ b/sip/qt/qgridview.sip @@ -0,0 +1,76 @@ +// This is the SIP interface definition for QGridView. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QGridView (Qt v3+)</Title> +<Para> +<Literal>QGridView</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QGridView : QScrollView +{ +%TypeHeaderCode +#include <qgridview.h> +%End + +public: + QGridView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + + int numRows() const; + virtual void setNumRows(int); + int numCols() const; + virtual void setNumCols(int); + + int cellWidth() const; + virtual void setCellWidth(int); + int cellHeight() const; + virtual void setCellHeight(int); + + QRect cellRect() const; + QRect cellGeometry(int,int); + QSize gridSize() const; + + int rowAt(int) const; + int columnAt(int) const; + + void repaintCell(int,int,bool = 1); + void updateCell(int,int); + void ensureCellVisible(int,int); + +protected: + virtual void paintCell(QPainter *,int,int) = 0; + virtual void paintEmptyArea(QPainter *,int,int,int,int); + + void drawContents(QPainter *,int,int,int,int); + + virtual void dimensionChange(int,int); + +private: + QGridView(const QGridView &); +}; + +%End diff --git a/sip/qt/qgroupbox.sip b/sip/qt/qgroupbox.sip new file mode 100644 index 0000000..c420082 --- /dev/null +++ b/sip/qt/qgroupbox.sip @@ -0,0 +1,135 @@ +// This is the SIP interface definition for QGroupBox. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QGroupBox</Title> +<Para> +<Literal>QGroupBox</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QGroupBox : QFrame +{ +%TypeHeaderCode +#include <qgroupbox.h> +%End + +public: + QGroupBox(QWidget * /TransferThis/ = 0,const char * = 0); +%If (- Qt_2_00) + QGroupBox(const char *,QWidget * /TransferThis/ = 0,const char * = 0); +%End +%If (Qt_2_00 -) + QGroupBox(const QString &,QWidget * /TransferThis/ = 0, + const char * = 0); + QGroupBox(int,Orientation,QWidget * /TransferThis/ = 0, + const char * = 0); + QGroupBox(int,Orientation,const QString &,QWidget * /TransferThis/ = 0, + const char * = 0); +%End + +%If (Qt_2_00 -) + virtual void setColumnLayout(int,Orientation); +%End + +%If (- Qt_2_00) + const char *title() const; + void setTitle(const char *); +%End +%If (Qt_2_00 -) + QString title() const; + virtual void setTitle(const QString &); +%End + + int alignment() const; +%If (- Qt_2_00) + void setAlignment(int); +%End +%If (Qt_2_00 -) + virtual void setAlignment(int); +%End + +%If (Qt_2_1_0 -) + int columns() const; + void setColumns(int); + + Orientation orientation() const; + void setOrientation(Orientation); +%End + +%If (Qt_3_0_0 -) + int insideMargin() const; + int insideSpacing() const; + void setInsideMargin(int); + void setInsideSpacing(int); +%End + +%If (Qt_2_1_0 -) + void addSpace(int); +%End +%If (Qt_2_2_0 -) + QSize sizeHint() const; +%End + +%If (Qt_3_1_0 -) + bool isFlat() const; + void setFlat(bool); +%End +%If (Qt_3_2_0 -) + bool isCheckable() const; + void setCheckable(bool); + bool isChecked() const; + void setEnabled(bool); +%End + +public slots: +%If (Qt_3_2_0 -) + void setChecked(bool); +%End + +signals: +%If (Qt_3_2_0 -) + void toggled(bool); +%End + +protected: +%If (Qt_2_2_0 -) + bool event(QEvent *); +%End +%If (Qt_2_00 -) + void childEvent(QChildEvent *); + void resizeEvent(QResizeEvent *); +%End + void paintEvent(QPaintEvent *); +%If (Qt_2_00 - Qt_3_0_0) + void updateMask(); +%End +%If (Qt_2_1_0 -) + void focusInEvent(QFocusEvent *); + void fontChange(const QFont &); +%End + +private: + QGroupBox(const QGroupBox &); +}; diff --git a/sip/qt/qhbox.sip b/sip/qt/qhbox.sip new file mode 100644 index 0000000..7e5b2ee --- /dev/null +++ b/sip/qt/qhbox.sip @@ -0,0 +1,75 @@ +// This is the SIP interface definition for QHBox. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QHBox (Qt v2+)</Title> +<Para> +<Literal>QHBox</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QHBox : QFrame +{ +%TypeHeaderCode +#include <qhbox.h> +%End + +public: +%If (- Qt_3_0_0) + QHBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0, + bool = 1); +%End +%If (Qt_3_0_0 -) + QHBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); +%End + + void setSpacing(int); +%If (Qt_2_1_0 -) + bool setStretchFactor(QWidget *,int); + QSize sizeHint() const; +%End + +protected: +%If (- Qt_3_0_0) + QHBox(bool,QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0, + bool = 1); +%End +%If (Qt_3_0_0 - Qt_3_2_0) + QHBox(bool,QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); +%End +%If (Qt_3_2_0 -) + QHBox(bool,QWidget * /TransferThis/,const char *,WFlags = 0); +%End + + void frameChanged(); + +private: +%If (Qt_3_1_0 -) + QHBox(const QHBox &); +%End +}; + +%End diff --git a/sip/qt/qhbuttongroup.sip b/sip/qt/qhbuttongroup.sip new file mode 100644 index 0000000..60cad68 --- /dev/null +++ b/sip/qt/qhbuttongroup.sip @@ -0,0 +1,48 @@ +// This is the SIP interface definition for QHButtonGroup. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QHButtonGroup (Qt v2+)</Title> +<Para> +<Literal>QHButtonGroup</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QHButtonGroup : QButtonGroup +{ +%TypeHeaderCode +#include <qhbuttongroup.h> +%End + +public: + QHButtonGroup(QWidget * /TransferThis/ = 0,const char * = 0); + QHButtonGroup(const QString &,QWidget * /TransferThis/ = 0,const char * = 0); + +private: + QHButtonGroup(const QHButtonGroup &); +}; + +%End diff --git a/sip/qt/qheader.sip b/sip/qt/qheader.sip new file mode 100644 index 0000000..3030208 --- /dev/null +++ b/sip/qt/qheader.sip @@ -0,0 +1,268 @@ +// This is the SIP interface definition for QHeader. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QHeader</Title> +<Para> +<Literal>QHeader</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +class QHeader : QTableView +{ +%TypeHeaderCode +#include <qheader.h> +%End + +public: + QHeader(QWidget * /TransferThis/ = 0,const char * = 0); + QHeader(int,QWidget * /TransferThis/ = 0,const char * = 0); + + enum Orientation { + Horizontal, + Vertical + }; + + int addLabel(const char *,int = -1); + void setLabel(int,const char *,int = -1); + const char *label(int); + void setOrientation(Orientation); + Orientation orientation() const; + void setTracking(bool); + bool tracking() const; + void setClickEnabled(bool,int = -1); + void setResizeEnabled(bool,int = -1); + void setMovingEnabled(bool); + void setCellSize(int,int); + int cellSize(int) const; + int cellPos(int) const; + int cellAt(int) const; + int count() const; + int offset() const; + QSize sizeHint() const; + int mapToLogical(int) const; + int mapToActual(int) const; + +public slots: + void setOffset(int); + +signals: + void sectionClicked(int); + void sizeChange(int,int,int); + void moved(int,int); + +protected: + void resizeEvent(QResizeEvent *); + QRect sRect(int); + void paintCell(QPainter *,int,int); + void setupPainter(QPainter *); + int cellHeight(int); + int cellWidth(int); + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + +private: + QHeader(const QHeader &); +}; + +%End + + +%If (Qt_2_00 -) + +class QHeader : QWidget +{ +%TypeHeaderCode +#include <qheader.h> +%End + +public: + QHeader(QWidget * /TransferThis/ = 0,const char * = 0); + QHeader(int,QWidget * /TransferThis/ = 0,const char * = 0); + + int addLabel(const QString &,int = -1); + int addLabel(const QIconSet &,const QString &,int = -1); +%If (Qt_2_1_0 -) + void removeLabel(int); +%End + virtual void setLabel(int,const QString &,int = -1); + virtual void setLabel(int,const QIconSet &,const QString &,int = -1); + + QString label(int) const; + QIconSet *iconSet(int) const; + + virtual void setOrientation(Orientation); + Orientation orientation() const; + virtual void setTracking(bool); + bool tracking() const; + + virtual void setClickEnabled(bool,int = -1); + virtual void setResizeEnabled(bool,int = -1); + virtual void setMovingEnabled(bool); +%If (Qt_3_0_0 -) + virtual void setStretchEnabled(bool,int); +%End +%If (Qt_2_1_0 -) + bool isClickEnabled(int = -1) const; + bool isResizeEnabled(int = -1) const; + bool isMovingEnabled() const; +%End +%If (Qt_3_0_0 -) + bool isStretchEnabled() const; + bool isStretchEnabled(int) const; +%End + +%If (Qt_2_1_0 -) + void resizeSection(int,int); + int sectionSize(int) const; + int sectionPos(int) const; + int sectionAt(int) const; +%End + int count() const; +%If (Qt_3_0_0 -) + int headerWidth() const; + QRect sectionRect(int) const; +%End + +%If (- Qt_3_0_0) + virtual void setCellSize(int,int); + int cellSize(int) const; + int cellPos(int) const; + int cellAt(int) const; +%End + + int offset() const; + + QSize sizeHint() const; +%If (- Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + +%If (Qt_2_1_0 -) + int mapToSection(int) const; + int mapToIndex(int) const; +%End +%If (- Qt_3_0_0) + int mapToLogical(int) const; + int mapToActual(int) const; +%End + +%If (Qt_2_1_0 -) + void moveSection(int,int); +%End +%If (- Qt_3_0_0) + virtual void moveCell(int,int); +%End + +%If (Qt_3_2_0 -) + // This is placed before the obsolete version below so that it has + // precedence. It may still cause problems with old code until SIP + // distinguishes between bools and enums. + void setSortIndicator(int,SortOrder); + int sortIndicatorSection() const; + SortOrder sortIndicatorOrder() const; +%End +%If (Qt_2_1_0 -) + // Obsolete. + void setSortIndicator(int,bool = 1); +%End + +%If (Qt_3_0_0 -) + void adjustHeaderSize(); +%End + +public slots: +%If (Qt_2_2_0 -) + void setUpdatesEnabled(bool); +%End + virtual void setOffset(int); + +signals: +%If (Qt_2_1_0 -) + void clicked(int); + void pressed(int); + void released(int); +%End + void sizeChange(int,int,int); +%If (Qt_2_1_0 -) + void indexChange(int,int,int); +%End +%If (- Qt_3_0_0) + void sectionClicked(int); + void moved(int,int); +%End +%If (Qt_3_2_0 -) + void sectionHandleDoubleClicked(int); +%End + +protected: +%If (Qt_2_1_0 -) + void paintEvent(QPaintEvent *); +%End +%If (Qt_2_2_0 -) + void showEvent(QShowEvent *); +%End +%If (- Qt_2_1_0) + void resizeEvent(QResizeEvent *); +%End +%If (Qt_3_0_0 -) + void resizeEvent(QResizeEvent *); +%End + QRect sRect(int); + +%If (- Qt_3_0_0) + void paintSection(QPainter *,int,QRect); +%End +%If (Qt_2_1_0 - Qt_3_0_0) + void paintSectionLabel(QPainter *,int,const QRect &); +%End +%If (Qt_3_0_0 -) + virtual void paintSection(QPainter *,int,const QRect &); + virtual void paintSectionLabel(QPainter *,int,const QRect &); +%End + +%If (Qt_3_1_0 -) + void fontChange(const QFont &); +%End + + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); +%If (Qt_3_2_0 -) + void mouseDoubleClickEvent(QMouseEvent *); +%End + +%If (Qt_3_1_0 -) + void keyPressEvent(QKeyEvent *); + void keyReleaseEvent(QKeyEvent *); +%End + +private: + QHeader(const QHeader &); +}; + +%End diff --git a/sip/qt/qhgroupbox.sip b/sip/qt/qhgroupbox.sip new file mode 100644 index 0000000..c12059a --- /dev/null +++ b/sip/qt/qhgroupbox.sip @@ -0,0 +1,48 @@ +// This is the SIP interface definition for QHGroupBox. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QHGroupBox (Qt v2+)</Title> +<Para> +<Literal>QHGroupBox</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QHGroupBox : QGroupBox +{ +%TypeHeaderCode +#include <qhgroupbox.h> +%End + +public: + QHGroupBox(QWidget * /TransferThis/ = 0,const char * = 0); + QHGroupBox(const QString &,QWidget * /TransferThis/ = 0,const char * = 0); + +private: + QHGroupBox(const QHGroupBox &); +}; + +%End diff --git a/sip/qt/qiconset.sip b/sip/qt/qiconset.sip new file mode 100644 index 0000000..4a55058 --- /dev/null +++ b/sip/qt/qiconset.sip @@ -0,0 +1,146 @@ +// This is the SIP interface definition for QIconSet and QIconFactory. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QIconSet</Title> +<Para> +<Literal>QIconSet</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QIconFactory (Qt v3.1+)</Title> +<Para> +<Literal>QIconFactory</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QIconSet +{ +%TypeHeaderCode +#include <qiconset.h> +%End + +public: + enum Size { + Automatic, + Small, + Large + }; + + enum Mode { + Normal, + Disabled, + Active + }; + +%If (Qt_3_0_0 -) + enum State { + On, + Off + }; +%End + +%If (Qt_2_1_0 -) + QIconSet(); +%End + QIconSet(const QPixmap &,Size = Automatic); +%If (Qt_2_2_0 -) + QIconSet(const QPixmap &,const QPixmap &); +%End + QIconSet(const QIconSet &); + + void reset(const QPixmap &,Size); + +%If (- Qt_2_00) + void setPixmap(const QPixmap &,Size,Mode = Normal); + void setPixmap(const char *,Size,Mode = Normal); +%End +%If (Qt_2_00 - Qt_3_0_0) + virtual void setPixmap(const QPixmap &,Size,Mode = Normal); + virtual void setPixmap(const QString &,Size,Mode = Normal); +%End +%If (Qt_3_0_0 -) + virtual void setPixmap(const QPixmap &,Size,Mode = Normal,State = Off); + virtual void setPixmap(const QString &,Size,Mode = Normal,State = Off); +%End +%If (- Qt_3_0_0) + QPixmap pixmap(Size,Mode) const; +%If (Qt_2_1_0 -) +// QPixmap pixmap(Size,bool) const; +%End +%End +%If (Qt_3_0_0 -) + QPixmap pixmap(Size,Mode,State = Off) const; +// QPixmap pixmap(Size,bool,State = Off) const; +%End + QPixmap pixmap() const; +%If (- Qt_3_0_0) + bool isGenerated(Size,Mode) const; +%End +%If (Qt_3_0_0 -) + bool isGenerated(Size,Mode,State = Off) const; + void clearGenerated(); +%End +%If (Qt_3_1_0 -) + void installIconFactory(QIconFactory *); +%End + +%If (Qt_2_1_0 -) + bool isNull() const; +%End + + void detach(); + +%If (Qt_3_0_0 -) + static void setIconSize(Size,const QSize &); + static const QSize &iconSize(Size); +%End +}; + + +%If (Qt_3_1_0 -) + +class QIconFactory +{ +%TypeHeaderCode +#include <qiconset.h> +%End + +public: + QIconFactory(); + + virtual QPixmap *createPixmap(const QIconSet &,QIconSet::Size, + QIconSet::Mode, + QIconSet::State) /Factory/; + void setAutoDelete(bool); + bool autoDelete() const; + + static QIconFactory *defaultFactory(); + static void installDefaultFactory(QIconFactory * /Transfer/); + +private: + QIconFactory(const QIconFactory &); +}; + +%End diff --git a/sip/qt/qiconview.sip b/sip/qt/qiconview.sip new file mode 100644 index 0000000..122d2ec --- /dev/null +++ b/sip/qt/qiconview.sip @@ -0,0 +1,457 @@ +// This is the SIP interface definition for QIconView, QIconViewItem, QIconDrag +// and QIconDragItem. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QIconView (Qt v2.1+)</Title> +<FuncSynopsis> + <FuncDef>QIconViewItem *<Function>makeRowLayout</Function></FuncDef> + <ParamDef>QIconViewItem *<Parameter>begin</Parameter></ParamDef> + <ParamDef>int &<Parameter>y</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> +</Sect2> + +<Sect2><Title>QIconViewItem (Qt v2.1+)</Title> +<Para> +<Literal>QIconViewItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QIconDrag (Qt v2.1+)</Title> +<Para> +<Literal>QIconDrag</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QIconDragItem (Qt v2.1+)</Title> +<Para> +<Literal>QIconDragItem</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_ICONVIEW) +%If (Qt_2_1_0 -) + +%If (Qt_DRAGANDDROP) + +class QIconDragItem +{ +%TypeHeaderCode +#include <qiconview.h> +%End + +public: + QIconDragItem(); + + virtual QByteArray data() const; + virtual void setData(const QByteArray &); +}; + + +class QIconDrag : QDragObject +{ +%TypeHeaderCode +#include <qiconview.h> +%End + +public: + QIconDrag(QWidget * /TransferThis/,const char * = 0); + + void append(const QIconDragItem &,const QRect &,const QRect &); + + virtual const char* format(int) const; + static bool canDecode(QMimeSource *); + virtual QByteArray encodedData(const char *) const; + +private: +%If (Qt_3_1_0 -) + QIconDrag(const QIconDrag &); +%End +}; + +%End + + +class QIconViewItem : Qt +{ +%TypeHeaderCode +#include <qiconview.h> +%End + +public: + QIconViewItem(QIconView * /TransferThis/); + QIconViewItem(QIconView * /TransferThis/,QIconViewItem *); + QIconViewItem(QIconView * /TransferThis/,const QString &); + QIconViewItem(QIconView * /TransferThis/,QIconViewItem *, + const QString &); + QIconViewItem(QIconView * /TransferThis/,const QString &, + const QPixmap &); + QIconViewItem(QIconView * /TransferThis/,QIconViewItem *, + const QString &,const QPixmap &); +%If (Qt_3_0_0 -) + QIconViewItem(QIconView * /TransferThis/,const QString &, + const QPicture &); + QIconViewItem(QIconView * /TransferThis/,QIconViewItem *, + const QString &,const QPicture &); +%End + + virtual void setRenameEnabled(bool); + virtual void setDragEnabled(bool); + virtual void setDropEnabled(bool); + + virtual QString text() const; + virtual QPixmap *pixmap() const; +%If (Qt_3_0_0 -) + virtual QPicture *picture() const; +%End + virtual QString key() const; + + bool renameEnabled() const; + bool dragEnabled() const; + bool dropEnabled() const; + + QIconView *iconView() const; + QIconViewItem *prevItem() const; + QIconViewItem *nextItem() const; + + int index() const; + + virtual void setSelected(bool,bool); + virtual void setSelected(bool); + virtual void setSelectable(bool); + + bool isSelected() const; + bool isSelectable() const; + + virtual void repaint(); + +%If (- Qt_3_0_0) + virtual void move(int,int); +%End +%If (Qt_3_0_0 -) + virtual bool move(int,int); +%End + virtual void moveBy(int,int); +%If (- Qt_3_0_0) + virtual void move(const QPoint &); +%End +%If (Qt_3_0_0 -) + virtual bool move(const QPoint &); +%End + virtual void moveBy(const QPoint &); + + QRect rect() const; + int x() const; + int y() const; + int width() const; + int height() const; + QSize size() const; + QPoint pos() const; + QRect textRect(bool = 1) const; + QRect pixmapRect(bool = 1) const; +%If (- Qt_3_0_0) + bool contains(QPoint) const; + bool intersects(QRect) const; +%End +%If (Qt_3_0_0 -) + bool contains(const QPoint &) const; + bool intersects(const QRect &) const; +%End + + virtual bool acceptDrop(const QMimeSource *) const; + + void rename(); + + virtual int compare(QIconViewItem *) const; + + virtual void setText(const QString &); + virtual void setPixmap(const QPixmap &); +%If (Qt_3_0_0 -) + virtual void setPicture(const QPicture &); +%End + virtual void setText(const QString &,bool,bool = 1); + virtual void setPixmap(const QPixmap &,bool,bool = 1); + virtual void setKey(const QString &); + +%If (Qt_3_0_0 -) + virtual int rtti() const; +%End + +protected: + virtual void removeRenameBox(); + virtual void calcRect(const QString & = QString::null); + virtual void paintItem(QPainter *,const QColorGroup &); + virtual void paintFocus(QPainter *,const QColorGroup &); +%If (Qt_DRAGANDDROP) + virtual void dropped(QDropEvent *,const QValueList<QIconDragItem> &); +%End + virtual void dragEntered(); + virtual void dragLeft(); + void setItemRect(const QRect &); + void setTextRect(const QRect &); + void setPixmapRect(const QRect &); + void calcTmpText(); +%If (Qt_3_1_0 -) + QString tempText() const; +%End +}; + + +class QIconView : QScrollView +{ +%TypeHeaderCode +#include <qiconview.h> +%End + +public: + enum SelectionMode { + Single, + Multi, + Extended, + NoSelection + }; + + enum Arrangement { + LeftToRight, + TopToBottom + }; + + enum ResizeMode { + Fixed, + Adjust + }; + + enum ItemTextPos { + Bottom, + Right + }; + + QIconView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + + virtual void insertItem(QIconViewItem *,QIconViewItem * = 0); + virtual void takeItem(QIconViewItem *); + + int index(const QIconViewItem *) const; + + QIconViewItem *firstItem() const; + QIconViewItem *lastItem() const; + QIconViewItem *currentItem() const; + virtual void setCurrentItem(QIconViewItem *); + virtual void setSelected(QIconViewItem *,bool,bool = 0); + + uint count() const; + + virtual void showEvent(QShowEvent *); + + virtual void setSelectionMode(SelectionMode); + SelectionMode selectionMode() const; + + QIconViewItem *findItem(const QPoint &) const; +%If (- Qt_3_0_0) + QIconViewItem *findItem(const QString &) const; +%End +%If (Qt_3_0_0 -) + QIconViewItem *findItem(const QString &, + ComparisonFlags = BeginsWith) const; +%End + virtual void selectAll(bool); + virtual void clearSelection(); + virtual void invertSelection(); + + virtual void repaintItem(QIconViewItem *); +%If (Qt_3_1_0 -) + void repaintSelectedItems(); +%End + + void ensureItemVisible(QIconViewItem *); + QIconViewItem* findFirstVisibleItem(const QRect &) const; + QIconViewItem* findLastVisibleItem(const QRect &) const; + + virtual void clear(); + + virtual void setGridX(int); + virtual void setGridY(int); + int gridX() const; + int gridY() const; + virtual void setSpacing(int); + int spacing() const; + virtual void setItemTextPos(ItemTextPos); + ItemTextPos itemTextPos() const; + virtual void setItemTextBackground(const QBrush &); + QBrush itemTextBackground() const; + virtual void setArrangement(Arrangement); + Arrangement arrangement() const; + virtual void setResizeMode(ResizeMode); + ResizeMode resizeMode() const; + virtual void setMaxItemWidth(int); + int maxItemWidth() const; + virtual void setMaxItemTextLength(int); + int maxItemTextLength() const; + virtual void setAutoArrange(bool); + bool autoArrange() const; + virtual void setShowToolTips(bool); + bool showToolTips() const; + + void setSorting(bool,bool = 1); + bool sorting() const; + bool sortDirection() const; + + virtual void setItemsMovable(bool); + bool itemsMovable() const; + virtual void setWordWrapIconText(bool); + bool wordWrapIconText() const; + + bool eventFilter(QObject *,QEvent *); + + QSize minimumSizeHint() const; +%If (- Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + QSize sizeHint() const; + + virtual void sort(bool = 1); + + virtual void setFont(const QFont &); + virtual void setPalette(const QPalette &); + +%If (Qt_3_0_0 -) + bool isRenaming() const; +%End + +public slots: + virtual void arrangeItemsInGrid(const QSize &,bool = 1); + virtual void arrangeItemsInGrid(bool = 1); + virtual void setContentsPos(int,int); + virtual void updateContents(); + +signals: + void selectionChanged(); + void selectionChanged(QIconViewItem *); + void currentChanged(QIconViewItem *); + void clicked(QIconViewItem *); + void clicked(QIconViewItem *,const QPoint &); + void pressed(QIconViewItem *); + void pressed(QIconViewItem *,const QPoint &); + + void doubleClicked(QIconViewItem *); + void returnPressed(QIconViewItem *); + void rightButtonClicked(QIconViewItem *,const QPoint &); + void rightButtonPressed(QIconViewItem *,const QPoint &); + void mouseButtonPressed(int,QIconViewItem *,const QPoint &); + void mouseButtonClicked(int,QIconViewItem *,const QPoint &); +%If (Qt_3_0_0 -) + void contextMenuRequested(QIconViewItem *,const QPoint &); +%End +%If (Qt_DRAGANDDROP) + void dropped(QDropEvent *,const QValueList<QIconDragItem> &); +%End + void moved(); + void onItem(QIconViewItem *); + void onViewport(); + void itemRenamed(QIconViewItem *,const QString &); + void itemRenamed(QIconViewItem *); + +protected slots: + virtual void doAutoScroll(); + virtual void adjustItems(); + virtual void slotUpdate(); + +protected: +%If (- Qt_3_0_0) + virtual void drawContents(QPainter *,int,int,int,int); + virtual void contentsMousePressEvent(QMouseEvent *); + virtual void contentsMouseReleaseEvent(QMouseEvent *); + virtual void contentsMouseMoveEvent(QMouseEvent *); + virtual void contentsMouseDoubleClickEvent(QMouseEvent *); +%End +%If (Qt_3_0_0 -) + void drawContents(QPainter *,int,int,int,int); + void contentsMousePressEvent(QMouseEvent *); + void contentsMouseReleaseEvent(QMouseEvent *); + void contentsMouseMoveEvent(QMouseEvent *); + void contentsMouseDoubleClickEvent(QMouseEvent *); + void contentsContextMenuEvent(QContextMenuEvent *); +%End + +%If (- Qt_3_0_0) +%If (Qt_DRAGANDDROP) + virtual void contentsDragEnterEvent(QDragEnterEvent *); + virtual void contentsDragMoveEvent(QDragMoveEvent *); + virtual void contentsDragLeaveEvent(QDragLeaveEvent *); + virtual void contentsDropEvent(QDropEvent *); +%End + + virtual void resizeEvent(QResizeEvent *); + virtual void keyPressEvent(QKeyEvent *); + virtual void focusInEvent(QFocusEvent *); + virtual void focusOutEvent(QFocusEvent *); + virtual void enterEvent(QEvent *); +%End +%If (Qt_3_0_0 -) +%If (Qt_DRAGANDDROP) + void contentsDragEnterEvent(QDragEnterEvent *); + void contentsDragMoveEvent(QDragMoveEvent *); + void contentsDragLeaveEvent(QDragLeaveEvent *); + void contentsDropEvent(QDropEvent *); +%End + + void resizeEvent(QResizeEvent *); + void keyPressEvent(QKeyEvent *); + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); + void enterEvent(QEvent *); +%End + + virtual void drawRubber(QPainter *); +%If (Qt_DRAGANDDROP) + virtual QDragObject *dragObject(); + virtual void startDrag(); +%End + virtual void insertInGrid(QIconViewItem *); + virtual void drawBackground(QPainter *,const QRect &); + + void emitSelectionChanged(QIconViewItem * = 0); + void emitRenamed(QIconViewItem *); + +%If (- Qt_3_0_0) +// QIconViewItem *makeRowLayout(QIconViewItem *,int &); +%End +%If (Qt_3_0_0 -) +// QIconViewItem *makeRowLayout(QIconViewItem *,int &,bool &); +%End + + void styleChange(QStyle &); +%If (Qt_3_0_0 -) + void windowActivationChange(bool); +%End + +private: + QIconView(const QIconView &); +}; + +%End +%End diff --git a/sip/qt/qimage.sip b/sip/qt/qimage.sip new file mode 100644 index 0000000..5c9b0bb --- /dev/null +++ b/sip/qt/qimage.sip @@ -0,0 +1,544 @@ +// This is the SIP interface definition for QImage, QImageIO and +// QImageTextKeyLang. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QImage</Title> +<Para> +The Python <Literal>==</Literal> and <Literal>!=</Literal> operators are +supported. +</Para> + +<FuncSynopsis> + <FuncDef><Function>QImage</Function></FuncDef> + <ParamDef>const char *<Parameter>xpm</Parameter>[]</ParamDef> +</FuncSynopsis> +<Para> +This takes a list of strings as its parameter. +</Para> + +<FuncSynopsis> + <FuncDef><Function>QImage</Function></FuncDef> + <ParamDef>uchar *<Parameter>data</Parameter></ParamDef> + <ParamDef>int <Parameter>w</Parameter></ParamDef> + <ParamDef>int <Parameter>h</Parameter></ParamDef> + <ParamDef>int <Parameter>depth</Parameter></ParamDef> + <ParamDef>QRgb *<Parameter>colorTable</Parameter></ParamDef> + <ParamDef>int <Parameter>numColors</Parameter></ParamDef> + <ParamDef>Endian <Parameter>bitOrder</Parameter></ParamDef> +</FuncSynopsis> +<Para> +The <Literal>colorTable</Literal> parameter is a list of QRgb instances or +None. (Qt v2.1+) +</Para> + +<FuncSynopsis> + <FuncDef>uchar *<Function>bits</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +The return value is a <Literal>sip.voidptr</Literal> object which is only +useful if passed to another Python module. +</Para> + +<FuncSynopsis> + <FuncDef>QRgb *<Function>colorTable</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +The return value is a <Literal>sip.voidptr</Literal> object which is only +useful if passed to another Python module. +</Para> + +<FuncSynopsis> + <FuncDef>QImage <Function>convertDepthWithPalette</Function></FuncDef> + <ParamDef>int</ParamDef> + <ParamDef>QRgb *<Parameter>p</Parameter></ParamDef> + <ParamDef>int <Parameter>pc</Parameter></ParamDef> + <ParamDef>int <Parameter>cf</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>uchar **<Function>jumpTable</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +The return value is a <Literal>sip.voidptr</Literal> object which is only +useful if passed to another Python module. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>loadFromData</Function></FuncDef> + <ParamDef>const uchar *<Parameter>buf</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> + <ParamDef>const char *<Parameter>format</Parameter> = 0</ParamDef> + <ParamDef>ColorMode <Parameter>mode</Parameter> = Auto</ParamDef> +</FuncSynopsis> +<Para> +<Literal>len</Literal> is derived from <Literal>buf</Literal> and not passed as +a parameter. +</Para> + +<FuncSynopsis> + <FuncDef>uchar *<Function>scanLine</Function></FuncDef> + <ParamDef>int <Parameter>i</Parameter></ParamDef> +</FuncSynopsis> +<Para> +The return value is a <Literal>sip.voidptr</Literal> object which is only +useful if passed to another Python module. +</Para> +</Sect2> + +<Sect2><Title>QImageIO</Title> +<FuncSynopsis> + <FuncDef>static void <Function>defineIOHandler</Function></FuncDef> + <ParamDef>const char *<Parameter>format</Parameter></ParamDef> + <ParamDef>const char *<Parameter>header</Parameter></ParamDef> + <ParamDef>const char *<Parameter>flags</Parameter></ParamDef> + <ParamDef>image_io_handler <Parameter>read_image</Parameter></ParamDef> + <ParamDef>image_io_handler <Parameter>write_image</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> + +<Sect2><Title>QImageTextKeyLang</Title> +<Para> +<Literal>QImageTextKeyLang</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QImage +{ +%TypeHeaderCode +#include <qimage.h> +%End + +public: + enum Endian { + IgnoreEndian, + BigEndian, + LittleEndian + }; + + QImage(); + QImage(int,int,int,int = 0,Endian = IgnoreEndian); + QImage(const QSize &,int,int = 0,Endian = IgnoreEndian); +%If (- Qt_2_00) + QImage(const char *,char * = 0); +%End +%If (Qt_2_00 -) + QImage(const QString &,char * = 0); +%End + + QImage(SIP_PYLIST) [(const char **)]; +%MethodCode + // The Python interface is a list of strings that make up the + // image. + + const char **str; + + if ((str = PyQt_qt_ListToArray(a0)) == NULL) + sipIsErr = 1; + else + { + // There is no wrapper class for QImage. + + Py_BEGIN_ALLOW_THREADS + sipCpp = new QImage(str); + Py_END_ALLOW_THREADS + + sipFree((ANY *)str); + } +%End + +%If (Qt_2_00 -) + QImage(const QByteArray &); +%End + +%If (Qt_2_1_0 -) + QImage(uchar *,int,int,int,SIP_PYLIST /AllowNone/,int,Endian) [(uchar *,int,int,int,int,QRgb *,int,Endian)]; +%MethodCode + // The Python interface takes a list of QRgb instances. + + QRgb *coltab; + + if (a4 == Py_None) + coltab = 0; + else + { + int len = PyList_Size(a4); + + if (a5 > len) + a5 = len; + + coltab = new QRgb[len]; + + PyErr_Clear(); + + for (int i = 0; i < a5; ++i) + { + coltab[i] = PyLong_AsUnsignedLong(PyList_GetItem(a4,i)); + + if (PyErr_Occurred()) + { + delete[] coltab; + sipIsErr = 1; + break; + } + } + } + + if (!sipIsErr) + { + // There is no wrapper class for QImage. + + Py_BEGIN_ALLOW_THREADS + sipCpp = new QImage(a0,a1,a2,a3,0,a5,(QImage::Endian)a6); + + if (coltab) + { + // Now set the colours using the QImage's self + // allocated colour table. If we had passed in + // coltab as the colour table then we couldn't + // have freed it and it would leak. + for (int i = 0; i < a5; ++i) + sipCpp -> setColor(i,coltab[i]); + + delete[] coltab; + } + Py_END_ALLOW_THREADS + } +%End +%End + + QImage(const QImage &); + + bool operator==(const QImage &) const; + bool operator!=(const QImage &) const; + + void detach(); + QImage copy() const; + QImage copy(int,int,int,int,int = 0) const; +%If (- Qt_3_0_0) + QImage copy(QRect &) const; +%End +%If (Qt_3_0_0 -) + QImage copy(const QRect &) const; +%End +%If (Qt_3_1_0 -) + static QImage fromMimeSource(const QString &); +%End + bool isNull() const; + + int width() const; + int height() const; + QSize size() const; + QRect rect() const; + int depth() const; + int numColors() const; + Endian bitOrder() const; + + QRgb color(int) const; + void setColor(int,QRgb); + void setNumColors(int); + + bool hasAlphaBuffer() const; + void setAlphaBuffer(bool); + + bool allGray() const; + bool isGrayscale() const; + + // Actually returns uchar *. + void *bits() const; + // Actually returns uchar *. + void *scanLine(int) const; + // Actually returns uchar **. + void *jumpTable() const; + // Actually returns QRgb *. + void *colorTable() const; + int numBytes() const; + int bytesPerLine() const; + + bool create(int,int,int,int = 0,Endian = IgnoreEndian); + bool create(const QSize &,int,int = 0,Endian = IgnoreEndian); + void reset(); + + void fill(uint); +%If (Qt_2_00 -) + void invertPixels(bool = 1); +%End + + QImage convertDepth(int) const; +// QImage convertDepthWithPalette(int,QRgb *,int,int = 0) const; + QImage convertDepth(int,int) const; + QImage convertBitOrder(Endian) const; + +%If (- Qt_3_0_0) + QImage smoothScale(int,int) const; +%End +%If (Qt_3_0_0 -) + enum ScaleMode { + ScaleFree, + ScaleMin, + ScaleMax + }; + + QImage smoothScale(int,int,ScaleMode = ScaleFree) const; + QImage smoothScale(const QSize &,ScaleMode = ScaleFree) const; + QImage scale(int,int,ScaleMode = ScaleFree) const; + QImage scale(const QSize &,ScaleMode = ScaleFree) const; + QImage scaleWidth(int) const; + QImage scaleHeight(int) const; + QImage xForm(const QWMatrix &) const; +%End + +%If (- Qt_2_00) + QImage createAlphaMask(bool = 0) const; + QImage createAlphaMask(int) const; +%End +%If (Qt_2_00 -) + QImage createAlphaMask(int = 0) const; +%End + QImage createHeuristicMask(bool = 1) const; +%If (Qt_2_00 -) + QImage mirror() const; +%End +%If (Qt_2_1_0 -) + QImage mirror(bool,bool) const; +%End +%If (Qt_2_00 -) + QImage swapRGB() const; +%End + + static Endian systemBitOrder(); + static Endian systemByteOrder(); + +%If (- Qt_2_00) + static const char *imageFormat(const char *); +%End +%If (Qt_2_00 -) + static const char *imageFormat(const QString &); +%End + static QStrList inputFormats(); + static QStrList outputFormats(); +%If (Qt_2_1_0 -) + static QStringList inputFormatList(); + static QStringList outputFormatList(); +%End +%If (- Qt_2_00) + bool load(const char *,const char * = 0); +%End +%If (Qt_2_00 -) + bool load(const QString &,const char * = 0); +%End + bool loadFromData(const uchar * /Array/,uint /ArraySize/, + const char * = 0); + bool loadFromData(QByteArray,char * = 0); +%If (- Qt_2_00) + bool save(const char *,const char *) const; +%End +%If (Qt_2_00 - Qt_3_0_0) + bool save(const QString &,const char *) const; +%End +%If (Qt_2_2_0 - Qt_3_0_0) + bool save(const QString &,const char *,int) const; +%End +%If (Qt_3_0_0 -) + bool save(const QString &,const char *,int = -1) const; +%End +%If (Qt_3_2_0 -) + bool save(QIODevice *,const char *,int = -1) const; +%End + + bool valid(int,int) const; + int pixelIndex(int,int) const; + QRgb pixel(int,int) const; + void setPixel(int,int,uint); + +%If (Qt_2_1_0 -) + int dotsPerMeterX() const; + int dotsPerMeterY() const; + void setDotsPerMeterX(int); + void setDotsPerMeterY(int); + QPoint offset() const; + void setOffset(const QPoint &); +%If (Qt_IMAGE_TEXT) + QValueList<QImageTextKeyLang> textList() const; + QStringList textLanguages() const; + QStringList textKeys() const; + QString text(const char *,const char * = 0) const; + QString text(const QImageTextKeyLang &) const; + void setText(const char *,const char *,const QString &); +%End +%End +}; + + +void bitBlt(QImage *,int,int,const QImage *,int = 0,int = 0,int = -1,int = -1, + int = 0); + + +class QImageIO +{ +%TypeHeaderCode +#include <qimage.h> +%End + +public: + QImageIO(); + QImageIO(QIODevice *,const char *); +%If (Qt_2_00 -) + QImageIO(const QString &,const char *); +%End +%If (- Qt_2_00) + QImageIO(const char *,const char *); +%End + + const QImage &image() const; + int status() const; + const char *format() const; + QIODevice *ioDevice() const; +%If (Qt_2_00 -) + QString fileName() const; +%End +%If (- Qt_2_00) + const char *fileName() const; +%End +%If (Qt_3_0_0 -) + int quality() const; +%End +%If (Qt_2_00 -) + QString description() const; +%End +%If (- Qt_2_00) + const char *description() const; +%End + const char *parameters() const; +%If (Qt_3_0_0 -) + float gamma() const; +%End + + void setImage(const QImage &); + void setStatus(int); + void setFormat(const char *); + void setIODevice(QIODevice *); +%If (Qt_2_00 -) + void setFileName(const QString &); +%End +%If (- Qt_2_00) + void setFileName(const char *); +%End +%If (Qt_3_0_0 -) + void setQuality(int); +%End +%If (Qt_2_00 -) + void setDescription(const QString &); +%End +%If (- Qt_2_00) + void setDescription(const char *); +%End + void setParameters(const char *); +%If (Qt_3_0_0 -) + void setGamma(float); +%End + + bool read(); + bool write(); + + static const char *imageFormat(const QString &); + static const char *imageFormat(QIODevice *); + static QStrList inputFormats(); + static QStrList outputFormats(); + +// static void defineIOHandler(const char *,const char *,const char *, +// image_io_handler,image_io_handler); + +private: + QImageIO(const QImageIO &); +}; + + +%If (Qt_2_1_0 -) +%If (Qt_IMAGE_TEXT) + +class QImageTextKeyLang +{ +%TypeHeaderCode +#include <qimage.h> +%End + +public: + QImageTextKeyLang(const char *,const char *); + QImageTextKeyLang(); + + QCString key; + QCString lang; +}; + +%End +%End + + +%ModuleHeaderCode +const char **PyQt_qt_ListToArray(PyObject *lst); +%End + + +%ModuleCode +// Convert a list of strings to an array of strings on the heap. Also used by +// QPixmap. +const char **PyQt_qt_ListToArray(PyObject *lst) +{ + int nstr; + const char **str, **sp; + + nstr = PyList_Size(lst); + + if ((str = (const char **)sipMalloc(nstr * sizeof (char *))) == NULL) + return NULL; + + // Convert the list. + sp = str; + + for (int i = 0; i < nstr; ++i) + { + char *s; + + if ((s = PyString_AsString(PyList_GetItem(lst,i))) == NULL) + { + sipFree((ANY *)str); + return NULL; + } + + *sp++ = s; + } + + return str; +} +%End diff --git a/sip/qt/qinputdialog.sip b/sip/qt/qinputdialog.sip new file mode 100644 index 0000000..80a5394 --- /dev/null +++ b/sip/qt/qinputdialog.sip @@ -0,0 +1,174 @@ +// This is the SIP interface definition for QInputDialog. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qinterlacestyle.sip b/sip/qt/qinterlacestyle.sip new file mode 100644 index 0000000..5455b2f --- /dev/null +++ b/sip/qt/qinterlacestyle.sip @@ -0,0 +1,103 @@ +// This is the SIP interface definition for QInterlaceStyle. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qiodevice.sip b/sip/qt/qiodevice.sip new file mode 100644 index 0000000..32079d2 --- /dev/null +++ b/sip/qt/qiodevice.sip @@ -0,0 +1,408 @@ +// This is the SIP interface definition for QIODevice. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QIODevice</Title> +<Para> +<Literal>QIODevice</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%ModuleHeaderCode +#include <qiodevice.h> +%End + + +// Device access types. + +const int IO_Direct; +const int IO_Sequential; +const int IO_Combined; +const int IO_TypeMask; + +// Handling modes. + +const int IO_Raw; +const int IO_Async; + +// Device open modes. + +const int IO_ReadOnly; +const int IO_WriteOnly; +const int IO_ReadWrite; +const int IO_Append; +const int IO_Truncate; +const int IO_Translate; +const int IO_ModeMask; + +// Device state. + +const int IO_Open; +const int IO_StateMask; + +// Device status. + +const int IO_Ok; +const int IO_ReadError; +const int IO_WriteError; +const int IO_FatalError; +const int IO_ResourceError; +const int IO_OpenError; +const int IO_ConnectError; +const int IO_AbortError; +const int IO_TimeOutError; +%If (Qt_2_00 -) +const int IO_UnspecifiedError; +%End + + +class QIODevice +{ +%TypeHeaderCode +#include <qiodevice.h> +%End + +public: +%If (Qt_3_0_0 -) + typedef Q_ULONG Offset; +%End + + QIODevice(); + + int flags() const; + int mode() const; + int state() const; + bool isDirectAccess() const; + bool isSequentialAccess() const; + bool isCombinedAccess() const; + bool isBuffered() const; + bool isRaw() const; + bool isSynchronous() const; + bool isAsynchronous() const; + bool isTranslated() const; + bool isReadable() const; + bool isWritable() const; + bool isReadWrite() const; + bool isInactive() const; + bool isOpen() const; + + int status() const; + void resetStatus(); + + virtual bool open(int) = 0 /ReleaseGIL/; + virtual void close() = 0; + virtual void flush() = 0 /ReleaseGIL/; + +%If (- Qt_3_0_0) + virtual uint size() const = 0; + virtual int at() const; + virtual bool at(int); +%End +%If (Qt_3_0_0 -) + virtual Offset size() const = 0; + virtual Offset at() const; + virtual bool at(Offset); +%End + virtual bool atEnd() const; + bool reset(); + +%If (- Qt_3_0_0) + virtual SIP_PYOBJECT readBlock(uint) = 0 /ReleaseGIL/ [int (char *,uint)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + int actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipCpp -> readBlock(buf,a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End +%VirtualCatcherCode + PyObject *result = sipCallMethod(&sipIsErr,sipMethod,"i",a1); + + if (result != NULL) + { + PyObject *buf; + + sipParseResult(&sipIsErr,sipMethod,result,"O",&buf); + + if (buf == Py_None) + sipRes = -1; + else if (!PyString_Check(buf)) + { + sipBadCatcherResult(sipMethod); + sipIsErr = 1; + } + else + { + memcpy(a0,PyString_AS_STRING(buf),PyString_GET_SIZE(buf)); + sipRes = PyString_GET_SIZE(buf); + } + + Py_DECREF(buf); + Py_DECREF(result); + } +%End +%End +%If (Qt_3_0_0 -) + virtual SIP_PYOBJECT readBlock(Q_ULONG) = 0 /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + Q_LONG actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipCpp -> readBlock(buf,a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End +%VirtualCatcherCode + PyObject *result = sipCallMethod(&sipIsErr,sipMethod,"l",a1); + + if (result != NULL) + { + PyObject *buf; + + sipParseResult(&sipIsErr,sipMethod,result,"O",&buf); + + if (buf == Py_None) + sipRes = -1L; + else if (!PyString_Check(buf)) + { + sipBadCatcherResult(sipMethod); + sipIsErr = 1; + } + else + { + memcpy(a0,PyString_AS_STRING(buf),PyString_GET_SIZE(buf)); + sipRes = PyString_GET_SIZE(buf); + } + + Py_DECREF(buf); + Py_DECREF(result); + } +%End +%End + +%If (- Qt_3_0_0) + virtual int writeBlock(const char * /Array/, + uint /ArraySize/) = 0 /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + virtual Q_LONG writeBlock(const char * /Array/, + Q_ULONG /ArraySize/) = 0 /ReleaseGIL/; +%End + +%If (- Qt_3_0_0) + virtual SIP_PYOBJECT readLine(uint) /ReleaseGIL/ [int (char *,uint)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + int actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipSelfWasArg ? sipCpp->QIODevice::readLine(buf, a0) : sipCpp->readLine(buf, a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End +%VirtualCatcherCode + PyObject *result = sipCallMethod(&sipIsErr,sipMethod,"i",a1); + + if (result != NULL) + { + PyObject *buf; + + sipParseResult(&sipIsErr,sipMethod,result,"O",&buf); + + if (buf == Py_None) + sipRes = -1; + else if (!PyString_Check(buf)) + { + sipBadCatcherResult(sipMethod); + sipIsErr = 1; + } + else + { + memcpy(a0,PyString_AS_STRING(buf),PyString_GET_SIZE(buf)); + sipRes = PyString_GET_SIZE(buf); + } + + Py_DECREF(buf); + Py_DECREF(result); + } +%End +%End +%If (Qt_3_0_0 -) + virtual SIP_PYOBJECT readLine(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + Q_LONG actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipSelfWasArg ? sipCpp->QIODevice::readLine(buf, a0) : sipCpp->readLine(buf, a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End +%VirtualCatcherCode + PyObject *result = sipCallMethod(&sipIsErr,sipMethod,"l",a1); + + if (result != NULL) + { + PyObject *buf; + + sipParseResult(&sipIsErr,sipMethod,result,"O",&buf); + + if (buf == Py_None) + sipRes = -1L; + else if (!PyString_Check(buf)) + { + sipBadCatcherResult(sipMethod); + sipIsErr = 1; + } + else + { + memcpy(a0,PyString_AS_STRING(buf),PyString_GET_SIZE(buf)); + sipRes = PyString_GET_SIZE(buf); + } + + Py_DECREF(buf); + Py_DECREF(result); + } +%End +%End + +%If (Qt_2_00 - Qt_3_0_0) + int writeBlock(const QByteArray &) /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + Q_LONG writeBlock(const QByteArray &) /ReleaseGIL/; +%End + +%If (Qt_2_00 - Qt_3_0_0) + QByteArray readAll() /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + virtual QByteArray readAll() /ReleaseGIL/; +%End + + virtual int getch() = 0 /ReleaseGIL/; + virtual int putch(int) = 0 /ReleaseGIL/; + virtual int ungetch(int) = 0; + +protected: + void setFlags(int); + void setType(int); + void setMode(int); + void setState(int); + void setStatus(int); + +private: + QIODevice(const QIODevice &); +}; diff --git a/sip/qt/qkeycode.sip b/sip/qt/qkeycode.sip new file mode 100644 index 0000000..72c0a25 --- /dev/null +++ b/sip/qt/qkeycode.sip @@ -0,0 +1,286 @@ +// This is the SIP interface definition for the key code definitions. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%If (- Qt_2_00) + +%ModuleHeaderCode +#include <qkeycode.h> +%End + +// Accelerator modifiers. +const uint SHIFT; +const uint CTRL; +const uint ALT; +const uint ASCII_ACCEL; + +// Miscellaneous keys. +const int Key_Escape; +const int Key_Tab; +const int Key_Backtab; +const int Key_Backspace; +const int Key_Return; +const int Key_Enter; +const int Key_Insert; +const int Key_Delete; +const int Key_Pause; +const int Key_Print; +const int Key_SysReq; + +// Cursor keys. +const int Key_Home; +const int Key_End; +const int Key_Left; +const int Key_Up; +const int Key_Right; +const int Key_Down; +const int Key_Prior; +const int Key_PageUp; +const int Key_Next; +const int Key_PageDown; + +// Modifiers. +const int Key_Shift; +const int Key_Control; +const int Key_Meta; +const int Key_Alt; +const int Key_CapsLock; +const int Key_NumLock; +const int Key_ScrollLock; + +// Function keys. +const int Key_F1; +const int Key_F2; +const int Key_F3; +const int Key_F4; +const int Key_F5; +const int Key_F6; +const int Key_F7; +const int Key_F8; +const int Key_F9; +const int Key_F10; +const int Key_F11; +const int Key_F12; +const int Key_F13; +const int Key_F14; +const int Key_F15; +const int Key_F16; +const int Key_F17; +const int Key_F18; +const int Key_F19; +const int Key_F20; +const int Key_F21; +const int Key_F22; +const int Key_F23; +const int Key_F24; +const int Key_F25; +const int Key_F26; +const int Key_F27; +const int Key_F28; +const int Key_F29; +const int Key_F30; +const int Key_F31; +const int Key_F32; +const int Key_F33; +const int Key_F34; +const int Key_F35; + +// Extra keys. +const int Key_Super_L; +const int Key_Super_R; +const int Key_Menu; +%If (Qt_1_43 -) +const int Key_Hyper_L; +const int Key_Hyper_R; +%End + +// The 7 bit printable ASCII keys. +const int Key_Space; +const int Key_Exclam; +const int Key_QuoteDbl; +const int Key_NumberSign; +const int Key_Dollar; +const int Key_Percent; +const int Key_Ampersand; +const int Key_Apostrophe; +const int Key_ParenLeft; +const int Key_ParenRight; +const int Key_Asterisk; +const int Key_Plus; +const int Key_Comma; +const int Key_Minus; +const int Key_Period; +const int Key_Slash; +const int Key_0; +const int Key_1; +const int Key_2; +const int Key_3; +const int Key_4; +const int Key_5; +const int Key_6; +const int Key_7; +const int Key_8; +const int Key_9; +const int Key_Colon; +const int Key_Semicolon; +const int Key_Less; +const int Key_Equal; +const int Key_Greater; +const int Key_Question; +const int Key_At; +const int Key_A; +const int Key_B; +const int Key_C; +const int Key_D; +const int Key_E; +const int Key_F; +const int Key_G; +const int Key_H; +const int Key_I; +const int Key_J; +const int Key_K; +const int Key_L; +const int Key_M; +const int Key_N; +const int Key_O; +const int Key_P; +const int Key_Q; +const int Key_R; +const int Key_S; +const int Key_T; +const int Key_U; +const int Key_V; +const int Key_W; +const int Key_X; +const int Key_Y; +const int Key_Z; +const int Key_BracketLeft; +const int Key_Backslash; +const int Key_BracketRight; +const int Key_AsciiCircum; +const int Key_Underscore; +const int Key_QuoteLeft; +const int Key_BraceLeft; +const int Key_Bar; +const int Key_BraceRight; +const int Key_AsciiTilde; + +// Latin 1 codes. +const int Key_nobreakspace; +const int Key_exclamdown; +const int Key_cent; +const int Key_sterling; +const int Key_currency; +const int Key_yen; +const int Key_brokenbar; +const int Key_section; +const int Key_diaeresis; +const int Key_copyright; +const int Key_ordfeminine; +const int Key_guillemotleft; +const int Key_notsign; +const int Key_hyphen; +const int Key_registered; +const int Key_macron; +const int Key_degree; +const int Key_plusminus; +const int Key_twosuperior; +const int Key_threesuperior; +const int Key_acute; +const int Key_mu; +const int Key_paragraph; +const int Key_periodcentered; +const int Key_cedilla; +const int Key_onesuperior; +const int Key_masculine; +const int Key_guillemotright; +const int Key_onequarter; +const int Key_onehalf; +const int Key_threequarters; +const int Key_questiondown; +const int Key_Agrave; +const int Key_Aacute; +const int Key_Acircumflex; +const int Key_Atilde; +const int Key_Adiaeresis; +const int Key_Aring; +const int Key_AE; +const int Key_Ccedilla; +const int Key_Egrave; +const int Key_Eacute; +const int Key_Ecircumflex; +const int Key_Ediaeresis; +const int Key_Igrave; +const int Key_Iacute; +const int Key_Icircumflex; +const int Key_Idiaeresis; +const int Key_ETH; +const int Key_Ntilde; +const int Key_Ograve; +const int Key_Oacute; +const int Key_Ocircumflex; +const int Key_Otilde; +const int Key_Odiaeresis; +const int Key_multiply; +const int Key_Ooblique; +const int Key_Ugrave; +const int Key_Uacute; +const int Key_Ucircumflex; +const int Key_Udiaeresis; +const int Key_Yacute; +const int Key_THORN; +const int Key_ssharp; +const int Key_agrave; +const int Key_aacute; +const int Key_acircumflex; +const int Key_atilde; +const int Key_adiaeresis; +const int Key_aring; +const int Key_ae; +const int Key_ccedilla; +const int Key_egrave; +const int Key_eacute; +const int Key_ecircumflex; +const int Key_ediaeresis; +const int Key_igrave; +const int Key_iacute; +const int Key_icircumflex; +const int Key_idiaeresis; +const int Key_eth; +const int Key_ntilde; +const int Key_ograve; +const int Key_oacute; +const int Key_ocircumflex; +const int Key_otilde; +const int Key_odiaeresis; +const int Key_division; +const int Key_oslash; +const int Key_ugrave; +const int Key_uacute; +const int Key_ucircumflex; +const int Key_udiaeresis; +const int Key_yacute; +const int Key_thorn; +const int Key_ydiaeresis; + +const int Key_unknown; + +%End diff --git a/sip/qt/qkeysequence.sip b/sip/qt/qkeysequence.sip new file mode 100644 index 0000000..c7800f9 --- /dev/null +++ b/sip/qt/qkeysequence.sip @@ -0,0 +1,119 @@ +// This is the SIP interface definition for QKeySequence. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QKeySequence (Qt v3+)</Title> +<Para> +<Literal>QKeySequence</Literal> is fully implemented including the operators +<Literal>==</Literal>, <Literal>!=</Literal>, <Literal>QString()</Literal> and +<Literal>int()</Literal>. A <Literal>QString</Literal> instance or a Python +integer may be used whenever a <Literal>QKeySequence</Literal> can be used. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QKeySequence : Qt +{ +%TypeHeaderCode +#include <qkeysequence.h> +%End + +public: + QKeySequence(); + QKeySequence(const QString &); + QKeySequence(int); +%If (Qt_3_1_0 -) + QKeySequence(int,int,int = 0,int = 0); + + bool operator==(const QKeySequence &) const; + bool operator!=(const QKeySequence &) const; + + uint count() const; + bool isEmpty() const; + Qt::SequenceMatch matches(const QKeySequence &) const; +%End + + int __int__() const; + +%ConvertToTypeCode + // Allow a QString or a Python integer whenever a QKeySequence is + // expected. + + if (sipIsErr == NULL) + { + if (sipCanConvertToInstance(sipPy,sipClass_QKeySequence,SIP_NO_CONVERTORS)) + return 1; + + if (sipCanConvertToInstance(sipPy,sipClass_QString,0)) + return 1; + + PyErr_Clear(); + + PyInt_AsLong(sipPy); + + return !PyErr_Occurred(); + } + + // We do this case before the int case because, otherwise, + // PyInt_AsLong() would achieve the same result but less efficiently. + + if (sipCanConvertToInstance(sipPy,sipClass_QKeySequence,SIP_NO_CONVERTORS)) + { + *sipCppPtr = reinterpret_cast<QKeySequence *>(sipConvertToInstance(sipPy,sipClass_QKeySequence,sipTransferObj,SIP_NO_CONVERTORS,0,sipIsErr)); + + return 0; + } + + if (sipCanConvertToInstance(sipPy,sipClass_QString,0)) + { + int state; + QString *s = reinterpret_cast<QString *>(sipConvertToInstance(sipPy,sipClass_QString,0,0,&state,sipIsErr)); + + if (*sipIsErr) + { + sipReleaseInstance(s,sipClass_QString,state); + return 0; + } + + Py_BEGIN_ALLOW_THREADS + *sipCppPtr = new QKeySequence(*s); + Py_END_ALLOW_THREADS + + sipReleaseInstance(s,sipClass_QString,state); + + return sipGetState(sipTransferObj); + } + + int key = PyInt_AsLong(sipPy); + + Py_BEGIN_ALLOW_THREADS + *sipCppPtr = new QKeySequence(key); + Py_END_ALLOW_THREADS + + return sipGetState(sipTransferObj); +%End +}; + +%End diff --git a/sip/qt/qlabel.sip b/sip/qt/qlabel.sip new file mode 100644 index 0000000..62655e6 --- /dev/null +++ b/sip/qt/qlabel.sip @@ -0,0 +1,157 @@ +// This is the SIP interface definition for QLabel. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QLabel</Title> +<Para> +<Literal>QLabel</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QLabel : QFrame +{ +%TypeHeaderCode +#include <qlabel.h> +%End + +public: +%If (- Qt_2_00) + QLabel(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + QLabel(const char *,QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + QLabel(QWidget *,const char *,QWidget * /TransferThis/,const char * = 0,WFlags = 0); +%End +%If (Qt_2_00 -) + QLabel(QWidget * /TransferThis/,const char * = 0,WFlags = 0); + QLabel(const QString &,QWidget * /TransferThis/,const char * = 0,WFlags = 0); + QLabel(QWidget *,const QString &,QWidget * /TransferThis/,const char * = 0,WFlags = 0); +%End + +%If (- Qt_2_00) + const char *text() const; +%End +%If (Qt_2_00 -) + QString text() const; +%End + QPixmap *pixmap() const; +%If (Qt_3_0_0 -) + QPicture *picture() const; +%End + QMovie *movie() const; + +%If (Qt_2_00 -) + TextFormat textFormat() const; + void setTextFormat(TextFormat); +%End + + int alignment() const; +%If (- Qt_2_00) + void setAlignment(int); +%End +%If (Qt_2_00 -) + virtual void setAlignment(int); +%End +%If (- Qt_2_00) + int margin() const; + void setMargin(int); +%End +%If (Qt_2_00 -) + int indent() const; + void setIndent(int); +%End + + bool autoResize() const; +%If (- Qt_2_00) + void setAutoResize(bool); +%End +%If (Qt_2_00 -) + virtual void setAutoResize(bool); +%End +%If (Qt_2_2_0 -) + bool hasScaledContents() const; + void setScaledContents(bool); +%End +%If (Qt_2_00 - Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + QSize sizeHint() const; +%If (Qt_2_1_0 -) + QSize minimumSizeHint() const; +%End +%If (- Qt_2_00) + void setBuddy(QWidget *); +%End +%If (Qt_2_00 -) + virtual void setBuddy(QWidget *); +%End + QWidget *buddy() const; +%If (Qt_2_00 - Qt_3_0_0) + void setAutoMask(bool); +%End +%If (Qt_2_00 -) + int heightForWidth(int) const; +%End + +%If (Qt_3_0_0 -) + void setFont(const QFont &); +%End + +public slots: +%If (- Qt_2_00) + void setText(const char *); + void setPixmap(const QPixmap &); +%End +%If (Qt_2_00 -) + virtual void setText(const QString &); + virtual void setPixmap(const QPixmap &); +%End +%If (Qt_3_0_0 -) + virtual void setPicture(const QPicture &); +%End +%If (- Qt_2_00) + void setMovie(const QMovie &); + void setNum(int /Constrained/); + void setNum(double); +%End +%If (Qt_2_00 -) + virtual void setMovie(const QMovie &); + virtual void setNum(int /Constrained/); + virtual void setNum(double); +%End + void clear(); + +protected: + void drawContents(QPainter *); +%If (Qt_2_00 - Qt_3_0_0) + void drawContentsMask(QPainter *); +%End +%If (Qt_2_1_0 -) + void fontChange(const QFont &); +%End +%If (Qt_2_2_0 -) + void resizeEvent(QResizeEvent *); +%End + +private: + QLabel(const QLabel &); +}; diff --git a/sip/qt/qlayout.sip b/sip/qt/qlayout.sip new file mode 100644 index 0000000..4270e1e --- /dev/null +++ b/sip/qt/qlayout.sip @@ -0,0 +1,597 @@ +// This is the SIP interface definition for QBoxLayout, QGLayoutIterator, +// QGridLayout, QHBoxLayout, QLayout, QLayoutItem, QLayoutIterator, +// QSpacerItem, QVBoxLayout and QWidgetItem. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QLayout</Title> +<Para> +<Literal>QLayout</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QBoxLayout</Title> +<Para> +<Literal>QBoxLayout</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QGLayoutIterator (Qt v2+)</Title> +<Para> +<Literal>QGLayoutIterator</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QGridLayout</Title> +<FuncSynopsis> + <FuncDef>bool <Function>findWidget</Function></FuncDef> + <ParamDef>QWidget *<Parameter>w</Parameter></ParamDef> + <ParamDef>int *<Parameter>row</Parameter></ParamDef> + <ParamDef>int *<Parameter>col</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>w</Literal> parameter and returns a tuple containing +the <Literal>bool</Literal> result, <Literal>row</Literal> and +<Literal>col</Literal>. (Qt v2+) +</Para> +</Sect2> + +<Sect2><Title>QHBoxLayout</Title> +<Para> +<Literal>QHBoxLayout</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QLayoutItem (Qt v2+)</Title> +<Para> +<Literal>QLayoutItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QLayoutIterator (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>QLayoutItem *<Function>next</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This is a wrapper around the <Literal>QLayoutIterator</Literal> +<Literal>++</Literal> operator. +</Para> +</Sect2> + +<Sect2><Title>QSpacerItem (Qt v2+)</Title> +<Para> +<Literal>QSpacerItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QVBoxLayout</Title> +<Para> +<Literal>QVBoxLayout</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QWidgetItem (Qt v2+)</Title> +<Para> +<Literal>QWidgetItem</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +class QLayout : QObject +{ +%TypeHeaderCode +#include <qlayout.h> +%End + +public: + enum + { + unlimited = QCOORD_MAX + }; + + int defaultBorder() const; + virtual bool activate(); + void freeze(int,int); + void freeze(); + void setMenuBar(QMenuBar *); + QWidget *mainWidget(); + +protected: + QLayout(QWidget * /TransferThis/,int,int,const char *); + QLayout(int = -1,const char * = 0); + + QGManager *basicManager(); + virtual QChain *mainVerticalChain() = 0; + virtual QChain *mainHorizontalChain() = 0; + virtual void initGM() = 0; + void addChildLayout(QLayout *); + +private: + QLayout(const QLayout &); +}; + +%End + + +%If (Qt_2_00 -) + +class QGLayoutIterator +{ +%TypeHeaderCode +#include <qabstractlayout.h> +%End + +public: + virtual QLayoutItem *next() = 0; + virtual QLayoutItem *current() = 0; + virtual QLayoutItem *takeCurrent() = 0 /TransferBack/; +}; + + +class QLayoutIterator +{ +%TypeHeaderCode +#include <qabstractlayout.h> +%End + +public: + QLayoutIterator(QGLayoutIterator *) /Default/; + QLayoutIterator(const QLayoutIterator &); + + QLayoutItem *next(); +%MethodCode + Py_BEGIN_ALLOW_THREADS + sipRes = ++(*sipCpp); + Py_END_ALLOW_THREADS +%End + + QLayoutItem *current(); + QLayoutItem *takeCurrent() /TransferBack/; + void deleteCurrent(); +}; + + +class QLayoutItem +{ +%TypeHeaderCode +#include <qabstractlayout.h> +%End + +public: + QLayoutItem(int = 0 ); + +%ConvertToSubClassCode + // Note that we let the QObject sub-class code handle QLayout and it's + // sub-classes. + if (sipCpp->widget()) + sipClass = sipClass_QWidgetItem; + else if (sipCpp->spacerItem()) + sipClass = sipClass_QSpacerItem; + else + sipClass = NULL; +%End + + virtual QSize sizeHint() const = 0; + virtual QSize minimumSize() const = 0; + virtual QSize maximumSize() const = 0; + virtual QSizePolicy::ExpandData expanding() const = 0; + virtual void setGeometry(const QRect &) = 0; + virtual QRect geometry() const = 0; + virtual bool isEmpty() const = 0; + virtual bool hasHeightForWidth() const; + virtual int heightForWidth(int) const; + virtual void invalidate(); + + virtual QWidget *widget(); + virtual QLayoutIterator iterator(); + virtual QLayout *layout(); + virtual QSpacerItem *spacerItem(); + + int alignment() const; + virtual void setAlignment(int); +}; + + +class QSpacerItem : QLayoutItem +{ +%TypeHeaderCode +#include <qabstractlayout.h> +%End + +public: + QSpacerItem(int,int,QSizePolicy::SizeType = QSizePolicy::Minimum, + QSizePolicy::SizeType = QSizePolicy::Minimum); + + void changeSize(int,int,QSizePolicy::SizeType = QSizePolicy::Minimum, + QSizePolicy::SizeType = QSizePolicy::Minimum); + QSize sizeHint() const; + QSize minimumSize() const; + QSize maximumSize() const; + QSizePolicy::ExpandData expanding() const; + bool isEmpty() const; + void setGeometry(const QRect &); + QRect geometry() const; + QSpacerItem *spacerItem(); +}; + + +class QWidgetItem : QLayoutItem +{ +%TypeHeaderCode +#include <qabstractlayout.h> +%End + +public: + QWidgetItem(QWidget *); + + QSize sizeHint() const; + QSize minimumSize() const; + QSize maximumSize() const; + QSizePolicy::ExpandData expanding() const; + bool isEmpty() const; + void setGeometry(const QRect &) ; + QRect geometry() const; + virtual QWidget *widget(); + + bool hasHeightForWidth() const; + int heightForWidth(int) const; +}; + + +class QLayout : QObject, QLayoutItem +{ +%TypeHeaderCode +#include <qabstractlayout.h> +%End + +public: + enum ResizeMode { + FreeResize, + Minimum, + Fixed, +%If (Qt_3_1_0 -) + Auto +%End + }; + + QLayout(QWidget * /TransferThis/,int = 0,int = -1,const char * = 0); + QLayout(QLayout * /TransferThis/,int = -1,const char * = 0); + QLayout(int = -1,const char * = 0); + + int margin() const; + int spacing() const; + + virtual void setMargin(int); + virtual void setSpacing(int); + +%If (- Qt_3_1_0) + enum { + unlimited + }; +%End + +%If (Qt_3_0_0 -) + int defaultBorder() const; + void freeze(int,int); + void freeze(); +%End + + void setResizeMode(ResizeMode); + ResizeMode resizeMode() const; + + virtual void setMenuBar(QMenuBar *); + QMenuBar *menuBar() const; + + QWidget *mainWidget(); + bool isTopLevel() const; + + virtual void setAutoAdd(bool); + bool autoAdd() const; + +%If (Qt_2_1_0 -) + void invalidate(); +%End + QRect geometry() const; + bool activate(); + + void add(QWidget *); + virtual void addItem(QLayoutItem * /Transfer/) = 0; + +%If (Qt_3_1_0 -) + void remove(QWidget *); + void removeItem(QLayoutItem * /TransferBack/); +%End + + QSizePolicy::ExpandData expanding() const; + QSize minimumSize() const; + QSize maximumSize() const; + void setGeometry(const QRect &) = 0; + QLayoutIterator iterator() = 0; + bool isEmpty() const; + + int totalHeightForWidth(int) const; + QSize totalMinimumSize() const; + QSize totalMaximumSize() const; + QSize totalSizeHint() const; + QLayout *layout(); + +%If (Qt_2_1_0 -) + bool supportsMargin() const; +%End + +%If (Qt_2_2_0 -) + void setEnabled(bool); + bool isEnabled() const; +%End + +protected: + bool eventFilter(QObject *,QEvent *); +%If (Qt_3_0_0 -) + void childEvent(QChildEvent *); +%End + void addChildLayout(QLayout *); + void deleteAllItems(); + +%If (Qt_2_1_0 -) + void setSupportsMargin(bool); + QRect alignmentRect(const QRect &) const; +%End + +private: + QLayout(const QLayout &); +}; + +%End + + +class QGridLayout : QLayout +{ +%TypeHeaderCode +#include <qlayout.h> +%End + +public: +%If (- Qt_2_1_0) + QGridLayout(QWidget * /TransferThis/,int,int,int = 0,int = -1,const char * = 0); + QGridLayout(int,int,int = -1,const char * = 0); +%End +%If (Qt_2_00 - Qt_2_1_0) + QGridLayout(QLayout * /TransferThis/,int,int,int = -1,const char * = 0); +%End +%If (Qt_2_1_0 -) + QGridLayout(QWidget * /TransferThis/,int = 1,int = 1,int = 0,int = -1,const char * = 0); + QGridLayout(int = 1,int = 1,int = -1,const char * = 0); + QGridLayout(QLayout * /TransferThis/,int = 1,int = 1,int = -1,const char * = 0); +%End + +%If (Qt_2_00 -) + QSize sizeHint() const; + QSize minimumSize() const; + QSize maximumSize() const; +%End + +%If (- Qt_2_00) + void setRowStretch(int,int); + void setColStretch(int,int); +%End +%If (Qt_2_00 -) + virtual void setRowStretch(int,int); + virtual void setColStretch(int,int); +%End +%If (Qt_2_1_0 -) + int rowStretch(int) const; + int colStretch(int) const; +%End + +%If (Qt_3_2_0 -) + void setRowSpacing(int,int); + void setColSpacing(int,int); + int rowSpacing(int) const; + int colSpacing(int) const; +%End + + int numRows() const; + int numCols() const; +%If (Qt_2_1_0 -) + QRect cellGeometry(int,int) const; +%End + +%If (Qt_2_00 -) + bool hasHeightForWidth() const; + int heightForWidth(int) const; +%If (Qt_3_1_0 -) + int minimumHeightForWidth(int) const; +%End + + QSizePolicy::ExpandData expanding() const; + void invalidate(); + + void addItem(QLayoutItem * /Transfer/); +%End +%If (Qt_2_1_0 -) + void addItem(QLayoutItem * /Transfer/,int,int); +%End +%If (Qt_2_00 -) + void addMultiCell(QLayoutItem * /Transfer/,int,int,int,int,int = 0); +%End + + void addWidget(QWidget *,int,int,int = 0); + void addMultiCellWidget(QWidget *,int,int,int,int,int = 0); + void addLayout(QLayout * /Transfer/,int,int); +%If (Qt_2_2_0 -) + void addMultiCellLayout(QLayout * /Transfer/,int,int,int,int,int = 0); +%End + void addRowSpacing(int,int); + void addColSpacing(int,int); + void expand(int,int); + +%If (Qt_2_00 -) + enum Corner { + TopLeft, + TopRight, + BottomLeft, + BottomRight + }; + + void setOrigin(Corner); +%End +%If (Qt_3_0_0 -) + Corner origin() const; +%End +%If (Qt_2_00 -) + QLayoutIterator iterator(); + void setGeometry(const QRect &); +%End + +protected: +%If (- Qt_2_00) + QChain *mainVerticalChain(); + QChain *mainHorizontalChain(); + void initGM(); +%End + +%If (Qt_2_00 -) + bool findWidget(QWidget *,int *,int *); + void add(QLayoutItem * /Transfer/,int,int); +%End + +private: + QGridLayout(const QGridLayout &); +}; + + +class QBoxLayout : QLayout +{ +%TypeHeaderCode +#include <qlayout.h> +%End + +public: + enum Direction { + LeftToRight, + RightToLeft, + TopToBottom, + BottomToTop, + Down = TopToBottom, + Up = BottomToTop + }; + + QBoxLayout(QWidget * /TransferThis/,Direction,int = 0,int = -1,const char * = 0); +%If (Qt_2_00 -) + QBoxLayout(QLayout * /TransferThis/,Direction,int = -1,const char * = 0); +%End + QBoxLayout(Direction,int = -1,const char * = 0); + + Direction direction() const; +%If (Qt_2_1_0 -) + void setDirection(Direction); +%End + void addSpacing(int); + void addStretch(int = 0); +%If (- Qt_2_00) + void addWidget(QWidget *,int = 0,int = AlignCenter); +%End + void addLayout(QLayout * /Transfer/,int = 0); + void addStrut(int); +%If (Qt_2_00 -) + void addItem(QLayoutItem * /Transfer/); + void addWidget(QWidget *,int = 0,int = 0); +%If (Qt_2_1_0 -) + void insertSpacing(int,int); + void insertStretch(int,int = 0); + void insertWidget(int,QWidget *,int = 0,int = 0); + void insertLayout(int,QLayout * /Transfer/,int = 0); + int findWidget(QWidget *); +%End + bool setStretchFactor(QWidget *,int); + QSize sizeHint() const; + QSize minimumSize() const; + QSize maximumSize() const; + bool hasHeightForWidth() const; + int heightForWidth(int) const; +%If (Qt_3_1_0 -) + int minimumHeightForWidth(int) const; +%End + + QSizePolicy::ExpandData expanding() const; + void invalidate(); + QLayoutIterator iterator(); + void setGeometry(const QRect &); +%End + +protected: +%If (- Qt_2_00) + QChain *mainVerticalChain(); + QChain *mainHorizontalChain(); + void initGM(); +%End +%If (Qt_2_1_0 -) + void insertItem(int,QLayoutItem * /Transfer/); +%End + +private: + QBoxLayout(const QBoxLayout &); +}; + + +class QHBoxLayout : QBoxLayout +{ +%TypeHeaderCode +#include <qlayout.h> +%End + +public: + QHBoxLayout(QWidget * /TransferThis/,int = 0,int = -1,const char * = 0); +%If (Qt_2_00 -) + QHBoxLayout(QLayout * /TransferThis/,int = -1,const char * = 0); +%End + QHBoxLayout(int = -1,const char * = 0); + +private: +%If (Qt_3_1_0 -) + QHBoxLayout(const QHBoxLayout &); +%End +}; + + +class QVBoxLayout : QBoxLayout +{ +%TypeHeaderCode +#include <qlayout.h> +%End + +public: + QVBoxLayout(QWidget * /TransferThis/,int = 0,int = -1,const char * = 0); +%If (Qt_2_00 -) + QVBoxLayout(QLayout * /TransferThis/,int = -1,const char * = 0); +%End + QVBoxLayout(int = -1,const char * = 0); + +private: +%If (Qt_3_1_0 -) + QVBoxLayout(const QVBoxLayout &); +%End +}; diff --git a/sip/qt/qlcdnumber.sip b/sip/qt/qlcdnumber.sip new file mode 100644 index 0000000..ae250fd --- /dev/null +++ b/sip/qt/qlcdnumber.sip @@ -0,0 +1,137 @@ +// This is the SIP interface definition for QLCDNumber. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QLCDNumber</Title> +<Para> +<Literal>QLCDNumber</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QLCDNumber : QFrame +{ +%TypeHeaderCode +#include <qlcdnumber.h> +%End + +public: + QLCDNumber(QWidget * /TransferThis/ = 0,const char * = 0); + QLCDNumber(uint,QWidget * /TransferThis/ = 0,const char * = 0); + +%If (- Qt_2_00) + enum Mode { + HEX, + DEC, + OCT, + BIN + }; +%End +%If (Qt_2_00 -) + enum Mode { + Hex, HEX = Hex, + Dec, DEC = Dec, + Oct, OCT = Oct, + Bin, BIN = Bin + }; +%End + + enum SegmentStyle { + Outline, + Filled, + Flat + }; + + bool smallDecimalPoint() const; + + int numDigits() const; +%If (- Qt_2_00) + void setNumDigits(int); +%End +%If (Qt_2_00 -) + virtual void setNumDigits(int); +%End + + bool checkOverflow(int /Constrained/) const; + bool checkOverflow(double) const; + + Mode mode() const; +%If (- Qt_2_00) + void setMode(Mode); +%End +%If (Qt_2_00 -) + virtual void setMode(Mode); +%End + + SegmentStyle segmentStyle() const; +%If (- Qt_2_00) + void setSegmentStyle(SegmentStyle); +%End +%If (Qt_2_00 -) + virtual void setSegmentStyle(SegmentStyle); +%End + + double value() const; + int intValue() const; + + QSize sizeHint() const; +%If (Qt_2_00 - Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + +public slots: +%If (- Qt_2_00) + void display(const char *); +%End +%If (Qt_2_00 -) + void display(const QString &); +%End + void display(int /Constrained/); + void display(double); +%If (- Qt_2_00) + void setHexMode(); + void setDecMode(); + void setOctMode(); + void setBinMode(); + void setSmallDecimalPoint(bool); +%End +%If (Qt_2_00 -) + virtual void setHexMode(); + virtual void setDecMode(); + virtual void setOctMode(); + virtual void setBinMode(); + virtual void setSmallDecimalPoint(bool); +%End + +signals: + void overflow(); + +protected: +%If (- Qt_2_00) + void resizeEvent(QResizeEvent *); +%End + void drawContents(QPainter *); + +private: + QLCDNumber(const QLCDNumber &); +}; diff --git a/sip/qt/qlibrary.sip b/sip/qt/qlibrary.sip new file mode 100644 index 0000000..cb9813a --- /dev/null +++ b/sip/qt/qlibrary.sip @@ -0,0 +1,59 @@ +// This is the SIP interface definition for QLibrary. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QLibrary (Qt v3+)</Title> +<Para> +<Literal>QLibrary</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QLibrary +{ +%TypeHeaderCode +#include <qlibrary.h> +%End + +public: + QLibrary(const QString &); + + void *resolve(const char *); + static void *resolve(const QString &,const char *); + + bool load(); + virtual bool unload(); + bool isLoaded() const; + + bool autoUnload() const; + void setAutoUnload(bool); + + QString library() const; + +private: + QLibrary(const QLibrary &); +}; + +%End diff --git a/sip/qt/qlineedit.sip b/sip/qt/qlineedit.sip new file mode 100644 index 0000000..47bd3fa --- /dev/null +++ b/sip/qt/qlineedit.sip @@ -0,0 +1,427 @@ +// This is the SIP interface definition for QLineEdit. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QLineEdit</Title> +<FuncSynopsis> + <FuncDef>int <Function>characterAt</Function></FuncDef> + <ParamDef>int <Parameter>xpos</Parameter></ParamDef> + <ParamDef>QChar *<Parameter>chr</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>xpos</Literal> parameter and returns the int +result and the <Literal>chr</Literal> value as a tuple. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>del</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>delChar</Literal> in Python. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>getSelection</Function></FuncDef> + <ParamDef>int *<Parameter>start</Parameter></ParamDef> + <ParamDef>int *<Parameter>end</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns the bool result and the +<Literal>start</Literal> and <Literal>end</Literal> values as a tuple. +(Qt v3+) +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QLineEdit : QFrame +{ +%TypeHeaderCode +#include <qlineedit.h> +%End + +public: + QLineEdit(QWidget * /TransferThis/,const char * = 0); + QLineEdit(const QString &,QWidget * /TransferThis/,const char * = 0); +%If (Qt_3_2_0 -) + QLineEdit(const QString &,const QString &,QWidget * /TransferThis/, + const char * = 0); +%End + + QString text() const; + + QString displayText() const; + + int maxLength() const; + + bool frame() const; + + enum EchoMode { + Normal, + NoEcho, + Password + }; + + EchoMode echoMode() const; + + bool isReadOnly() const; + + const QValidator *validator() const; + + QSize sizeHint() const; + QSize minimumSizeHint() const; + + int cursorPosition() const; + // Obsolete. + bool validateAndSet(const QString &,int,int,int); + + int alignment() const; + + void cursorForward(bool,int = 1); + void cursorBackward(bool,int = 1); + void cursorWordForward(bool); + void cursorWordBackward(bool); + void backspace(); + void del() /PyName=delChar/; + void home(bool); + void end(bool); + +%If (Qt_3_2_0 -) + bool isModified() const; + void clearModified(); +%End + + // Obsolete. + bool edited() const; + // Obsolete. + void setEdited(bool); + + bool hasSelectedText() const; + QString selectedText() const; +%If (Qt_3_2_0 -) + int selectionStart() const; +%End + + bool isUndoAvailable() const; + bool isRedoAvailable() const; + + bool dragEnabled() const; + +%If (Qt_3_2_0 -) + QString inputMask() const; + void setInputMask(const QString &); + bool hasAcceptableInput() const; +%End + +public slots: + virtual void setText(const QString &); + virtual void selectAll(); + virtual void deselect(); + virtual void clearValidator(); + virtual void insert(const QString &); + virtual void clear(); + virtual void undo(); + virtual void redo(); + virtual void setMaxLength(int); + virtual void setFrame(bool); + virtual void setEchoMode(EchoMode); + virtual void setReadOnly(bool); + virtual void setValidator(const QValidator *); + virtual void setFont(const QFont &); + virtual void setPalette(const QPalette &); + virtual void setSelection(int,int); + virtual void setCursorPosition(int); + virtual void setAlignment(int); +%If (Qt_CLIPBOARD) + virtual void cut(); + virtual void copy() const; + virtual void paste(); +%End + virtual void setDragEnabled(bool); + +signals: + void textChanged(const QString &); + void returnPressed(); +%If (Qt_3_1_0 -) + void lostFocus(); +%End + void selectionChanged(); + +protected: + bool event(QEvent *); + void mousePressEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseDoubleClickEvent(QMouseEvent *); + void keyPressEvent(QKeyEvent *); + void imStartEvent(QIMEvent *); + void imComposeEvent(QIMEvent *); + void imEndEvent(QIMEvent *); + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); + void resizeEvent(QResizeEvent *); + void drawContents(QPainter *); +%If (Qt_DRAGANDDROP) + void dragEnterEvent(QDragEnterEvent *); + void dragMoveEvent(QDragMoveEvent *); + void dragLeaveEvent(QDragLeaveEvent *); + void dropEvent(QDropEvent *); +%End + void contextMenuEvent(QContextMenuEvent *); + virtual QPopupMenu *createPopupMenu() /Factory/; + void windowActivationChange(bool); + +public: + // These appeared in v3.0.2 but defined as incompatible 3.0 addons, + // until v3.1.0. v3.2.0 then defined them as internal and obsolete. +%If (Qt_3_1_0 -) + void setPasswordChar(QChar); + QChar passwordChar() const; +%End + + // Obsolete. + SIP_PYTUPLE characterAt(int) const; +%MethodCode + int res; + QChar *chr; + + Py_BEGIN_ALLOW_THREADS + chr = new QChar(); + res = sipCpp -> characterAt(a0,chr); + Py_END_ALLOW_THREADS + + sipRes = sipBuildResult(&sipIsErr,"(iB)",res,chr,sipClass_QChar,NULL); +%End + + // Obsolete. + bool getSelection(int *,int *); + +private: + QLineEdit(const QLineEdit &); +}; + +%End + + +%If (- Qt_3_0_0) + +class QLineEdit : QWidget +{ +%TypeHeaderCode +#include <qlineedit.h> +%End + +public: +%If (- Qt_2_00) + QLineEdit(QWidget * /TransferThis/ = 0,const char * = 0); +%End +%If (Qt_2_00 -) + QLineEdit(QWidget * /TransferThis/,const char * = 0); + QLineEdit(const QString &,QWidget * /TransferThis/,const char * = 0); +%End + +%If (- Qt_2_00) + const char *text() const; +%End +%If (Qt_2_00 -) + QString text() const; + + QString displayText() const; +%End + +%If (- Qt_2_00) + void setMaxLength(int); +%End +%If (Qt_2_00 -) + virtual void setMaxLength(int); +%End + int maxLength() const; + +%If (- Qt_2_00) + void setFrame(bool); +%End +%If (Qt_2_00 -) + virtual void setFrame(bool); +%End + bool frame() const; + + enum EchoMode { + Normal, + NoEcho, + Password + }; + +%If (- Qt_2_00) + void setEchoMode(EchoMode); +%End +%If (Qt_2_00 -) + virtual void setEchoMode(EchoMode); +%End + EchoMode echoMode() const; + +%If (Qt_2_1_0 -) + void setReadOnly(bool); +%End +%If (Qt_2_1_0 -) + bool isReadOnly() const; +%End + +%If (- Qt_2_00) + void setValidator(QValidator *); + QValidator *validator() const; +%End +%If (Qt_2_00 -) + virtual void setValidator(QValidator *); +%End +%If (Qt_2_00 -) + const QValidator *validator() const; +%End + + QSize sizeHint() const; +%If (Qt_2_00 -) + QSize minimumSizeHint() const; +%End +%If (Qt_2_00 -) + QSizePolicy sizePolicy() const; +%End + +%If (- Qt_2_00) + void setCursorPosition(int); +%End +%If (Qt_2_00 -) + virtual void setCursorPosition(int); +%End + int cursorPosition() const; +%If (- Qt_2_00) + bool validateAndSet(const char *,int,int,int); +%End +%If (Qt_2_00 -) + bool validateAndSet(const QString &,int,int,int); +%End + +%If (Qt_2_00 -) + int alignment() const; +%End + +%If (Qt_2_00 -) + void cursorLeft(bool,int = 1); + void cursorRight(bool,int = 1); + void cursorWordForward(bool); + void cursorWordBackward(bool); + void backspace(); + void del() /PyName=delChar/; + void home(bool); + void end(bool); + + void setEdited(bool); + bool edited() const; +%End + +%If (Qt_2_00 -) + bool hasMarkedText() const; + QString markedText() const; +%End + +%If (Qt_CLIPBOARD) + void cut(); + void copy() const; + void paste(); +%End + +%If (- Qt_2_00) + void setEnabled(bool); + void setFont(const QFont &); + void setPalette(const QPalette &); + void setSelection(int,int); +%End +%If (Qt_2_00 -) + virtual void setEnabled(bool); + virtual void setFont(const QFont &); + virtual void setPalette(const QPalette &); + virtual void setSelection(int,int); + + void setAlignment(int); +%End + +public slots: +%If (- Qt_2_00) + void setText(const char *); +%End +%If (Qt_2_00 -) + virtual void setText(const QString &); +%End + void selectAll(); + void deselect(); + void clearValidator(); +%If (- Qt_2_00) + void insert(const char *); +%End +%If (Qt_2_00 -) + void insert(const QString &); +%End + void clear(); + +signals: +%If (- Qt_2_00) + void textChanged(const char *); +%End +%If (Qt_2_00 -) + void textChanged(const QString &); +%End + void returnPressed(); + +protected: +%If (Qt_2_2_0 -) + bool event(QEvent *); +%End + void mousePressEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseDoubleClickEvent(QMouseEvent *); + void keyPressEvent(QKeyEvent *); + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); + void paintEvent(QPaintEvent *); + void resizeEvent(QResizeEvent *); + void leaveEvent(QEvent *); + void repaintArea(int,int); +%If (- Qt_2_00) + void timerEvent(QTimerEvent *); + bool event(QEvent *); + bool hasMarkedText() const; + QString markedText() const; +%End +%If (Qt_2_00 -) +%If (Qt_DRAGANDDROP) + void dragEnterEvent(QDragEnterEvent *); + void dropEvent(QDropEvent *); +%End +%End + +private: + QLineEdit(const QLineEdit &); +}; + +%End diff --git a/sip/qt/qlist.sip b/sip/qt/qlist.sip new file mode 100644 index 0000000..8b5750c --- /dev/null +++ b/sip/qt/qlist.sip @@ -0,0 +1,111 @@ +// This is the SIP interface definition for all types based on the QList +// template. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qlistbox.sip b/sip/qt/qlistbox.sip new file mode 100644 index 0000000..1f755d8 --- /dev/null +++ b/sip/qt/qlistbox.sip @@ -0,0 +1,571 @@ +// This is the SIP interface definition for QListBox, QListBoxItem, +// QListBoxPixmap and QListBoxText. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QListBox</Title> +<FuncSynopsis> + <FuncDef>bool <Function>itemYPos</Function></FuncDef> + <ParamDef>int <Parameter>index</Parameter></ParamDef> + <ParamDef>int *<Parameter>yPos</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>index</Literal> parameter and returns a tuple +containing the <Literal>bool</Literal> result and <Literal>yPos</Literal>. +(Qt v1.x) +</Para> +</Sect2> + +<Sect2><Title>QListBoxItem</Title> +<Para> +<Literal>QListBoxItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QListBoxPixmap</Title> +<Para> +<Literal>QListBoxPixmap</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QListBoxText</Title> +<Para> +<Literal>QListBoxText</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +%ModuleHeaderCode +#include <qlistbox.h> +%End + +// List box item types. +const int LBI_Undefined; +const int LBI_Text; +const int LBI_Pixmap; +const int LBI_UserDefined; + + +class QListBox : QTableView +{ +%TypeHeaderCode +#include <qlistbox.h> +%End + +public: + QListBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + + void setFont(const QFont &); + uint count() const; + void insertStrList(const QStrList *,int = -1); +// void insertStrList(const char **,int = -1,int = -1); + void insertItem(const QListBoxItem * /Transfer/,int = -1); + void insertItem(const char *,int = -1); + void insertItem(const QPixmap &,int = -1); + void inSort(const QListBoxItem *); + void inSort(const char *); + void removeItem(int); + void clear(); + const char *text(int) const; + const QPixmap *pixmap(int) const; + void changeItem(const QListBoxItem * /Transfer/,int); + void changeItem(const char *,int); + void changeItem(const QPixmap &,int); + bool autoUpdate() const; + void setAutoUpdate(bool); + int numItemsVisible() const; + void setFixedVisibleLines(int); + int currentItem() const; + void setCurrentItem(int); + void centerCurrentItem(); + int topItem() const; + void setTopItem(int); + void setBottomItem(int); + bool dragSelect() const; + void setDragSelect(bool); + bool autoScroll() const; + void setAutoScroll(bool); + bool autoScrollBar() const; + void setAutoScrollBar(bool); + bool scrollBar() const; + void setScrollBar(bool); + bool autoBottomScrollBar() const; + void setAutoBottomScrollBar(bool); + bool bottomScrollBar() const; + void setBottomScrollBar(bool); + bool smoothScrolling() const; + void setSmoothScrolling(bool); + int itemHeight() const; + int itemHeight(int) const; + long maxItemWidth() const; + bool isMultiSelection() const; + void setMultiSelection(bool); + void setSelected(int,bool); + bool isSelected(int) const; + QSize sizeHint() const; + +public slots: + void clearSelection(); + +signals: + void highlighted(int); + void selected(int); + void highlighted(const char *); + void selected(const char *); + void selectionChanged(); + +protected: + QListBoxItem *item(int) const; + bool itemVisible(int); + int cellHeight(int = 0); + void paintCell(QPainter *,int,int); + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseDoubleClickEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void keyPressEvent(QKeyEvent *); + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); + void resizeEvent(QResizeEvent *); + void timerEvent(QTimerEvent *); + int findItem(int) const; + bool itemYPos(int,int *) const; + void updateItem(int,bool = 1); + void clearList(); + void updateCellWidth(); + void toggleCurrentItem(); + +private: + QListBox(const QListBox &); +}; + +%End + +%If (Qt_2_00 -) + +class QListBox : QScrollView +{ +%TypeHeaderCode +#include <qlistbox.h> +%End + +public: + QListBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + + virtual void setFont(const QFont &); + + uint count() const; + + void insertStringList(const QStringList &,int = -1); + void insertStrList(const QStrList *,int = -1); +// void insertStrList(const QStrList &,int = -1); +// void insertStrList(const char **,int = -1,int = -1); + + void insertItem(const QListBoxItem * /Transfer/,int = -1); +%If (Qt_2_1_0 -) + void insertItem(const QListBoxItem * /Transfer/,const QListBoxItem *); +%End + void insertItem(const QString &,int = -1); + void insertItem(const QPixmap &,int = -1); +%If (Qt_2_1_0 -) + void insertItem(const QPixmap &,const QString &,int = -1); +%End + + void removeItem(int); + +%If (- Qt_3_0_0) + void clear(); +%End + + QString text(int) const; + const QPixmap *pixmap(int) const; + + void changeItem(const QListBoxItem * /Transfer/,int); + void changeItem(const QString &,int); + void changeItem(const QPixmap &,int); +%If (Qt_2_1_0 -) + void changeItem(const QPixmap &,const QString &,int); +%End + + void takeItem(const QListBoxItem * /TransferBack/); + + int numItemsVisible() const; + + int currentItem() const; +%If (Qt_2_1_0 -) + QString currentText() const; +%End + virtual void setCurrentItem(int); + virtual void setCurrentItem(QListBoxItem *); + void centerCurrentItem(); + int topItem() const; + virtual void setTopItem(int); + virtual void setBottomItem(int); + + long maxItemWidth() const; + +%If (- Qt_2_1_0) + enum SelectionMode { + Single, + Multi, + Extended + }; +%End +%If (Qt_2_1_0 -) + enum SelectionMode { + Single, + Multi, + Extended, + NoSelection + }; +%End + + virtual void setSelectionMode(SelectionMode); + SelectionMode selectionMode() const; + + void setMultiSelection(bool); + bool isMultiSelection() const; + + virtual void setSelected(QListBoxItem *,bool); + void setSelected(int,bool); + bool isSelected(int) const; + bool isSelected(QListBoxItem *) const; +%If (Qt_3_1_0 -) + QListBoxItem *selectedItem() const; +%End + + QSize sizeHint() const; + QSize minimumSizeHint() const; + + QListBoxItem *item(int) const; + int index(const QListBoxItem *) const; +%If (Qt_2_1_0 - Qt_3_0_0) + QListBoxItem *findItem(const QString &) const; +%End +%If (Qt_3_0_0 -) + QListBoxItem *findItem(const QString &, + ComparisonFlags = BeginsWith) const; +%End + + void triggerUpdate(bool); + + bool itemVisible(int); + bool itemVisible(const QListBoxItem *); + + enum LayoutMode { + FixedNumber, + FitToWidth, + FitToHeight = FitToWidth, + Variable + }; + + virtual void setColumnMode(LayoutMode /Constrained/); + virtual void setColumnMode(int); + virtual void setRowMode(LayoutMode /Constrained/); + virtual void setRowMode(int); + + LayoutMode columnMode() const; + LayoutMode rowMode() const; + + int numColumns() const; + int numRows() const; + + bool variableWidth() const; + virtual void setVariableWidth(bool); + + bool variableHeight() const; + virtual void setVariableHeight(bool); + + void viewportPaintEvent(QPaintEvent *); + + int itemHeight(int = 0) const; + QListBoxItem *itemAt(QPoint) const; + + QRect itemRect(QListBoxItem *) const; + +%If (Qt_2_1_0 -) + QListBoxItem *firstItem() const; + + void sort(bool = 1); +%End + +public slots: +%If (Qt_3_0_0 -) + void clear(); +%End + virtual void ensureCurrentVisible(); + virtual void clearSelection(); +%If (Qt_2_1_0 - Qt_3_0_0) + void selectAll(bool); + void invertSelection(); +%End +%If (Qt_3_0_0 -) + virtual void selectAll(bool); + virtual void invertSelection(); +%End + +signals: + void highlighted(int); + void selected(int); + void highlighted(const QString &); + void selected(const QString &); + void highlighted(QListBoxItem *); + void selected(QListBoxItem *); + + void selectionChanged(); +%If (Qt_2_1_0 -) + void selectionChanged(QListBoxItem *); + void currentChanged(QListBoxItem *); + void clicked(QListBoxItem *); + void clicked(QListBoxItem *,const QPoint &); + void pressed(QListBoxItem *); + void pressed(QListBoxItem *,const QPoint &); + + void doubleClicked(QListBoxItem *); + void returnPressed(QListBoxItem *); + void rightButtonClicked(QListBoxItem *,const QPoint &); + void rightButtonPressed(QListBoxItem *,const QPoint &); + void mouseButtonPressed(int,QListBoxItem *,const QPoint &); + void mouseButtonClicked(int,QListBoxItem *,const QPoint &); +%End + +%If (Qt_3_0_0 -) + void contextMenuRequested(QListBoxItem *,const QPoint &); +%End + +%If (Qt_2_1_0 -) + void onItem(QListBoxItem *); + void onViewport(); +%End + +protected: +%If (- Qt_3_0_0) + void viewportMousePressEvent(QMouseEvent *); + void viewportMouseReleaseEvent(QMouseEvent *); + void viewportMouseDoubleClickEvent(QMouseEvent *); + void viewportMouseMoveEvent(QMouseEvent *); +%End + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseDoubleClickEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); +%If (Qt_3_0_0 -) + void contentsContextMenuEvent(QContextMenuEvent *); +%End + + void keyPressEvent(QKeyEvent *); + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); + void resizeEvent(QResizeEvent *); + void showEvent(QShowEvent *); + +%If (Qt_3_0_0 -) + bool eventFilter(QObject *,QEvent *); +%End + + void updateItem(int); + void updateItem(QListBoxItem *); + + virtual void paintCell(QPainter *,int,int); + + void toggleCurrentItem(); +%If (Qt_2_2_0 -) + bool isRubberSelecting() const; +%End + + void doLayout() const; + +%If (Qt_3_0_0 -) + void windowActivationChange(bool); +%End + +protected slots: +%If (Qt_2_1_0 -) + void clearInputString(); +%End + +private: + QListBox(const QListBox &); +}; + +%End + + +class QListBoxItem +{ +%TypeHeaderCode +#include <qlistbox.h> +%End + +public: +%If (- Qt_2_00) + QListBoxItem(); +%End +%If (Qt_2_00 -) + QListBoxItem(QListBox * /TransferThis/ = 0); +%End +%If (Qt_2_1_0 -) + QListBoxItem(QListBox * /TransferThis/,QListBoxItem *); +%End + +%If (- Qt_2_00) + virtual const char *text() const; +%End +%If (Qt_2_00 -) + virtual QString text() const; +%End + virtual const QPixmap *pixmap() const; + +%If (- Qt_2_00) + virtual int height(const QListBox *) const = 0; + virtual int width(const QListBox *) const = 0; +%End +%If (Qt_2_00 -) + virtual int height(const QListBox *) const; + virtual int width(const QListBox *) const; +%End + +%If (Qt_2_00 - Qt_3_0_0) + bool selected() const; +%End +%If (Qt_2_1_0 - Qt_3_0_0) + bool current() const; +%End +%If (Qt_3_0_0 -) + bool isSelected() const; + bool isCurrent() const; +%End + +%If (Qt_2_00 -) + QListBox *listBox() const; +%End + +%If (Qt_2_1_0 -) + void setSelectable(bool); + bool isSelectable() const; + + QListBoxItem *next() const; + QListBoxItem *prev() const; +%End + +%If (Qt_3_0_0 -) + virtual int rtti() const; +%End + +protected: + virtual void paint(QPainter *) = 0; +%If (- Qt_2_00) + void setText(const char *); +%End +%If (Qt_2_00 -) + virtual void setText(const QString &); +%End +%If (Qt_2_1_0 -) + void setCustomHighlighting(bool); +%End + +private: + QListBoxItem(const QListBoxItem &); +}; + +class QListBoxText : QListBoxItem +{ +%TypeHeaderCode +#include <qlistbox.h> +%End + +public: +%If (- Qt_2_00) + QListBoxText(const char * = 0); +%End +%If (Qt_2_00 -) + QListBoxText(QListBox * /TransferThis/, + const QString & = QString::null); + QListBoxText(const QString & = QString::null); +%End +%If (Qt_2_1_0 -) + QListBoxText(QListBox * /TransferThis/,const QString &,QListBoxItem *); +%End + +%If (- Qt_2_00) + void paint(QPainter *); +%End + int height(const QListBox *) const; + int width(const QListBox *) const; + +%If (Qt_3_0_0 -) + int rtti() const; +%End + +protected: +%If (Qt_2_00 -) + void paint(QPainter *); +%End + +private: + QListBoxText(const QListBoxText &); +}; + +class QListBoxPixmap : QListBoxItem +{ +%TypeHeaderCode +#include <qlistbox.h> +%End + +public: +%If (Qt_2_00 -) + QListBoxPixmap(QListBox * /TransferThis/,const QPixmap &); +%End + QListBoxPixmap(const QPixmap &); +%If (Qt_2_1_0 -) + QListBoxPixmap(QListBox * /TransferThis/,const QPixmap &, + QListBoxItem *); + QListBoxPixmap(QListBox * /TransferThis/,const QPixmap &, + const QString &); + QListBoxPixmap(const QPixmap &,const QString &); + QListBoxPixmap(QListBox * /TransferThis/,const QPixmap &, + const QString &,QListBoxItem *); +%End + + const QPixmap *pixmap() const; +%If (Qt_2_00 -) + int height(const QListBox *) const; + int width(const QListBox *) const; +%End + +%If (Qt_3_0_0 -) + int rtti() const; +%End + +protected: + void paint(QPainter *); +%If (- Qt_2_00) + int height(const QListBox *) const; + int width(const QListBox *) const; +%End + +private: + QListBoxPixmap(const QListBoxPixmap &); +}; diff --git a/sip/qt/qlistview.sip b/sip/qt/qlistview.sip new file mode 100644 index 0000000..2028d1e --- /dev/null +++ b/sip/qt/qlistview.sip @@ -0,0 +1,770 @@ +// This is the SIP interface definition for QListView, QListViewItem, +// QCheckListItem and QListViewItemIterator. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QListView</Title> +<Para> +<Literal>QListView</Literal> is fully implemented. +</Para> +<Para> +Note that to remove a child <Literal>QListViewItem</Literal> you must first +call <Literal>takeItem()</Literal> and then <Literal>del()</Literal>. +</Para> +</Sect2> + +<Sect2><Title>QListViewItem</Title> +<Para> +<Literal>QListViewItem</Literal> is fully implemented. +</Para> +<Para> +Note that to remove a child <Literal>QListViewItem</Literal> you must first +call <Literal>takeItem()</Literal> and then <Literal>del()</Literal>. +</Para> +</Sect2> + +<Sect2><Title>QCheckListItem</Title> +<Para> +<Literal>QCheckListItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QListViewItemIterator (Qt v2+)</Title> +<Para> +<Literal>QListViewItemIterator</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +class QListViewItem +{ +%TypeHeaderCode +#include <qlistview.h> +%End + +public: + QListViewItem(QListView * /TransferThis/); + QListViewItem(QListViewItem * /TransferThis/); + QListViewItem(QListView * /TransferThis/,QListViewItem *); + QListViewItem(QListViewItem * /TransferThis/,QListViewItem *); + + QListViewItem(QListView * /TransferThis/, + const char *,const char * = 0, + const char * = 0,const char * = 0, + const char * = 0,const char * = 0, + const char * = 0,const char * = 0); + + QListViewItem(QListViewItem * /TransferThis/, + const char *,const char * = 0, + const char * = 0,const char * = 0, + const char * = 0,const char * = 0, + const char * = 0,const char * = 0); + + QListViewItem(QListView * /TransferThis/,QListViewItem *, + const char *,const char * = 0, + const char * = 0,const char * = 0, + const char * = 0,const char * = 0, + const char * = 0,const char * = 0); + + QListViewItem(QListViewItem * /TransferThis/,QListViewItem *, + const char *,const char * = 0, + const char * = 0,const char * = 0, + const char * = 0,const char * = 0, + const char * = 0,const char * = 0); + + virtual void insertItem(QListViewItem * /Transfer/); + virtual void removeItem(QListViewItem * /TransferBack/); + int height() const; + virtual void invalidateHeight(); + int totalHeight() const; + virtual int width(const QFontMetrics &,const QListView *,int) const; + void widthChanged(int = -1) const; + int depth() const; + virtual void setText(int,const char *); + virtual const char *text(int) const; + virtual void setPixmap(int,const QPixmap &); + virtual const QPixmap *pixmap(int) const; + virtual const char *key(int,bool) const; + virtual void sortChildItems(int,bool); + int childCount() const; + bool isOpen() const; + virtual void setOpen(bool); + virtual void setup(); + virtual void setSelected(bool); + bool isSelected() const; + virtual void paintCell(QPainter *,const QColorGroup &,int,int,int); + virtual void paintBranches(QPainter *,const QColorGroup &,int,int,int, + GUIStyle); + virtual void paintFocus(QPainter *,const QColorGroup &,const QRect &); + QListViewItem *firstChild() const; + QListViewItem *nextSibling() const; + QListViewItem *parent() const; + QListViewItem *itemAbove(); + QListViewItem *itemBelow(); + int itemPos() const; + QListView *listView() const; + virtual void setSelectable(bool); + bool isSelectable() const; + virtual void setExpandable(bool); + bool isExpandable(); + void repaint() const; + +protected: + virtual void enforceSortOrder() const; + virtual void setHeight(int); + virtual void activate(); +}; + +%End + +%If (Qt_2_00 -) + +class QListViewItem : Qt +{ +%TypeHeaderCode +#include <qlistview.h> +%End + +public: + QListViewItem(QListView * /TransferThis/); + QListViewItem(QListViewItem * /TransferThis/); + QListViewItem(QListView * /TransferThis/,QListViewItem *); + QListViewItem(QListViewItem * /TransferThis/,QListViewItem *); + + QListViewItem(QListView * /TransferThis/, + QString,QString = QString::null, + QString = QString::null,QString = QString::null, + QString = QString::null,QString = QString::null, + QString = QString::null,QString = QString::null); + + QListViewItem(QListViewItem * /TransferThis/, + QString,QString = QString::null, + QString = QString::null,QString = QString::null, + QString = QString::null,QString = QString::null, + QString = QString::null,QString = QString::null); + + QListViewItem(QListView * /TransferThis/,QListViewItem *, + QString,QString = QString::null, + QString = QString::null,QString = QString::null, + QString = QString::null,QString = QString::null, + QString = QString::null,QString = QString::null); + + QListViewItem(QListViewItem * /TransferThis/,QListViewItem *, + QString,QString = QString::null, + QString = QString::null,QString = QString::null, + QString = QString::null,QString = QString::null, + QString = QString::null,QString = QString::null); + + virtual void insertItem(QListViewItem * /Transfer/); + virtual void takeItem(QListViewItem * /TransferBack/); + + int height() const; + virtual void invalidateHeight(); + int totalHeight() const; + virtual int width(const QFontMetrics &,const QListView *,int) const; + void widthChanged(int = -1) const; + int depth() const; + + virtual void setText(int,const QString &); + virtual QString text(int) const; + + virtual void setPixmap(int,const QPixmap &); + virtual const QPixmap *pixmap(int) const; + + virtual QString key(int,bool) const; +%If (Qt_3_0_0 -) + virtual int compare(QListViewItem *,int,bool) const; +%End + virtual void sortChildItems(int,bool); + + int childCount() const; + + bool isOpen() const; + virtual void setOpen(bool); + virtual void setup(); + + virtual void setSelected(bool); + bool isSelected() const; + + virtual void paintCell(QPainter *,const QColorGroup &,int,int,int); +%If (- Qt_3_0_0) + virtual void paintBranches(QPainter *,const QColorGroup &,int,int,int, + GUIStyle); +%End +%If (Qt_3_0_0 -) + virtual void paintBranches(QPainter *,const QColorGroup &,int,int,int); +%End + virtual void paintFocus(QPainter *,const QColorGroup &,const QRect &); + + QListViewItem *firstChild() const; + QListViewItem *nextSibling() const; + QListViewItem *parent() const; + + QListViewItem *itemAbove(); + QListViewItem *itemBelow(); + + int itemPos() const; + + QListView *listView() const; + + virtual void setSelectable(bool); + bool isSelectable() const; + + virtual void setExpandable(bool); + bool isExpandable(); + + void repaint() const; + +%If (Qt_2_1_0 - Qt_3_0_0) + void sort(); +%End +%If (Qt_3_0_0 -) + virtual void sort(); +%End +%If (Qt_2_2_0 -) + void moveItem(QListViewItem *); +%End + +%If (Qt_3_0_0 -) + virtual void setDragEnabled(bool); + virtual void setDropEnabled(bool); + bool dragEnabled() const; + bool dropEnabled() const; + virtual bool acceptDrop(const QMimeSource *) const; + + void setVisible(bool); + bool isVisible() const; + + virtual void setRenameEnabled(int,bool); + bool renameEnabled(int) const; + virtual void startRename(int); + + virtual void setEnabled(bool); + bool isEnabled() const; + + virtual int rtti() const; + + virtual void setMultiLinesEnabled(bool); + bool multiLinesEnabled() const; +%End + +protected: + virtual void enforceSortOrder() const; + virtual void setHeight(int); + virtual void activate(); + +%If (Qt_2_1_0 -) + bool activatedPos(QPoint &); +%End +%If (Qt_3_0_0 -) + virtual void dropped(QDropEvent *); + virtual void dragEntered(); + virtual void dragLeft(); + virtual void okRename(int); + virtual void cancelRename(int); + + void ignoreDoubleClick(); +%End +}; + +%End + + +class QListView : QScrollView +{ +%TypeHeaderCode +#include <qlistview.h> +%End + +public: +%If (Qt_2_2_0 - Qt_3_0_0) + QListView(QWidget * /TransferThis/,const char *,WFlags); +%End +%If (- Qt_3_0_0) + QListView(QWidget * /TransferThis/ = 0,const char * = 0); +%End +%If (Qt_3_0_0 -) + QListView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); +%End + + int treeStepSize() const; + virtual void setTreeStepSize(int); + + virtual void insertItem(QListViewItem * /Transfer/); +%If (Qt_2_00 -) + virtual void takeItem(QListViewItem * /TransferBack/); +%End + +%If (- Qt_3_0_0) + virtual void clear(); +%End + QHeader *header() const; + +%If (- Qt_2_00) + virtual int addColumn(const char *,int = -1); + virtual void setColumnText(int,const char *); + const char *columnText(int) const; +%End +%If (Qt_2_00 -) + virtual int addColumn(const QString &,int = -1); + virtual int addColumn(const QIconSet &,const QString &,int = -1); +%If (Qt_2_1_0 -) + void removeColumn(int); +%End + virtual void setColumnText(int,const QString &); + virtual void setColumnText(int,const QIconSet &,const QString &); + QString columnText(int) const; +%End + virtual void setColumnWidth(int,int); + int columnWidth(int) const; + + enum WidthMode + { + Manual, + Maximum + }; + + virtual void setColumnWidthMode(int,WidthMode); + WidthMode columnWidthMode(int) const; +%If (Qt_2_1_0 -) + int columns() const; +%End + + virtual void setColumnAlignment(int,int); + int columnAlignment(int) const; + + void show(); + + QListViewItem *itemAt(const QPoint &) const; + QRect itemRect(const QListViewItem *) const; + int itemPos(const QListViewItem *); + + void ensureItemVisible(const QListViewItem *); + + void repaintItem(const QListViewItem *) const; + + virtual void setMultiSelection(bool); + bool isMultiSelection() const; + +%If (Qt_2_1_0 -) + enum SelectionMode { + Single, + Multi, + Extended, + NoSelection + }; + + void setSelectionMode(SelectionMode); + SelectionMode selectionMode() const; +%End + +%If (Qt_2_1_0 -) + virtual void clearSelection(); +%End + virtual void setSelected(QListViewItem *,bool); +%If (Qt_3_2_0 -) + void setSelectionAnchor(QListViewItem *); +%End + bool isSelected(QListViewItem *) const; +%If (Qt_2_1_0 -) + QListViewItem *selectedItem() const; +%End + virtual void setOpen(QListViewItem *,bool); + bool isOpen(QListViewItem *) const; + + virtual void setCurrentItem(QListViewItem *); + QListViewItem *currentItem() const; + + QListViewItem *firstChild() const; +%If (Qt_3_0_0 -) + QListViewItem *lastItem() const; +%End + + int childCount() const; + + virtual void setAllColumnsShowFocus(bool); + bool allColumnsShowFocus() const; + + virtual void setItemMargin(int); + int itemMargin() const; + + virtual void setRootIsDecorated(bool); + bool rootIsDecorated() const; + + virtual void setSorting(int,bool = 1); +%If (Qt_3_1_0 -) + int sortColumn() const; +%End +%If (Qt_3_2_0 -) + void setSortColumn(int); + SortOrder sortOrder() const; + void setSortOrder(SortOrder); +%End +%If (Qt_3_0_0 -) + virtual void sort(); +%End +%If (Qt_2_1_0 - Qt_3_0_0) + void sort(); +%End + +%If (- Qt_2_00) + void setStyle(GUIStyle); + void setFont(const QFont &); + void setPalette(const QPalette &); +%End +%If (Qt_2_00 -) + virtual void setFont(const QFont &); + virtual void setPalette(const QPalette &); +%End + + bool eventFilter(QObject *,QEvent *); + + QSize sizeHint() const; +%If (Qt_2_00 -) + QSize minimumSizeHint() const; +%End + +%If (Qt_2_1_0 -) + void setShowSortIndicator(bool); + bool showSortIndicator() const; +%End +%If (Qt_3_0_0 -) + virtual void setShowToolTips(bool); + bool showToolTips() const; + + enum ResizeMode { + NoColumn, + AllColumns, + LastColumn + }; + + virtual void setResizeMode(ResizeMode); + ResizeMode resizeMode() const; + + QListViewItem *findItem(const QString &,int, + ComparisonFlags = ExactMatch | CaseSensitive) const; + + enum RenameAction { + Accept, + Reject + }; + + virtual void setDefaultRenameAction(RenameAction); + RenameAction defaultRenameAction() const; + bool isRenaming() const; +%End + +%If (Qt_3_2_0 -) + void hideColumn(int); +%End + +public slots: +%If (Qt_3_0_0 -) + virtual void clear(); +%End +%If (Qt_2_1_0 -) + void invertSelection(); + void selectAll(bool); + void setContentsPos(int,int); +%End + void triggerUpdate(); +%If (Qt_3_2_0 -) + void adjustColumn(int); +%End + +signals: + void selectionChanged(); + void selectionChanged(QListViewItem *); + void currentChanged(QListViewItem *); +%If (Qt_2_1_0 -) + void clicked(QListViewItem *); + void clicked(QListViewItem *,const QPoint &,int); + void pressed(QListViewItem *); + void pressed(QListViewItem *,const QPoint &,int); +%End + + void doubleClicked(QListViewItem *); +%If (Qt_3_2_0 -) + void doubleClicked(QListViewItem *,const QPoint &,int); +%End + void returnPressed(QListViewItem *); +%If (Qt_3_0_0 -) + void spacePressed(QListViewItem *); +%End + void rightButtonClicked(QListViewItem *,const QPoint &,int); + void rightButtonPressed(QListViewItem *,const QPoint &,int); +%If (Qt_2_1_0 -) + void mouseButtonPressed(int,QListViewItem *,const QPoint &,int); + void mouseButtonClicked(int,QListViewItem *,const QPoint &,int); +%End + +%If (Qt_3_0_0 -) + void contextMenuRequested(QListViewItem *,const QPoint &,int); +%End + +%If (Qt_2_1_0 -) + void onItem(QListViewItem *); + void onViewport(); + + void expanded(QListViewItem *); + void collapsed(QListViewItem *); +%End +%If (Qt_3_0_0 -) + void dropped(QDropEvent *); + void itemRenamed(QListViewItem *,int,const QString &); + void itemRenamed(QListViewItem *,int); +%End + +protected: +%If (- Qt_2_00) + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void mouseDoubleClickEvent(QMouseEvent *); +%End +%If (Qt_2_00 -) + void contentsMousePressEvent(QMouseEvent *); + void contentsMouseReleaseEvent(QMouseEvent *); + void contentsMouseMoveEvent(QMouseEvent *); + void contentsMouseDoubleClickEvent(QMouseEvent *); +%End +%If (Qt_3_0_0 -) + void contentsContextMenuEvent(QContextMenuEvent *); + void contentsDragEnterEvent(QDragEnterEvent *); + void contentsDragMoveEvent(QDragMoveEvent *); + void contentsDragLeaveEvent(QDragLeaveEvent *); + void contentsDropEvent(QDropEvent *); + virtual QDragObject *dragObject(); + virtual void startDrag(); +%End + + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); + + void keyPressEvent(QKeyEvent *); + + void resizeEvent(QResizeEvent *); +%If (Qt_3_0_0 -) + void viewportResizeEvent(QResizeEvent *); +%End + +%If (Qt_2_00 -) + void showEvent(QShowEvent *); +%End + + void drawContentsOffset(QPainter *,int,int,int,int,int,int); + + virtual void paintEmptyArea(QPainter *,const QRect &); +%If (Qt_2_00 -) + void styleChange(QStyle &); +%End +%If (- Qt_3_0_0) + void enabledChange(bool); +%End +%If (Qt_3_0_0 -) + void windowActivationChange(bool); +%End + +protected slots: + void updateContents(); +%If (Qt_2_00 -) + void doAutoScroll(); +%End + +private: +%If (Qt_2_1_0 -) + QListView(const QWidget &); +%End +}; + + +class QCheckListItem : QListViewItem +{ +%TypeHeaderCode +#include <qlistview.h> +%End + +public: + enum Type { + RadioButton, + CheckBox, + Controller, +%If (Qt_3_2_0 -) + RadioButtonController, + CheckBoxController, +%End + }; + +%If (Qt_3_2_0 -) + enum ToggleState { + Off, + NoChange, + On + }; +%End + +%If (Qt_3_2_0 -) + QCheckListItem(QCheckListItem * /TransferThis/,const QString &, + Type = RadioButtonController); + QCheckListItem(QCheckListItem * /TransferThis/,QListViewItem *, + const QString &,Type = RadioButtonController); + QCheckListItem(QListViewItem * /TransferThis/,const QString &, + Type = RadioButtonController); + QCheckListItem(QListViewItem * /TransferThis/,QListViewItem *, + const QString &,Type = RadioButtonController); + QCheckListItem(QListView * /TransferThis/,const QString &, + Type = RadioButtonController); + QCheckListItem(QListView * /TransferThis/,QListViewItem *, + const QString &,Type = RadioButtonController); +%End +%If (Qt_2_00 - Qt_3_2_0) + QCheckListItem(QCheckListItem * /TransferThis/,const QString &, + Type = Controller); +%If (Qt_3_1_0 -) + QCheckListItem(QCheckListItem * /TransferThis/,QListViewItem *, + const QString &,Type = Controller); +%End + QCheckListItem(QListViewItem * /TransferThis/,const QString &, + Type = Controller); +%If (Qt_3_1_0 -) + QCheckListItem(QListViewItem * /TransferThis/,QListViewItem *, + const QString &,Type = Controller); +%End + QCheckListItem(QListView * /TransferThis/,const QString &, + Type = Controller); +%If (Qt_3_1_0 -) + QCheckListItem(QListView * /TransferThis/,QListViewItem *, + const QString &,Type = Controller); +%End +%End +%If (Qt_2_00 -) + QCheckListItem(QListViewItem * /TransferThis/,const QString &, + const QPixmap &); + QCheckListItem(QListView * /TransferThis/,const QString &, + const QPixmap &); +%End +%If (- Qt_2_00) + QCheckListItem(QCheckListItem * /TransferThis/,const char *, + Type = Controller); + QCheckListItem(QListView * /TransferThis/,const char *, + Type = Controller); + QCheckListItem(QListViewItem * /TransferThis/,const char *, + const QPixmap &); + QCheckListItem(QListView * /TransferThis/,const char *, + const QPixmap &); +%End + + void paintCell(QPainter *,const QColorGroup &,int,int,int); +%If (Qt_2_00 -) + virtual void paintFocus(QPainter *,const QColorGroup &,const QRect &); +%End + int width(const QFontMetrics &,const QListView *,int) const; + void setup(); + +%If (- Qt_2_00) + void setOn(bool); +%End +%If (Qt_2_00 -) + virtual void setOn(bool); +%End + bool isOn() const; + Type type() const; +%If (- Qt_2_00) + const char *text() const; + const char *text(int) const; +%End +%If (Qt_2_00 -) + QString text() const; + QString text(int) const; +%End + +%If (Qt_3_2_0 -) + void setTristate(bool); + bool isTristate() const; + ToggleState state() const; + void setState(ToggleState); +%End + +%If (Qt_3_0_0 -) + int rtti() const; +%End + +protected: +%If (- Qt_3_0_0) + void paintBranches(QPainter *,const QColorGroup &,int,int,int,GUIStyle); +%End + void activate(); + void turnOffChild(); + virtual void stateChange(bool); +}; + + +%If (Qt_2_00 -) + +class QListViewItemIterator +{ +%TypeHeaderCode +#include <qlistview.h> +%End + +public: +%If (Qt_3_2_0 -) + enum IteratorFlag { + Visible, + Invisible, + Selected, + Unselected, + Selectable, + NotSelectable, + DragEnabled, + DragDisabled, + DropEnabled, + DropDisabled, + Expandable, + NotExpandable, + Checked, + NotChecked + }; +%End + + QListViewItemIterator(); + QListViewItemIterator(QListViewItem *); +%If (Qt_3_2_0 -) + QListViewItemIterator(QListViewItem *,int); +%End + + QListViewItemIterator(const QListViewItemIterator &); + QListViewItemIterator(QListView *); +%If (Qt_3_2_0 -) + QListViewItemIterator(QListView *,int); +%End + + QListViewItemIterator &operator+=(int); + QListViewItemIterator &operator-=(int); + + QListViewItem *current() const; +}; + +%End diff --git a/sip/qt/qlocale.sip b/sip/qt/qlocale.sip new file mode 100644 index 0000000..71f3e6d --- /dev/null +++ b/sip/qt/qlocale.sip @@ -0,0 +1,537 @@ +// This is the SIP interface definition for QLocale. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QLocale (Qt v3.3+)</Title> +<FuncSynopsis> + <FuncDef>short <Function>toShort</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>short</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>ushort <Function>toUShort</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>ushort</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>toInt</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>int</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>uint <Function>toUInt</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>uint</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>toLong</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>long</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>Q_ULONG <Function>toULong</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>ulong</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>float <Function>toFloat</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>float</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>double <Function>toDouble</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>double</Literal> result and the +<Literal>ok</Literal> value. +</Para> +</Sect2> +%End + + +%If (Qt_3_3_0 -) + +class QLocale +{ +%TypeHeaderCode +#include <qlocale.h> +%End + +public: + enum Language { + C, + Abkhazian, + Afan, + Afar, + Afrikaans, + Albanian, + Amharic, + Arabic, + Armenian, + Assamese, + Aymara, + Azerbaijani, + Bashkir, + Basque, + Bengali, + Bhutani, + Bihari, + Bislama, + Breton, + Bulgarian, + Burmese, + Byelorussian, + Cambodian, + Catalan, + Chinese, + Corsican, + Croatian, + Czech, + Danish, + Dutch, + English, + Esperanto, + Estonian, + Faroese, + FijiLanguage, + Finnish, + French, + Frisian, + Gaelic, + Galician, + Georgian, + German, + Greek, + Greenlandic, + Guarani, + Gujarati, + Hausa, + Hebrew, + Hindi, + Hungarian, + Icelandic, + Indonesian, + Interlingua, + Interlingue, + Inuktitut, + Inupiak, + Irish, + Italian, + Japanese, + Javanese, + Kannada, + Kashmiri, + Kazakh, + Kinyarwanda, + Kirghiz, + Korean, + Kurdish, + Kurundi, + Laothian, + Latin, + Latvian, + Lingala, + Lithuanian, + Macedonian, + Malagasy, + Malay, + Malayalam, + Maltese, + Maori, + Marathi, + Moldavian, + Mongolian, + NauruLanguage, + Nepali, + Norwegian, + Occitan, + Oriya, + Pashto, + Persian, + Polish, + Portuguese, + Punjabi, + Quechua, + RhaetoRomance, + Romanian, + Russian, + Samoan, + Sangho, + Sanskrit, + Serbian, + SerboCroatian, + Sesotho, + Setswana, + Shona, + Sindhi, + Singhalese, + Siswati, + Slovak, + Slovenian, + Somali, + Spanish, + Sundanese, + Swahili, + Swedish, + Tagalog, + Tajik, + Tamil, + Tatar, + Telugu, + Thai, + Tibetan, + Tigrinya, + TongaLanguage, + Tsonga, + Turkish, + Turkmen, + Twi, + Uigur, + Ukrainian, + Urdu, + Uzbek, + Vietnamese, + Volapuk, + Welsh, + Wolof, + Xhosa, + Yiddish, + Yoruba, + Zhuang, + Zulu, + LastLanguage + }; + + enum Country { + AnyCountry, + Afghanistan, + Albania, + Algeria, + AmericanSamoa, + Andorra, + Angola, + Anguilla, + Antarctica, + AntiguaAndBarbuda, + Argentina, + Armenia, + Aruba, + Australia, + Austria, + Azerbaijan, + Bahamas, + Bahrain, + Bangladesh, + Barbados, + Belarus, + Belgium, + Belize, + Benin, + Bermuda, + Bhutan, + Bolivia, + BosniaAndHerzegowina, + Botswana, + BouvetIsland, + Brazil, + BritishIndianOceanTerritory, + BruneiDarussalam, + Bulgaria, + BurkinaFaso, + Burundi, + Cambodia, + Cameroon, + Canada, + CapeVerde, + CaymanIslands, + CentralAfricanRepublic, + Chad, + Chile, + China, + ChristmasIsland, + CocosIslands, + Colombia, + Comoros, + DemocraticRepublicOfCongo, + PeoplesRepublicOfCongo, + CookIslands, + CostaRica, + IvoryCoast, + Croatia, + Cuba, + Cyprus, + CzechRepublic, + Denmark, + Djibouti, + Dominica, + DominicanRepublic, + EastTimor, + Ecuador, + Egypt, + ElSalvador, + EquatorialGuinea, + Eritrea, + Estonia, + Ethiopia, + FalklandIslands, + FaroeIslands, + FijiCountry, + Finland, + France, + MetropolitanFrance, + FrenchGuiana, + FrenchPolynesia, + FrenchSouthernTerritories, + Gabon, + Gambia, + Georgia, + Germany, + Ghana, + Gibraltar, + Greece, + Greenland, + Grenada, + Guadeloupe, + Guam, + Guatemala, + Guinea, + GuineaBissau, + Guyana, + Haiti, + HeardAndMcDonaldIslands, + Honduras, + HongKong, + Hungary, + Iceland, + India, + Indonesia, + Iran, + Iraq, + Ireland, + Israel, + Italy, + Jamaica, + Japan, + Jordan, + Kazakhstan, + Kenya, + Kiribati, + DemocraticRepublicOfKorea, + RepublicOfKorea, + Kuwait, + Kyrgyzstan, + Lao, + Latvia, + Lebanon, + Lesotho, + Liberia, + LibyanArabJamahiriya, + Liechtenstein, + Lithuania, + Luxembourg, + Macau, + Macedonia, + Madagascar, + Malawi, + Malaysia, + Maldives, + Mali, + Malta, + MarshallIslands, + Martinique, + Mauritania, + Mauritius, + Mayotte, + Mexico, + Micronesia, + Moldova, + Monaco, + Mongolia, + Montserrat, + Morocco, + Mozambique, + Myanmar, + Namibia, + NauruCountry, + Nepal, + Netherlands, + NetherlandsAntilles, + NewCaledonia, + NewZealand, + Nicaragua, + Niger, + Nigeria, + Niue, + NorfolkIsland, + NorthernMarianaIslands, + Norway, + Oman, + Pakistan, + Palau, + PalestinianTerritory, + Panama, + PapuaNewGuinea, + Paraguay, + Peru, + Philippines, + Pitcairn, + Poland, + Portugal, + PuertoRico, + Qatar, + Reunion, + Romania, + RussianFederation, + Rwanda, + SaintKittsAndNevis, + StLucia, + StVincentAndTheGrenadines, + Samoa, + SanMarino, + SaoTomeAndPrincipe, + SaudiArabia, + Senegal, + Seychelles, + SierraLeone, + Singapore, + Slovakia, + Slovenia, + SolomonIslands, + Somalia, + SouthAfrica, + SouthGeorgiaAndTheSouthSandwichIslands, + Spain, + SriLanka, + StHelena, + StPierreAndMiquelon, + Sudan, + Suriname, + SvalbardAndJanMayenIslands, + Swaziland, + Sweden, + Switzerland, + SyrianArabRepublic, + Taiwan, + Tajikistan, + Tanzania, + Thailand, + Togo, + Tokelau, + TongaCountry, + TrinidadAndTobago, + Tunisia, + Turkey, + Turkmenistan, + TurksAndCaicosIslands, + Tuvalu, + Uganda, + Ukraine, + UnitedArabEmirates, + UnitedKingdom, + UnitedStates, + UnitedStatesMinorOutlyingIslands, + Uruguay, + Uzbekistan, + Vanuatu, + VaticanCityState, + Venezuela, + VietNam, + BritishVirginIslands, + USVirginIslands, + WallisAndFutunaIslands, + WesternSahara, + Yemen, + Yugoslavia, + Zambia, + Zimbabwe, + LastCountry + }; + + QLocale(); + QLocale(const QString &); + QLocale(Language,Country = AnyCountry); + QLocale(const QLocale &); + + Language language() const; + Country country() const; + QString name() const; + + short toShort(const QString &,bool * = 0) const; + ushort toUShort(const QString &,bool * = 0) const; + int toInt(const QString &,bool * = 0) const; + uint toUInt(const QString &,bool * = 0) const; + Q_LONG toLong(const QString &,bool * = 0) const; + Q_ULONG toULong(const QString &,bool * = 0) const; + //Q_LLONG toLongLong(const QString &,bool * = 0) const; + //Q_ULLONG toULongLong(const QString &,bool * = 0) const; + float toFloat(const QString &,bool * = 0) const; + double toDouble(const QString &,bool * = 0) const; + + //QString toString(short) const; + //QString toString(ushort) const; + QString toString(int /Constrained/) const; + //QString toString(uint) const; + //QString toString(Q_LONG) const; + //QString toString(Q_ULONG) const; + //QString toString(Q_LLONG) const; + //QString toString(Q_ULLONG) const; + //QString toString(float,char = 'g',int = 6) const; + QString toString(double,char = 'g',int = 6) const; + + static QString languageToString(Language); + static QString countryToString(Country); + static void setDefault(const QLocale &); + + static QLocale c(); + static QLocale system(); +}; + +%End diff --git a/sip/qt/qmainwindow.sip b/sip/qt/qmainwindow.sip new file mode 100644 index 0000000..11a2f12 --- /dev/null +++ b/sip/qt/qmainwindow.sip @@ -0,0 +1,289 @@ +// This is the SIP interface definition for QMainWindow. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qmemarray.sip b/sip/qt/qmemarray.sip new file mode 100644 index 0000000..9415a57 --- /dev/null +++ b/sip/qt/qmemarray.sip @@ -0,0 +1,168 @@ +// This is the SIP interface definition for all types based on the QMemArray +// template. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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 +}; + +template<TYPE> +%MappedType QMemArray<TYPE> +{ +%TypeHeaderCode +#include <qmemarray.h> +%End + +%ConvertFromTypeCode + // Create the list. + PyObject *l; + + if ((l = PyList_New(sipCpp->size())) == NULL) + return NULL; + + // Set the list elements. + for (uint i = 0; i < sipCpp->size(); ++i) + { + TYPE *t = new TYPE(sipCpp->at(i)); + PyObject *tobj; + + if ((tobj = sipConvertFromNewInstance(t, sipClass_TYPE, sipTransferObj)) == NULL) + { + Py_DECREF(l); + delete t; + + return NULL; + } + + PyList_SET_ITEM(l, i, tobj); + } + + return l; +%End + +%ConvertToTypeCode + // Check the type if that is all that is required. + if (sipIsErr == NULL) + { + if (!PyList_Check(sipPy)) + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_TYPE, SIP_NOT_NONE)) + return 0; + + return 1; + } + + QMemArray<TYPE> *ql = new QMemArray<TYPE>; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + int state; + TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); + + if (*sipIsErr) + { + sipReleaseInstance(t, sipClass_TYPE, state); + + delete ql; + return 0; + } + + uint idx = ql->size(); + ql->resize(idx + 1); + ql->at(idx) = *t; + + sipReleaseInstance(t, sipClass_TYPE, state); + } + + *sipCppPtr = ql; + + return sipGetState(sipTransferObj); +%End +}; + +%End diff --git a/sip/qt/qmenubar.sip b/sip/qt/qmenubar.sip new file mode 100644 index 0000000..5f61458 --- /dev/null +++ b/sip/qt/qmenubar.sip @@ -0,0 +1,118 @@ +// This is the SIP interface definition for QMenuBar. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QMenuBar</Title> +<Para> +<Literal>QMenuBar</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QMenuBar : QFrame, QMenuData +{ +%TypeHeaderCode +#include <qmenubar.h> +%End + +public: + QMenuBar(QWidget * /TransferThis/ = 0,const char * = 0); + + void updateItem(int); + + void show(); + void hide(); + + bool eventFilter(QObject *,QEvent *); + + int heightForWidth(int) const; + + enum Separator { + Never = 0, + InWindowsStyle = 1 + }; + + Separator separator() const; +%If (- Qt_2_00) + void setSeparator(Separator); +%End +%If (Qt_2_00 -) + virtual void setSeparator(Separator); +%End + +%If (Qt_2_1_0 -) + void setDefaultUp(bool); + bool isDefaultUp() const; +%End + +%If (Qt_2_00 -) + bool customWhatsThis() const; +%End + +%If (Qt_2_1_0 -) + QSize sizeHint() const; + QSize minimumSize() const; + QSize minimumSizeHint() const; +%End + +%If (Qt_2_2_0 -) + void activateItemAt(int); +%End + +signals: + void activated(int); + void highlighted(int); + +protected: + void drawContents(QPainter *); + void fontChange(const QFont &); + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void keyPressEvent(QKeyEvent *); +%If (Qt_2_1_0 -) + void focusInEvent(QFocusEvent *); +%End +%If (Qt_2_00 -) + void focusOutEvent(QFocusEvent *); +%End + void resizeEvent(QResizeEvent *); + void leaveEvent(QEvent *); + void menuContentsChanged(); + void menuStateChanged(); +%If (Qt_2_00 -) + void styleChange(QStyle &); +%End +%If (Qt_3_0_0 -) + int itemAtPos(const QPoint &); + void hidePopups(); + QRect itemRect(int); +%End + +private: + void menuInsPopup(QPopupMenu *); + void menuDelPopup(QPopupMenu *); + void frameChanged(); + + QMenuBar(const QMenuBar &); +}; diff --git a/sip/qt/qmenudata.sip b/sip/qt/qmenudata.sip new file mode 100644 index 0000000..ac5dab0 --- /dev/null +++ b/sip/qt/qmenudata.sip @@ -0,0 +1,291 @@ +// This is the SIP interface definition for QMenuData, QCustomMenuItem and +// QMenuItem. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QMenuData</Title> +<FuncSynopsis> + <FuncDef>QMenuItem *<Function>findItem</Function></FuncDef> + <ParamDef>int <Parameter>id</Parameter></ParamDef> + <ParamDef>QMenuData **<Parameter>parent</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> + +<Sect2><Title>QCustomMenuItem (Qt v2.1+)</Title> +<Para> +<Literal>QCustomMenuItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QMenuItem</Title> +<Para> +<Literal>QMenuItem</Literal> is an internal Qt class. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +// Even though this is an internal class, uic for Qt v3.1.0 generates code that +// uses it. +class QMenuItem +{ +%TypeHeaderCode +#include <qmenudata.h> +%End + +public: + QMenuItem(); + + void setText(const QString &); + +private: + QMenuItem(const QMenuItem &); +}; + +%End + + +%If (- Qt_3_0_0) + +class QMenuItem; + +%End + + +class QMenuData +{ +%TypeHeaderCode +#include <qmenudata.h> +%End + +public: + QMenuData(); + + uint count(); + +%If (- Qt_2_00) + int insertItem(const char *,SIP_RXOBJ_CON,SIP_SLOT_CON(int),int = 0); + int insertItem(const QPixmap &,SIP_RXOBJ_CON,SIP_SLOT_CON(int),int = 0); + int insertItem(const QPixmap &,const char *,SIP_RXOBJ_CON, + SIP_SLOT_CON(int),int = 0); + int insertItem(const char *,SIP_RXOBJ_CON,SIP_SLOT_CON(int),int,int, + int = -1); + int insertItem(const QPixmap &,SIP_RXOBJ_CON,SIP_SLOT_CON(int),int,int, + int = -1); + int insertItem(const QPixmap&,const char *,SIP_RXOBJ_CON,SIP_SLOT_CON(int), + int,int,int = -1); +%End +%If (Qt_2_00 - Qt_3_0_0) + int insertItem(const QString &,SIP_RXOBJ_CON,SIP_SLOT_CON(int),int = 0, + int = -1,int = -1); + int insertItem(const QIconSet &,const QString &,SIP_RXOBJ_CON, + SIP_SLOT_CON(int),int = 0,int = -1,int = -1); + int insertItem(const QPixmap &,SIP_RXOBJ_CON,SIP_SLOT_CON(int),int = 0, + int = -1,int = -1); + int insertItem(const QIconSet &,const QPixmap &,SIP_RXOBJ_CON, + SIP_SLOT_CON(int),int = 0,int = -1,int = -1); +%End +%If (Qt_3_0_0 -) + int insertItem(const QString &,SIP_RXOBJ_CON,SIP_SLOT_CON(int), + const QKeySequence & = QKeySequence(0),int = -1, + int = -1); + int insertItem(const QIconSet &,const QString &,SIP_RXOBJ_CON, + SIP_SLOT_CON(int), + const QKeySequence & = QKeySequence(0),int = -1, + int = -1); + int insertItem(const QPixmap &,SIP_RXOBJ_CON,SIP_SLOT_CON(int), + const QKeySequence & = QKeySequence(0),int = -1, + int = -1); + int insertItem(const QIconSet &,const QPixmap &,SIP_RXOBJ_CON, + SIP_SLOT_CON(int), + const QKeySequence & = QKeySequence(0),int = -1, + int = -1); +%End + +%If (- Qt_2_00) + int insertItem(const char *,int = -1,int = -1); + int insertItem(const char *,QPopupMenu *,int = -1,int = -1); + int insertItem(const QPixmap &,const char *,int = -1,int = -1); + int insertItem(const QPixmap &,const char *,QPopupMenu *,int = -1, + int = -1); +%End +%If (Qt_2_00 -) + int insertItem(const QString &,int = -1,int = -1); + int insertItem(const QIconSet &,const QString &,int = -1,int = -1); + + int insertItem(const QString &,QPopupMenu *,int = -1,int = -1); + int insertItem(const QIconSet &,const QString &,QPopupMenu *,int = -1, + int = -1); +%End + + int insertItem(const QPixmap &,int = -1,int = -1); +%If (Qt_2_00 -) + int insertItem(const QIconSet &,const QPixmap &,int = -1,int = -1); +%End + int insertItem(const QPixmap &,QPopupMenu *,int = -1,int = -1); +%If (Qt_2_00 -) + int insertItem(const QIconSet &,const QPixmap &,QPopupMenu *,int = -1, + int = -1); +%End + +%If (Qt_2_1_0 -) + int insertItem(QWidget * /Transfer/,int = -1,int = -1); + int insertItem(const QIconSet &,QCustomMenuItem * /Transfer/,int = -1, + int = -1); + int insertItem(QCustomMenuItem * /Transfer/,int = -1,int = -1); +%End + +%If (Qt_2_1_0 -) + int insertSeparator(int = -1); +%End +%If (- Qt_2_1_0) + void insertSeparator(int = -1); +%End + + void removeItem(int); + void removeItemAt(int); + void clear(); + +%If (- Qt_3_0_0) + int accel(int) const; + void setAccel(int,int); +%End +%If (Qt_3_0_0 -) + QKeySequence accel(int) const; + void setAccel(const QKeySequence &,int); +%End + +%If (- Qt_2_00) + const char *text(int) const; +%End +%If (Qt_2_00 -) + QIconSet *iconSet(int) const; + QString text(int) const; +%End + QPixmap *pixmap(int) const; + +%If (Qt_2_00 -) + void setWhatsThis(int,const QString &); + QString whatsThis(int) const; +%End + +%If (- Qt_2_00) + void changeItem(const char *,int); + void changeItem(const QPixmap &,int); + void changeItem(const QPixmap &,const char *,int); +%End +%If (Qt_2_00 -) + void changeItem(int,const QString &); + void changeItem(int,const QPixmap &); + void changeItem(int,const QIconSet &,const QString &); + void changeItem(int,const QIconSet &,const QPixmap &); +%End + +%If (Qt_3_0_0 -) + bool isItemActive(int) const; +%End + + bool isItemEnabled(int) const; + void setItemEnabled(int,bool); + + bool isItemChecked(int) const; + void setItemChecked(int,bool); + +%If (Qt_3_1_0 -) + bool isItemVisible(int) const; + void setItemVisible(int,bool); +%End + + virtual void updateItem(int); + + int indexOf(int) const; + int idAt(int) const; +%If (- Qt_2_00) + void setId(int,int); +%End +%If (Qt_2_00 -) + virtual void setId(int,int); +%End + + bool connectItem(int,SIP_RXOBJ_CON,SIP_SLOT_CON(int)); + bool disconnectItem(int,SIP_RXOBJ_DIS,SIP_SLOT_DIS(int)); + +%If (Qt_2_1_0 -) + bool setItemParameter(int,int); + int itemParameter(int) const; +%End + + QMenuItem *findItem(int) const; +// QMenuItem *findItem(int,QMenuData **) const; +%If (Qt_3_0_0 -) +// Not documented in the Qt3 API (the similar findPopup() was internal in +// Qt2). +// QMenuItem *findItem(QPopupMenu *,int * = 0) const; +%End + +%If (Qt_2_2_0 - Qt_3_0_0) + void activateItemAt(int); +%End +%If (Qt_3_0_0 -) + virtual void activateItemAt(int); +%End + +protected: + virtual void menuContentsChanged(); + virtual void menuStateChanged(); + virtual void menuInsPopup(QPopupMenu *); + virtual void menuDelPopup(QPopupMenu *); +%If (- Qt_3_0_0) +// Documented as internal in the Qt2 API. +// QMenuItem *findPopup(QPopupMenu *,int * = 0); +%End + +private: + QMenuData(const QMenuData &); +}; + + +%If (Qt_2_1_0 -) + +class QCustomMenuItem : Qt +{ +%TypeHeaderCode +#include <qmenudata.h> +%End + +public: + QCustomMenuItem(); + + virtual bool fullSpan() const; + virtual bool isSeparator() const; + virtual void setFont(const QFont &); + virtual void paint(QPainter *,const QColorGroup &,bool,bool,int,int, + int,int) = 0; + virtual QSize sizeHint() = 0; +}; + +%End diff --git a/sip/qt/qmessagebox.sip b/sip/qt/qmessagebox.sip new file mode 100644 index 0000000..16e635e --- /dev/null +++ b/sip/qt/qmessagebox.sip @@ -0,0 +1,204 @@ +// This is the SIP interface definition for QMessageBox. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QMessageBox</Title> +<Para> +<Literal>QMessageBox</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_MESSAGEBOX) + +class QMessageBox : QDialog +{ +%TypeHeaderCode +#include <qmessagebox.h> +%End + +public: + enum Icon { + NoIcon, + Information, + Warning, + Critical, +%If (Qt_3_2_0 -) + Question, +%End + }; + + QMessageBox(QWidget * /TransferThis/ = 0,const char * = 0); +%If (- Qt_2_00) + QMessageBox(const char *,const char *,Icon,int,int,int, + QWidget * /TransferThis/ = 0,const char * = 0,bool = 1, + WFlags = 0); +%End +%If (Qt_2_00 -) + QMessageBox(const QString &,const QString &,Icon,int,int,int, + QWidget * /TransferThis/ = 0,const char * = 0,bool = 1, + WFlags = WStyle_DialogBorder); +%End + + enum { + Ok, + Cancel, + Yes, + No, + Abort, + Retry, + Ignore, +%If (Qt_3_2_0 -) + YesAll, + NoAll, +%End + ButtonMask, + Default, + Escape, + FlagMask + }; + +%If (- Qt_2_00) + static int information(QWidget *,const char *,const char *,int,int = 0, + int = 0) /ReleaseGIL/; + static int information(QWidget *,const char *,const char *, + const char * = "OK",const char * = 0, + const char * = 0,int = 0,int = -1) /ReleaseGIL/; + + static int warning(QWidget *,const char *,const char *,int,int, + int = 0) /ReleaseGIL/; + static int warning(QWidget *,const char *,const char *, + const char * = "OK",const char * = 0, + const char * = 0,int = 0,int = -1) /ReleaseGIL/; + + static int critical(QWidget *,const char *,const char *,int,int, + int = 0) /ReleaseGIL/; + static int critical(QWidget *,const char *,const char *, + const char * = "OK",const char * = 0, + const char * = 0,int = 0,int = -1) /ReleaseGIL/; + + static void about(QWidget *,const char *,const char *) /ReleaseGIL/; + static void aboutQt(QWidget *,const char * = 0) /ReleaseGIL/; + + const char *text() const; + void setText(const char *); +%End +%If (Qt_2_00 -) + static int information(QWidget *,const QString &,const QString &,int, + int = 0,int = 0) /ReleaseGIL/; + static int information(QWidget *,const QString &,const QString &, + const QString & = QString::null, + const QString & = QString::null, + const QString & = QString::null, + int = 0,int = -1) /ReleaseGIL/; + +%If (Qt_3_2_0 -) + static int question(QWidget *,const QString &,const QString &,int, + int = 0,int = 0) /ReleaseGIL/; + static int question(QWidget *,const QString &,const QString &, + const QString & = QString::null, + const QString & = QString::null, + const QString & = QString::null, + int = 0,int = -1) /ReleaseGIL/; +%End + + static int warning(QWidget *,const QString &,const QString &,int, + int = 0,int = 0) /ReleaseGIL/; + static int warning(QWidget *,const QString &,const QString &, + const QString & = QString::null, + const QString & = QString::null, + const QString & = QString::null,int = 0, + int = -1) /ReleaseGIL/; + + static int critical(QWidget *,const QString &,const QString &,int, + int = 0,int = 0) /ReleaseGIL/; + static int critical(QWidget *,const QString &,const QString &, + const QString & = QString::null, + const QString & = QString::null, + const QString & = QString::null,int = 0, + int = -1) /ReleaseGIL/; + + static void about(QWidget *,const QString &, + const QString &) /ReleaseGIL/; + static void aboutQt(QWidget *, + const QString & = QString::null) /ReleaseGIL/; + + QString text() const; + void setText(const QString &); +%End + + Icon icon() const; + + void setIcon(Icon); +%If (Qt_2_00 -) + void setIcon(const QPixmap &); +%End + + const QPixmap *iconPixmap() const; + void setIconPixmap(const QPixmap &); + +%If (- Qt_2_00) + const char *buttonText(int) const; + void setButtonText(int,const char *); +%End +%If (Qt_2_00 -) + QString buttonText(int) const; + void setButtonText(int,const QString &); +%End + + void adjustSize(); + +%If (- Qt_3_0_0) + static QPixmap standardIcon(Icon,GUIStyle); +%End +%If (Qt_3_0_0 -) + static QPixmap standardIcon(Icon); +%End + +%If (Qt_2_1_0 -) + TextFormat textFormat() const; + void setTextFormat(TextFormat); +%End + +%If (- Qt_2_00) + void setStyle(GUIStyle); +%End + +protected: + void resizeEvent(QResizeEvent *); +%If (Qt_3_0_0 -) + void showEvent(QShowEvent *); +%End +%If (Qt_3_2_0 -) + void closeEvent(QCloseEvent *); +%End + void keyPressEvent(QKeyEvent *); +%If (Qt_2_00 -) + void styleChanged(QStyle &); +%End + +private: + QMessageBox(const QMessageBox &); +}; + +%End diff --git a/sip/qt/qmetaobject.sip b/sip/qt/qmetaobject.sip new file mode 100644 index 0000000..5cf7703 --- /dev/null +++ b/sip/qt/qmetaobject.sip @@ -0,0 +1,170 @@ +// This is the SIP interface definition for QMetaObject and QMetaProperty. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QMetaObject</Title> +<FuncSynopsis> + <FuncDef>int <Function>numClassInfo</Function> const</FuncDef> + <ParamDef>bool <Parameter>super</Parameter> = FALSE</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>const QClassInfo *<Function>classInfo</Function> const</FuncDef> + <ParamDef>bool <Parameter>super</Parameter> = FALSE</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> + +<Sect2><Title>QMetaProperty</Title> +<Para> +<Literal>QMetaProperty</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QMetaObject +{ +%TypeHeaderCode +#include <qmetaobject.h> +%End + +public: + const char *className() const; + const char *superClassName() const; + QMetaObject *superClass() const; + +%If (Qt_2_1_0 -) + bool inherits(const char *) const; + + int numSlots(bool = 0) const; + int numSignals(bool = 0) const; + + QStrList slotNames(bool = 0) const; + QStrList signalNames(bool = 0) const; + + //int numClassInfo(bool = 0) const; + //QClassInfo *classInfo(int,bool = 0) const; + const char *classInfo(const char *,bool = 0) const; + +%If (Qt_PROPERTIES) +%If (Qt_3_0_0 -) + const QMetaProperty *property(int,bool = 0) const; + int findProperty(const char *,bool = 0) const; + int numProperties(bool = 0) const; +%End +%If (- Qt_3_0_0) + const QMetaProperty *property(const char *,bool = 0) const; +%End + + QStrList propertyNames(bool = 0) const; +%End +%End + +private: + QMetaObject(const QMetaObject &); +}; + + +%If (Qt_PROPERTIES) +%If (Qt_2_1_0 -) + +class QMetaProperty +{ +%TypeHeaderCode +#include <qmetaobject.h> +%End + +public: + const char *type() const; + const char *name() const; + +%If (Qt_2_2_0 -) + bool writable() const; +%End +%If (- Qt_3_0_0) + bool writeable() const; +%End + bool isValid() const; + + bool isSetType() const; + bool isEnumType() const; + QStrList enumKeys() const; + + int keyToValue(const char *) const; + const char *valueToKey(int) const; + int keysToValue(const QStrList &) const; + QStrList valueToKeys(int) const; + +%If (Qt_3_1_0 -) + bool designable(QObject * = 0) const; + bool scriptable(QObject * = 0) const; + bool stored(QObject * = 0) const; +%End +%If (Qt_3_0_0 - Qt_3_1_0) + bool designable(QObject *) const; + bool scriptable(QObject *) const; + bool stored(QObject *) const; +%End + +%If (Qt_3_0_0 -) + bool reset(QObject *) const; +%End + +%If (- Qt_3_0_0) + bool stored(QObject *) const; + bool designable() const; + + enum Specification { + Unspecified, + Class, + Reference, + Pointer, + ConstCharStar + }; + + enum Flags { + UnresolvedEnum, + UnresolvedSet, + UnresolvedEnumOrSet, + UnresolvedStored, + UnresolvedDesignable, + NotDesignable, + NotStored, +%If (Qt_2_2_0 -) + StdSet, +%End + }; + + bool testFlags(uint) const; + void setFlags(uint); + void clearFlags(uint); +%End +}; + +%End +%End diff --git a/sip/qt/qmime.sip b/sip/qt/qmime.sip new file mode 100644 index 0000000..cb5abd8 --- /dev/null +++ b/sip/qt/qmime.sip @@ -0,0 +1,104 @@ +// This is the SIP interface definition for the Qt v2+ QMimeSource, +// QMimeSourceFactory and QWindowsMime classes. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QMimeSource (Qt v2+)</Title> +<Para> +<Literal>QMimeSource</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QMimeSourceFactory (Qt v2+)</Title> +<Para> +<Literal>QMimeSourceFactory</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QWindowsMime (Qt v3+)</Title> +<Para> +<Literal>QWindowsMime</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QMimeSource +{ +%TypeHeaderCode +#include <qmime.h> +%End + +public: +%If (Qt_3_0_0 -) + QMimeSource(); +%End + + virtual const char *format(int = 0) const = 0; + virtual bool provides(const char *) const; + virtual QByteArray encodedData(const char *) const = 0; +%If (Qt_3_0_0 -) + int serialNumber() const; +%End +}; + + +class QMimeSourceFactory +{ +%TypeHeaderCode +#include <qmime.h> +%End + +public: + QMimeSourceFactory(); + + static QMimeSourceFactory *defaultFactory(); + static void setDefaultFactory(QMimeSourceFactory * /Transfer/); +%If (Qt_3_0_0 -) + static QMimeSourceFactory *takeDefaultFactory() /TransferBack/; + static void addFactory(QMimeSourceFactory *); + static void removeFactory(QMimeSourceFactory *); +%End + + virtual const QMimeSource *data(const QString &) const; + virtual QString makeAbsolute(const QString &,const QString &) const; + const QMimeSource *data(const QString &,const QString &) const; + + virtual void setText(const QString &,const QString &); + virtual void setImage(const QString &,const QImage &); + virtual void setPixmap(const QString &,const QPixmap &); + virtual void setData(const QString &,QMimeSource * /Transfer/); + virtual void setFilePath(const QStringList &); +%If (Qt_2_1_0 -) + virtual QStringList filePath() const; + void addFilePath(const QString &); +%End + virtual void setExtensionType(const QString &,const char *); +}; + +%End + + +%If (Qt_3_0_0 -) +%End diff --git a/sip/qt/qmotifplusstyle.sip b/sip/qt/qmotifplusstyle.sip new file mode 100644 index 0000000..18aaa3e --- /dev/null +++ b/sip/qt/qmotifplusstyle.sip @@ -0,0 +1,150 @@ +// This is the SIP interface definition for QMotifPlusStyle. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qmotifstyle.sip b/sip/qt/qmotifstyle.sip new file mode 100644 index 0000000..d749745 --- /dev/null +++ b/sip/qt/qmotifstyle.sip @@ -0,0 +1,168 @@ +// This is the SIP interface definition for QMotifStyle. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QMotifStyle (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef> + <ParamDef>const QTabBar *<Parameter>sb</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMin</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMax</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderLength</Parameter></ParamDef> + <ParamDef>int &<Parameter>buttonDim</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>sb</Literal> parameter and returns a tuple of the +<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>, +<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values. +(Qt v2) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>tabbarMetrics</Function></FuncDef> + <ParamDef>const QTabBar *<Parameter>t</Parameter></ParamDef> + <ParamDef>int &<Parameter>hframe</Parameter></ParamDef> + <ParamDef>int &<Parameter>vframe</Parameter></ParamDef> + <ParamDef>int &<Parameter>overlap</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>t</Literal> parameter and returns a tuple of the +<Literal>hframe</Literal>, <Literal>vframe</Literal> and +<Literal>overlap</Literal> values. (Qt v2) +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) +%If (Qt_STYLE_MOTIF) + +class QMotifStyle : QCommonStyle +{ +%TypeHeaderCode +#include <qmotifstyle.h> +%End + +public: + QMotifStyle(bool = 0); + + void setUseHighlightColors(bool); + bool useHighlightColors() const; + + void polish(QPalette &); + void polish(QWidget *); + void polish(QApplication *); + +%If (- Qt_3_0_0) + void drawButton(QPainter *,int,int,int,int,const QColorGroup &,bool = 0, + const QBrush * = 0); + void drawBevelButton(QPainter *,int,int,int,int,const QColorGroup &, + bool = 0,const QBrush * = 0); + void drawFocusRect(QPainter *,const QRect &,const QColorGroup &, + const QColor * =0,bool = 0); + +%If (Qt_2_1_0 -) + void drawComboButton(QPainter *,int,int,int,int,const QColorGroup &, + bool = 0,bool = 0,bool = 1,const QBrush * = 0); + QRect comboButtonRect(int,int,int,int); + QRect comboButtonFocusRect(int,int,int,int); +%End + + void drawPushButton(QPushButton *,QPainter *); + void drawArrow(QPainter *,ArrowType,bool,int,int,int,int, + const QColorGroup &,bool,const QBrush * = 0); + QSize indicatorSize() const; + void drawIndicator(QPainter *,int,int,int,int,const QColorGroup &,int, + bool = 0,bool = 1); + QSize exclusiveIndicatorSize() const; + void drawExclusiveIndicator(QPainter *,int,int,int,int, + const QColorGroup &,bool,bool = 0,bool = 1); + void drawExclusiveIndicatorMask(QPainter *,int,int,int,int,bool); + + void tabbarMetrics(const QTabBar *,int &,int &,int &); + + void drawTab(QPainter *,const QTabBar *,QTab *,bool); + void drawTabMask(QPainter *,const QTabBar *,QTab *,bool); + + void scrollBarMetrics(const QScrollBar *,int &,int &,int &,int &); + + void drawScrollBarControls(QPainter *,const QScrollBar *,int,uint,uint); + int sliderLength() const; + void drawSlider(QPainter *,int,int,int,int,const QColorGroup &, + Orientation,bool,bool); + void drawSliderGroove(QPainter *,int,int,int,int,const QColorGroup &, + QCOORD,Orientation); + int splitterWidth() const; + void drawSplitter(QPainter *,int,int,int,int,const QColorGroup &, + Orientation); + void drawCheckMark(QPainter *,int,int,int,int,const QColorGroup &,bool, + bool); + void polishPopupMenu(QPopupMenu *); + int extraPopupMenuItemWidth(bool,int,QMenuItem *,const QFontMetrics &); + int popupMenuItemHeight(bool,QMenuItem *,const QFontMetrics &); + void drawPopupMenuItem(QPainter *,bool,int,int,QMenuItem *, + const QPalette &,bool,bool,int,int,int,int); +%End +%If (Qt_3_0_0 -) + void polishPopupMenu(QPopupMenu *); + + void drawPrimitive(PrimitiveElement,QPainter *,const QRect &, + const QColorGroup &,SFlags = Style_Default, + const QStyleOption & = QStyleOption()) const; + + void drawControl(ControlElement,QPainter *,const QWidget *, + const QRect &,const QColorGroup &, + SFlags = Style_Default, + const QStyleOption & = QStyleOption()) const; + + void drawComplexControl(ComplexControl,QPainter *,const QWidget *, + const QRect &,const QColorGroup &, + SFlags = Style_Default,SCFlags = SC_All, + SCFlags = SC_None, + const QStyleOption & = QStyleOption()) const; + + QRect querySubControlMetrics(ComplexControl,const QWidget *,SubControl, + const QStyleOption & = QStyleOption()) const; + + int pixelMetric(PixelMetric,const QWidget * = 0) const; + + QSize sizeFromContents(ContentsType,const QWidget *,const QSize &, + const QStyleOption & = QStyleOption()) const; + + QRect subRect(SubRect,const QWidget *) const; + + QPixmap stylePixmap(StylePixmap,const QWidget * = 0, + const QStyleOption & = QStyleOption()) const; + + int styleHint(StyleHint,const QWidget *, + const QStyleOption & = QStyleOption(), + QStyleHintReturn * = 0) const; +%End + +private: +%If (Qt_3_0_0 -) + QMotifStyle(const QMotifStyle &); +%End +}; + +%End +%End diff --git a/sip/qt/qmovie.sip b/sip/qt/qmovie.sip new file mode 100644 index 0000000..ba4f3e9 --- /dev/null +++ b/sip/qt/qmovie.sip @@ -0,0 +1,109 @@ +// This is the SIP interface definition for QMovie. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QMovie</Title> +<FuncSynopsis> + <FuncDef><Function>QMovie</Function></FuncDef> + <ParamDef>QDataSource *<Parameter>src</Parameter></ParamDef> + <ParamDef>int <Parameter>bufsize</Parameter> = 1024</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>pushData</Function></FuncDef> + <ParamDef>const uchar *<Parameter>data</Parameter></ParamDef> + <ParamDef>int <Parameter>length</Parameter></ParamDef> +</FuncSynopsis> +<Para> +<Literal>length</Literal> is derived from <Literal>data</Literal> and not +passed as a parameter. (Qt v2.2.0+) +</Para> +</Sect2> +%End + + +class QMovie +{ +%TypeHeaderCode +#include <qmovie.h> +%End + +public: + QMovie(); +%If (Qt_2_2_0 -) + QMovie(int); +%End +// QMovie(QDataSource *,int = 1024); +%If (- Qt_2_00) + QMovie(const char *,int = 1024); +%End +%If (Qt_2_00 -) + QMovie(const QString &,int = 1024); +%End + QMovie(QByteArray,int = 1024); + QMovie(const QMovie &); + +%If (Qt_2_2_0 -) + int pushSpace() const; + void pushData(const uchar * /Array/,int /ArraySize/); +%End + const QColor &backgroundColor() const; + void setBackgroundColor(const QColor &); + const QRect &getValidRect() const; + const QPixmap &framePixmap() const; +%If (Qt_2_2_0 -) + const QImage &frameImage() const; +%End + bool isNull() const; + int frameNumber() const; + int steps() const; + bool paused() const; + bool finished() const; + bool running() const; + void unpause(); + void pause(); + void step(); + void step(int); + void restart(); + int speed() const; + void setSpeed(int); + void connectResize(SIP_RXOBJ_CON,SIP_SLOT_CON(const QSize &)); + void disconnectResize(SIP_RXOBJ_DIS,SIP_SLOT_DIS(const QSize &)); + void connectUpdate(SIP_RXOBJ_CON,SIP_SLOT_CON(const QRect &)); + void disconnectUpdate(SIP_RXOBJ_DIS,SIP_SLOT_DIS(const QRect &)); + + enum Status { + SourceEmpty = -2, + UnrecognizedFormat = -1, + Paused = 1, + EndOfFrame = 2, + EndOfLoop = 3, + EndOfMovie = 4, + SpeedChanged = 5 + }; + + void connectStatus(SIP_RXOBJ_CON,SIP_SLOT_CON(int)); + void disconnectStatus(SIP_RXOBJ_DIS,SIP_SLOT_DIS(int)); +}; diff --git a/sip/qt/qmultilinedit.sip b/sip/qt/qmultilinedit.sip new file mode 100644 index 0000000..1d407ba --- /dev/null +++ b/sip/qt/qmultilinedit.sip @@ -0,0 +1,374 @@ +// This is the SIP interface definition for QMultiLineEdit. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QMultiLineEdit</Title> +<FuncSynopsis> + <FuncDef>void <Function>cursorPosition</Function> const</FuncDef> + <ParamDef>int *<Parameter>line</Parameter></ParamDef> + <ParamDef>int *<Parameter>col</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the <Literal>line</Literal> and +<Literal>col</Literal> values. (Qt v1.x, Qt v2.x) +</Para> + +<FuncSynopsis> + <FuncDef>virtual void <Function>del</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>delChar</Literal> in Python. (Qt v1.x, Qt v2.x) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>getCursorPosition</Function> const</FuncDef> + <ParamDef>int *<Parameter>line</Parameter></ParamDef> + <ParamDef>int *<Parameter>col</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the <Literal>line</Literal> and +<Literal>col</Literal> values. (Qt v1.x, Qt v2.x) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>getMarkedRegion</Function></FuncDef> + <ParamDef>int *<Parameter>line1</Parameter></ParamDef> + <ParamDef>int *<Parameter>col1</Parameter></ParamDef> + <ParamDef>int *<Parameter>line2</Parameter></ParamDef> + <ParamDef>int *<Parameter>col2</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the bool result and the +<Literal>line1</Literal>, <Literal>col1</Literal>, <Literal>line2</Literal> and +<Literal>col2</Literal> values. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QMultiLineEdit : QTextEdit +{ +%TypeHeaderCode +#include <qmultilineedit.h> +%End + +public: + QMultiLineEdit(QWidget * /TransferThis/ = 0,const char * = 0); + + QString textLine(int) const; + int numLines() const; + + virtual void insertLine(const QString &,int = -1); +%If (Qt_3_1_0 -) + virtual void insertAt(const QString &,int,int); + virtual void insertAt(const QString &,int,int,bool); +%End +%If (- Qt_3_1_0) + virtual void insertAt(const QString &,int,int,bool = 0); +%End + virtual void removeLine(int); + +%If (Qt_3_1_0 -) + virtual void setCursorPosition(int,int); + virtual void setCursorPosition(int,int,bool); +%End +%If (- Qt_3_1_0) + virtual void setCursorPosition(int,int,bool = 0); +%End + bool atBeginning() const; + bool atEnd() const; + + void setAlignment(int); + int alignment() const; + + void setEdited(bool); + bool edited() const; + + bool hasMarkedText() const; + QString markedText() const; + + void cursorWordForward(bool); + void cursorWordBackward(bool); + + bool autoUpdate() const; + virtual void setAutoUpdate(bool); + + int totalWidth() const; + int totalHeight() const; + + int maxLines() const; + void setMaxLines(int); + +public slots: + void deselect(); + +protected: + QPoint cursorPoint() const; + virtual void insertAndMark(const QString &,bool); + virtual void newLine(); + virtual void killLine(); + virtual void pageUp(bool = 0); + virtual void pageDown(bool = 0); + virtual void cursorLeft(bool = 0,bool = 1); + virtual void cursorRight(bool = 0,bool = 1); + virtual void cursorUp(bool = 0); + virtual void cursorDown(bool = 0); + virtual void backspace(); + virtual void home(bool = 0); + virtual void end(bool = 0); + bool getMarkedRegion(int *,int *,int *,int *) const; + int lineLength(int) const; + +private: + QMultiLineEdit(const QMultiLineEdit &); +}; + +%End + + +%If (- Qt_3_0_0) + +class QMultiLineEdit : QTableView +{ +%TypeHeaderCode +#include <qmultilinedit.h> +%End + +public: + QMultiLineEdit(QWidget * /TransferThis/ = 0,const char * = 0); + + int numLines() const; + virtual void removeLine(int); + + void cursorPosition(int *,int *) const; + void getCursorPosition(int *,int *) const; + + bool atBeginning() const; + bool atEnd() const; + int maxLineWidth() const; + bool autoUpdate() const; + bool isReadOnly() const; + bool isOverwriteMode() const; + QString text() const; + +%If (- Qt_2_00) + const char *textLine(int) const; + void setFont(const QFont &); + virtual void insertLine(const char *,int = -1); + virtual void insertAt(const char *,int,int); + void setCursorPosition(int,int,bool = 0); + void setFixedVisibleLines(int); + void setAutoUpdate(bool); +%End + +%If (Qt_2_00 -) + QString textLine(int) const; + QSize sizeHint() const; + QSize minimumSizeHint() const; + QSizePolicy sizePolicy() const; + virtual void setFont(const QFont &); + virtual void insertLine(const QString &,int = -1); + virtual void insertAt(const QString &,int,int,bool = 0); + virtual void setCursorPosition(int,int,bool = 0); + virtual void setFixedVisibleLines(int); + void setAlignment(int); + int alignment() const; + virtual void setValidator(const QValidator *); + const QValidator *validator() const; + void setEdited(bool); + bool edited() const; + void cursorWordForward(bool); + void cursorWordBackward(bool); + + enum EchoMode + { + Normal, + NoEcho, + Password + }; + + virtual void setEchoMode(EchoMode); + EchoMode echoMode() const; + virtual void setMaxLineLength(int); + int maxLineLength() const; + virtual void setMaxLines(int); + int maxLines() const; + virtual void setHMargin(int); + int hMargin() const; + virtual void setSelection(int,int,int,int); + virtual void setAutoUpdate(bool); +%End + +%If (Qt_2_1_0 -) + void setMaxLength(int); + int maxLength() const; + + enum WordWrap { + NoWrap, + WidgetWidth, + FixedPixelWidth, + FixedColumnWidth + }; + + void setWordWrap(WordWrap); + WordWrap wordWrap() const; + void setWrapColumnOrWidth(int); + int wrapColumnOrWidth() const; + + enum WrapPolicy { + AtWhiteSpace, + Anywhere + }; + + void setWrapPolicy(WrapPolicy); + WrapPolicy wrapPolicy() const; + void setUndoEnabled(bool); + bool isUndoEnabled() const; + void setUndoDepth(int); + int undoDepth() const; + int length() const; + static void setDefaultTabStop(int); + static int defaultTabStop(); +%End + +public slots: + void clear(); + void deselect(); + void selectAll(); +%If (Qt_CLIPBOARD) + void paste(); +%If (Qt_2_2_0 -) + void pasteSubType(const QCString &); +%End + void cut(); +%End +%If (- Qt_2_00) + void setText(const char *); + void setReadOnly(bool); + void setOverwriteMode(bool); + void append(const char *); + void copyText(); +%End +%If (Qt_2_00 -) + virtual void setText(const QString &); + virtual void setReadOnly(bool); + virtual void setOverwriteMode(bool); + void append(const QString &); +%If (Qt_CLIPBOARD) + void copyText() const; + void copy() const; +%End + void insert(const QString &); +%End +%If (Qt_2_1_0 -) + void undo(); + void redo(); +%End + +signals: + void textChanged(); + void returnPressed(); +%If (Qt_2_1_0 -) + void undoAvailable(bool); + void redoAvailable(bool); +%End +%If (Qt_2_2_0 -) + void copyAvailable(bool); +%End + +protected: + void paintCell(QPainter *,int,int); +%If (Qt_2_2_0 -) + bool event(QEvent *); +%End + void mousePressEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseDoubleClickEvent(QMouseEvent *); +%If (Qt_2_00 -) + void wheelEvent(QWheelEvent *); +%End + void keyPressEvent(QKeyEvent *); + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); + void timerEvent(QTimerEvent *); + void leaveEvent(QEvent *); + void resizeEvent(QResizeEvent *); +%If (Qt_DRAGANDDROP) +%If (Qt_2_00 -) + void dragMoveEvent(QDragMoveEvent *); +%End +%If (Qt_2_1_0 -) + void dragEnterEvent(QDragEnterEvent *); +%End +%If (Qt_2_00 -) + void dropEvent(QDropEvent *); + void dragLeaveEvent(QDragLeaveEvent *); +%End +%End + bool hasMarkedText() const; + QString markedText() const; + int textWidth(int); +%If (- Qt_2_00) + int textWidth(QString *); +%End +%If (Qt_2_00 -) + int textWidth(const QString &); +%End + QPoint cursorPoint() const; +%If (- Qt_2_00) + virtual void insertChar(char); +%End +%If (Qt_2_00 -) + virtual void insert(const QString &,bool); +%End + virtual void newLine(); + virtual void killLine(); + virtual void pageUp(bool = 0); + virtual void pageDown(bool = 0); + virtual void cursorLeft(bool = 0,bool = 1); + virtual void cursorRight(bool = 0,bool = 1); + virtual void cursorUp(bool = 0); + virtual void cursorDown(bool = 0); + virtual void backspace(); + virtual void del() /PyName=delChar/; + virtual void home(bool = 0); + virtual void end(bool = 0); + bool getMarkedRegion(int *,int *,int *,int *) const; + int lineLength(int) const; + QString *getString(int) const; +%If (Qt_2_1_0 -) + bool isEndOfParagraph(int) const; +%End +%If (Qt_2_00 -) + QString stringShown(int) const; + void insertChar(QChar); +%End + +private: + QMultiLineEdit(const QMultiLineEdit &); +}; + +%End diff --git a/sip/qt/qmutex.sip b/sip/qt/qmutex.sip new file mode 100644 index 0000000..1f9ff86 --- /dev/null +++ b/sip/qt/qmutex.sip @@ -0,0 +1,104 @@ +// This is the SIP interface definition for QMutex and QMutexLocker. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QMutex (Qt v2.2+)</Title> +<Para> +<Literal>QMutex</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QMutexLocker (Qt v3.1+)</Title> +<Para> +<Literal>QMutexLocker</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_THREAD_SUPPORT) + +%If (Qt_3_0_0 -) + +class QMutex +{ +%TypeHeaderCode +#include <qmutex.h> +%End + +public: + QMutex(bool = 0); + + void lock() /ReleaseGIL/; + void unlock(); + bool locked(); + bool tryLock(); + +private: + QMutex(const QMutex &); +}; + +%End + + +%If (Qt_2_2_0 - Qt_3_0_0) + +class QMutex : Qt +{ +%TypeHeaderCode +#include <qthread.h> +%End + +public: + QMutex(bool = 0); + + void lock() /ReleaseGIL/; + void unlock(); + bool locked(); + +private: + QMutex(const QMutex &); +}; + +%End + + +%If (Qt_3_1_0 -) + +class QMutexLocker +{ +%TypeHeaderCode +#include <qmutex.h> +%End + +public: + QMutexLocker(QMutex *) /ReleaseGIL/; + + QMutex *mutex() const; + +private: + QMutexLocker(const QMutexLocker &); +}; + +%End + +%End diff --git a/sip/qt/qnamespace.sip b/sip/qt/qnamespace.sip new file mode 100644 index 0000000..cddd3b5 --- /dev/null +++ b/sip/qt/qnamespace.sip @@ -0,0 +1,903 @@ +// This is the SIP interface definition for the Qt v2+ Qt class. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>Qt (Qt v2+)</Title> +<Para> +<Literal>Qt</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class Qt +{ +%TypeHeaderCode +#include <qnamespace.h> +%End + +public: + static const QColor &color0; + static const QColor &color1; + static const QColor &black; + static const QColor &white; + static const QColor &darkGray; + static const QColor &gray; + static const QColor &lightGray; + static const QColor &red; + static const QColor &green; + static const QColor &blue; + static const QColor &cyan; + static const QColor &magenta; + static const QColor &yellow; + static const QColor &darkRed; + static const QColor &darkGreen; + static const QColor &darkBlue; + static const QColor &darkCyan; + static const QColor &darkMagenta; + static const QColor &darkYellow; + + enum ButtonState { + NoButton, + LeftButton, + RightButton, + MidButton, + MouseButtonMask, + ShiftButton, + ControlButton, + AltButton, +%If (Qt_3_0_0 -) + MetaButton, +%End + KeyButtonMask, +%If (Qt_2_2_0 -) + Keypad, +%End + }; + + enum Orientation { + Horizontal, + Vertical + }; + +%If (Qt_3_2_0 -) + enum SortOrder { + Ascending, + Descending + }; +%End + +%If (- Qt_3_0_0) + enum AlignmentFlags { + AlignLeft, + AlignRight, + AlignHCenter, + AlignTop, + AlignBottom, + AlignVCenter, + AlignCenter, + + SingleLine, + DontClip, + ExpandTabs, + ShowPrefix, + WordBreak + }; +%End + +%If (Qt_3_0_0 -) + enum AlignmentFlags { + AlignAuto, + AlignLeft, + AlignRight, + AlignHCenter, + AlignJustify, + AlignHorizontal_Mask, + AlignTop, + AlignBottom, + AlignVCenter, + AlignVertical_Mask, + AlignCenter + }; + + enum TextFlags { + SingleLine, + DontClip, + ExpandTabs, + ShowPrefix, + WordBreak, + BreakAnywhere, + DontPrint, // Internal + NoAccel + }; + + typedef uint WState; + + // WidgetState isn't part of the public API but is used in code + // generated by uic/pyuic, so we implement the minimum required. + enum WidgetState { + WState_Polished + }; +%End + + typedef uint WFlags; + + enum WidgetFlags { + WType_TopLevel, +%If (- Qt_3_0_0) + WType_Modal, +%End +%If (Qt_3_0_0 -) + WType_Dialog, +%End + WType_Popup, + WType_Desktop, + WType_Mask, + + WStyle_Customize, + WStyle_NormalBorder, + WStyle_DialogBorder, + WStyle_NoBorder, + WStyle_Title, + WStyle_SysMenu, + WStyle_Minimize, + WStyle_Maximize, + WStyle_MinMax, + WStyle_Tool, + WStyle_StaysOnTop, +%If (- Qt_3_0_0) + WStyle_Dialog, +%End +%If (- Qt_2_1_0) + WStyle_Reserved2, + WStyle_Reserved3, +%End +%If (Qt_2_1_0 -) + WStyle_ContextHelp, +%End +%If (Qt_2_1_0 - Qt_3_0_0) + WStyle_NoBorderEx, +%End +%If (Qt_3_0_0 -) + WStyle_Reserved, +%End + WStyle_Mask, + + WDestructiveClose, + WPaintDesktop, + WPaintUnclipped, + WPaintClever, + WResizeNoErase, // Obsolete + WMouseNoMask, +%If (- Qt_3_0_0) + WNorthWestGravity, +%End +%If (Qt_3_0_0 -) + WStaticContents, +%End +%If (Qt_2_1_0 -) + WRepaintNoErase, // Obsolete + WX11BypassWM, +%End +%If (Qt_3_0_0 -) + WWinOwnDC, +%End +%If (Qt_2_2_0 -) + WGroupLeader, +%End +%If (Qt_3_0_0 -) + WShowModal, + WNoMousePropagation, + WSubWindow, +%End +%If (Qt_3_1_0 -) + WStyle_Splash, +%End +%If (Qt_3_2_0 -) + WNoAutoErase, +%End + }; + + +%If (Qt_3_3_0 -) + + enum WindowState { + WindowNoState, + WindowMinimized, + WindowMaximized, + WindowFullScreen, + WindowActive + }; + +%End + + enum ImageConversionFlags { + ColorMode_Mask, + AutoColor, + ColorOnly, + MonoOnly, + + AlphaDither_Mask, + ThresholdAlphaDither, + OrderedAlphaDither, + DiffuseAlphaDither, + + Dither_Mask, + DiffuseDither, + OrderedDither, + ThresholdDither, + + DitherMode_Mask, + AutoDither, + PreferDither, + AvoidDither + }; + + enum BGMode { + TransparentMode, + OpaqueMode + }; + +%If (- Qt_3_0_0) + enum PaintUnit { + PixelUnit, + LoMetricUnit, + HiMetricUnit, + LoEnglishUnit, + HiEnglishUnit, + TwipsUnit + }; +%End + + enum GUIStyle { +%If (- Qt_3_0_0) + MacStyle, +%End + WindowsStyle, +%If (- Qt_3_0_0) + Win3Style, + PMStyle, +%End + MotifStyle + }; + +%If (Qt_3_1_0 -) + enum SequenceMatch { + NoMatch, + PartialMatch, + Identical + }; +%End + + enum Modifier { +%If (Qt_3_1_0 -) + META, +%End + SHIFT, + CTRL, + ALT, + MODIFIER_MASK, + UNICODE_ACCEL, + ASCII_ACCEL + }; + + enum Key { + Key_Escape, + Key_Tab, + Key_Backtab, + Key_BackTab, + Key_Backspace, + Key_BackSpace, + Key_Return, + Key_Enter, + Key_Insert, + Key_Delete, + Key_Pause, + Key_Print, + Key_SysReq, +%If (Qt_3_1_0 -) + Key_Clear, +%End + + Key_Home, + Key_End, + Key_Left, + Key_Up, + Key_Right, + Key_Down, + Key_Prior, + Key_PageUp, + Key_Next, + Key_PageDown, + + Key_Shift, + Key_Control, + Key_Meta, + Key_Alt, + Key_CapsLock, + Key_NumLock, + Key_ScrollLock, + + Key_F1, + Key_F2, + Key_F3, + Key_F4, + Key_F5, + Key_F6, + Key_F7, + Key_F8, + Key_F9, + Key_F10, + Key_F11, + Key_F12, + Key_F13, + Key_F14, + Key_F15, + Key_F16, + Key_F17, + Key_F18, + Key_F19, + Key_F20, + Key_F21, + Key_F22, + Key_F23, + Key_F24, + Key_F25, + Key_F26, + Key_F27, + Key_F28, + Key_F29, + Key_F30, + Key_F31, + Key_F32, + Key_F33, + Key_F34, + Key_F35, + + Key_Super_L, + Key_Super_R, + Key_Menu, + Key_Hyper_L, + Key_Hyper_R, +%If (Qt_3_0_0 -) + Key_Help, + Key_Direction_L, + Key_Direction_R, +%End + + Key_Space, + Key_Any, + Key_Exclam, + Key_QuoteDbl, + Key_NumberSign, + Key_Dollar, + Key_Percent, + Key_Ampersand, + Key_Apostrophe, + Key_ParenLeft, + Key_ParenRight, + Key_Asterisk, + Key_Plus, + Key_Comma, + Key_Minus, + Key_Period, + Key_Slash, + Key_0, + Key_1, + Key_2, + Key_3, + Key_4, + Key_5, + Key_6, + Key_7, + Key_8, + Key_9, + Key_Colon, + Key_Semicolon, + Key_Less, + Key_Equal, + Key_Greater, + Key_Question, + Key_At, + Key_A, + Key_B, + Key_C, + Key_D, + Key_E, + Key_F, + Key_G, + Key_H, + Key_I, + Key_J, + Key_K, + Key_L, + Key_M, + Key_N, + Key_O, + Key_P, + Key_Q, + Key_R, + Key_S, + Key_T, + Key_U, + Key_V, + Key_W, + Key_X, + Key_Y, + Key_Z, + Key_BracketLeft, + Key_Backslash, + Key_BracketRight, + Key_AsciiCircum, + Key_Underscore, + Key_QuoteLeft, + Key_BraceLeft, + Key_Bar, + Key_BraceRight, + Key_AsciiTilde, + + Key_nobreakspace, + Key_exclamdown, + Key_cent, + Key_sterling, + Key_currency, + Key_yen, + Key_brokenbar, + Key_section, + Key_diaeresis, + Key_copyright, + Key_ordfeminine, + Key_guillemotleft, + Key_notsign, + Key_hyphen, + Key_registered, + Key_macron, + Key_degree, + Key_plusminus, + Key_twosuperior, + Key_threesuperior, + Key_acute, + Key_mu, + Key_paragraph, + Key_periodcentered, + Key_cedilla, + Key_onesuperior, + Key_masculine, + Key_guillemotright, + Key_onequarter, + Key_onehalf, + Key_threequarters, + Key_questiondown, + Key_Agrave, + Key_Aacute, + Key_Acircumflex, + Key_Atilde, + Key_Adiaeresis, + Key_Aring, + Key_AE, + Key_Ccedilla, + Key_Egrave, + Key_Eacute, + Key_Ecircumflex, + Key_Ediaeresis, + Key_Igrave, + Key_Iacute, + Key_Icircumflex, + Key_Idiaeresis, + Key_ETH, + Key_Ntilde, + Key_Ograve, + Key_Oacute, + Key_Ocircumflex, + Key_Otilde, + Key_Odiaeresis, + Key_multiply, + Key_Ooblique, + Key_Ugrave, + Key_Uacute, + Key_Ucircumflex, + Key_Udiaeresis, + Key_Yacute, + Key_THORN, + Key_ssharp, + Key_agrave, + Key_aacute, + Key_acircumflex, + Key_atilde, + Key_adiaeresis, + Key_aring, + Key_ae, + Key_ccedilla, + Key_egrave, + Key_eacute, + Key_ecircumflex, + Key_ediaeresis, + Key_igrave, + Key_iacute, + Key_icircumflex, + Key_idiaeresis, + Key_eth, + Key_ntilde, + Key_ograve, + Key_oacute, + Key_ocircumflex, + Key_otilde, + Key_odiaeresis, + Key_division, + Key_oslash, + Key_ugrave, + Key_uacute, + Key_ucircumflex, + Key_udiaeresis, + Key_yacute, + Key_thorn, + Key_ydiaeresis, + +%If (Qt_3_1_0 -) + Key_Back, + Key_Forward, + Key_Stop, + Key_Refresh, + + Key_VolumeDown, + Key_VolumeMute, + Key_VolumeUp, + Key_BassBoost, + Key_BassUp, + Key_BassDown, + Key_TrebleUp, + Key_TrebleDown, + + Key_MediaPlay, + Key_MediaStop, + Key_MediaPrev, + Key_MediaNext, + Key_MediaRecord, + + Key_HomePage, + Key_Favorites, + Key_Search, + Key_Standby, + Key_OpenUrl, + + Key_LaunchMail, + Key_LaunchMedia, + Key_Launch0, + Key_Launch1, + Key_Launch2, + Key_Launch3, + Key_Launch4, + Key_Launch5, + Key_Launch6, + Key_Launch7, + Key_Launch8, + Key_Launch9, + Key_LaunchA, + Key_LaunchB, + Key_LaunchC, + Key_LaunchD, + Key_LaunchE, + Key_LaunchF, + + Key_MediaLast, +%End + + Key_unknown + }; + + enum ArrowType { + UpArrow, + DownArrow, + LeftArrow, + RightArrow + }; + + enum RasterOp { + CopyROP, + OrROP, + XorROP, + NotAndROP, + EraseROP, + NotCopyROP, + NotOrROP, + NotXorROP, + AndROP, + NotEraseROP, + NotROP, + ClearROP, + SetROP, + NopROP, + AndNotROP, + OrNotROP, + NandROP, + NorROP, + LastROP + }; + + enum PenStyle { + NoPen, + SolidLine, + DashLine, + DotLine, + DashDotLine, + DashDotDotLine, +%If (Qt_2_1_0 -) + MPenStyle +%End + }; + +%If (Qt_2_1_0 -) + enum PenCapStyle { + FlatCap, + SquareCap, + RoundCap, + MPenCapStyle + }; + + enum PenJoinStyle { + MiterJoin, + BevelJoin, + RoundJoin, + MPenJoinStyle + }; +%End + + enum BrushStyle { + NoBrush, + SolidPattern, + Dense1Pattern, + Dense2Pattern, + Dense3Pattern, + Dense4Pattern, + Dense5Pattern, + Dense6Pattern, + Dense7Pattern, + HorPattern, + VerPattern, + CrossPattern, + BDiagPattern, + FDiagPattern, + DiagCrossPattern, + CustomPattern + }; + +%If (Qt_3_1_0 -) + enum MacintoshVersion { + MV_Unknown, + + MV_9, +%If (Qt_3_2_0 -) + MV_10_DOT_0, +%End + MV_10_DOT_1, + MV_10_DOT_2, +%If (Qt_3_2_0 -) + MV_10_DOT_3, +%End +%If (Qt_3_3_5 -) + MV_10_DOT_4, +%End + +%If (Qt_3_2_0 -) + MV_CHEETAH, + MV_PUMA, +%End + MV_JAGUAR, +%If (Qt_3_2_0 -) + MV_PANTHER, +%End +%If (Qt_3_3_5 -) + MV_TIGER, +%End + }; +%End + + enum WindowsVersion { + WV_32s, + WV_95, + WV_98, +%If (Qt_3_0_0 -) + WV_Me, +%End +%If (Qt_2_1_0 -) + WV_DOS_based, +%End + + WV_NT, +%If (Qt_2_1_0 -) + WV_2000, +%End +%If (Qt_3_0_0 -) + WV_XP, +%End +%If (Qt_3_3_0 -) + WV_2003, +%End +%If (Qt_3_3_6 -) + WV_VISTA, +%End +%If (Qt_2_1_0 -) + WV_NT_based, +%End + +%If (Qt_3_3_0 -) + WV_CE, + WV_CENET, + WV_CE_based, +%End + }; + +%If (Qt_2_2_0 -) + enum UIEffect { + UI_General, + UI_AnimateMenu, + UI_FadeMenu, + UI_AnimateCombo, + UI_AnimateTooltip, + UI_FadeTooltip, +%If (Qt_3_2_0 -) + UI_AnimateToolBox, +%End + }; +%End + +%If (Qt_3_0_0 -) + enum CursorShape { + ArrowCursor, + UpArrowCursor, + CrossCursor, + WaitCursor, + IbeamCursor, + SizeVerCursor, + SizeHorCursor, + SizeBDiagCursor, + SizeFDiagCursor, + SizeAllCursor, + BlankCursor, + SplitVCursor, + SplitHCursor, + PointingHandCursor, + ForbiddenCursor, + WhatsThisCursor, +%If (Qt_3_3_0 -) + BusyCursor, +%End + LastCursor, + BitmapCursor + }; +%End + + static const QCursor &arrowCursor; + static const QCursor &upArrowCursor; + static const QCursor &crossCursor; + static const QCursor &waitCursor; + static const QCursor &ibeamCursor; + static const QCursor &sizeVerCursor; + static const QCursor &sizeHorCursor; + static const QCursor &sizeBDiagCursor; + static const QCursor &sizeFDiagCursor; + static const QCursor &sizeAllCursor; + static const QCursor &blankCursor; + static const QCursor &splitVCursor; + static const QCursor &splitHCursor; + static const QCursor &pointingHandCursor; +%If (Qt_2_1_0 -) + static const QCursor &forbiddenCursor; +%End +%If (Qt_3_0_0 -) + static const QCursor &whatsThisCursor; +%End +%If (Qt_3_3_0 -) + static const QCursor &busyCursor; +%End + + enum TextFormat { + PlainText, + RichText, + AutoText, +%If (Qt_3_1_0 -) + LogText, +%End + }; + +%If (Qt_3_1_0 -) + enum AnchorAttribute { + AnchorName, + AnchorHref + }; +%End + +%If (Qt_3_0_0 -) + enum Dock { + DockUnmanaged, + DockTornOff, + DockTop, + DockBottom, + DockRight, + DockLeft, + DockMinimized + }; + + enum DateFormat { + TextDate, + ISODate, + LocalDate + }; + +%If (Qt_3_1_0 -) + enum TimeSpec { + LocalTime, + UTC + }; +%End + + enum BackgroundMode { + FixedColor, + FixedPixmap, + NoBackground, + PaletteForeground, + PaletteButton, + PaletteLight, + PaletteMidlight, + PaletteDark, + PaletteMid, + PaletteText, + PaletteBrightText, + PaletteBase, + PaletteBackground, + PaletteShadow, + PaletteHighlight, + PaletteHighlightedText, + PaletteButtonText, + PaletteLink, + PaletteLinkVisited, + X11ParentRelative + }; + + typedef uint ComparisonFlags; + + enum StringComparisonMode { + CaseSensitive, + BeginsWith, + EndsWith, + Contains, + ExactMatch + }; + +%If (Qt_3_2_0 -) + enum Corner { + TopLeft, + TopRight, + BottomLeft, + BottomRight + }; +%End + +%If (WS_X11) + typedef unsigned long HANDLE; +%End +%End +}; + +%End diff --git a/sip/qt/qnetworkprotocol.sip b/sip/qt/qnetworkprotocol.sip new file mode 100644 index 0000000..6af512b --- /dev/null +++ b/sip/qt/qnetworkprotocol.sip @@ -0,0 +1,227 @@ +// This is the SIP interface definition for QNetworkOperation, QNetworkProtocol +// and QNetworkProtocolFactoryBase. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QNetworkOperation (Qt v2.1+)</Title> +<Para> +<Literal>QNetworkOperation</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QNetworkProtocol (Qt v2.1+)</Title> +<Para> +<Literal>QNetworkProtocol</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QNetworkProtocolFactoryBase (Qt v2.1+)</Title> +<Para> +<Literal>QNetworkProtocolFactoryBase</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_NETWORKPROTOCOL) +%If (Qt_2_1_0 -) + +class QNetworkProtocolFactoryBase +{ +%TypeHeaderCode +#include <qnetworkprotocol.h> +%End + +public: + virtual QNetworkProtocol *createObject() = 0 /Factory/; + +}; + + +class QNetworkProtocol : QObject +{ +%TypeHeaderCode +#include <qnetworkprotocol.h> +%End + +public: + enum State { + StWaiting, + StInProgress, + StDone, + StFailed, + StStopped + }; + +%If (- Qt_3_0_0) + enum Operation { + OpListChildren, + OpMkdir, + OpRemove, + OpRename, + OpGet, + OpPut + }; +%End +%If (Qt_3_0_0 -) + enum Operation { + OpListChildren, + OpMkDir, + OpRemove, + OpRename, + OpGet, + OpPut + }; +%End + + enum ConnectionState { + ConHostFound, + ConConnected, + ConClosed + }; + +%If (- Qt_3_0_0) + enum Error { + NoError, + ErrValid, + ErrUnknownProtocol, + ErrUnsupported, + ErrParse, + ErrLoginIncorrect, + ErrHostNotFound, + ErrListChlidren, + ErrMkdir, + ErrRemove, + ErrRename, + ErrGet, + ErrPut, + ErrFileNotExisting, + ErrPermissionDenied + }; +%End +%If (Qt_3_0_0 -) + enum Error { + NoError, + ErrValid, + ErrUnknownProtocol, + ErrUnsupported, + ErrParse, + ErrLoginIncorrect, + ErrHostNotFound, + ErrListChildren, + ErrMkDir, + ErrRemove, + ErrRename, + ErrGet, + ErrPut, + ErrFileNotExisting, + ErrPermissionDenied + }; +%End + + QNetworkProtocol(); + + virtual void setUrl(QUrlOperator *); + + virtual void setAutoDelete(bool,int = 10000); + bool autoDelete() const; + + static void registerNetworkProtocol(const QString &, + QNetworkProtocolFactoryBase *); + static QNetworkProtocol *getNetworkProtocol(const QString &) /Factory/; + static bool hasOnlyLocalFileSystem(); + + virtual int supportedOperations() const; + virtual void addOperation(QNetworkOperation *); + + QUrlOperator *url() const; + QNetworkOperation *operationInProgress() const; + virtual void clearOperationQueue(); + virtual void stop(); + +signals: + void data(const QByteArray &,QNetworkOperation *); + void connectionStateChanged(int,const QString &); + void finished(QNetworkOperation *); + void start(QNetworkOperation *); + void newChildren(const QValueList<QUrlInfo> &,QNetworkOperation *); + void newChild(const QUrlInfo &,QNetworkOperation *); + void createdDirectory(const QUrlInfo &,QNetworkOperation *); + void removed(QNetworkOperation *); + void itemChanged(QNetworkOperation *); + void dataTransferProgress(int,int,QNetworkOperation *); + +protected: + virtual void processOperation(QNetworkOperation *); + virtual void operationListChildren(QNetworkOperation *); + virtual void operationMkDir(QNetworkOperation *); + virtual void operationRemove(QNetworkOperation *); + virtual void operationRename(QNetworkOperation *); + virtual void operationGet(QNetworkOperation *); + virtual void operationPut(QNetworkOperation *); +%If (Qt_3_0_0 -) + virtual void operationPutChunk(QNetworkOperation *); +%End + virtual bool checkConnection(QNetworkOperation *); + +private: +%If (Qt_3_1_0 -) + QNetworkProtocol(const QNetworkProtocol &); +%End +}; + + +class QNetworkOperation : QObject +{ +%TypeHeaderCode +#include <qnetworkprotocol.h> +%End + +public: + QNetworkOperation(QNetworkProtocol::Operation,const QString &, + const QString &,const QString &); + QNetworkOperation(QNetworkProtocol::Operation,const QByteArray &, + const QByteArray &,const QByteArray &); + + void setState(QNetworkProtocol::State); + void setProtocolDetail(const QString &); + void setErrorCode(int); + void setArg(int,const QString &); + void setRawArg(int,const QByteArray &); + + QNetworkProtocol::Operation operation() const; + QNetworkProtocol::State state() const; + QString arg(int) const; + QByteArray rawArg(int) const; + QString protocolDetail() const; + int errorCode() const; + + void free(); + +private: +%If (Qt_3_1_0 -) + QNetworkOperation(const QNetworkOperation &); +%End +}; + +%End +%End diff --git a/sip/qt/qobject.sip b/sip/qt/qobject.sip new file mode 100644 index 0000000..0129284 --- /dev/null +++ b/sip/qt/qobject.sip @@ -0,0 +1,2319 @@ +// This is the SIP interface definition for QObject. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QObject</Title> +<FuncSynopsis> + <FuncDef>bool <Function>disconnect</Function></FuncDef> + <ParamDef>const QObject *<Parameter>receiver</Parameter></ParamDef> + <ParamDef>const char *<Parameter>member</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>disconnect</Function></FuncDef> + <ParamDef>const char *<Parameter>signal</Parameter> = 0</ParamDef> + <ParamDef>const QObject *<Parameter>receiver</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>member</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>static bool <Function>disconnect</Function></FuncDef> + <ParamDef>const QObject *<Parameter>sender</Parameter></ParamDef> + <ParamDef>const char *<Parameter>signal</Parameter></ParamDef> + <ParamDef>const QObject *<Parameter>receiver</Parameter></ParamDef> + <ParamDef>const char *<Parameter>member</Parameter></ParamDef> +</FuncSynopsis> +<Para> +At the moment PyQt does not support the full behaviour of the corresponding Qt +method. In particular, specifying None (ie. 0 in C++) for the +<Literal>signal</Literal> and <Literal>receiver</Literal> parameters is not yet +supported. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QObject : Qt +{ +%TypeHeaderCode +#include <qobject.h> +#include <qapplication.h> +%End + +public: + QObject(QObject * /TransferThis/ = 0,const char * = 0); + +%ConvertToSubClassCode + static struct class_graph { + const char *name; + sipWrapperType **type; + int yes, no; + } graph[] = { + {sipName_QWidget, &sipClass_QWidget, 25, 1}, +#if QT_VERSION >= 0x030100 && defined(SIP_FEATURE_Qt_ASSISTANTCLIENT) + {sipName_QAssistantClient, &sipClass_QAssistantClient, -1, 2}, +#else + {NULL, NULL, -1, 2}, +#endif + {sipName_QSessionManager, &sipClass_QSessionManager, -1, 3}, + {sipName_QTranslator, &sipClass_QTranslator, -1, 4}, +#if QT_VERSION >= 0x030000 + {sipName_QProcess, &sipClass_QProcess, -1, 5}, +#else + {NULL, NULL, -1, 5}, +#endif + {sipName_QToolTipGroup, &sipClass_QToolTipGroup, -1, 6}, +#if defined(SIP_FEATURE_Qt_FILEDIALOG) + {sipName_QFileIconProvider, &sipClass_QFileIconProvider, -1, 7}, +#else + {NULL, NULL, -1, 7}, +#endif +#if QT_VERSION >= 220 && defined(SIP_FEATURE_Qt_ACTION) + {sipName_QAction, &sipClass_QAction, 89, 8}, +#else + {NULL, NULL, -1, 8}, +#endif +#if QT_VERSION >= 0x030000 + {sipName_QObjectCleanupHandler, &sipClass_QObjectCleanupHandler, -1, 9}, +#else + {NULL, NULL, -1, 9}, +#endif + {sipName_QTimer, &sipClass_QTimer, -1, 10}, + {sipName_QLayout, &sipClass_QLayout, 90, 11}, +#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_NETWORKPROTOCOL) + {sipName_QUrlOperator, &sipClass_QUrlOperator, -1, 12}, +#else + {NULL, NULL, -1, 12}, +#endif + {sipName_QStyleSheet, &sipClass_QStyleSheet, -1, 13}, + {sipName_QValidator, &sipClass_QValidator, 94, 14}, +#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_NETWORKPROTOCOL) + {sipName_QNetworkOperation, &sipClass_QNetworkOperation, -1, 15}, +#else + {NULL, NULL, -1, 15}, +#endif + {sipName_QAccel, &sipClass_QAccel, -1, 16}, +#if QT_VERSION >= 0x030100 + {sipName_QEventLoop, &sipClass_QEventLoop, -1, 17}, +#else + {NULL, NULL, -1, 17}, +#endif +#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_NETWORKPROTOCOL) + {sipName_QNetworkProtocol, &sipClass_QNetworkProtocol, -1, 18}, +#else + {NULL, NULL, -1, 18}, +#endif +#if QT_VERSION >= 220 && defined(SIP_FEATURE_Qt_SOUND) + {sipName_QSound, &sipClass_QSound, -1, 19}, +#else + {NULL, NULL, -1, 19}, +#endif + {sipName_QApplication, &sipClass_QApplication, -1, 20}, + {sipName_QDragObject, &sipClass_QDragObject, 97, 21}, + {sipName_QSocketNotifier, &sipClass_QSocketNotifier, -1, 22}, + {sipName_QStyle, &sipClass_QStyle, 103, 23}, + {sipName_QSignalMapper, &sipClass_QSignalMapper, -1, 24}, +#if defined(SIP_FEATURE_Qt_CLIPBOARD) + {sipName_QClipboard, &sipClass_QClipboard, -1, -1}, +#else + {NULL, NULL, -1, -1}, +#endif + {sipName_QStatusBar, &sipClass_QStatusBar, -1, 26}, +#if defined(SIP_FEATURE_Qt_SIZEGRIP) + {sipName_QSizeGrip, &sipClass_QSizeGrip, -1, 27}, +#else + {NULL, NULL, -1, 27}, +#endif + {sipName_QTabWidget, &sipClass_QTabWidget, -1, 28}, +#if QT_VERSION >= 0x030000 + {sipName_QDateEdit, &sipClass_QDateEdit, -1, 29}, +#else + {NULL, NULL, -1, 29}, +#endif + {sipName_QMainWindow, &sipClass_QMainWindow, -1, 30}, +#if QT_VERSION >= 0x030000 + {sipName_QDateTimeEdit, &sipClass_QDateTimeEdit, -1, 31}, +#else + {NULL, NULL, -1, 31}, +#endif +#if QT_VERSION >= 0x030000 + {sipName_QTimeEdit, &sipClass_QTimeEdit, -1, 32}, +#else + {NULL, NULL, -1, 32}, +#endif + {sipName_QFrame, &sipClass_QFrame, 46, 33}, + {sipName_QScrollBar, &sipClass_QScrollBar, -1, 34}, +#if QT_VERSION >= 220 && defined(SIP_FEATURE_Qt_DIAL) + {sipName_QDial, &sipClass_QDial, -1, 35}, +#else + {NULL, NULL, -1, 35}, +#endif + {sipName_QButton, &sipClass_QButton, 75, 36}, + {sipName_QTabBar, &sipClass_QTabBar, -1, 37}, + {sipName_QDialog, &sipClass_QDialog, 79, 38}, + {sipName_QComboBox, &sipClass_QComboBox, -1, 39}, + {sipName_QHeader, &sipClass_QHeader, -1, 40}, +#if QT_VERSION >= 0x030000 + {sipName_QDockArea, &sipClass_QDockArea, -1, 41}, +#else + {NULL, NULL, -1, 41}, +#endif +#if QT_VERSION >= 0x030200 + {sipName_QSplashScreen, &sipClass_QSplashScreen, -1, 42}, +#else + {NULL, NULL, -1, 42}, +#endif + {sipName_QSlider, &sipClass_QSlider, -1, 43}, + {sipName_QSpinBox, &sipClass_QSpinBox, -1, 44}, +#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_WORKSPACE) + {sipName_QWorkspace, &sipClass_QWorkspace, -1, 45}, +#else + {NULL, NULL, -1, 45}, +#endif +#if QT_VERSION >= 0x030000 + {sipName_QDesktopWidget, &sipClass_QDesktopWidget, -1, -1}, +#else + {NULL, NULL, -1, -1}, +#endif + {sipName_QGrid, &sipClass_QGrid, -1, 47}, + {sipName_QLineEdit, &sipClass_QLineEdit, -1, 48}, +#if QT_VERSION >= 0x030200 + {sipName_QToolBox, &sipClass_QToolBox, -1, 49}, +#else + {NULL, NULL, -1, 49}, +#endif + {sipName_QWidgetStack, &sipClass_QWidgetStack, -1, 50}, +#if QT_VERSION >= 0x030000 + {sipName_QDockWindow, &sipClass_QDockWindow, 60, 51}, +#else + {NULL, NULL, -1, 51}, +#endif + {sipName_QMenuBar, &sipClass_QMenuBar, -1, 52}, + {sipName_QLabel, &sipClass_QLabel, -1, 53}, + {sipName_QGroupBox, &sipClass_QGroupBox, 61, 54}, + {sipName_QPopupMenu, &sipClass_QPopupMenu, -1, 55}, +#if defined(SIP_FEATURE_Qt_SPLITTER) + {sipName_QSplitter, &sipClass_QSplitter, -1, 56}, +#else + {NULL, NULL, -1, 56}, +#endif + {sipName_QProgressBar, &sipClass_QProgressBar, -1, 57}, + {sipName_QScrollView, &sipClass_QScrollView, 66, 58}, + {sipName_QHBox, &sipClass_QHBox, 74, 59}, + {sipName_QLCDNumber, &sipClass_QLCDNumber, -1, -1}, + {sipName_QToolBar, &sipClass_QToolBar, -1, -1}, + {sipName_QButtonGroup, &sipClass_QButtonGroup, 64, 62}, + {sipName_QHGroupBox, &sipClass_QHGroupBox, -1, 63}, + {sipName_QVGroupBox, &sipClass_QVGroupBox, -1, -1}, + {sipName_QVButtonGroup, &sipClass_QVButtonGroup, -1, 65}, + {sipName_QHButtonGroup, &sipClass_QHButtonGroup, -1, -1}, +#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_ICONVIEW) + {sipName_QIconView, &sipClass_QIconView, -1, 67}, +#else + {NULL, NULL, -1, 67}, +#endif + {sipName_QListView, &sipClass_QListView, -1, 68}, + {sipName_QListBox, &sipClass_QListBox, -1, 69}, +#if QT_VERSION >= 0x030000 + {sipName_QGridView, &sipClass_QGridView, -1, 70}, +#else + {NULL, NULL, -1, 70}, +#endif +#if QT_VERSION >= 0x030000 + {sipName_QTextEdit, &sipClass_QTextEdit, 71, -1}, +#else + {NULL, NULL, -1, -1}, +#endif + {sipName_QTextBrowser, &sipClass_QTextBrowser, -1, 72}, + {sipName_QMultiLineEdit, &sipClass_QMultiLineEdit, -1, 73}, + {sipName_QTextView, &sipClass_QTextView, -1, -1}, + {sipName_QVBox, &sipClass_QVBox, -1, -1}, + {sipName_QToolButton, &sipClass_QToolButton, -1, 76}, + {sipName_QRadioButton, &sipClass_QRadioButton, -1, 77}, + {sipName_QPushButton, &sipClass_QPushButton, -1, 78}, + {sipName_QCheckBox, &sipClass_QCheckBox, -1, -1}, +#if defined(WS_X11) && defined(SIP_FEATURE_Qt_PRINTDIALOG) + {sipName_QPrintDialog, &sipClass_QPrintDialog, -1, 80}, +#else + {NULL, NULL, -1, 80}, +#endif +#if QT_VERSION >= 0x030000 + {sipName_QErrorMessage, &sipClass_QErrorMessage, -1, 81}, +#else + {NULL, NULL, -1, 81}, +#endif +#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_INPUTDIALOG) + {sipName_QInputDialog, &sipClass_QInputDialog, -1, 82}, +#else + {NULL, NULL, -1, 82}, +#endif +#if defined(SIP_FEATURE_Qt_MESSAGEBOX) + {sipName_QMessageBox, &sipClass_QMessageBox, -1, 83}, +#else + {NULL, NULL, -1, 83}, +#endif +#if defined(SIP_FEATURE_Qt_WIZARD) + {sipName_QWizard, &sipClass_QWizard, -1, 84}, +#else + {NULL, NULL, -1, 84}, +#endif +#if defined(SIP_FEATURE_Qt_COLORDIALOG) + {sipName_QColorDialog, &sipClass_QColorDialog, -1, 85}, +#else + {NULL, NULL, -1, 85}, +#endif +#if defined(SIP_FEATURE_Qt_FONTDIALOG) + {sipName_QFontDialog, &sipClass_QFontDialog, -1, 86}, +#else + {NULL, NULL, -1, 86}, +#endif +#if defined(SIP_FEATURE_Qt_FILEDIALOG) + {sipName_QFileDialog, &sipClass_QFileDialog, -1, 87}, +#else + {NULL, NULL, -1, 87}, +#endif +#if defined(SIP_FEATURE_Qt_PROGRESSDIALOG) + {sipName_QProgressDialog, &sipClass_QProgressDialog, -1, 88}, +#else + {NULL, NULL, -1, 88}, +#endif +#if defined(SIP_FEATURE_Qt_TABDIALOG) + {sipName_QTabDialog, &sipClass_QTabDialog, -1, -1}, +#else + {NULL, NULL, -1, -1}, +#endif +#if QT_VERSION >= 220 && defined(SIP_FEATURE_Qt_ACTION) + {sipName_QActionGroup, &sipClass_QActionGroup, -1, -1}, +#else + {NULL, NULL, -1, -1}, +#endif + {sipName_QGridLayout, &sipClass_QGridLayout, -1, 91}, + {sipName_QBoxLayout, &sipClass_QBoxLayout, 92, -1}, + {sipName_QHBoxLayout, &sipClass_QHBoxLayout, -1, 93}, + {sipName_QVBoxLayout, &sipClass_QVBoxLayout, -1, -1}, + {sipName_QDoubleValidator, &sipClass_QDoubleValidator, -1, 95}, + {sipName_QIntValidator, &sipClass_QIntValidator, -1, 96}, +#if QT_VERSION >= 0x030000 + {sipName_QRegExpValidator, &sipClass_QRegExpValidator, -1, -1}, +#else + {NULL, NULL, -1, -1}, +#endif + {sipName_QTextDrag, &sipClass_QTextDrag, -1, 98}, + {sipName_QStoredDrag, &sipClass_QStoredDrag, 101, 99}, +#if QT_VERSION >= 210 && defined(SIP_FEATURE_Qt_ICONVIEW) && defined(SIP_FEATURE_Qt_DRAGANDDROP) + {sipName_QIconDrag, &sipClass_QIconDrag, -1, 100}, +#else + {NULL, NULL, -1, 100}, +#endif + {sipName_QImageDrag, &sipClass_QImageDrag, -1, -1}, +#if QT_VERSION >= 210 + {sipName_QColorDrag, &sipClass_QColorDrag, -1, 102}, +#else + {NULL, NULL, -1, 102}, +#endif + {sipName_QUriDrag, &sipClass_QUriDrag, -1, -1}, + {sipName_QCommonStyle, &sipClass_QCommonStyle, 104, -1}, +#if defined(SIP_FEATURE_Qt_STYLE_WINDOWS) + {sipName_QWindowsStyle, &sipClass_QWindowsStyle, 106, 105}, +#else + {NULL, NULL, -1, 105}, +#endif +#if defined(SIP_FEATURE_Qt_STYLE_MOTIF) + {sipName_QMotifStyle, &sipClass_QMotifStyle, 107, -1}, +#else + {NULL, NULL, -1, -1}, +#endif +#if defined(SIP_FEATURE_Qt_STYLE_PLATINUM) + {sipName_QPlatinumStyle, &sipClass_QPlatinumStyle, -1, 110}, +#else + {NULL, NULL, -1, 110}, +#endif +#if defined(SIP_FEATURE_Qt_STYLE_CDE) + {sipName_QCDEStyle, &sipClass_QCDEStyle, -1, 108}, +#else + {NULL, NULL, -1, 108}, +#endif +#if QT_VERSION >= 220 && defined(SIP_FEATURE_Qt_STYLE_MOTIFPLUS) + {sipName_QMotifPlusStyle, &sipClass_QMotifPlusStyle, -1, 109}, +#else + {NULL, NULL, -1, 109}, +#endif +#if QT_VERSION >= 220 && defined(SIP_FEATURE_Qt_STYLE_SGI) + {sipName_QSGIStyle, &sipClass_QSGIStyle, -1, -1}, +#else + {NULL, NULL, -1, -1}, +#endif +#if defined(PYQT_STYLE_WINDOWSXP) + {sipName_QWindowsXPStyle, &sipClass_QWindowsXPStyle, -1, -1}, +#else + {NULL, NULL, -1, -1}, +#endif + }; + + int i = 0; + + sipClass = NULL; + + do + { + struct class_graph *cg = &graph[i]; + + if (cg->name != NULL && sipCpp->inherits(cg->name)) + { + sipClass = *cg->type; + i = cg->yes; + } + else + i = cg->no; + } + while (i >= 0); +%End + + // This is really virtual. With the way we are implementing it doesn't + // need to be and has the advantage that the C++ implementation can be + // used in %ConvertToSubClassCode to get the C++ name for Python + // sub-classes. However, it is also means that C++ plugins can't get + // the true (Python) class name. + SIP_PYOBJECT className() const; +%MethodCode + sipRes = sipClassName(sipSelf); +%End + +%If (- Qt_3_0_0) + static QString tr(const char *) /AutoGen=Qt_TRANSLATION/; +%End +%If (Qt_2_2_0 - Qt_2_3_1) + // There was an apparent bug in moc prior to Qt v2.3.1 where this + // method wasn't automatically generated. + + static QString tr(const char *,const char *); +%End +%If (Qt_2_3_1 - Qt_3_0_0) + static QString tr(const char *,const char *) /AutoGen=Qt_TRANSLATION/; +%End +%If (Qt_3_0_0 -) + // Note that tr() and trUtf8() are really static methods. We pretend + // they aren't so that we can use self to get hold of the class name. + // We could mimic moc's behaviour more accurately by creating tr() and + // trUtf8() methods for a Python sub-class instance in the sub-class's + // ctor. + + QString tr(const char *,const char * = 0); +%MethodCode + PyObject *nmobj; + + if ((nmobj = sipClassName(sipSelf)) == NULL) + sipIsErr = 1; + else + { + char *cname = PyString_AsString(nmobj); + + Py_BEGIN_ALLOW_THREADS + + if (cname && qApp) + sipRes = new QString(qApp -> translate(cname,a0,a1,QApplication::DefaultCodec)); + else + sipRes = new QString(QString::fromLatin1(a0)); + + Py_END_ALLOW_THREADS + + Py_DECREF(nmobj); + } +%End + + QString trUtf8(const char *,const char * = 0); +%MethodCode + PyObject *nmobj; + + if ((nmobj = sipClassName(sipSelf)) == NULL) + sipIsErr = 1; + else + { + char *cname = PyString_AsString(nmobj); + + Py_BEGIN_ALLOW_THREADS + + if (cname && qApp) + sipRes = new QString(qApp -> translate(cname,a0,a1,QApplication::UnicodeUTF8)); + else + sipRes = new QString(QString::fromUtf8(a0)); + + Py_END_ALLOW_THREADS + + Py_DECREF(nmobj); + } +%End +%End + virtual QMetaObject *metaObject() const /AutoGen/; + virtual bool event(QEvent *); + virtual bool eventFilter(QObject *,QEvent *); + + bool isA(const char *) const; +%MethodCode + // The Qt implementation doesn't know anything about Python + // sub-classes. For SIP v4 we use the Python type's name. For + // SIP v3 we use the broken Qt behaviour as it's deprecated and + // we want to keep things simple. + +#if SIP_VERSION >= 0x040000 + sipRes = (strcmp(sipSelf -> ob_type -> tp_name,a0) == 0); +#else + Py_BEGIN_ALLOW_THREADS + sipRes = sipCpp -> QObject::isA(a0); + Py_END_ALLOW_THREADS +#endif +%End + + bool inherits(const char *) const; +%MethodCode + // The Qt implementation doesn't know anything about Python + // sub-classes. For SIP v4 we use the Python type's MRO. For + // SIP v3 we use the broken Qt behaviour as it's deprecated and + // we want to keep things simple. + +#if SIP_VERSION >= 0x040000 + PyObject *mro = sipSelf -> ob_type -> tp_mro; + + sipRes = 0; + + for (int i = 0; i < PyTuple_GET_SIZE(mro); ++i) + if (strcmp(((PyTypeObject *)PyTuple_GET_ITEM(mro,i)) -> tp_name,a0) == 0) + { + sipRes = 1; + break; + } +#else + Py_BEGIN_ALLOW_THREADS + sipRes = sipCpp -> QObject::inherits(a0); + Py_END_ALLOW_THREADS +#endif +%End + +%If (- Qt_3_0_0) + QStringList superClasses(bool = 0) const; +%End + const char *name() const; + const char *name(const char *) const; + virtual void setName(const char *); + bool isWidgetType() const; + bool highPriority() const; + bool signalsBlocked() const; + void blockSignals(bool); + int startTimer(int); + void killTimer(int); + void killTimers(); +%If (- Qt_3_0_0) + QObject *child(const char *,const char * = 0); +%End +%If (Qt_3_0_0 -) + QObject *child(const char *,const char * = 0,bool = 1); +%End + const QObjectList *children() const; +%If (Qt_2_1_0 -) + static const QObjectList *objectTrees(); +%End +%If (- Qt_3_0_0) + QObjectList *queryList(char * = 0,char * = 0,bool = 1,bool = 1); +%End + +%If (Qt_3_0_0 -) + QObjectList *queryList(char * = 0,char * = 0,bool = 1,bool = 1) const; +%MethodCode + // The Qt implementation doesn't know anything about Python + // sub-classes. For SIP v4 we get all classes and then use the + // Python type's MRO to weed out those we don't want. For SIP + // v3 we use the broken Qt behaviour as it's deprecated and we + // want to keep things simple. + +#if SIP_VERSION >= 0x040000 + sipRes = sipCpp -> QObject::queryList(0, a1, a2, a3); + + if (a0 && sipRes) + { + QObject *o = sipRes -> first(); + + while (o) + { + bool remove = TRUE; + PyObject *pyo = sipConvertFromInstance(o, sipClass_QObject, 0); + + if (pyo) + { + PyObject *mro = pyo -> ob_type -> tp_mro; + + for (int i = 0; i < PyTuple_GET_SIZE(mro); ++i) + if (strcmp(((PyTypeObject *)PyTuple_GET_ITEM(mro,i)) -> tp_name,a0) == 0) + { + remove = FALSE; + break; + } + + Py_DECREF(pyo); + } + + if (remove) + { + sipRes -> remove(); + o = sipRes -> current(); + } + else + o = sipRes -> next(); + } + } +#else + Py_BEGIN_ALLOW_THREADS + sipRes = sipCpp -> QObject::queryList(a0, a1, a2, a3); + Py_END_ALLOW_THREADS +#endif +%End +%End + + virtual void insertChild(QObject * /Transfer/); + virtual void removeChild(QObject * /TransferBack/); + void installEventFilter(const QObject *); + void removeEventFilter(const QObject *); + + static SIP_PYOBJECT connect(SIP_QOBJECT,SIP_SIGNAL,SIP_QOBJECT,SIP_SLOT); +%MethodCode + sipRes = sipConnectRx(a0,a1,a2,a3,0); +%End + + static SIP_PYOBJECT connect(SIP_QOBJECT,SIP_SIGNAL,SIP_PYCALLABLE); +%MethodCode + sipRes = sipConnectRx(a0,a1,a2,0,0); +%End + + SIP_PYOBJECT connect(SIP_QOBJECT,SIP_SIGNAL,SIP_SLOT) const; +%MethodCode + sipRes = sipConnectRx(a0,a1,sipSelf,a2,0); +%End + + static SIP_PYOBJECT disconnect(SIP_QOBJECT,SIP_SIGNAL,SIP_QOBJECT,SIP_SLOT); +%MethodCode + sipRes = sipDisconnectRx(a0,a1,a2,a3); +%End + + static SIP_PYOBJECT disconnect(SIP_QOBJECT,SIP_SIGNAL,SIP_PYCALLABLE); +%MethodCode + sipRes = sipDisconnectRx(a0,a1,a2,0); +%End + +// bool disconnect(const char * = 0,const QObject * = 0,const char * = 0); +// bool disconnect(const QObject *,const char * = 0); + void dumpObjectTree(); + void dumpObjectInfo(); + QObject *parent() const; + + void emit(SIP_SIGNAL,SIP_PYTUPLE); +%MethodCode + if (pyqt3EmitSignal(sipSelf, a0, a1) < 0) + sipIsErr = 1; +%End + +%If (Qt_PROPERTIES) +%If (Qt_2_1_0 - Qt_3_0_0) + bool setProperty(const char *,const QVariant &); + QVariant property(const char *) const; +%End +%If (Qt_3_0_0 -) + virtual bool setProperty(const char *,const QVariant &); + virtual QVariant property(const char *) const; +%End +%End + +signals: + void destroyed(); +%If (Qt_3_0_0 -) + void destroyed(QObject *); +%End + +public slots: +%If (Qt_3_0_0 -) + void deleteLater(); +%End + +public: + // This is actually protected, but we never need to call the real + // method. + SIP_PYOBJECT sender(); +%MethodCode + sipRes = pyqt3GetSender(); +%End + +protected: + virtual void timerEvent(QTimerEvent *); + virtual void childEvent(QChildEvent *); +%If (Qt_3_0_0 -) + virtual void customEvent(QCustomEvent *); +%End + +private: + QObject(const QObject &); +}; + + +SIP_PYOBJECT QT_TR_NOOP(SIP_PYOBJECT); +%MethodCode + Py_INCREF(a0); + sipRes = a0; +%End + + +SIP_PYOBJECT QT_TRANSLATE_NOOP(SIP_PYOBJECT,SIP_PYOBJECT); +%MethodCode + Py_INCREF(a1); + sipRes = a1; +%End + +%End + + +%If (- Qt_2_00) + +class QObject +{ +%TypeHeaderCode +#include <qobject.h> +%End + +public: + QObject(QObject * /TransferThis/ = 0,const char * = 0); + +%ConvertToSubClassCode + // The table of Python class objects indexed by their names. The table + // must be sorted by name. + + static sipStringTypeClassMap map[] = { + {sipName_QAccel, &sipClass_QAccel}, + {sipName_QApplication, &sipClass_QApplication}, + {sipName_QBoxLayout, &sipClass_QBoxLayout}, + {sipName_QButton, &sipClass_QButton}, + {sipName_QButtonGroup, &sipClass_QButtonGroup}, + {sipName_QCheckBox, &sipClass_QCheckBox}, +#if defined(SIP_FEATURE_Qt_CLIPBOARD) + {sipName_QClipboard, &sipClass_QClipboard}, +#endif + {sipName_QComboBox, &sipClass_QComboBox}, + {sipName_QDialog, &sipClass_QDialog}, + {sipName_QDoubleValidator, &sipClass_QDoubleValidator}, + {sipName_QDragObject, &sipClass_QDragObject}, +#if defined(SIP_FEATURE_Qt_FILEDIALOG) + {sipName_QFileDialog, &sipClass_QFileDialog}, + {sipName_QFileIconProvider, &sipClass_QFileIconProvider}, +#endif + {sipName_QFrame, &sipClass_QFrame}, + {sipName_QGridLayout, &sipClass_QGridLayout}, + {sipName_QGroupBox, &sipClass_QGroupBox}, + {sipName_QHBoxLayout, &sipClass_QHBoxLayout}, + {sipName_QHeader, &sipClass_QHeader}, + {sipName_QImageDrag, &sipClass_QImageDrag}, + {sipName_QIntValidator, &sipClass_QIntValidator}, + {sipName_QLCDNumber, &sipClass_QLCDNumber}, + {sipName_QLabel, &sipClass_QLabel}, + {sipName_QLayout, &sipClass_QLayout}, + {sipName_QLineEdit, &sipClass_QLineEdit}, + {sipName_QListBox, &sipClass_QListBox}, + {sipName_QListView, &sipClass_QListView}, + {sipName_QMainWindow, &sipClass_QMainWindow}, + {sipName_QMenuBar, &sipClass_QMenuBar}, +#if defined(SIP_FEATURE_Qt_MESSAGEBOX) + {sipName_QMessageBox, &sipClass_QMessageBox}, +#endif + {sipName_QMultiLineEdit, &sipClass_QMultiLineEdit}, + {sipName_QPopupMenu, &sipClass_QPopupMenu}, +#if defined(WS_X11) && defined(SIP_FEATURE_Qt_PRINTDIALOG) + {sipName_QPrintDialog, &sipClass_QPrintDialog}, +#endif + {sipName_QProgressBar, &sipClass_QProgressBar}, +#if defined(SIP_FEATURE_Qt_PROGRESSDIALOG) + {sipName_QProgressDialog, &sipClass_QProgressDialog}, +#endif + {sipName_QPushButton, &sipClass_QPushButton}, + {sipName_QRadioButton, &sipClass_QRadioButton}, + {sipName_QScrollBar, &sipClass_QScrollBar}, + {sipName_QScrollView, &sipClass_QScrollView}, + {sipName_QSlider, &sipClass_QSlider}, + {sipName_QSocketNotifier, &sipClass_QSocketNotifier}, + {sipName_QSpinBox, &sipClass_QSpinBox}, +#if defined(SIP_FEATURE_Qt_SPLITTER) + {sipName_QSplitter, &sipClass_QSplitter}, +#endif + {sipName_QStatusBar, &sipClass_QStatusBar}, + {sipName_QStoredDrag, &sipClass_QStoredDrag}, + {sipName_QTabBar, &sipClass_QTabBar}, + {sipName_QTextDrag, &sipClass_QTextDrag}, + {sipName_QTimer, &sipClass_QTimer}, + {sipName_QToolBar, &sipClass_QToolBar}, + {sipName_QToolButton, &sipClass_QToolButton}, + {sipName_QToolTipGroup, &sipClass_QToolTipGroup}, + {sipName_QVBoxLayout, &sipClass_QVBoxLayout}, + {sipName_QValidator, &sipClass_QValidator}, + {sipName_QWidget, &sipClass_QWidget}, + {sipName_QWidgetStack, &sipClass_QWidgetStack} + }; + + sipClass = sipMapStringToClass(sipCpp -> className(),map,sizeof (map)/sizeof (map[0])); +%End + + static SIP_PYOBJECT connect(SIP_QOBJECT,SIP_SIGNAL,SIP_QOBJECT,SIP_SLOT); +%MethodCode + sipRes = sipConnectRx(a0,a1,a2,a3,0); +%End + + static SIP_PYOBJECT connect(SIP_QOBJECT,SIP_SIGNAL,SIP_PYCALLABLE); +%MethodCode + sipRes = sipConnectRx(a0,a1,a2,0,0); +%End + + static SIP_PYOBJECT disconnect(SIP_QOBJECT,SIP_SIGNAL,SIP_QOBJECT,SIP_SLOT); +%MethodCode + sipRes = sipDisconnectRx(a0,a1,a2,a3); +%End + + static SIP_PYOBJECT disconnect(SIP_QOBJECT,SIP_SIGNAL,SIP_PYCALLABLE); +%MethodCode + sipRes = sipDisconnectRx(a0,a1,a2,0); +%End + + virtual bool event(QEvent *); + virtual bool eventFilter(QObject *,QEvent *); + const char *tr(const char *) const; + virtual QMetaObject *metaObject() const /AutoGen/; + + // This is actually virtual. However, with the way we are implementing + // it we can ignore it. + SIP_PYOBJECT className() const; +%MethodCode + sipRes = sipClassName(sipSelf); +%End + + bool isA(const char *) const; + bool inherits(const char *) const; + const char *name() const; + const char *name(const char *) const; + void setName(const char *); + bool isWidgetType() const; + bool highPriority() const; + bool signalsBlocked() const; + void blockSignals(bool); + int startTimer(int); + void killTimer(int); + void killTimers(); + const QObjectList *children() const; + QObjectList *queryList(char * = 0,char * = 0,bool = 1,bool = 1); + void insertChild(QObject * /Transfer/); + void removeChild(QObject * /TransferBack/); + void installEventFilter(const QObject *); + void removeEventFilter(const QObject *); +// bool connect(QObject *,const char *,const char *); +// bool disconnect(const char * = 0,const QObject * = 0,const char * = 0); +// bool disconnect(const QObject *,const char * = 0); + void dumpObjectTree(); + void dumpObjectInfo(); + QObject *parent() const; + + void emit(SIP_SIGNAL,SIP_PYTUPLE); +%MethodCode + if (sipEmitSignal(sipSelf,a0,a1) < 0) + sipIsErr = 1; +%End + +signals: + void destroyed(); + +public: + // This is actually protected, but we never need to call the real + // method. + SIP_PYOBJECT sender(); +%MethodCode + sipRes = pyqt3GetSender(); +%End + +protected: + virtual void timerEvent(QTimerEvent *); + +private: + QObject(const QObject &); +}; + +%End + + +SIP_PYOBJECT SLOT(const char *); +%MethodCode + if (!a0) + { + PyErr_Format(PyExc_TypeError,"qt.SLOT() slot name cannot be None"); + sipIsErr = 1; + } + else + { + int len = strlen(a0); + + if ((sipRes = PyString_FromStringAndSize(NULL,1 + len)) == NULL) + sipIsErr = 1; + else + { + char *dp = PyString_AS_STRING(sipRes); + + *dp++ = '1'; + + memcpy(dp,a0,len + 1); + } + } +%End + + +SIP_PYOBJECT SIGNAL(const char *); +%MethodCode + if (!a0) + { + PyErr_Format(PyExc_TypeError,"qt.SIGNAL() signal cannot be None"); + sipIsErr = 1; + } + else + { + int len = strlen(a0); + + if ((sipRes = PyString_FromStringAndSize(NULL,1 + len)) == NULL) + sipIsErr = 1; + else + { + char *dp = PyString_AS_STRING(sipRes); + + *dp++ = '2'; + + memcpy(dp,a0,len + 1); + } + } +%End + + +SIP_PYOBJECT PYSIGNAL(const char *); +%MethodCode + if (!a0) + { + PyErr_Format(PyExc_TypeError,"qt.PYSIGNAL() signal cannot be None"); + sipIsErr = 1; + } + else + { + int len = strlen(a0); + + if ((sipRes = PyString_FromStringAndSize(NULL,1 + len)) == NULL) + sipIsErr = 1; + else + { + char *dp = PyString_AS_STRING(sipRes); + + *dp++ = '9'; + + memcpy(dp,a0,len + 1); + } + } +%End + + +%ModuleHeaderCode + +int pyqt3EmitSignal(PyObject *self, const char *sig, PyObject *sigargs); +PyObject *pyqt3GetSender(); + +%End + + +// This is the Qt support code for SIP v4.4 and later. +%ModuleCode + +#include <string.h> + +#include <qobject.h> +#include <qvariant.h> +#include <qmetaobject.h> +#include <private/qucom_p.h> +#include <private/qucomextra_p.h> + + +// These optional parts of the legacy Qt support API for SIP are implemented. +#undef sipQtEmitSignal +#undef sipQtConnectPySignal +#undef sipQtDisconnectPySignal + + +// Declare explicit C linkage. +extern "C" +{ + static void *sipQtCreateUniversalSlot(sipWrapper *, const char *, + PyObject *, const char *, const char **, int); + static void sipQtDestroyUniversalSlot(void *); + static void *sipQtFindSlot(void *, const char *, PyObject *, const char *, + const char **); + static int sipQtConnect(void *, const char *, void *, const char *, int); + static int sipQtDisconnect(void *, const char *, void *, const char *); + static int sipQtSameSignalSlotName(const char *, const char *); + static sipSlot *sipQtFindSipslot(void *, void **); + static int sipQtEmitSignal(PyObject *, const char *, PyObject *); + static int sipQtConnectPySignal(PyObject *, const char *, PyObject *, + const char *); + static void sipQtDisconnectPySignal(PyObject *, const char *, + PyObject *, const char *); +} + + +extern "C" { + +// The meta-type for PyQt classes. It is just a marker type so that we can +// safely cast to get access to PyQt3-specific data structures. +PyTypeObject pyqtWrapperType_Type = { + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ + "qt.pyqtWrapperType", /* tp_name */ + sizeof (sipWrapperType), /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_compare */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ + 0, /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + 0, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + 0, /* tp_free */ + 0, /* tp_is_gc */ + 0, /* tp_bases */ + 0, /* tp_mro */ + 0, /* tp_cache */ + 0, /* tp_subclasses */ + 0, /* tp_weaklist */ + 0, /* tp_del */ +#if PY_VERSION_HEX >= 0x02060000 + 0, /* tp_version_tag */ +#endif +}; + + +/* + * An entry in a linked list of slots. + */ +typedef struct _pyqt3SlotList { + /* The receiver. */ + sipSlot rx; + + /* Next in the list. */ + struct _pyqt3SlotList *next; +} pyqt3SlotList; + + +/* + * A Python signal. + */ +typedef struct _pyqt3PySig { + /* The name of the signal. */ + char *name; + + /* The list of receivers. */ + pyqt3SlotList *rxlist; + + /* Next in the list. */ + struct _pyqt3PySig *next; +} pyqt3PySig; + + +/* + * The C++ wrapper object used by PyQt3. + */ +typedef struct _pyqtWrapper { + /* The super-type. */ + sipWrapper super; + + /* The list of Python signals. */ + pyqt3PySig *pySigList; +} pyqtWrapper; + + +/* + * Clear any slots connected to any Python signals. + */ +static void clear_py_signals_slots(pyqtWrapper *pw) +{ + pyqt3PySig *ps; + + for (ps = pw->pySigList; ps != NULL; ps = ps->next) + { + pyqt3SlotList *psrx; + + for (psrx = ps->rxlist; psrx != NULL; psrx = psrx->next) + sipClearAnySlotReference(&psrx->rx); + } +} + + +/* + * Find the given Python signal. + */ +static pyqt3PySig *find_py_signal(pyqtWrapper *pw, const char *sig) +{ + pyqt3PySig *ps; + + for (ps = pw->pySigList; ps != NULL; ps = ps->next) + if (sipQtSameSignalSlotName(ps->name, sig)) + return ps; + + return 0; +} + + +/* + * Free an slot list entry. + */ +static void free_slot_list(pyqt3SlotList *sl) +{ + sipFreeSipslot(&sl->rx); + sipFree(sl); +} + + +/* + * The instance clear slot. + */ +static int pyqtWrapper_clear(pyqtWrapper *self) +{ + clear_py_signals_slots(self); + + return sipWrapper_Type->tp_clear((PyObject *)self); +} + + +/* + * The instance dealloc slot. + */ +static void pyqtWrapper_dealloc(pyqtWrapper *self) +{ + clear_py_signals_slots(self); + + while (self->pySigList != NULL) + { + pyqt3PySig *ps; + pyqt3SlotList *psrx; + + /* Take this one out of the list. */ + ps = self->pySigList; + self->pySigList = ps->next; + + while ((psrx = ps->rxlist) != NULL) + { + ps->rxlist = psrx->next; + free_slot_list(psrx); + } + + sipFree(ps->name); + sipFree(ps); + } + + sipWrapper_Type->tp_dealloc((PyObject *)self); +} + + +/* + * The instance traverse slot. + */ +static int pyqtWrapper_traverse(pyqtWrapper *self, visitproc visit, void *arg) +{ + int vret; + pyqt3PySig *ps; + + if ((vret = sipWrapper_Type->tp_traverse((PyObject *)self, visit, arg)) != 0) + return vret; + + for (ps = self->pySigList; ps != NULL; ps = ps->next) + { + pyqt3SlotList *psrx; + + for (psrx = ps->rxlist; psrx != NULL; psrx = psrx->next) + if ((vret = sipVisitSlot(&psrx->rx, visit, arg)) != 0) + return vret; + } + + return 0; +} + + +static sipWrapperType pyqtWrapper_Type = { +#if !defined(STACKLESS) + { +#endif + { + PyObject_HEAD_INIT(&pyqtWrapperType_Type) + 0, /* ob_size */ + "qt.pyqtWrapper", /* tp_name */ + sizeof (pyqtWrapper), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor)pyqtWrapper_dealloc, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_compare */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC, /* tp_flags */ + 0, /* tp_doc */ + (traverseproc)pyqtWrapper_traverse, /* tp_traverse */ + (inquiry)pyqtWrapper_clear, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + 0, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + 0, /* tp_free */ + 0, /* tp_is_gc */ + 0, /* tp_bases */ + 0, /* tp_mro */ + 0, /* tp_cache */ + 0, /* tp_subclasses */ + 0, /* tp_weaklist */ + 0, /* tp_del */ +#if PY_VERSION_HEX >= 0x02060000 + 0, /* tp_version_tag */ +#endif + }, +#if !defined(STACKLESS) + }, +#endif + 0, + 0, + 0 +}; + +}; + + +// This enumerates the different dynamic signal argument types. +enum pyqt3SigArgType { + unknown_sat, + char_sat, + uchar_sat, + string_sat, + ustring_sat, + short_sat, + ushort_sat, + int_sat, + uint_sat, + long_sat, + ulong_sat, + longlong_sat, + ulonglong_sat, + float_sat, + double_sat, + enum_sat, + bool_sat, + void_sat, + class_sat, + classp_sat, + mtype_sat, + mtypep_sat, + qvariant_sat, + qvariantp_sat, + pyobject_sat, + schar_sat, + sstring_sat, + wchar_sat, + wstring_sat +}; + + +// This defines a single dynamic signal argument type. +struct pyqt3SigArg +{ + // The type. + pyqt3SigArgType atype; + + union { + // The Python type for classes. + sipWrapperType *wt; + + // The data for mapped types. + const sipTypeDef *mt; + + // The Python type for named enums. + PyTypeObject *et; + } u; +}; + + +// A parsed signal signature. +struct pyqt3Signature { + // The number of arguments. + int sg_nrargs; + + // The parsed arguments (heap). + pyqt3SigArg *sg_args; + + // The unparsed signature (heap). + char *sg_signature; + + // The next in the list. + pyqt3Signature *sg_next; +}; + + +// A connection to a universal slot. +struct pyqt3SlotConnection +{ + // The transmitter QObject. + void *sc_transmitter; + + // The parsed signature. + const pyqt3Signature *sc_signature; + + // The slot. + sipSlot sc_slot; +}; + + +// This class is used as a slot on behalf of connections to a Python callable. +// It is derived from QObject but is not run through moc. Instead the normal +// moc-generated methods are handwritten in order to implement a universal +// slot. This requires some knowledge of the internal implementation of +// signals and slots but it is likely that they will only change between major +// Qt versions. +class UniversalSlot : public QObject +{ +public: + UniversalSlot(QObject *qtx, pyqt3SlotConnection *conn, const char **member); + ~UniversalSlot(); + + virtual QMetaObject *metaObject() const + { + return staticMetaObject(); + } + + virtual bool qt_invoke(int, QUObject *args); + static QMetaObject *staticMetaObject(); + + static QObject *lastSender; + + static UniversalSlot *unislots; + UniversalSlot *nextus, *prevus; + pyqt3SlotConnection conn; + +private: + static QMetaObject *metaObj; +}; + + +// Create a universal slot. Note that this will leak if there is no signal +// transmitter (ie. no parent) - QTimer.singleShot() for example. +UniversalSlot::UniversalSlot(QObject *qtx, pyqt3SlotConnection *connection, const char **member) : QObject() +{ + // Save the connection. + conn = *connection; + + // Detect when the transmitter is destroyed. + if (qtx) + connect(qtx, SIGNAL(destroyed(QObject *)), SLOT(deleteLater())); + + // Return the slot to connect to. + *member = SLOT(unislot()); + + // Add this one to the global list. + nextus = unislots; + + if (nextus) + nextus -> prevus = this; + + prevus = 0; + unislots = this; +} + + +// Destroy a universal slot. +UniversalSlot::~UniversalSlot() +{ + SIP_BLOCK_THREADS + sipFreeSipslot(&conn.sc_slot); + SIP_UNBLOCK_THREADS + + // Remove this one from the global list. + if (nextus) + nextus -> prevus = prevus; + + if (prevus) + prevus -> nextus = nextus; + else + unislots = nextus; +} + + +// The last Python signal sender. +static PyObject *py_sender = 0; + + +QMetaObject *UniversalSlot::metaObj = 0; + +#if QT_VERSION >= 0x030100 +static QMetaObjectCleanUp cleanUp_UniversalSlot("UniversalSlot", &UniversalSlot::staticMetaObject); +#else +static QMetaObjectCleanUp cleanUp_UniversalSlot; +#endif + +QObject *UniversalSlot::lastSender = 0; +UniversalSlot *UniversalSlot::unislots = 0; + + +QMetaObject *UniversalSlot::staticMetaObject() +{ + if (metaObj) + return metaObj; + + // Define a single slot that takes no arguments and so will accept any + // connection. + static const QUMethod slot = {"unislot", 0, 0}; + static const QMetaData slot_tbl[] = { + {"unislot()", &slot, QMetaData::Public} + }; + + metaObj = QMetaObject::new_metaobject( + "UniversalSlot", QObject::staticMetaObject(), + slot_tbl, 1, + 0, 0, +#ifndef QT_NO_PROPERTIES + 0, 0, + 0, 0, +#endif + 0, 0); + + cleanUp_UniversalSlot.setMetaObject(metaObj); + + return metaObj; +} + + +bool UniversalSlot::qt_invoke(int id, QUObject *qargs) +{ + if (id - staticMetaObject()->slotOffset() != 0) + return QObject::qt_invoke(id, qargs); + + bool ok = TRUE; + const pyqt3Signature *psig = conn.sc_signature; + QVariant *qv; + + // Save in case it is asked for later. + lastSender = const_cast<QObject *>(sender()); + + // If the sender was a QSignal then the single argument will be wrapped + // in a QVariant instance. At the moment we handle int argument as + // that is all that is needed by PyQt (and PyKDE). + if (lastSender->inherits("QSignal")) + qv = &static_QUType_QVariant.get(qargs + 1); + else + qv = 0; + +#ifdef WITH_THREAD + PyGILState_STATE state = PyGILState_Ensure(); +#endif + + PyObject *argtup = PyTuple_New(psig->sg_nrargs); + + if (!argtup) + ok = FALSE; + else + { + for (int a = 0; a < psig->sg_nrargs; ++a) + { + PyObject *arg; + + ++qargs; + + switch (psig->sg_args[a].atype) + { + case char_sat: + case schar_sat: + case uchar_sat: + arg = PyString_FromStringAndSize((char *)static_QUType_ptr.get(qargs), 1); + break; + + case string_sat: + case sstring_sat: + case ustring_sat: + arg = PyString_FromString((char *)static_QUType_ptr.get(qargs)); + break; + + case short_sat: + arg = PyInt_FromLong(*(short *)static_QUType_ptr.get(qargs)); + break; + + case ushort_sat: + arg = PyLong_FromUnsignedLong(*(unsigned short *)static_QUType_ptr.get(qargs)); + break; + + case int_sat: + if (qv) + arg = PyInt_FromLong(qv -> asInt()); + else + arg = PyInt_FromLong(static_QUType_int.get(qargs)); + break; + + case uint_sat: + arg = PyLong_FromUnsignedLong(*(unsigned *)static_QUType_ptr.get(qargs)); + break; + + case long_sat: + arg = PyLong_FromLong(*(long *)static_QUType_ptr.get(qargs)); + break; + + case ulong_sat: + arg = PyLong_FromUnsignedLong(*(unsigned long *)static_QUType_ptr.get(qargs)); + break; + + case longlong_sat: + arg = PyLong_FromLongLong(*(PY_LONG_LONG *)static_QUType_ptr.get(qargs)); + break; + + case ulonglong_sat: + arg = PyLong_FromUnsignedLongLong(*(unsigned PY_LONG_LONG *)static_QUType_ptr.get(qargs)); + break; + + case float_sat: + arg = PyFloat_FromDouble(*(float *)static_QUType_ptr.get(qargs)); + break; + + case double_sat: + arg = PyFloat_FromDouble(static_QUType_double.get(qargs)); + break; + + case enum_sat: + arg = sipConvertFromNamedEnum(*(int *)static_QUType_ptr.get(qargs), psig->sg_args[a].u.et); + break; + + case bool_sat: + arg = PyInt_FromLong(static_QUType_bool.get(qargs)); + break; + + case void_sat: + arg = sipConvertFromVoidPtr((void *)static_QUType_ptr.get(qargs)); + break; + + case class_sat: + case classp_sat: + arg = sipConvertFromInstance((void *)static_QUType_ptr.get(qargs),psig->sg_args[a].u.wt,0); + break; + + case mtype_sat: + case mtypep_sat: + arg = sipConvertFromMappedType((void *)static_QUType_ptr.get(qargs),psig->sg_args[a].u.mt,0); + break; + + case qvariant_sat: + case qvariantp_sat: + arg = sipConvertFromInstance((void *)&static_QUType_QVariant.get(qargs),sipClass_QVariant,0); + break; + + case pyobject_sat: + arg = (PyObject *)static_QUType_ptr.get(qargs); + break; + + default: + arg = Py_NotImplemented; + Py_INCREF(Py_NotImplemented); + } + + PyTuple_SET_ITEM(argtup, a, arg); + } + + // Dispatch to the real slot. + if (ok) + { + PyObject *res = sipInvokeSlot(&conn.sc_slot, argtup); + + if (res) + Py_DECREF(res); + else + ok = FALSE; + } + + Py_DECREF(argtup); + } + + if (!ok) + PyErr_Print(); + +#ifdef WITH_THREAD + PyGILState_Release(state); +#endif + + return ok; +} + + +static pyqt3Signature *parseSignature(const char *sig); +static void parseType(const char *type, pyqt3SigArg *arg); + + +// Factory function to create a universal slot instance. Returns a pointer to +// the instance or 0 if there was an error. +static void *sipQtCreateUniversalSlot(sipWrapper *tx, const char *sig, + PyObject *rxObj, const char *slot, const char **member, int) +{ + pyqt3SlotConnection conn; + + /* Initialise the connection. */ + conn.sc_transmitter = (tx ? sipGetCppPtr((sipSimpleWrapper *)tx, 0) : 0); + + /* Save the real slot. */ + if (sipSaveSlot(&conn.sc_slot, rxObj, slot) < 0) + return 0; + + /* Parse the signature and create the universal slot. */ + if ((conn.sc_signature = parseSignature(sig)) == NULL) + { + sipFreeSipslot(&conn.sc_slot); + return 0; + } + + QObject *qtx = 0; + + // See if the transmitter is a QObject in which case we will connect + // to it's destroyed signal so that the universal slot can be destroyed + // at the same time. (Note that we used to do this by making the + // universal slot a child of the transmitter. This doesn't work as + // expected because QWidget destroys its children before emitting the + // destroyed signal.) + if (tx && PyObject_TypeCheck((PyObject *)tx, (PyTypeObject *)sipClass_QObject)) + qtx = reinterpret_cast<QObject *>(conn.sc_transmitter); + + return new UniversalSlot(qtx, &conn, member); +} + + +// Parse the signal arguments for a connection. +static pyqt3Signature *parseSignature(const char *sig) +{ + static pyqt3Signature *psig_list = NULL; + pyqt3Signature *psig; + const char *sp, *ep; + + // First see if it has already been parsed. Note that both sides of a + // connection will probably be parsed twice because the function names will + // be different even though the signatures will probably be the same. We + // could be more clever, the most saving is when repeatedly emitting a + // signal for which this is sufficient. + for (psig = psig_list; psig != NULL; psig = psig->sg_next) + if (sipQtSameSignalSlotName(psig->sg_signature, sig)) + return psig; + + // Create a new one including space for the copy of the signature. + if ((psig = (pyqt3Signature *)sipMalloc(sizeof (pyqt3Signature) + strlen(sig) + 1)) == NULL) + return NULL; + + psig->sg_signature = (char *)&psig[1]; + psig->sg_nrargs = 0; + psig->sg_args = 0; + + // Find the start and end of the arguments. + sp = strchr(sig, '('); + ep = strrchr(sig, ')'); + + // If the signal isn't well formed we assume Qt will pick it up. + if (sp && ep && sp < ep) + { + // Copy the signature arguments while counting them and removing + // non-significant spaces. Each argument is left as a '\0' terminated + // string. + char *dp = psig->sg_signature; + int depth = 0, nrcommas = 0, argstart = TRUE; + + for (;;) + { + char ch = *++sp; + + if (strchr(",*&)<>", ch)) + { + // Backup over any previous trailing space. + if (dp > psig->sg_signature && dp[-1] == ' ') + --dp; + + if (sp == ep) + { + *dp = '\0'; + break; + } + + if (ch == ',' && depth == 0) + { + *dp++ = '\0'; + ++nrcommas; + argstart = TRUE; + } + else + { + *dp++ = ch; + + // Make sure commas in template arguments are ignored. + if (ch == '<') + ++depth; + else if (ch == '>') + --depth; + } + } + else if (ch == ' ') + { + // Ignore leading and multiple spaces. + if (!argstart && dp[-1] != ' ') + *dp++ = ch; + } + else + { + *dp++ = ch; + argstart = FALSE; + } + } + + // Handle the arguments now they are in a normal form. + if (*psig->sg_signature) + { + char *arg = psig->sg_signature; + int a; + + // Allocate the space. + psig->sg_nrargs = nrcommas + 1; + + if ((psig->sg_args = (pyqt3SigArg *)sipMalloc(sizeof (pyqt3SigArg) * psig->sg_nrargs)) == NULL) + { + sipFree(psig); + return NULL; + } + + for (a = 0; a < psig->sg_nrargs; ++a) + { + parseType(arg, &psig->sg_args[a]); + + // Move to the start of the next argument. + arg += strlen(arg) + 1; + } + } + } + + // Make a deep copy of the signal. + strcpy(psig->sg_signature, sig); + + // Add it to the list so it can be re-used. + psig->sg_next = psig_list; + psig_list = psig; + + return psig; +} + + +// Parse a single type. +static void parseType(const char *type, pyqt3SigArg *arg) +{ + size_t btlen = 0; + int unsup, isref = FALSE, indir = 0; + const char *ep; + pyqt3SigArgType sat = unknown_sat; + + // Find the start of the significant part of the type. + if (strncmp(type, "const ", 6) == 0) + type += 6; + + // Find the length of the base type, the number of indirections and if it + // is a reference. + for (ep = type; *ep; ++ep) + if (*ep == '&') + isref = TRUE; + else if (*ep == '*') + ++indir; + else + ++btlen; + + // Extract the base type as a separate string. + char type_str[btlen + 1]; + + strncpy(type_str, type, btlen); + type_str[btlen] = '\0'; + + // Resolve any typedef which may mean more indirection. + type = sipResolveTypedef(type_str); + + // See if we need to make another copy. + bool copy = false; + + if (type) + { + btlen = strlen(type); + + // Remove any additional indirection. + while (btlen) + { + if (type[--btlen] == '*') + { + copy = true; + ++indir; + } + } + } + else + type = type_str; + + // Make sure this doesn't go out of scope while it is being used. + char base_type_str[btlen + 1]; + + if (copy) + { + // Extract the base type again. + strncpy(base_type_str, type, btlen); + base_type_str[btlen] = '\0'; + type = base_type_str; + } + + // Assume that anything other than a base type is unsupported. + unsup = (isref || indir); + + // Parse the base type. + switch (btlen) + { + case 3: + if (strcmp(type, "int") == 0) + sat = int_sat; + break; + + case 4: + if (strcmp(type, "bool") == 0) + sat = bool_sat; + else if (strcmp(type, "long") == 0) + sat = long_sat; + else if (strcmp(type, "char") == 0) + { + sat = (indir ? string_sat : char_sat); + unsup = (isref || indir > 1); + } + else if (strcmp(type, "void") == 0) + { + sat = void_sat; + unsup = (isref || indir != 1); + } + break; + + case 5: + if (strcmp(type, "float") == 0) + sat = float_sat; + else if (strcmp(type, "short") == 0) + sat = short_sat; + break; + + case 6: + if (strcmp(type, "double") == 0) + sat = double_sat; + break; + + case 7: + if (strcmp(type, "__int64") == 0) + sat = longlong_sat; + else if (strcmp(type, "wchar_t") == 0) + { + sat = (indir ? wstring_sat : wchar_sat); + unsup = (isref || indir > 1); + } + break; + + case 8: + if (strcmp(type, "unsigned") == 0) + sat = uint_sat; + else if (strcmp(type, "QVariant") == 0) + { + if (indir == 0) + { + sat = qvariant_sat; + unsup = FALSE; + } + else if (indir == 1) + { + sat = qvariantp_sat; + unsup = FALSE; + } + } + break; + + case 9: + if (strcmp(type, "long long") == 0) + sat = longlong_sat; + break; + + case 11: + if (strcmp(type, "signed char") == 0) + { + sat = (indir ? sstring_sat : schar_sat); + unsup = (isref || indir > 1); + } + break; + + case 12: + if (strcmp(type, "unsigned int") == 0) + sat = uint_sat; + break; + + case 13: + if (strcmp(type, "unsigned long") == 0) + sat = ulong_sat; + else if (strcmp(type, "unsigned char") == 0) + { + sat = (indir ? ustring_sat : uchar_sat); + unsup = (isref || indir > 1); + } + else if (strcmp(type, "PyQt_PyObject") == 0 && indir == 0) + { + sat = pyobject_sat; + unsup = FALSE; + } + break; + + case 14: + if (strcmp(type, "unsigned short") == 0) + sat = ushort_sat; + break; + + case 16: + if (strcmp(type, "unsigned __int64") == 0) + sat = ulonglong_sat; + break; + + case 18: + if (strcmp(type, "unsigned long long") == 0) + sat = ulonglong_sat; + break; + } + + if (sat == unknown_sat) + { + const sipTypeDef *td = sipFindType(type); + + if (td) + { + if (sipTypeIsClass(td)) + { + if (indir == 0) + sat = class_sat; + else if (indir == 1) + sat = classp_sat; + + arg->u.wt = (sipWrapperType *)sipTypeAsPyTypeObject(td); + } + else if (sipTypeIsMapped(td)) + { + if (indir == 0) + sat = mtype_sat; + else if (indir == 1) + sat = mtypep_sat; + + arg->u.mt = td; + } + else if (sipTypeIsEnum(td)) + { + if (indir == 0) + sat = enum_sat; + + arg->u.et = sipTypeAsPyTypeObject(td); + } + } + } + else if (unsup) + sat = unknown_sat; + + arg->atype = sat; +} + + +// Dispose of a receiver that might be a universal slot. +static void sipQtDestroyUniversalSlot(void *rx) +{ + for (UniversalSlot *us = UniversalSlot::unislots; us; us = us->nextus) + if (us == reinterpret_cast<QObject *>(rx)) + { + delete us; + break; + } +} + + +// Search for the universal slot connected to a particular Qt signal. +static void *sipQtFindSlot(void *tx, const char *sig, PyObject *rxObj, + const char *slot, const char **member) +{ + for (UniversalSlot *us = UniversalSlot::unislots; us; us = us->nextus) + { + pyqt3SlotConnection *conn = &us->conn; + + if (conn->sc_transmitter != tx) + continue; + + if (!sipQtSameSignalSlotName(conn->sc_signature->sg_signature, sig)) + continue; + + if (sipSameSlot(&conn->sc_slot, rxObj, slot)) + { + *member = SLOT(unislot()); + return us; + } + } + + return 0; +} + + +// Connect a Qt signal to a Qt slot. +static int sipQtConnect(void *tx, const char *sig, void *rx, const char *slot, int) +{ + return QObject::connect(reinterpret_cast<QObject *>(tx), sig, + reinterpret_cast<QObject *>(rx), slot); +} + + +// Disconnect a Qt signal from a Qt slot. +static int sipQtDisconnect(void *tx, const char *sig, void *rx, const char *slot) +{ + return QObject::disconnect(reinterpret_cast<QObject *>(tx), sig, + reinterpret_cast<QObject *>(rx), slot); +} + + +// See if two signal or slot names are the same. +static int sipQtSameSignalSlotName(const char *s1, const char *s2) +{ + // moc formats signal names, so we should first convert the supplied + // string to the same format before comparing them. Instead we just + // compare them as they are, but ignoring all spaces - this will have + // the same result. + do + { + // Skip any spaces. + + while (*s1 == ' ') + ++s1; + + while (*s2 == ' ') + ++s2; + + if (*s1++ != *s2) + return 0; + } + while (*s2++ != '\0'); + + return 1; +} + + +// Return the next slot for a particular transmitter. This will be called with +// the GIL locked. +static sipSlot *sipQtFindSipslot(void *tx, void **context) +{ + UniversalSlot *us = *reinterpret_cast<UniversalSlot **>(context); + + if (!us) + us = UniversalSlot::unislots; + + sipSlot *slot = 0; + + while (us) + { + pyqt3SlotConnection *this_conn = &us->conn; + + us = us->nextus; + + if (this_conn->sc_transmitter == tx) + { + slot = &this_conn->sc_slot; + break; + } + } + + *context = us; + + return slot; +} + + +// Connect a slot from a Python signal. +static int sipQtConnectPySignal(PyObject *txObj, const char *sig, + PyObject *rxObj, const char *slot) +{ + pyqt3PySig *ps; + pyqt3SlotList *psrx; + pyqtWrapper *pw = (pyqtWrapper *)txObj; + + /* Create a new one if necessary. */ + if ((ps = find_py_signal(pw, sig)) == NULL) + { + if ((ps = (pyqt3PySig *)sipMalloc(sizeof (pyqt3PySig))) == NULL) + return -1; + + if ((ps->name = (char *)sipMalloc(strlen(sig) + 1)) == NULL) + { + sipFree(ps); + return -1; + } + + strcpy(ps->name, sig); + + ps->rxlist = NULL; + ps->next = pw->pySigList; + + pw->pySigList = ps; + } + + /* Create the new receiver. */ + if ((psrx = (pyqt3SlotList *)sipMalloc(sizeof (pyqt3SlotList))) == NULL) + return -1; + + if (sipSaveSlot(&psrx->rx, rxObj, slot) < 0) + { + sipFree(psrx); + return -1; + } + + psrx->next = ps->rxlist; + ps->rxlist = psrx; + + return 0; +} + + +// Disconnect a slot from a Python signal. +static void sipQtDisconnectPySignal(PyObject *txObj, const char *sig, + PyObject *rxObj, const char *slot) +{ + pyqt3PySig *ps; + + if ((ps = find_py_signal((pyqtWrapper *)txObj, sig)) != NULL) + { + pyqt3SlotList **psrxp; + + for (psrxp = &ps->rxlist; *psrxp != NULL; psrxp = &(*psrxp)->next) + { + pyqt3SlotList *psrx = *psrxp; + + if (sipSameSlot(&psrx->rx, rxObj, slot)) + { + *psrxp = psrx->next; + free_slot_list(psrx); + break; + } + } + } +} + + +// Emit a signal for the sip module. +static int sipQtEmitSignal(PyObject *self, const char *sig, PyObject *sigargs) +{ + return pyqt3EmitSignal(self, sig, sigargs); +} + + +// Emit a Python or Qt signal. +int pyqt3EmitSignal(PyObject *self, const char *sig, PyObject *sigargs) +{ + // Don't do anything if signals are blocked. Qt signals would be blocked + // anyway, but this blocks Python signals as well. + void *tx = sipGetCppPtr((sipSimpleWrapper *)self, sipType_QObject); + + if (!tx) + return 0; + + if (reinterpret_cast<QObject *>(tx)->signalsBlocked()) + return 0; + + // See if it is a Qt signal. + if (*sig == '2') + { + pyqt3QtSignal *tab; + + // Search the table. + for (tab = ((pyqt3ClassTypeDef *)((sipWrapperType *)(self->ob_type))->type)->qt3_emit; tab->st_name != NULL; ++tab) + { + const char *sp, *tp; + bool found; + + // Compare only the base name. + sp = &sig[1]; + tp = tab->st_name; + + found = true; + + while (*sp != '\0' && *sp != '(' && *tp != '\0') + if (*sp++ != *tp++) + { + found = false; + break; + } + + if (found) + return (*tab->st_emitfunc)((sipSimpleWrapper *)self, sigargs); + } + + // It wasn't found if we got this far. + PyErr_Format(PyExc_NameError, "Invalid signal %s", &sig[1]); + + return -1; + } + + pyqt3PySig *ps = find_py_signal((pyqtWrapper *)self, sig); + + if (ps) + { + int rc = 0; + pyqt3SlotList *rxlist = ps->rxlist; + + // Forget the last Qt sender and remember this one. + UniversalSlot::lastSender = 0; + py_sender = self; + + // Apply the arguments to each slot method. + while (rxlist && rc >= 0) + { + pyqt3SlotList *next; + PyObject *res; + + // We get the next in the list before calling the slot in case the + // list gets changed by the slot - usually because the slot + // disconnects itself. + next = rxlist->next; + + res = sipInvokeSlot(&rxlist->rx, sigargs); + + if (res) + Py_DECREF(res); + else + rc = -1; + + rxlist = next; + } + + // Forget this as a sender. + py_sender = NULL; + + return rc; + } + + return 0; +} + + +// Return the most recent signal sender. +PyObject *pyqt3GetSender() +{ + PyObject *sender; + + // If there is a Qt sender then it is more recent than the last Python + // sender, so use it instead. + if (UniversalSlot::lastSender) + { + sender = sipConvertFromType(UniversalSlot::lastSender, sipType_QObject, + NULL); + } + else + { + sender = (py_sender ? py_sender : Py_None); + Py_INCREF(sender); + } + + return sender; +} + +%End + +%InitialisationCode + // Initialise the meta-type. + pyqtWrapperType_Type.tp_base = sipWrapperType_Type; + + if (PyType_Ready(&pyqtWrapperType_Type) < 0) + Py_FatalError("qt: Failed to initialise pyqtWrapperType type"); + + // Register the meta-type. + if (sipRegisterPyType((PyTypeObject *)&pyqtWrapperType_Type) < 0) + Py_FatalError("qt: Failed to register pyqtWrapperType type"); + + // Initialise the super-type. +#if PY_VERSION_HEX >= 0x02050000 + pyqtWrapper_Type.super.ht_type.tp_base = sipWrapper_Type; +#else + pyqtWrapper_Type.super.type.tp_base = sipWrapper_Type; +#endif + + if (PyType_Ready((PyTypeObject *)&pyqtWrapper_Type) < 0) + Py_FatalError("qt: Failed to initialise pyqtWrapper type"); + + // Register the super-type. + if (sipRegisterPyType((PyTypeObject *)&pyqtWrapper_Type) < 0) + Py_FatalError("qt: Failed to register pyqtWrapper type"); +%End diff --git a/sip/qt/qobjectcleanuphandler.sip b/sip/qt/qobjectcleanuphandler.sip new file mode 100644 index 0000000..0828fc7 --- /dev/null +++ b/sip/qt/qobjectcleanuphandler.sip @@ -0,0 +1,49 @@ +// This is the SIP interface definition for QObjectCleanupHandler. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QObjectCleanupHandler (Qt v3+)</Title> +<Para> +<Literal>QObjectCleanupHandler</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QObjectCleanupHandler : QObject +{ +%TypeHeaderCode +#include <qobjectcleanuphandler.h> +%End + +public: + QObjectCleanupHandler(); + + QObject *add(QObject *); + void remove(QObject *); + bool isEmpty() const; + void clear(); +}; + +%End diff --git a/sip/qt/qobjectlist.sip b/sip/qt/qobjectlist.sip new file mode 100644 index 0000000..6fe34fc --- /dev/null +++ b/sip/qt/qobjectlist.sip @@ -0,0 +1,107 @@ +// This is the SIP interface definition for QObjectList. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QObjectList</Title> +<Para> +This class isn't implemented. Whenever a <Literal>QObjectList</Literal> is the +return type of a function or the type of an argument, a Python list of +<Literal>QObject</Literal> instances is used instead. +</Para> +</Sect2> +%End + + +%MappedType QObjectList +{ +%TypeHeaderCode +#include <qobjectlist.h> +%End + +%ConvertFromTypeCode + // Convert the list. + + PyObject *pl; + QObject *obj; + + if ((pl = PyList_New(0)) == NULL) + return NULL; + + for (QObjectListIt it(*sipCpp); (obj = it.current()) != NULL; ++it) + { + PyObject *inst; + + if ((inst = sipConvertFromInstance(obj,sipClass_QObject,sipTransferObj)) == NULL || PyList_Append(pl,inst) < 0) + { + Py_XDECREF(inst); + Py_DECREF(pl); + + return NULL; + } + + Py_DECREF(inst); + } + + return pl; +%End + +%ConvertToTypeCode + // Convert a Python list of QObject instances to a QObjectList on the + // heap. + + if (sipIsErr == NULL) + { + if (!PyList_Check(sipPy)) + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QObject,0)) + return 0; + + return 1; + } + + QObjectList *qol = new QObjectList; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + QObject *qobj; + + // We apply the transfer to the list itself, not the elements. + // Note that any temporary element will never be destroyed. + // There is nothing that can be done about this. + qobj = reinterpret_cast<QObject *>(sipConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QObject,0,0,0,sipIsErr)); + + if (*sipIsErr) + { + delete qol; + return 0; + } + + qol -> append(qobj); + } + + *sipCppPtr = qol; + + return sipGetState(sipTransferObj); +%End +}; diff --git a/sip/qt/qpaintdevice.sip b/sip/qt/qpaintdevice.sip new file mode 100644 index 0000000..52b78f2 --- /dev/null +++ b/sip/qt/qpaintdevice.sip @@ -0,0 +1,247 @@ +// This is the SIP interface definition for QPaintDevice. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPaintDevice</Title> +<FuncSynopsis> + <FuncDef>virtual bool <Function>cmd</Function></FuncDef> + <ParamDef>int</ParamDef> + <ParamDef>QPainter *</ParamDef> + <ParamDef>QPDevCmdParam *</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +%End + + +%ModuleHeaderCode +#include <qpaintdevice.h> +%End + + +%If (- Qt_2_00) + +// Painter device types. + +const int PDT_UNDEF; +const int PDT_WIDGET; +const int PDT_PIXMAP; +const int PDT_PRINTER; +const int PDT_PICTURE; +const int PDT_MASK; + +// Painter device flags. + +const int PDF_EXTDEV; +const int PDF_PAINTACTIVE; + + +void bitBlt(QPaintDevice *,int,int,const QPaintDevice *,int = 0,int = 0, + int = -1,int = -1,RasterOp = CopyROP,bool = 0); +void bitBlt(QPaintDevice *,int,int,const QImage *,int = 0,int = 0,int = -1, + int = -1,int = 0); +void bitBlt(QPaintDevice *,const QPoint &,const QPaintDevice *, + const QRect & = QRect(0,0,-1,-1),RasterOp = CopyROP,bool = 0); + +%End + +%If (Qt_2_00 -) + +void bitBlt(QPaintDevice *,int,int,const QPaintDevice *,int = 0,int = 0, + int = -1,int = -1,Qt::RasterOp = Qt::CopyROP,bool = 0); +void bitBlt(QPaintDevice *,int,int,const QImage *,int = 0,int = 0,int = -1, + int = -1,int = 0); +void bitBlt(QPaintDevice *,const QPoint &,const QPaintDevice *, + const QRect & = QRect(0,0,-1,-1),Qt::RasterOp = Qt::CopyROP, + bool = 0); + +%End + + +class QPaintDevice +{ +%TypeHeaderCode +#include <qpaintdevice.h> +%End + +public: + int devType() const; + bool isExtDev() const; + bool paintingActive() const; + +%If (Qt_3_0_0 -) + virtual void setResolution(int); + virtual int resolution() const; +%End + +%If (- Qt_2_00) + HANDLE handle() const; +%If (WS_X11) + Display *x11Display() const; + static int x11Screen(); + static int x11Depth(); + static int x11Cells(); + static HANDLE x11Colormap(); + static bool x11DefaultColormap(); + static void *x11Visual(); + static bool x11DefaultVisual(); +%End +%End + +%If (Qt_2_00 -) +%If (WS_X11) +%If (- Qt_3_0_0) + HANDLE handle() const; +%End +%If (Qt_3_0_0 -) + Qt::HANDLE handle() const; + Qt::HANDLE x11RenderHandle() const; +%End + Display *x11Display() const; + int x11Screen() const; + int x11Depth() const; + int x11Cells() const; +%If (- Qt_3_0_0) + HANDLE x11Colormap() const; +%End +%If (Qt_3_0_0 -) + Qt::HANDLE x11Colormap() const; +%End + bool x11DefaultColormap() const; + void *x11Visual() const; + bool x11DefaultVisual() const; + + static Display *x11AppDisplay(); + static int x11AppScreen(); + + static int x11AppDpiX(); + static int x11AppDpiY(); +%If (Qt_2_1_0 -) + static void x11SetAppDpiX(int); + static void x11SetAppDpiY(int); +%End + static int x11AppDepth(); + static int x11AppCells(); +%If (Qt_3_1_0 -) + static Qt::HANDLE x11AppRootWindow(); +%End +%If (Qt_3_0_0 -) + static Qt::HANDLE x11AppColormap(); +%End +%If (- Qt_3_0_0) + static HANDLE x11AppColormap(); +%End + static bool x11AppDefaultColormap(); + static void *x11AppVisual(); + static bool x11AppDefaultVisual(); + +%If (Qt_3_1_0 -) + static int x11AppDepth(int); + static int x11AppCells(int); + static Qt::HANDLE x11AppRootWindow(int); + static Qt::HANDLE x11AppColormap(int); + static void *x11AppVisual(int); + static bool x11AppDefaultColormap(int); + static bool x11AppDefaultVisual(int); + static int x11AppDpiX(int); + static int x11AppDpiY(int); + static void x11SetAppDpiX(int,int); + static void x11SetAppDpiY(int,int); +%End +%End + + enum PDevCmd + { + PdcNOP, + PdcDrawPoint, + PdcDrawFirst, + PdcMoveTo, + PdcLineTo, + PdcDrawLine, + PdcDrawRect, + PdcDrawRoundRect, + PdcDrawEllipse, + PdcDrawArc, + PdcDrawPie, + PdcDrawChord, + PdcDrawLineSegments, + PdcDrawPolyline, + PdcDrawPolygon, +%If (Qt_3_0_0 -) + PdcDrawCubicBezier, +%End +%If (- Qt_3_0_0) + PdcDrawQuadBezier, +%End + PdcDrawText, + PdcDrawTextFormatted, + PdcDrawPixmap, + PdcDrawImage, + PdcDrawText2, + PdcDrawText2Formatted, +%If (Qt_3_2_0 -) + PdcDrawTextItem, +%End + PdcDrawLast, + + PdcBegin, + PdcEnd, + PdcSave, + PdcRestore, + PdcSetdev, + PdcSetBkColor, + PdcSetBkMode, + PdcSetROP, + PdcSetBrushOrigin, + PdcSetFont, + PdcSetPen, + PdcSetBrush, + PdcSetTabStops, + PdcSetTabArray, + PdcSetUnit, + PdcSetVXform, + PdcSetWindow, + PdcSetViewport, + PdcSetWXform, + PdcSetWMatrix, + PdcSaveWMatrix, + PdcRestoreWMatrix, + PdcSetClip, + PdcSetClipRegion, + PdcReservedStart, + PdcReservedStop + }; + +%End + +protected: + QPaintDevice(uint); +// virtual bool cmd(int,QPainter *,QPDevCmdParam *); +// virtual int metric(int) const; +// virtual int fontMet(QFont *,int,const char *,int = 0) const; +// virtual int fontInf(QFont *,int) const; + +private: + QPaintDevice(const QPaintDevice &); +}; diff --git a/sip/qt/qpaintdevicemetrics.sip b/sip/qt/qpaintdevicemetrics.sip new file mode 100644 index 0000000..ece9356 --- /dev/null +++ b/sip/qt/qpaintdevicemetrics.sip @@ -0,0 +1,55 @@ +// This is the SIP interface definition for QPaintDeviceMetrics. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPaintDeviceMetrics</Title> +<Para> +<Literal>QPaintDeviceMetrics</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QPaintDeviceMetrics +{ +%TypeHeaderCode +#include <qpaintdevicemetrics.h> +%End + +public: + QPaintDeviceMetrics(const QPaintDevice *); + + int width() const; + int height() const; + int widthMM() const; + int heightMM() const; +%If (Qt_2_00 -) + int logicalDpiX() const; + int logicalDpiY() const; +%End +%If (Qt_3_0_0 -) + int physicalDpiX() const; + int physicalDpiY() const; +%End + int numColors() const; + int depth() const; +}; diff --git a/sip/qt/qpainter.sip b/sip/qt/qpainter.sip new file mode 100644 index 0000000..f9b1fca --- /dev/null +++ b/sip/qt/qpainter.sip @@ -0,0 +1,676 @@ +// This is the SIP interface definition for QPainter. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPainter</Title> +<FuncSynopsis> + <FuncDef>QRect <Function>boundingRect</Function></FuncDef> + <ParamDef>int <Parameter>x</Parameter></ParamDef> + <ParamDef>int <Parameter>y</Parameter></ParamDef> + <ParamDef>int <Parameter>w</Parameter></ParamDef> + <ParamDef>int <Parameter>h</Parameter></ParamDef> + <ParamDef>int <Parameter>flags</Parameter></ParamDef> + <ParamDef>const char *<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef> + <ParamDef>char **<Parameter>intern</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>intern</Literal> parameter is not supported. +</Para> + +<FuncSynopsis> + <FuncDef>QRect <Function>boundingRect</Function></FuncDef> + <ParamDef>const QRect&</ParamDef> + <ParamDef>int <Parameter>flags</Parameter></ParamDef> + <ParamDef>const char *<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef> + <ParamDef>char **<Parameter>intern</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>intern</Literal> parameter is not supported. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>drawText</Function></FuncDef> + <ParamDef>int <Parameter>x</Parameter></ParamDef> + <ParamDef>int <Parameter>y</Parameter></ParamDef> + <ParamDef>int <Parameter>w</Parameter></ParamDef> + <ParamDef>int <Parameter>h</Parameter></ParamDef> + <ParamDef>int <Parameter>flags</Parameter></ParamDef> + <ParamDef>const char *<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef> + <ParamDef>QRect *<Parameter>br</Parameter> = 0</ParamDef> + <ParamDef>char **<Parameter>intern</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>intern</Literal> parameter is not supported. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>drawText</Function></FuncDef> + <ParamDef>const QRect&</ParamDef> + <ParamDef>int <Parameter>flags</Parameter></ParamDef> + <ParamDef>const char *<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>len</Parameter> = -1</ParamDef> + <ParamDef>QRect *<Parameter>br</Parameter> = 0</ParamDef> + <ParamDef>char **<Parameter>intern</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>intern</Literal> parameter is not supported. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>setTabArray</Function></FuncDef> + <ParamDef>int *<Parameter>ta</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single parameter which is a list of tab stops. +</Para> + +<FuncSynopsis> + <FuncDef>int *<Function>tabArray</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This returns a list of tab stops. +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +%ModuleHeaderCode +#include <qpainter.h> +%End + +enum BGMode { + TransparentMode, + OpaqueMode +}; + +enum PaintUnit { + PixelUnit, + LoMetricUnit, + HiMetricUnit, + LoEnglishUnit, + HiEnglishUnit, + TwipsUnit +}; + + +class QPainter +{ +%TypeHeaderCode +#include <qpainter.h> +%End + +public: + QPainter(); + QPainter(const QPaintDevice *); + QPainter(const QPaintDevice *,const QWidget *); + + bool begin(const QPaintDevice *); + bool begin(const QPaintDevice *,const QWidget *); + bool end(); + QPaintDevice *device() const; + + static void redirect(QPaintDevice *,QPaintDevice *); +%If (Qt_3_2_0 -) + static QPaintDevice *redirect(QPaintDevice *); +%End + + bool isActive() const; + void flush(); + void save(); + void restore(); + QFontMetrics fontMetrics() const; + QFontInfo fontInfo() const; + const QFont &font() const; + void setFont(const QFont&); + const QPen &pen() const; + void setPen(const QPen &); + void setPen(PenStyle); + void setPen(const QColor &); + const QBrush &brush() const; + void setBrush(const QBrush &); + void setBrush(BrushStyle); + void setBrush(const QColor &); + const QColor &backgroundColor() const; + void setBackgroundColor(const QColor &); + BGMode backgroundMode() const; + void setBackgroundMode(BGMode); + RasterOp rasterOp() const; + void setRasterOp(RasterOp); + const QPoint &brushOrigin() const; + void setBrushOrigin(int,int); + void setBrushOrigin(const QPoint &); + + bool hasViewXForm() const; + bool hasWorldXForm() const; + + void setViewXForm(bool); + QRect window() const; + void setWindow(const QRect &); + void setWindow(int,int,int,int); + QRect viewport() const; + void setViewport(const QRect &); + void setViewport(int,int,int,int); + + void setWorldXForm(bool); + const QWMatrix &worldMatrix() const; + void setWorldMatrix(const QWMatrix &,bool = 0); + + void scale(float,float); + void shear(float,float); + void rotate(float); + + void translate(float,float); + void resetXForm(); + + QPoint xForm(QPoint &) const; + QRect xForm(QRect &) const; + QPointArray xForm(QPointArray &) const; + QPointArray xForm(QPointArray &,int,int) const; + QPoint xFormDev(QPoint &) const; + QRect xFormDev(QRect &) const; + QPointArray xFormDev(QPointArray &) const; + QPointArray xFormDev(QPointArray &,int,int) const; + void setClipping(bool); + bool hasClipping() const; + const QRegion &clipRegion() const; + void setClipRect(const QRect &); + void setClipRect(int,int,int,int); + void setClipRegion(const QRegion &); + void drawPoint(int,int); + void drawPoint(const QPoint &); + void drawPoints(const QPointArray &,int,int = -1); + void moveTo(int,int); + void moveTo(const QPoint &); + void lineTo(int,int); + void lineTo(const QPoint &); + void drawLine(int,int,int,int); + void drawLine(const QPoint &,const QPoint &); + void drawRect(int,int,int,int); + void drawRect(const QRect &); + void drawWinFocusRect(int,int,int,int); + void drawWinFocusRect(int,int,int,int,const QColor &); + void drawWinFocusRect(const QRect &); + void drawWinFocusRect(const QRect &,const QColor &); + void drawRoundRect(int,int,int,int,int,int); + void drawRoundRect(const QRect &,int,int); + void drawEllipse(int,int,int,int); + void drawEllipse(const QRect &); + void drawArc(int,int,int,int,int,int); + void drawArc(const QRect &,int,int); + void drawPie(int,int,int,int,int,int); + void drawPie(const QRect &,int,int); + void drawChord(int,int,int,int,int,int); + void drawChord(const QRect &,int,int); + void drawLineSegments(const QPointArray &,int = 0,int = -1); + void drawPolyline(const QPointArray &,int = 0,int = -1); + void drawPolygon(const QPointArray &,bool = 0,int = 0,int = -1); + void drawQuadBezier(const QPointArray &,int = 0); + void drawPixmap(int,int,const QPixmap &,int = 0,int = 0,int = -1,int = -1); + void drawPixmap(const QPoint &,const QPixmap &,const QRect &); + void drawPixmap(const QPoint &,const QPixmap &); + void drawImage(int,int,const QImage &,int = 0,int = 0,int = -1,int = -1); + void drawImage(const QPoint &,const QImage &,const QRect &); + void drawImage(const QPoint &,const QImage &); + void drawTiledPixmap(int,int,int,int,const QPixmap &,int = 0,int = 0); + void drawTiledPixmap(const QRect &,const QPixmap &,const QPoint &); + void drawTiledPixmap(const QRect &,const QPixmap &); + void drawPicture(const QPicture &); + void fillRect(int,int,int,int,const QBrush &); + void fillRect(const QRect &,const QBrush &); + void eraseRect(int,int,int,int); + void eraseRect(const QRect &); + void drawText(int,int,char *,int = -1); + void drawText(const QPoint &,const char *,int = -1); + void drawText(int,int,int,int,int,const char *,int = -1,QRect * = 0); + void drawText(const QRect &,int,const char *,int = -1,QRect * = 0); + +%If (Qt_3_2_0 -) + void drawTextItem(int,int,const QTextItem &,int = 0); + void drawTextItem(const QPoint &,const QTextItem &,int = 0); +%End + + QRect boundingRect(int,int,int,int,int,const char *,int = -1); + QRect boundingRect(const QRect &,int,const char *,int = -1); + + int tabStops() const; + void setTabStops(int); + + SIP_PYLIST tabArray() const; +%MethodCode + int *tabs; + + Py_BEGIN_ALLOW_THREADS + tabs = sipCpp -> tabArray(); + Py_END_ALLOW_THREADS + + int len = 0; + + if (tabs) + { + int *tp = tabs; + + do + ++len; + while (*tp++ != 0); + } + + if ((sipRes = PyList_New(len)) == NULL) + sipIsErr = 1; + else if (tabs) + { + int *tp = tabs; + + len = 0; + + do + { + if (PyList_SET_ITEM(sipRes,len,PyInt_FromLong((long)*tp)) < 0) + { + Py_DECREF(sipRes); + sipIsErr = 1; + break; + } + + ++len; + } + while (*tp++ != 0); + } +%End + + void setTabArray(SIP_PYLIST); +%MethodCode + int len, *tabs; + + len = PyList_GET_SIZE(a0); + + // Allocate space for the array. Note, this memory is never + // reclaimed. + if ((tabs = (int *)sipMalloc(len * sizeof (int))) == NULL) + sipIsErr = 1; + else + { + // Convert the list. + + int *tp = tabs; + + for (int i = 0; i < len; ++i) + { + *tp++ = (int)PyInt_AsLong(PyList_GET_ITEM(a0,i)); + + if (PyErr_Occurred() != NULL) + { + sipFree((ANY *)tabs); + sipIsErr = 1; + break; + } + } + + if (!sipIsErr) + { + Py_BEGIN_ALLOW_THREADS + sipCpp -> setTabArray(tabs); + Py_END_ALLOW_THREADS + } + } +%End + + HANDLE handle() const; + static void initialize(); + static void cleanup(); + +private: + QPainter(const QPainter &); +}; + +%End + +%If (Qt_2_00 -) + +class QPainter : Qt +{ +%TypeHeaderCode +#include <qpainter.h> +%End + +public: +%If (Qt_3_0_0 -) + enum CoordinateMode { + CoordDevice, + CoordPainter + }; +%End + + QPainter(); +%If (- Qt_3_0_0) + QPainter(const QPaintDevice *); + QPainter(const QPaintDevice *,const QWidget *); +%End +%If (Qt_3_0_0 -) + QPainter(const QPaintDevice *,bool = 0); + QPainter(const QPaintDevice *,const QWidget *,bool = 0); +%End + +%If (- Qt_3_0_0) + bool begin(const QPaintDevice *); + bool begin(const QPaintDevice *,const QWidget *); +%End +%If (Qt_3_0_0 -) + bool begin(const QPaintDevice *,bool = 0); + bool begin(const QPaintDevice *,const QWidget *,bool = 0); +%End + bool end(); + QPaintDevice *device() const; + + static void redirect(QPaintDevice *,QPaintDevice *); + + bool isActive() const; + +%If (Qt_3_0_0 -) + void flush(const QRegion &,CoordinateMode = CoordDevice); +%End + void flush(); + void save(); + void restore(); + + QFontMetrics fontMetrics() const; + QFontInfo fontInfo() const; + + const QFont &font() const; + void setFont(const QFont&); + const QPen &pen() const; + void setPen(const QPen &); + void setPen(PenStyle); + void setPen(const QColor &); + const QBrush &brush() const; + void setBrush(const QBrush &); + void setBrush(BrushStyle); + void setBrush(const QColor &); +%If (Qt_2_1_0 -) + // The omission of this from Qt/Embedded is probably a bug. +%End + + const QColor &backgroundColor() const; + void setBackgroundColor(const QColor &); + BGMode backgroundMode() const; + void setBackgroundMode(BGMode); + RasterOp rasterOp() const; + void setRasterOp(RasterOp); + const QPoint &brushOrigin() const; + void setBrushOrigin(int,int); + void setBrushOrigin(const QPoint &); + + bool hasViewXForm() const; + bool hasWorldXForm() const; + +%If (Qt_TRANSFORMATIONS) + void setViewXForm(bool); + QRect window() const; + void setWindow(const QRect &); + void setWindow(int,int,int,int); + QRect viewport() const; + void setViewport(const QRect &); + void setViewport(int,int,int,int); + + void setWorldXForm(bool); + const QWMatrix &worldMatrix() const; + void setWorldMatrix(const QWMatrix &,bool = 0); + + void saveWorldMatrix(); + void restoreWorldMatrix(); + + void scale(double,double); + void shear(double,double); + void rotate(double); +%End + void translate(double,double); + void resetXForm(); +%If (Qt_3_0_0 -) + double translationX() const; + double translationY() const; +%End + + QPoint xForm(const QPoint &) const; + QRect xForm(const QRect &) const; + QPointArray xForm(const QPointArray &) const; + QPointArray xForm(const QPointArray &,int,int) const; + QPoint xFormDev(const QPoint &) const; + QRect xFormDev(const QRect &) const; + QPointArray xFormDev(const QPointArray &) const; + QPointArray xFormDev(const QPointArray &,int,int) const; + + void setClipping(bool); + bool hasClipping() const; +%If (- Qt_3_0_0) + const QRegion &clipRegion() const; + void setClipRect(const QRect &); + void setClipRect(int,int,int,int); + void setClipRegion(const QRegion &); +%End +%If (Qt_3_0_0 -) + QRegion clipRegion(CoordinateMode = CoordDevice) const; + void setClipRect(const QRect &,CoordinateMode = CoordDevice); + void setClipRect(int,int,int,int,CoordinateMode = CoordDevice); + void setClipRegion(const QRegion &,CoordinateMode = CoordDevice); +%End + + void drawPoint(int,int); + void drawPoint(const QPoint &); + void drawPoints(const QPointArray &,int,int = -1); + void moveTo(int,int); + void moveTo(const QPoint &); + void lineTo(int,int); + void lineTo(const QPoint &); + void drawLine(int,int,int,int); + void drawLine(const QPoint &,const QPoint &); + void drawRect(int,int,int,int); + void drawRect(const QRect &); + void drawWinFocusRect(int,int,int,int); + void drawWinFocusRect(int,int,int,int,const QColor &); + void drawWinFocusRect(const QRect &); + void drawWinFocusRect(const QRect &,const QColor &); +%If (- Qt_3_0_0) + void drawRoundRect(int,int,int,int,int,int); + void drawRoundRect(const QRect &,int,int); +%End +%If (Qt_3_0_0 -) + void drawRoundRect(int,int,int,int,int = 25,int = 25); + void drawRoundRect(const QRect &,int = 25,int = 25); +%End + void drawEllipse(int,int,int,int); + void drawEllipse(const QRect &); + void drawArc(int,int,int,int,int,int); + void drawArc(const QRect &,int,int); + void drawPie(int,int,int,int,int,int); + void drawPie(const QRect &,int,int); + void drawChord(int,int,int,int,int,int); + void drawChord(const QRect &,int,int); + void drawLineSegments(const QPointArray &,int = 0,int = -1); + void drawPolyline(const QPointArray &,int = 0,int = -1); + void drawPolygon(const QPointArray &,bool = 0,int = 0,int = -1); +%If (- Qt_3_0_0) + void drawQuadBezier(const QPointArray &,int = 0); +%End +%If (Qt_3_0_0 -) + void drawConvexPolygon(const QPointArray &,int = 0,int = -1); + void drawCubicBezier(const QPointArray &,int = 0); +%End + void drawPixmap(int,int,const QPixmap &,int = 0,int = 0,int = -1, + int = -1); + void drawPixmap(const QPoint &,const QPixmap &,const QRect &); + void drawPixmap(const QPoint &,const QPixmap &); +%If (Qt_3_0_0 -) + void drawPixmap(const QRect &,const QPixmap &); +%End +%If (- Qt_3_0_0) + void drawImage(int,int,const QImage &,int = 0,int = 0,int = -1, + int = -1); + void drawImage(const QPoint &,const QImage &,const QRect &); + void drawImage(const QPoint &,const QImage &); +%End +%If (Qt_3_0_0 -) + void drawImage(int,int,const QImage &,int = 0,int = 0,int = -1, + int = -1,int = 0); + void drawImage(const QPoint &,const QImage &,const QRect &,int = 0); + void drawImage(const QPoint &,const QImage &,int = 0); + void drawImage(const QRect &,const QImage &); +%End + void drawTiledPixmap(int,int,int,int,const QPixmap &,int = 0,int = 0); + void drawTiledPixmap(const QRect &,const QPixmap &,const QPoint &); + void drawTiledPixmap(const QRect &,const QPixmap &); +%If (Qt_PICTURE) + void drawPicture(const QPicture &); +%If (Qt_3_0_0 -) + void drawPicture(int,int,const QPicture &); + void drawPicture(const QPoint &,const QPicture &); +%End +%End + + void fillRect(int,int,int,int,const QBrush &); + void fillRect(const QRect &,const QBrush &); + void eraseRect(int,int,int,int); + void eraseRect(const QRect &); + +%If (Qt_3_0_0 -) + enum TextDirection { + Auto, + RTL, + LTR + }; +%End + +%If (- Qt_3_0_0) + void drawText(int,int,const QString &,int = -1); + void drawText(const QPoint &,const QString &,int = -1); +%End +%If (Qt_3_0_0 -) + void drawText(int,int,const QString &,int = -1,TextDirection = Auto); + void drawText(const QPoint &,const QString &,int = -1, + TextDirection = Auto); + void drawText(int,int,const QString &,int,int,TextDirection = Auto); + void drawText(const QPoint &,const QString &,int,int, + TextDirection = Auto); +%End + void drawText(int,int,int,int,int,const QString &,int = -1,QRect * = 0); + void drawText(const QRect &,int,const QString &,int = -1,QRect * = 0); + + QRect boundingRect(int,int,int,int,int,const QString &,int = -1); + QRect boundingRect(const QRect &,int,const QString &,int = -1); + int tabStops() const; + void setTabStops(int); + + SIP_PYLIST tabArray() const; +%MethodCode + int *tabs; + + Py_BEGIN_ALLOW_THREADS + tabs = sipCpp -> tabArray(); + Py_END_ALLOW_THREADS + + int len = 0; + + if (tabs) + { + int *tp = tabs; + + do + ++len; + while (*tp++ != 0); + } + + if ((sipRes = PyList_New(len)) == NULL) + sipIsErr = 1; + else if (tabs) + { + int *tp = tabs; + + len = 0; + + do + { + if (PyList_SET_ITEM(sipRes,len,PyInt_FromLong((long)*tp)) < 0) + { + Py_DECREF(sipRes); + sipIsErr = 1; + break; + } + + ++len; + } + while (*tp++ != 0); + } +%End + + void setTabArray(SIP_PYLIST); +%MethodCode + int len, *tabs; + + len = PyList_GET_SIZE(a0); + + // Allocate space for the array. Note, this memory is never + // reclaimed. + if ((tabs = (int *)sipMalloc(len * sizeof (int))) == NULL) + sipIsErr = 1; + else + { + // Convert the list. + + int *tp = tabs; + + for (int i = 0; i < len; ++i) + { + *tp++ = (int)PyInt_AsLong(PyList_GET_ITEM(a0,i)); + + if (PyErr_Occurred() != NULL) + { + sipFree((ANY *)tabs); + sipIsErr = 1; + break; + } + } + + if (!sipIsErr) + { + Py_BEGIN_ALLOW_THREADS + sipCpp -> setTabArray(tabs); + Py_END_ALLOW_THREADS + } + } +%End + +%If (WS_X11) + HANDLE handle() const; +%End + + static void initialize(); + static void cleanup(); + +private: + QPainter(const QPainter &); +}; + +%End diff --git a/sip/qt/qpair.sip b/sip/qt/qpair.sip new file mode 100644 index 0000000..6064e22 --- /dev/null +++ b/sip/qt/qpair.sip @@ -0,0 +1,83 @@ +// This is the SIP interface definition for all types based on the QPair +// template. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qpalette.sip b/sip/qt/qpalette.sip new file mode 100644 index 0000000..ae7b94c --- /dev/null +++ b/sip/qt/qpalette.sip @@ -0,0 +1,102 @@ +// This is the SIP interface definition for QPalette. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPalette</Title> +<Para> +<Literal>QPalette</Literal> is fully implemented, including the Python +<Literal>==</Literal> and <Literal>!=</Literal> operators. +</Para> +</Sect2> +%End + + +class QPalette +{ +%TypeHeaderCode +#include <qpalette.h> +%End + +public: + QPalette(); + QPalette(const QColor &); +%If (Qt_2_00 -) + QPalette(const QColor &,const QColor &); +%End + QPalette(const QColorGroup &,const QColorGroup &,const QColorGroup &); + QPalette(const QPalette &); + +%If (Qt_2_00 - Qt_2_1_0) + enum ColorGroup { + Normal, + Disabled, + Active, + NColorGroups + }; +%End +%If (Qt_2_1_0 -) + enum ColorGroup { + Normal, + Disabled, + Active, + Inactive, + NColorGroups + }; +%End + +%If (Qt_2_00 -) + const QColor &color(ColorGroup,QColorGroup::ColorRole) const; + const QBrush &brush(ColorGroup,QColorGroup::ColorRole) const; + void setColor(ColorGroup,QColorGroup::ColorRole,const QColor &); + void setBrush(ColorGroup,QColorGroup::ColorRole,const QBrush &); + void setColor(QColorGroup::ColorRole,const QColor &); + void setBrush(QColorGroup::ColorRole,const QBrush &); +%End + + QPalette copy() const; + + const QColorGroup &active() const; + const QColorGroup &disabled() const; +%If (Qt_2_1_0 -) + const QColorGroup &inactive() const; +%End + const QColorGroup &normal() const; + + void setActive(const QColorGroup &); + void setDisabled(const QColorGroup &); +%If (Qt_2_1_0 -) + void setInactive(const QColorGroup &); +%End + void setNormal(const QColorGroup &); + + bool operator==(const QPalette &) const; + bool operator!=(const QPalette &) const; + + bool isCopyOf(const QPalette &); + int serialNumber() const; + +%If (Qt_3_0_0 -) + // These are defined in Qt3, but don't appear in the documentation. + //static QColorGroup::ColorRole foregroundRoleFromMode(Qt::BackgroundMode); + //static QColorGroup::ColorRole backgroundRoleFromMode(Qt::BackgroundMode); +%End +}; diff --git a/sip/qt/qpen.sip b/sip/qt/qpen.sip new file mode 100644 index 0000000..f59db98 --- /dev/null +++ b/sip/qt/qpen.sip @@ -0,0 +1,101 @@ +// This is the SIP interface definition for QPen. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPen</Title> +<Para> +<Literal>QPen</Literal> is fully implemented, including the Python +<Literal>==</Literal> and <Literal>!=</Literal> operators. +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +enum PenStyle { + NoPen, + SolidLine, + DashLine, + DotLine, + DashDotLine, + DashDotDotLine +}; + + +class QPen +{ +%TypeHeaderCode +#include <qpen.h> +%End + +public: + QPen(); + QPen(PenStyle); + QPen(const QColor &,uint = 0,PenStyle = SolidLine); + QPen(const QPen &); + + PenStyle style() const; + void setStyle(PenStyle); + uint width() const; + void setWidth(uint); + const QColor &color() const; + void setColor(const QColor &); +}; + +%End + +%If (Qt_2_00 -) + +class QPen : Qt +{ +%TypeHeaderCode +#include <qpen.h> +%End + +public: + QPen(); + QPen(PenStyle); + QPen(const QColor &,uint = 0,PenStyle = SolidLine); +%If (Qt_2_1_0 -) + QPen(const QColor &,uint,PenStyle,PenCapStyle,PenJoinStyle); +%End + QPen(const QPen &); + + PenStyle style() const; + void setStyle(PenStyle); + uint width() const; + void setWidth(uint); + const QColor &color() const; + void setColor(const QColor &); +%If (Qt_2_1_0 -) + PenCapStyle capStyle() const; + void setCapStyle(PenCapStyle); + PenJoinStyle joinStyle() const; + void setJoinStyle(PenJoinStyle); +%End + + bool operator==(const QPen &) const; + bool operator!=(const QPen &) const; +}; + +%End diff --git a/sip/qt/qpicture.sip b/sip/qt/qpicture.sip new file mode 100644 index 0000000..dbeb309 --- /dev/null +++ b/sip/qt/qpicture.sip @@ -0,0 +1,111 @@ +// This is the SIP interface definition for QPicture. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPicture</Title> +<FuncSynopsis> + <FuncDef>const char *<Function>data</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>setData</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>uint <Parameter>size</Parameter></ParamDef> +</FuncSynopsis> +<Para> +<Literal>size</Literal> is derived from <Literal>data</Literal> and not passed +as a parameter. +</Para> +</Sect2> +%End + + +%If (Qt_PICTURE) + +class QPicture : QPaintDevice +{ +%TypeHeaderCode +#include <qpicture.h> +%End + +public: +%If (- Qt_2_00) + QPicture(); +%End +%If (Qt_2_00 - Qt_3_0_0) + QPicture(int = 0); +%End +%If (Qt_3_0_0 -) + QPicture(int = -1); + QPicture(const QPicture &); +%End + + bool isNull() const; + + uint size() const; +// const char *data() const; +%If (- Qt_2_00) + void setData(const char * /Array/,uint /ArraySize/); +%End +%If (Qt_2_00 -) + virtual void setData(const char * /Array/,uint /ArraySize/); +%End + + bool play(QPainter *); + +%If (- Qt_2_00) + bool load(const char *); + bool save(const char *); +%End +%If (Qt_2_00 - Qt_3_0_0) + bool load(const QString &); + bool save(const QString &); +%End +%If (Qt_3_0_0 -) + bool load(QIODevice *,const char * = 0); + bool load(const QString &,const char * = 0); + bool save(QIODevice *,const char * = 0); + bool save(const QString &,const char * = 0); + + QRect boundingRect() const; +%End +%If (Qt_3_1_0 -) + void setBoundingRect(const QRect &); +%End + +protected: +%If (Qt_3_0_0 -) + void detach(); + QPicture copy() const; +%End + +private: +%If (- Qt_3_0_0) + QPicture(const QPicture &); +%End +}; + +%End diff --git a/sip/qt/qpixmap.sip b/sip/qt/qpixmap.sip new file mode 100644 index 0000000..d00cd78 --- /dev/null +++ b/sip/qt/qpixmap.sip @@ -0,0 +1,288 @@ +// This is the SIP interface definition for QPixmap. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPixmap</Title> +<FuncSynopsis> + <FuncDef><Function>QPixmap</Function></FuncDef> + <ParamDef>const char *<Parameter>xpm</Parameter>[]</ParamDef> +</FuncSynopsis> +<Para> +This takes a list of strings as its parameter. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>loadFromData</Function></FuncDef> + <ParamDef>const uchar *<Parameter>buf</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> + <ParamDef>const char *<Parameter>format</Parameter> = 0</ParamDef> + <ParamDef>ColorMode <Parameter>mode</Parameter> = Auto</ParamDef> +</FuncSynopsis> +<Para> +<Literal>len</Literal> is derived from <Literal>buf</Literal> and not passed as +a parameter. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>loadFromData</Function></FuncDef> + <ParamDef>const uchar *<Parameter>buf</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> + <ParamDef>const char *<Parameter>format</Parameter></ParamDef> + <ParamDef>int <Parameter>conversion_flags</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +class QPixmap : QPaintDevice +{ +%TypeHeaderCode +#include <qpixmap.h> +%End + +public: + enum ColorMode + { + Auto, + Color, + Mono + }; + + QPixmap(); + QPixmap(int,int,int = -1); + QPixmap(const QSize &,int = -1); + QPixmap(const char *,const char * = 0,ColorMode = Auto); + QPixmap(const char *,const char *,int); + + QPixmap(SIP_PYLIST) [(const char **)]; +%MethodCode + // The Python interface is a list of strings that make up the + // image. + + const char **str; + + if ((str = PyQt_qt_ListToArray(a0)) == NULL) + sipIsErr = 1; + else + { + Py_BEGIN_ALLOW_THREADS + sipCpp = new sipQPixmap(str); + Py_END_ALLOW_THREADS + + sipFree((ANY *)str); + } +%End + + QPixmap(const QPixmap &); + + bool isNull() const; + int width() const; + int height() const; + QSize size() const; + QRect rect() const; + int depth() const; + static int defaultDepth(); + void fill(const QColor & = white); + void fill(const QWidget *,int,int); + void fill(const QWidget *,const QPoint &); + void resize(int,int); + void resize(const QSize &); + const QBitmap *mask() const; + void setMask(const QBitmap &); + bool selfMask() const; + QBitmap createHeuristicMask(bool = 1) const; + static QPixmap grabWindow(WId,int = 0,int = 0,int = -1,int = -1); + QPixmap xForm(const QWMatrix &) const; + static QWMatrix trueMatrix(const QWMatrix &,int,int); + QImage convertToImage() const; + bool convertFromImage(const QImage &,ColorMode = Auto); + bool convertFromImage(const QImage &,int); + static const char *imageFormat(const char *); + bool load(const char *,const char * = 0,ColorMode = Auto); + bool load(const char *,const char *,int); + bool loadFromData(const uchar * /Array/,uint /ArraySize/, + const char * = 0,ColorMode = Auto); +// bool loadFromData(const uchar *,uint,const char *,int); + bool loadFromData(QByteArray,const char * = 0,int = 0); + bool save(const char *,const char *) const; + int serialNumber() const; + + enum Optimization + { + NoOptim, + NormalOptim, + BestOptim + }; + + Optimization optimization() const; + void setOptimization(Optimization); + static Optimization defaultOptimization(); + static void setDefaultOptimization(Optimization); + virtual void detach(); + bool isQBitmap() const; + +protected: + QPixmap(int,int,const uchar *,bool); +}; + +%End + +%If (Qt_2_00 -) + +class QPixmap : QPaintDevice, Qt +{ +%TypeHeaderCode +#include <qpixmap.h> +%End + +public: + enum ColorMode + { + Auto, + Color, + Mono + }; + + enum Optimization + { + DefaultOptim, + NoOptim, + MemoryOptim, + NormalOptim, + BestOptim + }; + + QPixmap(); +%If (Qt_3_0_0 -) + QPixmap(const QImage &); +%End + QPixmap(int,int,int = -1,Optimization = DefaultOptim); + QPixmap(const QSize &,int = -1,Optimization = DefaultOptim); + QPixmap(const QString &,const char * = 0,ColorMode = Auto); + QPixmap(const QString &,const char *,int); + + QPixmap(SIP_PYLIST) [(const char **)]; +%MethodCode + // The Python interface is a list of strings that make up the + // image. + + const char **str; + + if ((str = PyQt_qt_ListToArray(a0)) == NULL) + sipIsErr = 1; + else + { + Py_BEGIN_ALLOW_THREADS + sipCpp = new sipQPixmap(str); + Py_END_ALLOW_THREADS + + sipFree((ANY *)str); + } +%End + + QPixmap(const QByteArray &); + QPixmap(const QPixmap &); + + bool isNull() const; + int width() const; + int height() const; + QSize size() const; + QRect rect() const; + int depth() const; + static int defaultDepth(); + void fill(const QColor & = Qt::white); + void fill(const QWidget *,int,int); + void fill(const QWidget *,const QPoint &); + void resize(int,int); + void resize(const QSize &); + const QBitmap *mask() const; + void setMask(const QBitmap &); + bool selfMask() const; +%If (Qt_3_1_0 -) + bool hasAlpha() const; +%End +%If (Qt_3_2_0 -) + bool hasAlphaChannel() const; +%End + QBitmap createHeuristicMask(bool = 1) const; +%If (Qt_3_1_0 -) + static QPixmap fromMimeSource(const QString &); +%End + static QPixmap grabWindow(WId,int = 0,int = 0,int = -1,int = -1); +%If (Qt_2_1_0 -) + static QPixmap grabWidget(QWidget *,int = 0,int = 0,int = -1,int = -1); +%End + + QPixmap xForm(const QWMatrix &) const; + static QWMatrix trueMatrix(const QWMatrix &,int,int); + QImage convertToImage() const; + bool convertFromImage(const QImage &,ColorMode = Auto); + bool convertFromImage(const QImage &,int); + static const char *imageFormat(const QString &); + bool load(const QString &,const char * = 0,ColorMode = Auto); + bool load(const QString &,const char *,int); + bool loadFromData(const uchar * /Array/,uint /ArraySize/, + const char * = 0,ColorMode = Auto); +// bool loadFromData(const uchar *,uint,const char *,int); + bool loadFromData(QByteArray,const char * = 0,int = 0); +%If (- Qt_3_0_0) + bool save(const QString &,const char *) const; +%End +%If (Qt_2_2_0 - Qt_3_0_0) + bool save(const QString &,const char *,int) const; +%End +%If (Qt_3_0_0 -) + bool save(const QString &,const char *,int = -1) const; +%End +%If (Qt_3_2_0 -) + bool save(QIODevice *,const char *,int = -1) const; +%End + int serialNumber() const; + Optimization optimization() const; + void setOptimization(Optimization); + static Optimization defaultOptimization(); + static void setDefaultOptimization(Optimization); + virtual void detach(); + bool isQBitmap() const; + +%If (Qt_3_0_0 -) +%If (WS_X11) + static int x11SetDefaultScreen(int); + void x11SetScreen(int); +%End +%End + +protected: + QPixmap(int,int,const uchar *,bool); +}; + +%End + +%If (Qt_3_2_0 -) +void copyBlt(QPixmap *,int,int,const QPixmap *,int = 0,int = 0,int = -1, + int = -1); +%End diff --git a/sip/qt/qpixmapcache.sip b/sip/qt/qpixmapcache.sip new file mode 100644 index 0000000..5e8e066 --- /dev/null +++ b/sip/qt/qpixmapcache.sip @@ -0,0 +1,53 @@ +// This is the SIP interface definition for QPixmapCache. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPixmapCache (Qt v3+)</Title> +<Para> +<Literal>QPixmapCache</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QPixmapCache +{ +%TypeHeaderCode +#include <qpixmapcache.h> +%End + +public: + static int cacheLimit(); + static void setCacheLimit(int); + static QPixmap *find(const QString &); + static bool find(const QString &,QPixmap &); +// static bool insert(const QString &,QPixmap *); + static bool insert(const QString &,const QPixmap &); +%If (Qt_3_2_0 -) + static void remove(const QString &); +%End + static void clear(); +}; + +%End diff --git a/sip/qt/qplatinumstyle.sip b/sip/qt/qplatinumstyle.sip new file mode 100644 index 0000000..5392eea --- /dev/null +++ b/sip/qt/qplatinumstyle.sip @@ -0,0 +1,142 @@ +// This is the SIP interface definition for QPlatinumStyle. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPlatinumStyle (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef> + <ParamDef>const QTabBar *<Parameter>sb</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMin</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMax</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderLength</Parameter></ParamDef> + <ParamDef>int &<Parameter>buttonDim</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>sb</Literal> parameter and returns a tuple of the +<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>, +<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values. +(Qt v2) +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) +%If (Qt_STYLE_PLATINUM) + +class QPlatinumStyle : QWindowsStyle +{ +%TypeHeaderCode +#include <qplatinumstyle.h> +%End + +public: + QPlatinumStyle(); + +%If (- Qt_3_0_0) + void drawPopupPanel(QPainter *,int,int,int,int,const QColorGroup &, + int = 2,const QBrush * = 0); + void drawButton(QPainter *,int,int,int,int,const QColorGroup &,bool = 0, + const QBrush * = 0); + QRect buttonRect(int,int,int,int); + void drawBevelButton(QPainter *,int,int,int,int,const QColorGroup &, + bool = 0,const QBrush * = 0); + void drawPushButton(QPushButton *,QPainter *); + void drawPushButtonLabel(QPushButton *,QPainter *); + + void scrollBarMetrics(const QScrollBar *,int &,int &,int &,int &); + + void drawScrollBarControls(QPainter *,const QScrollBar *,int,uint,uint); + ScrollControl scrollBarPointOver(const QScrollBar *,int,const QPoint &); + QSize indicatorSize() const; + void drawIndicator(QPainter *,int,int,int,int,const QColorGroup &,int, + bool = 0,bool = 1); + void drawIndicatorMask(QPainter *,int,int,int,int,int); + QSize exclusiveIndicatorSize() const; + void drawExclusiveIndicator(QPainter *,int,int,int,int, + const QColorGroup &,bool,bool = 0,bool = 1); + void drawComboButton(QPainter *,int,int,int,int,const QColorGroup &, + bool = 0,bool = 0,bool = 1,const QBrush * = 0); + QRect comboButtonRect(int,int,int,int); + QRect comboButtonFocusRect(int,int,int,int); + int sliderLength() const; + void drawSlider(QPainter *,int,int,int,int,const QColorGroup &, + Orientation,bool,bool); + void drawSliderMask(QPainter *,int,int,int,int,Orientation,bool,bool); + void drawSliderGroove(QPainter *,int,int,int,int,const QColorGroup &, + QCOORD,Orientation); + int maximumSliderDragDistance() const; + void drawCheckMark(QPainter *,int,int,int,int,const QColorGroup &, + bool,bool); + void polishPopupMenu(QPopupMenu *); + int extraPopupMenuItemWidth(bool,int,QMenuItem *,const QFontMetrics &); + int popupMenuItemHeight(bool,QMenuItem *,const QFontMetrics &); + void drawPopupMenuItem(QPainter *,bool,int,int,QMenuItem *, + const QPalette &,bool,bool,int,int,int,int); +%End +%If (Qt_3_0_0 -) + void drawPrimitive(PrimitiveElement,QPainter *,const QRect &, + const QColorGroup &,SFlags = Style_Default, + const QStyleOption & = QStyleOption()) const; + + void drawControl(ControlElement,QPainter *,const QWidget *, + const QRect &,const QColorGroup &, + SFlags = Style_Default, + const QStyleOption & = QStyleOption()) const; + + void drawComplexControl(ComplexControl,QPainter *,const QWidget *, + const QRect &,const QColorGroup &, + SFlags = Style_Default,SCFlags = SC_All, + SCFlags = SC_None, + const QStyleOption & = QStyleOption()) const; + + QRect querySubControlMetrics(ComplexControl,const QWidget *,SubControl, + const QStyleOption & = QStyleOption()) const; + + int pixelMetric(PixelMetric,const QWidget * = 0) const; + + QRect subRect(SubRect,const QWidget *) const; +%End + +protected: +%If (- Qt_3_0_0) + void drawScrollBarBackground(QPainter *,int,int,int,int, + const QColorGroup &,bool, + const QBrush * = 0); +%End + QColor mixedColor(const QColor &,const QColor &) const; +%If (- Qt_3_0_0) + void drawRiffles(QPainter *,int,int,int,int,const QColorGroup &,bool); +%End +%If (Qt_3_0_0 -) + void drawRiffles(QPainter *,int,int,int,int,const QColorGroup &, + bool) const; +%End + +private: +%If (Qt_3_0_0 -) + QPlatinumStyle(const QPlatinumStyle &); +%End +}; + +%End +%End diff --git a/sip/qt/qpoint.sip b/sip/qt/qpoint.sip new file mode 100644 index 0000000..5265d57 --- /dev/null +++ b/sip/qt/qpoint.sip @@ -0,0 +1,100 @@ +// This is the SIP interface definition for QPoint. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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 + + const QPoint __neg__(); +%MethodCode + sipRes = new QPoint(-(*sipCpp)); +%End +}; + +bool operator==(const QPoint &,const QPoint &); +bool operator!=(const QPoint &,const QPoint &); +const QPoint operator+(const QPoint &,const QPoint &); +const QPoint operator-(const QPoint &,const QPoint &); +const QPoint operator*(const QPoint &,int /Constrained/); +const QPoint operator*(const QPoint &,double); +const QPoint operator/(const QPoint &,int /Constrained/); +const QPoint operator/(const QPoint &,double); diff --git a/sip/qt/qpointarray.sip b/sip/qt/qpointarray.sip new file mode 100644 index 0000000..c88b56b --- /dev/null +++ b/sip/qt/qpointarray.sip @@ -0,0 +1,247 @@ +// This is the SIP interface definition for QPointArray. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPointArray</Title> +<FuncSynopsis> + <FuncDef><Function>QPointArray</Function></FuncDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>const QCOORD *<Parameter>points</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single parameter which is a list of points. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>point</Function></FuncDef> + <ParamDef>uint <Parameter>i</Parameter></ParamDef> + <ParamDef>int *<Parameter>x</Parameter></ParamDef> + <ParamDef>int *<Parameter>y</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the single parameter <Literal>i</Literal> and returns the +<Literal>x</Literal> and <Literal>y</Literal> values as a tuple. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>putPoints</Function></FuncDef> + <ParamDef>int <Parameter>index</Parameter></ParamDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>const QCOORD *<Parameter>points</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes two parameters, <Literal>index</Literal> and a list of points. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>putPoints</Function></FuncDef> + <ParamDef>int <Parameter>index</Parameter></ParamDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>int <Parameter>firstx</Parameter></ParamDef> + <ParamDef>int <Parameter>firsty</Parameter></ParamDef> + <ParamDef>...</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setPoints</Function></FuncDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>const QCOORD *<Parameter>points</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single parameter which is a list of points. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setPoints</Function></FuncDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>int <Parameter>firstx</Parameter></ParamDef> + <ParamDef>int <Parameter>firsty</Parameter></ParamDef> + <ParamDef>...</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +%End + + +class QPointArray +{ +%TypeHeaderCode +#include <qpointarray.h> +%End + +%TypeCode +// Convert a list of numbers to an array on QCOORDs on the heap. + +static QCOORD *getPoints(int nrpnts,PyObject *pntlist) +{ + QCOORD *pnts, *pp; + + if ((pnts = (QCOORD *)sipMalloc(nrpnts * sizeof (QCOORD))) == NULL) + return NULL; + + // Convert the list. + + pp = pnts; + + for (int i = 0; i < nrpnts; ++i) + { + *pp++ = (QCOORD)PyInt_AsLong(PyList_GetItem(pntlist,i)); + + if (PyErr_Occurred() != NULL) + { + sipFree((ANY *)pnts); + return NULL; + } + } + + return pnts; +} +%End + +public: + QPointArray(); + QPointArray(int); + QPointArray(const QPointArray &); + QPointArray(const QRect &,bool = 0); + + QPointArray(SIP_PYLIST) [(int,const QCOORD *)]; +%MethodCode + // The Python interface is a list of QCOORDs. + + int nrpnts; + QCOORD *pnts; + + nrpnts = PyList_GET_SIZE(a0); + + if ((pnts = getPoints(nrpnts,a0)) == NULL) + sipIsErr = 1; + else + { + // No wrapper class for QPointArray. + + Py_BEGIN_ALLOW_THREADS + sipCpp = new QPointArray(nrpnts / 2,pnts); + Py_END_ALLOW_THREADS + + sipFree((ANY *)pnts); + } +%End + + QPointArray copy() const; + void translate(int,int); + QRect boundingRect() const; + + void point(uint,int *,int *) const; + // This is hidden by the above. It would probably be better to remove + // the one above, but that would break backwards compatibility. + //QPoint point(uint) const; + void setPoint(uint,int,int); + void setPoint(uint,const QPoint &); + + bool setPoints(SIP_PYLIST); +%MethodCode + int nrpnts; + QCOORD *pnts; + + nrpnts = PyList_GET_SIZE(a0); + + if ((pnts = getPoints(nrpnts,a0)) == NULL) + sipIsErr = 1; + else + { + Py_BEGIN_ALLOW_THREADS + sipRes = sipCpp -> setPoints(nrpnts / 2,pnts); + Py_END_ALLOW_THREADS + + sipFree((ANY *)pnts); + } +%End + +// bool setPoints(int,int,int,...); + + bool putPoints(int,SIP_PYLIST); +%MethodCode + int nrpnts; + QCOORD *pnts; + + nrpnts = PyList_GET_SIZE(a1); + + if ((pnts = getPoints(nrpnts,a1)) == NULL) + sipIsErr = 1; + else + { + Py_BEGIN_ALLOW_THREADS + sipRes = sipCpp -> putPoints(a0,nrpnts / 2,pnts); + Py_END_ALLOW_THREADS + + sipFree((ANY *)pnts); + } +%End + +// bool putPoints(int,int,int,int,...); +%If (Qt_3_0_0 -) + bool putPoints(int,int,const QPointArray &,int = 0); +%End + +%If (- Qt_2_00) + QPoint at(uint) const; +%End + + void makeArc(int,int,int,int,int,int); + void makeEllipse(int,int,int,int); +%If (Qt_TRANSFORMATIONS) +%If (Qt_2_00 -) + void makeArc(int,int,int,int,int,int,const QWMatrix &); +%End +%End +%If (- Qt_3_0_0) + QPointArray quadBezier() const; +%End +%If (Qt_3_0_0 -) + QPointArray cubicBezier() const; +%End + + // These are actually in QArray, which isn't implemented so pretend + // they are here. + + uint nrefs() const; + bool isEmpty() const; + bool isNull() const; + bool resize(uint); + uint size() const; + bool truncate(uint); + bool fill(const QPoint &,int = -1); +%If (Qt_2_00 -) + QPoint &at(uint) const; +%End +%If (Qt_2_1_0 -) + void sort(); + int bsearch(const QPoint &) const; +%End + int find(const QPoint &,uint = 0) const; + int contains(const QPoint &) const; +}; diff --git a/sip/qt/qpopupmenu.sip b/sip/qt/qpopupmenu.sip new file mode 100644 index 0000000..08366b4 --- /dev/null +++ b/sip/qt/qpopupmenu.sip @@ -0,0 +1,282 @@ +// This is the SIP interface definition for QPopupMenu. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPopupMenu</Title> +<FuncSynopsis> + <FuncDef>int <Function>exec</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>exec_loop</Literal> in Python. +</Para> +<Para> +This method also causes ownership of the underlying C++ menu to be transfered +to Python. This means that the C++ menu will be deleted when the Python +wrapper is garbage collected. Although this is a little inconsistent, it +ensures that the menu is deleted without having to explicity code it using +<Literal>QObject.deleteLater()</Literal> or other techniques. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>exec</Function></FuncDef> + <ParamDef>const QPoint &<Parameter>pos</Parameter></ParamDef> + <ParamDef>int <Parameter>indexAtPoint</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>exec_loop</Literal> in Python. +</Para> +<Para> +This method also causes ownership of the underlying C++ menu to be transfered +to Python. This means that the C++ menu will be deleted when the Python +wrapper is garbage collected. Although this is a little inconsistent, it +ensures that the menu is deleted without having to explicity code it using +<Literal>QObject.deleteLater()</Literal> or other techniques. +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +class QPopupMenu : QTableView, QMenuData +{ +%TypeHeaderCode +#include <qpopupmenu.h> +%End + +public: + QPopupMenu(QWidget * /TransferThis/ = 0,const char * = 0); + + void popup(const QPoint &,int = 0); + void updateItem(int); + void setCheckable(bool); + bool isCheckable() const; + void setFont(const QFont &); + void show(); + void hide(); + + int exec() /PyName=exec_loop, ReleaseGIL, + PreHook=__pyQtPreEventLoopHook__, + PostHook=__pyQtPostEventLoopHook__/; +%MethodCode + // Transfer ownership back to Python (a modal menu will + // probably have the main window as it's parent). This means + // the Qt menu will be deleted when the Python wrapper is + // garbage collected. Although this is a little inconsistent, + // it saves having to code it explicitly to avoid the memory + // leak. + sipTransferBack(sipSelf); + + Py_BEGIN_ALLOW_THREADS + sipRes = sipCpp->QPopupMenu::exec(); + Py_END_ALLOW_THREADS +%End + + int exec(const QPoint &,int = 0) /PyName=exec_loop, ReleaseGIL, + PreHook=__pyQtPreEventLoopHook__, + PostHook=__pyQtPostEventLoopHook__/; +%MethodCode + // Transfer ownership back to Python (a modal menu will + // probably have the main window as it's parent). This means + // the Qt menu will be deleted when the Python wrapper is + // garbage collected. Although this is a little inconsistent, + // it saves having to code it explicitly to avoid the memory + // leak. + sipTransferBack(sipSelf); + + Py_BEGIN_ALLOW_THREADS + sipRes = sipCpp->QPopupMenu::exec(*a0,a1); + Py_END_ALLOW_THREADS +%End + + void setActiveItem(int); + int idAt(int) const; +%If (Qt_1_43 -) + int idAt(const QPoint &) const; +%End + +signals: + void activated(int); + void highlighted(int); + void activatedRedirect(int); + void highlightedRedirect(int); + void aboutToShow(); + +protected: + int cellHeight(int); + int cellWidth(int); + void paintCell(QPainter *,int,int); + void paintEvent(QPaintEvent *); + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void keyPressEvent(QKeyEvent *); + void timerEvent(QTimerEvent *); + +private: + QPopupMenu(const QPopupMenu &); + void menuContentsChanged(); + void menuStateChanged(); + void menuInsPopup(QPopupMenu *); + void menuDelPopup(QPopupMenu *); + void frameChanged(); +}; + +%End + + +%If (Qt_2_00 -) + +class QPopupMenu : QFrame, QMenuData +{ +%TypeHeaderCode +#include <qpopupmenu.h> +%End + +public: + QPopupMenu(QWidget * /TransferThis/ = 0,const char * = 0); + +%If (- Qt_3_0_5) + void popup(const QPoint &,int = 0); +%End +%If (Qt_3_0_5 -) + void popup(const QPoint &,int = -1); +%End + void updateItem(int); + + virtual void setCheckable(bool); + bool isCheckable() const; + + void setFont(const QFont &); + void show(); + void hide(); + + int exec() /PyName=exec_loop, ReleaseGIL, + PreHook=__pyQtPreEventLoopHook__, + PostHook=__pyQtPostEventLoopHook__/; +%MethodCode + // Transfer ownership back to Python (a modal menu will + // probably have the main window as it's parent). This means + // the Qt menu will be deleted when the Python wrapper is + // garbage collected. Although this is a little inconsistent, + // it saves having to code it explicitly to avoid the memory + // leak. + sipTransferBack(sipSelf); + + Py_BEGIN_ALLOW_THREADS + sipRes = sipCpp->QPopupMenu::exec(); + Py_END_ALLOW_THREADS +%End + + int exec(const QPoint &,int = 0) /PyName=exec_loop, ReleaseGIL, + PreHook=__pyQtPreEventLoopHook__, + PostHook=__pyQtPostEventLoopHook__/; +%MethodCode + // Transfer ownership back to Python (a modal menu will + // probably have the main window as it's parent). This means + // the Qt menu will be deleted when the Python wrapper is + // garbage collected. Although this is a little inconsistent, + // it saves having to code it explicitly to avoid the memory + // leak. + sipTransferBack(sipSelf); + + Py_BEGIN_ALLOW_THREADS + sipRes = sipCpp->QPopupMenu::exec(*a0,a1); + Py_END_ALLOW_THREADS +%End + + virtual void setActiveItem(int); + QSize sizeHint() const; + + int idAt(int) const; + int idAt(const QPoint &) const; + + bool customWhatsThis() const; + +%If (Qt_2_1_0 -) + int insertTearOffHandle(int = -1,int = -1); +%End + +%If (Qt_2_2_0 -) + void activateItemAt(int); +%End +%If (Qt_3_0_0 -) + QRect itemGeometry(int); +%End + +signals: + void activated(int); + void highlighted(int); + void activatedRedirect(int); + void highlightedRedirect(int); + void aboutToShow(); +%If (Qt_2_2_0 -) + void aboutToHide(); +%End + +protected: + int itemHeight(int) const; + int itemHeight(QMenuItem *) const; + void drawItem(QPainter *,int,QMenuItem *,bool,int,int,int,int); + + void drawContents(QPainter *); + + void closeEvent(QCloseEvent *); + void paintEvent(QPaintEvent *); + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void keyPressEvent(QKeyEvent *); +%If (Qt_2_1_0 -) + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); +%End + void timerEvent(QTimerEvent *); +%If (Qt_3_0_0 -) + void leaveEvent(QEvent *); +%End + void styleChange(QStyle &); +%If (Qt_3_1_0 -) + void enabledChange(bool); +%End +%If (Qt_2_1_0 -) + int columns() const; + + bool focusNextPrevChild(bool); +%End + +%If (Qt_3_0_0 -) + int itemAtPos(const QPoint &,bool = 1) const; +%End + +private: + QPopupMenu(const QPopupMenu &); + + void menuContentsChanged(); + void menuStateChanged(); + void menuInsPopup(QPopupMenu *); + void menuDelPopup(QPopupMenu *); + void frameChanged(); +}; + +%End diff --git a/sip/qt/qprintdialog.sip b/sip/qt/qprintdialog.sip new file mode 100644 index 0000000..2ead1f9 --- /dev/null +++ b/sip/qt/qprintdialog.sip @@ -0,0 +1,64 @@ +// This is the SIP interface definition for QPrintDialog. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPrintDialog (X11)</Title> +<Para> +<Literal>QPrintDialog</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (WS_X11) +%If (Qt_PRINTDIALOG) + +class QPrintDialog : QDialog +{ +%TypeHeaderCode +#include <qprintdialog.h> +%End + +public: + QPrintDialog(QPrinter *,QWidget * /TransferThis/ = 0,const char * = 0); + +%If (- Qt_3_0_0) + static bool getPrinterSetup(QPrinter *); +%End +%If (Qt_3_0_0 -) + static bool getPrinterSetup(QPrinter *,QWidget * = 0); + static void setGlobalPrintDialog(QPrintDialog *); +%End + + void setPrinter(QPrinter *,bool = 0); + QPrinter *printer() const; + +%If (Qt_2_1_0 -) + void addButton(QPushButton *); +%End + +private: + QPrintDialog(const QPrintDialog &); +}; + +%End +%End diff --git a/sip/qt/qprinter.sip b/sip/qt/qprinter.sip new file mode 100644 index 0000000..b8bf4f9 --- /dev/null +++ b/sip/qt/qprinter.sip @@ -0,0 +1,256 @@ +// This is the SIP interface definition for QPrinter. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPrinter</Title> +<Para> +<Literal>QPrinter</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_PRINTER) + +class QPrinter : QPaintDevice +{ +%TypeHeaderCode +#include <qprinter.h> +%End + +public: +%If (Qt_3_0_0 -) + enum PrinterMode { + ScreenResolution, + PrinterResolution, + HighResolution, + Compatible + }; +%End + +%If (- Qt_3_0_0) + QPrinter(); +%End +%If (Qt_3_0_0 -) + QPrinter(PrinterMode = ScreenResolution); +%End + + enum Orientation { + Portrait, + Landscape + }; + + enum PageSize { + A4, B5, Letter, Legal, Executive, A0, A1, A2, A3, A5, A6, A7, + A8, A9, B0, B1, B10, B2, B3, B4, B6, B7, B8, B9, C5E, Comm10E, + DLE, Folio, Ledger, Tabloid, +%If (Qt_2_3_1 -) + Custom, +%End +%If (Qt_2_00 -) + NPageSize +%End + }; + + enum PageOrder { + FirstPageFirst, + LastPageFirst + }; + + enum ColorMode { + GrayScale, + Color + }; + +%If (Qt_3_0_0 -) + enum PaperSource { + OnlyOne, + Lower, + Middle, + Manual, + Envelope, + EnvelopeManual, + Auto, + Tractor, + SmallFormat, + LargeFormat, + LargeCapacity, + Cassette, + FormSource + }; +%End + +%If (Qt_3_2_0 -) + enum PrintRange { + AllPages, + Selection, + PageRange + }; + + enum PrinterOption { + PrintToFile, + PrintSelection, + PrintPageRange + }; +%End + +%If (- Qt_2_00) + const char *printerName() const; + void setPrinterName(const char *); +%End +%If (Qt_2_00 -) + QString printerName() const; + virtual void setPrinterName(const QString &); +%End + bool outputToFile() const; +%If (- Qt_2_00) + void setOutputToFile(bool); + const char *outputFileName() const; + void setOutputFileName(const char *); + + const char *printProgram() const; + void setPrintProgram(const char *); + + const char *docName() const; + void setDocName(const char *); + const char *creator() const; + void setCreator(const char *); +%End +%If (Qt_2_00 -) + virtual void setOutputToFile(bool); + QString outputFileName() const; + virtual void setOutputFileName(const QString &); + + QString printProgram() const; + virtual void setPrintProgram(const QString &); + + QString printerSelectionOption() const; + virtual void setPrinterSelectionOption(const QString &); + + QString docName() const; + virtual void setDocName(const QString &); + QString creator() const; + virtual void setCreator(const QString &); +%End + + Orientation orientation() const; +%If (- Qt_2_00) + void setOrientation(Orientation); +%End +%If (Qt_2_00 -) + virtual void setOrientation(Orientation); +%End + PageSize pageSize() const; +%If (- Qt_2_00) + void setPageSize(PageSize); + + void setPageOrder(PageOrder); +%End +%If (Qt_2_00 -) + virtual void setPageSize(PageSize); + + virtual void setPageOrder(PageOrder); +%End + PageOrder pageOrder() const; + +%If (Qt_3_0_0 -) + void setResolution(int); + int resolution() const; +%End + +%If (- Qt_2_00) + void setColorMode(ColorMode); +%End +%If (Qt_2_00 -) + virtual void setColorMode(ColorMode); +%End + ColorMode colorMode() const; + +%If (Qt_2_00 -) + virtual void setFullPage(bool); + bool fullPage() const; + QSize margins() const; +%End + +%If (Qt_3_1_0 -) + void setMargins(uint,uint,uint,uint); +// void margins(uint *,uint *,uint *,uint *) const; +%End + + int fromPage() const; + int toPage() const; +%If (- Qt_2_00) + void setFromTo(int,int); +%End +%If (Qt_2_00 -) + virtual void setFromTo(int,int); +%End + int minPage() const; + int maxPage() const; +%If (- Qt_2_00) + void setMinMax(int,int); +%End +%If (Qt_2_00 -) + virtual void setMinMax(int,int); +%End + int numCopies() const; +%If (- Qt_2_00) + void setNumCopies(int); +%End +%If (Qt_2_00 -) + virtual void setNumCopies(int); +%End + +%If (Qt_3_0_0 -) + bool collateCopiesEnabled() const; + void setCollateCopiesEnabled(bool); + + bool collateCopies() const; + void setCollateCopies(bool); +%End + +%If (Qt_3_2_0 -) + PrintRange printRange() const; + void setPrintRange(PrintRange); +%End + + bool newPage(); + bool abort(); + bool aborted() const; + + bool setup(QWidget * = 0); + +%If (Qt_3_0_0 -) + PaperSource paperSource() const; + virtual void setPaperSource(PaperSource); +%End + +%If (Qt_3_2_0 -) + void setOptionEnabled(PrinterOption,bool); + bool isOptionEnabled(PrinterOption); +%End + +private: + QPrinter(const QPrinter &); +}; + +%End diff --git a/sip/qt/qprocess.sip b/sip/qt/qprocess.sip new file mode 100644 index 0000000..c02c512 --- /dev/null +++ b/sip/qt/qprocess.sip @@ -0,0 +1,112 @@ +// This is the SIP interface definition for QProcess. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QProcess (Qt v3+)</Title> +<Para> +<Literal>QProcess</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QProcess : QObject +{ +%TypeHeaderCode +#include <qprocess.h> +%End + +public: + QProcess(QObject * /TransferThis/ = 0,const char * = 0); + QProcess(const QString &,QObject * /TransferThis/ = 0, + const char * = 0); + QProcess(const QStringList &,QObject * /TransferThis/ = 0, + const char * = 0); + + QStringList arguments() const; + void clearArguments(); + virtual void setArguments(const QStringList &); + virtual void addArgument(const QString &); + QDir workingDirectory() const; + virtual void setWorkingDirectory(const QDir &); + + enum Communication { + Stdin, + Stdout, + Stderr, + DupStderr + }; + + void setCommunication(int); + int communication() const; + + virtual bool start(QStringList * = 0); + virtual bool launch(const QString &, QStringList * = 0 ); + virtual bool launch(const QByteArray &,QStringList * = 0 ); + + bool isRunning() const; + bool normalExit() const; + int exitStatus() const; + + virtual QByteArray readStdout() /ReleaseGIL/; + virtual QByteArray readStderr() /ReleaseGIL/; + bool canReadLineStdout() const; + bool canReadLineStderr() const; + virtual QString readLineStdout() /ReleaseGIL/; + virtual QString readLineStderr() /ReleaseGIL/; + +%If (WS_X11 || WS_MACX || WS_QWS) + typedef long PID; +%End + + PID processIdentifier(); + + void flushStdin(); + +signals: + void readyReadStdout(); + void readyReadStderr(); + void processExited(); + void wroteToStdin(); + void launchFinished(); + +public slots: + void tryTerminate() const; + void kill() const; + + virtual void writeToStdin(const QByteArray &); + virtual void writeToStdin(const QString &); + virtual void closeStdin(); + +protected: + void connectNotify(const char *); + void disconnectNotify(const char *); + +private: +%If (Qt_3_1_0 -) + QProcess(const QProcess &); +%End +}; + +%End diff --git a/sip/qt/qprogressbar.sip b/sip/qt/qprogressbar.sip new file mode 100644 index 0000000..bcf3ad2 --- /dev/null +++ b/sip/qt/qprogressbar.sip @@ -0,0 +1,95 @@ +// This is the SIP interface definition for QProgressBar. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QProgressBar</Title> +<Para> +<Literal>QProgressBar</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QProgressBar : QFrame +{ +%TypeHeaderCode +#include <qprogressbar.h> +%End + +public: + QProgressBar(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + QProgressBar(int,QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + + int totalSteps() const; + int progress() const; +%If (Qt_3_0_0 -) + const QString &progressString() const; +%End + + QSize sizeHint() const; +%If (Qt_2_00 - Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End +%If (Qt_2_00 -) + QSize minimumSizeHint() const; + + void setCenterIndicator(bool); + bool centerIndicator() const; + + void setIndicatorFollowsStyle(bool); + bool indicatorFollowsStyle() const; +%End + +%If (Qt_3_0_0 -) + bool percentageVisible() const; + void setPercentageVisible(bool); +%End + + void show(); + +public slots: + void reset(); +%If (- Qt_2_00) + void setTotalSteps(int); + void setProgress(int); +%End +%If (Qt_2_00 -) + virtual void setTotalSteps(int); + virtual void setProgress(int); +%End +%If (Qt_3_1_0 -) + void setProgress(int,int); +%End + +protected: + void drawContents(QPainter *); + virtual bool setIndicator(QString &,int,int); +%If (Qt_2_00 - Qt_3_0_0) + void drawContentsMask(QPainter *); +%End +%If (Qt_2_00 -) + void styleChange(QStyle &); +%End + +private: + QProgressBar(const QProgressBar &); +}; diff --git a/sip/qt/qprogressdialog.sip b/sip/qt/qprogressdialog.sip new file mode 100644 index 0000000..4963041 --- /dev/null +++ b/sip/qt/qprogressdialog.sip @@ -0,0 +1,194 @@ +// This is the SIP interface definition for QProgressDialog. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QProgressDialog</Title> +<Para> +<Literal>QProgressDialog</Literal> is fully implemented. +value. +</Para> +</Sect2> +%End + + +%If (Qt_PROGRESSDIALOG) + +%If (Qt_3_0_0 -) + +class QProgressDialog : QDialog +{ +%TypeHeaderCode +#include <qprogressdialog.h> +%End + +public: + QProgressDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0, + WFlags = 0); + QProgressDialog(const QString &,const QString &,int, + QWidget * /TransferThis/ = 0,const char * = 0,bool = 0, + WFlags = 0); + + void setLabel(QLabel *); + void setCancelButton(QPushButton *); + void setBar(QProgressBar *); + + bool wasCancelled() const; +%If (Qt_3_2_0 -) + bool wasCanceled() const; +%End + + int totalSteps() const; + int progress() const; + + QSize sizeHint() const; + + int minimumDuration() const; + + QString labelText() const; + + void setAutoReset(bool); + bool autoReset() const; + void setAutoClose(bool); + bool autoClose() const; + +public slots: + void cancel(); + void reset(); + void setTotalSteps(int); + void setProgress(int); +%If (Qt_3_1_0 -) + void setProgress(int,int); +%End + void setLabelText(const QString &); + void setCancelButtonText(const QString &); + + void setMinimumDuration(int); + +signals: + void cancelled(); +%If (Qt_3_2_0 -) + void canceled(); +%End + +protected: + void resizeEvent(QResizeEvent *); + void closeEvent(QCloseEvent *); + void styleChange(QStyle &); + void showEvent(QShowEvent *); + +protected slots: + void forceShow(); + +private: + QProgressDialog(const QProgressDialog &); +}; + +%End + + +%If (- Qt_3_0_0) + +class QProgressDialog : QSemiModal +{ +%TypeHeaderCode +#include <qprogressdialog.h> +%End + +public: + QProgressDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0, + WFlags = 0); +%If (- Qt_2_00) + QProgressDialog(const char *,const char *,int,QWidget * /TransferThis/ = 0, + const char * = 0,bool = 0,WFlags = 0); +%End +%If (Qt_2_00 -) + QProgressDialog(const QString &,const QString &,int, + QWidget * /TransferThis/ = 0,const char * = 0,bool = 0, + WFlags = 0); +%End + + void setLabel(QLabel *); + void setCancelButton(QPushButton *); + void setBar(QProgressBar *); + + bool wasCancelled() const; + + int totalSteps() const; + int progress() const; + + QSize sizeHint() const; + + int minimumDuration() const; + +%If (Qt_2_1_0 -) + QString labelText() const; + + void setAutoReset(bool); + bool autoReset() const; + void setAutoClose(bool); + bool autoClose() const; +%End + +public slots: + void cancel(); + void reset(); + void setTotalSteps(int); + void setProgress(int); +%If (- Qt_2_00) + void setLabelText(const char *); + void setCancelButtonText(const char *); +%End +%If (Qt_2_00 -) + void setLabelText(const QString &); + void setCancelButtonText(const QString &); +%End + + void setMinimumDuration(int); + +signals: + void cancelled(); + +protected: + void resizeEvent(QResizeEvent *); +%If (- Qt_2_00) + void styleChange(GUIStyle); +%End +%If (Qt_2_00 -) + void closeEvent(QCloseEvent *); + void styleChange(QStyle &); +%End +%If (Qt_2_1_0 -) + void showEvent(QShowEvent *); +%End + +protected slots: +%If (Qt_2_2_0 -) + void forceShow(); +%End + +private: + QProgressDialog(const QProgressDialog &); +}; + +%End + +%End diff --git a/sip/qt/qptrlist.sip b/sip/qt/qptrlist.sip new file mode 100644 index 0000000..c49afad --- /dev/null +++ b/sip/qt/qptrlist.sip @@ -0,0 +1,111 @@ +// This is the SIP interface definition for all types based on the QPtrList +// template. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qpushbutton.sip b/sip/qt/qpushbutton.sip new file mode 100644 index 0000000..93e6fa0 --- /dev/null +++ b/sip/qt/qpushbutton.sip @@ -0,0 +1,143 @@ +// This is the SIP interface definition for QPushButton. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPushButton</Title> +<Para> +<Literal>QPushButton</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QPushButton : QButton +{ +%TypeHeaderCode +#include <qpushbutton.h> +%End + +public: +%If (- Qt_2_00) + QPushButton(QWidget * /TransferThis/ = 0,const char * = 0); + QPushButton(const char *,QWidget * /TransferThis/ = 0,const char * = 0); +%End +%If (Qt_2_00 -) + QPushButton(QWidget * /TransferThis/,const char * = 0); + QPushButton(const QString &,QWidget * /TransferThis/,const char * = 0); +%End +%If (Qt_2_1_0 -) + QPushButton(const QIconSet &,const QString &,QWidget * /TransferThis/,const char * = 0); +%End + + QSize sizeHint() const; +%If (Qt_2_00 - Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + + void move(int,int); + void move(const QPoint &); + void resize(int,int); + void resize(const QSize &); +%If (- Qt_2_00) + void setGeometry(int,int,int,int); + + void setGeometry(const QRect &); + + void setToggleButton(bool); +%End +%If (Qt_2_00 - Qt_3_0_0) + virtual void setGeometry(int,int,int,int); + + virtual void setGeometry(const QRect &); + + virtual void setToggleButton(bool); +%End +%If (Qt_3_0_0 -) + void setGeometry(int,int,int,int); + + void setGeometry(const QRect &); + + void setToggleButton(bool); +%End + + bool autoDefault() const; +%If (- Qt_2_00) + void setAutoDefault(bool); +%End +%If (Qt_2_00 -) + virtual void setAutoDefault(bool); +%End + bool isDefault() const; +%If (- Qt_2_00) + void setDefault(bool); +%End +%If (Qt_2_00 -) + virtual void setDefault(bool); +%End + +%If (- Qt_2_00) + void setIsMenuButton(bool); +%End +%If (Qt_2_00 - Qt_3_0_0) + virtual void setIsMenuButton(bool); +%End +%If (- Qt_3_0_0) + bool isMenuButton() const; +%End + +%If (Qt_2_1_0 -) + void setPopup(QPopupMenu *); + QPopupMenu *popup() const; + + void setIconSet(const QIconSet &); + QIconSet *iconSet() const; +%End + +%If (Qt_2_2_0 -) + void setFlat(bool); + bool isFlat() const; +%End + +public slots: +%If (- Qt_2_00) + void setOn(bool); +%End +%If (Qt_2_00 -) + virtual void setOn(bool); +%End +%If (- Qt_3_0_0) + void toggle(); +%End + +protected: + void drawButton(QPainter *); + void drawButtonLabel(QPainter *); + void focusInEvent(QFocusEvent *); +%If (Qt_2_00 -) + void focusOutEvent(QFocusEvent *); + void resizeEvent(QResizeEvent *); + void updateMask(); +%End + +private: + QPushButton(const QPushButton &); +}; diff --git a/sip/qt/qradiobutton.sip b/sip/qt/qradiobutton.sip new file mode 100644 index 0000000..77c00db --- /dev/null +++ b/sip/qt/qradiobutton.sip @@ -0,0 +1,84 @@ +// This is the SIP interface definition for QRadioButton. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QRadioButton</Title> +<Para> +<Literal>QRadioButton</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QRadioButton : QButton +{ +%TypeHeaderCode +#include <qradiobutton.h> +%End + +public: +%If (- Qt_2_00) + QRadioButton(QWidget * /TransferThis/ = 0,const char * = 0); + QRadioButton(const char *,QWidget * /TransferThis/ = 0,const char * = 0); +%End +%If (Qt_2_00 -) + QRadioButton(QWidget * /TransferThis/,const char * = 0); + QRadioButton(const QString &,QWidget * /TransferThis/,const char * = 0); +%End + + bool isChecked() const; + + QSize sizeHint() const; + +%If (- Qt_2_00) + void setChecked(bool); +%End +%If (Qt_2_00 - Qt_3_0_0) + virtual void setChecked(bool); + QSizePolicy sizePolicy() const; +%End + +public slots: +%If (Qt_3_0_0 -) + virtual void setChecked(bool); +%End + +protected: + bool hitButton(const QPoint &) const; + void drawButton(QPainter *); + void drawButtonLabel(QPainter *); +%If (- Qt_2_00) + void mouseReleaseEvent(QMouseEvent *); + void keyPressEvent(QKeyEvent *); +%End +%If (Qt_2_00 -) + void updateMask(); + + void resizeEvent(QResizeEvent *); +%End +%If (Qt_2_00 - Qt_3_0_0) + void focusInEvent(QFocusEvent *); +%End + +private: + QRadioButton(const QRadioButton &); +}; diff --git a/sip/qt/qrangecontrol.sip b/sip/qt/qrangecontrol.sip new file mode 100644 index 0000000..2c1c3af --- /dev/null +++ b/sip/qt/qrangecontrol.sip @@ -0,0 +1,79 @@ +// This is the SIP interface definition for QRangeControl. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QRangeControl</Title> +<Para> +<Literal>QRangeControl</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QRangeControl +{ +%TypeHeaderCode +#include <qrangecontrol.h> +%End + +public: + QRangeControl(); + QRangeControl(int,int,int,int,int); + + int value() const; + void setValue(int); + void addPage(); + void subtractPage(); + void addLine(); + void subtractLine(); + + int minValue() const; + int maxValue() const; + void setRange(int,int); +%If (Qt_3_0_0 -) + void setMinValue(int); + void setMaxValue(int); +%End + + int lineStep() const; + int pageStep() const; + void setSteps(int,int); + +%If (Qt_2_00 -) + int bound(int) const; +%End + +protected: +%If (Qt_2_00 -) + int positionFromValue(int,int) const; + int valueFromPosition(int,int) const; +%End + void directSetValue(int); + int prevValue() const; + + virtual void valueChange(); + virtual void rangeChange(); + virtual void stepChange(); + +private: + QRangeControl(const QRangeControl &); +}; diff --git a/sip/qt/qrect.sip b/sip/qt/qrect.sip new file mode 100644 index 0000000..0f5f213 --- /dev/null +++ b/sip/qt/qrect.sip @@ -0,0 +1,207 @@ +// This is the SIP interface definition for QRect. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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; +}; + +bool operator==(const QRect &,const QRect &); +bool operator!=(const QRect &,const QRect &); diff --git a/sip/qt/qregexp.sip b/sip/qt/qregexp.sip new file mode 100644 index 0000000..3d1dc40 --- /dev/null +++ b/sip/qt/qregexp.sip @@ -0,0 +1,139 @@ +// This is the SIP interface definition for QRegExp. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QRegExp</Title> +<Para> +The Python <Literal>==</Literal> and <Literal>!=</Literal> operators are +supported. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>match</Function></FuncDef> + <ParamDef>const char *<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>index</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>len</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes <Literal>str</Literal> and <Literal>index</Literal> parameters and +returns a tuple of the <Literal>int</Literal> result and the +<Literal>len</Literal> value. (Qt v1.x) +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>match</Function></FuncDef> + <ParamDef>const QString &<Parameter>str</Parameter></ParamDef> + <ParamDef>int <Parameter>index</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>len</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes <Literal>str</Literal> and <Literal>index</Literal> parameters and +returns a tuple of the <Literal>int</Literal> result and the +<Literal>len</Literal> value. (Qt v2+) +</Para> +</Sect2> +%End + + +class QRegExp +{ +%TypeHeaderCode +#include <qregexp.h> +%End + +public: +%If (Qt_3_1_0 -) + enum CaretMode { + CaretAtZero, + CaretAtOffset, + CaretWontMatch + }; +%End + + QRegExp(); +%If (- Qt_2_00) + QRegExp(const char *,bool = 1,bool = 0); +%End +%If (Qt_2_00 -) + QRegExp(const QString &,bool = 1,bool = 0); +%End + QRegExp(const QRegExp &); + + bool operator==(const QRegExp &) const; + bool operator!=(const QRegExp &) const; + + bool isEmpty() const; + bool isValid() const; +%If (- Qt_2_00) + const char *pattern() const; +%End +%If (Qt_2_00 -) + QString pattern() const; +%End +%If (Qt_2_2_0 -) + void setPattern(const QString &); +%End + bool caseSensitive() const; + void setCaseSensitive(bool); + bool wildcard() const; + void setWildcard(bool); +%If (Qt_3_0_0 -) + bool minimal() const; + void setMinimal(bool); + + bool exactMatch(const QString &) const; +%End + +%If (- Qt_2_00) + int match(const char *,int = 0,int * = 0) const; +%End +%If (Qt_2_00 - Qt_3_0_0) + int match(const QString &,int = 0,int * = 0) const; +%End + +%If (Qt_2_2_0 - Qt_3_0_0) + int find(const QString &,int); +%End + +%If (Qt_3_0_0 -) + int search(const QString &,int = 0) const; +%If (Qt_3_1_0 -) + int search(const QString &,int,CaretMode) const; +%End + int searchRev(const QString &,int = -1) const; +%If (Qt_3_1_0 -) + int searchRev(const QString &,int,CaretMode) const; +%End + int matchedLength() const; +%If (Qt_3_1_0 -) + int numCaptures() const; +%End + QStringList capturedTexts(); + QString cap(int = 0); + int pos(int = 0); +%End +%If (Qt_3_1_0 -) + QString errorString(); + + static QString escape(const QString &); +%End +}; diff --git a/sip/qt/qregion.sip b/sip/qt/qregion.sip new file mode 100644 index 0000000..38b9beb --- /dev/null +++ b/sip/qt/qregion.sip @@ -0,0 +1,128 @@ +// This is the SIP interface definition for QRegion. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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; +%If (Qt_3_0_0 -) + QMemArray<QRect> rects() const; +%End +%If (Qt_2_2_0 -) +// void setRects(const QRect *,int); +%End + + const QRegion operator|(const QRegion &) const; + const QRegion operator+(const QRegion &) const; + const QRegion operator&(const QRegion &) const; + const QRegion operator-(const QRegion &) const; + const QRegion operator^(const QRegion &) const; + QRegion &operator|=(const QRegion &); + QRegion &operator+=(const QRegion &); + QRegion &operator&=(const QRegion &); + QRegion &operator-=(const QRegion &); + QRegion &operator^=(const QRegion &); + + int __nonzero__() const; +%MethodCode + sipRes = !sipCpp -> isNull(); +%End + + bool operator==(const QRegion &) const; + bool operator!=(const QRegion &) const; +}; diff --git a/sip/qt/qscrollbar.sip b/sip/qt/qscrollbar.sip new file mode 100644 index 0000000..20b8e5d --- /dev/null +++ b/sip/qt/qscrollbar.sip @@ -0,0 +1,170 @@ +// This is the SIP interface definition for QScrollBar. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QScrollBar</Title> +<Para> +<Literal>QScrollBar</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QScrollBar : QWidget, QRangeControl +{ +%TypeHeaderCode +#include <qscrollbar.h> +%End + +public: +%If (- Qt_2_00) + enum Orientation { + Horizontal, + Vertical + }; +%End + +%If (- Qt_2_00) + QScrollBar(QWidget * /TransferThis/ = 0,const char * = 0); + QScrollBar(Orientation,QWidget * /TransferThis/ = 0,const char * = 0); + QScrollBar(int,int,int,int,int,Orientation, + QWidget * /TransferThis/ = 0,const char * = 0); +%End +%If (Qt_2_00 -) + QScrollBar(QWidget * /TransferThis/,const char * = 0); + QScrollBar(Orientation,QWidget * /TransferThis/,const char * = 0); + QScrollBar(int,int,int,int,int,Orientation,QWidget * /TransferThis/, + const char * = 0); +%End + +%If (- Qt_2_00) + void setOrientation(Orientation); +%End +%If (Qt_2_00 -) + virtual void setOrientation(Orientation); +%End + Orientation orientation() const; +%If (- Qt_2_00) + void setTracking(bool); +%End +%If (Qt_2_00 -) + virtual void setTracking(bool); +%End + bool tracking() const; + bool draggingSlider() const; + +%If (Qt_2_00 -) + virtual void setPalette(const QPalette &); +%End +%If (- Qt_2_00) + void setPalette(const QPalette &); +%End +%If (Qt_3_1_0 -) + virtual QSize sizeHint() const; +%End +%If (- Qt_3_1_0) + QSize sizeHint() const; +%End +%If (Qt_3_1_0 -) + virtual void setSizePolicy(QSizePolicy); +%End +%If (Qt_3_2_0 -) + void setSizePolicy(QSizePolicy::SizeType,QSizePolicy::SizeType, + bool = 0); +%End +%If (Qt_2_00 - Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + +%If (Qt_2_1_0 -) + int minValue() const; + int maxValue() const; + void setMinValue(int); + void setMaxValue(int); + int lineStep() const; + int pageStep() const; + void setLineStep(int); + void setPageStep(int); + int value() const; +%End +%If (- Qt_3_0_0) + void setValue(int); +%End + +%If (Qt_3_0_0 -) + int sliderStart() const; + QRect sliderRect() const; +%End + +public slots: +%If (Qt_3_0_0 -) + void setValue(int); +%End + +signals: + void valueChanged(int); + void sliderPressed(); + void sliderMoved(int); + void sliderReleased(); + void nextLine(); + void prevLine(); + void nextPage(); + void prevPage(); + +protected: +%If (Qt_2_00 -) + void wheelEvent(QWheelEvent *); +%End + void keyPressEvent(QKeyEvent *); + void resizeEvent(QResizeEvent *); + void paintEvent(QPaintEvent *); + + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); +%If (Qt_3_0_0 -) + void contextMenuEvent(QContextMenuEvent *); +%End +%If (Qt_3_0_4 -) + void hideEvent(QHideEvent *); +%End + + void valueChange(); + void stepChange(); + void rangeChange(); + +%If (- Qt_3_0_0) + int sliderStart() const; + QRect sliderRect() const; +%End + +%If (- Qt_2_00) + void timerEvent(QTimerEvent *); +%End + +%If (Qt_2_00 -) + void styleChange(QStyle &); +%End + +private: + QScrollBar(const QScrollBar &); +}; diff --git a/sip/qt/qscrollview.sip b/sip/qt/qscrollview.sip new file mode 100644 index 0000000..4d7161f --- /dev/null +++ b/sip/qt/qscrollview.sip @@ -0,0 +1,325 @@ +// This is the SIP interface definition for QScrollView. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QScrollView</Title> +<FuncSynopsis> + <FuncDef>void <Function>contentsToViewport</Function></FuncDef> + <ParamDef>int <Parameter>x</Parameter></ParamDef> + <ParamDef>int <Parameter>y</Parameter></ParamDef> + <ParamDef>int &<Parameter>vx</Parameter></ParamDef> + <ParamDef>int &<Parameter>vy</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and +returns a tuple containing the <Literal>vx</Literal> and <Literal>vy</Literal> +values. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>viewportToContents</Function></FuncDef> + <ParamDef>int <Parameter>vx</Parameter></ParamDef> + <ParamDef>int <Parameter>vy</Parameter></ParamDef> + <ParamDef>int &<Parameter>x</Parameter></ParamDef> + <ParamDef>int &<Parameter>y</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>vx</Literal> and <Literal>vy</Literal> parameters and +returns a tuple containing the <Literal>x</Literal> and <Literal>y</Literal> +values. (Qt v2+) +</Para> +</Sect2> +%End + + +class QScrollView : QFrame +{ +%TypeHeaderCode +#include <qscrollview.h> +%End + +public: + QScrollView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + + enum ResizePolicy { + Default, + Manual, + AutoOne, +%If (Qt_2_3_0 -) + AutoOneFit, +%End + }; + + virtual void setResizePolicy(ResizePolicy); + ResizePolicy resizePolicy() const; + +%If (Qt_2_1_0 -) + void styleChange(QStyle &); +%End + // The child was reparented when it was added, and it stays that way, + // so we don't transfer it back here. + void removeChild(QWidget *); +%If (- Qt_2_00) + void addChild(QWidget * /Transfer/); + virtual void addChild(QWidget * /Transfer/,int,int); +%End +%If (Qt_2_00 -) + virtual void addChild(QWidget * /Transfer/,int = 0,int = 0); +%End + virtual void moveChild(QWidget *,int,int); + int childX(QWidget *); + int childY(QWidget *); +%If (- Qt_3_0_0) + bool childIsVisible(QWidget *); + void showChild(QWidget *,bool = 1); +%End + + enum ScrollBarMode { + Auto, + AlwaysOff, + AlwaysOn + }; + + ScrollBarMode vScrollBarMode() const; + virtual void setVScrollBarMode(ScrollBarMode); + + ScrollBarMode hScrollBarMode() const; + virtual void setHScrollBarMode(ScrollBarMode); + + QWidget *cornerWidget() const; + virtual void setCornerWidget(QWidget * /Transfer/); + +%If (- Qt_2_00) + QScrollBar *horizontalScrollBar(); + QScrollBar *verticalScrollBar(); + QWidget *viewport(); +%End +%If (Qt_2_00 -) + QScrollBar *horizontalScrollBar() const; + QScrollBar *verticalScrollBar() const; + QWidget *viewport() const; + QWidget *clipper() const; + + int visibleWidth() const; + int visibleHeight() const; +%End + + int contentsWidth() const; + int contentsHeight() const; + int contentsX() const; + int contentsY() const; + + void resize(int,int); + void resize(const QSize &); + void show(); + +%If (Qt_2_00 -) + void updateContents(int,int,int,int); +%End +%If (Qt_2_1_0 -) + void updateContents(const QRect &); +%End +%If (Qt_3_0_0 -) + void updateContents(); +%End +%If (Qt_2_00 -) + void repaintContents(int,int,int,int,bool = 1); +%End +%If (Qt_2_1_0 -) + void repaintContents(const QRect &,bool = 1); +%End +%If (Qt_3_0_0 -) + void repaintContents(bool = 1); +%End + +%If (Qt_2_00 -) + // Note that this wasn't actually const until Qt v3.0.0. + void contentsToViewport(int,int,int &,int &) const; + + // Note that this wasn't actually const until Qt v3.0.0. + void viewportToContents(int,int,int &,int &) const; + +%If (- Qt_3_0_0) + QPoint contentsToViewport(const QPoint &); + QPoint viewportToContents(const QPoint &); +%End +%If (Qt_3_0_0 -) + QPoint contentsToViewport(const QPoint &) const; + QPoint viewportToContents(const QPoint &) const; +%End + void enableClipper(bool); + +%If (Qt_2_2_0 -) + void setStaticBackground(bool); + bool hasStaticBackground() const; +%End + + QSize viewportSize(int,int) const; +%If (Qt_2_1_0 -) + QSize sizeHint() const; +%End +%If (- Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + QSize minimumSizeHint() const; + + void removeChild(QObject * /TransferBack/); +%End + +%If (Qt_3_1_0 -) + bool isHorizontalSliderPressed(); + bool isVerticalSliderPressed(); +%End + +%If (Qt_DRAGANDDROP) +%If (Qt_2_1_0 - Qt_3_0_0) + void setDragAutoScroll(bool); +%End +%If (Qt_3_0_0 -) + virtual void setDragAutoScroll(bool); +%End +%If (Qt_2_1_0 -) + bool dragAutoScroll() const; +%End +%End + +signals: + void contentsMoving(int,int); +%If (Qt_3_1_0 -) + void horizontalSliderPressed(); + void horizontalSliderReleased(); + void verticalSliderPressed(); + void verticalSliderReleased(); +%End + +public slots: + virtual void resizeContents(int,int); + void scrollBy(int,int); +%If (- Qt_2_00) + void setContentsPos(int,int); +%End +%If (Qt_2_00 -) + virtual void setContentsPos(int,int); +%End + void ensureVisible(int,int); + void ensureVisible(int,int,int,int); + void center(int,int); + void center(int,int,float,float); + + void updateScrollBars(); +%If (Qt_2_00 -) + void setEnabled(bool); +%End + +protected: +%If (Qt_2_00 -) + virtual void drawContents(QPainter *,int,int,int,int); +%End + virtual void drawContentsOffset(QPainter *,int,int,int,int,int,int); + +%If (Qt_2_00 -) + virtual void contentsMousePressEvent(QMouseEvent *); + virtual void contentsMouseReleaseEvent(QMouseEvent *); + virtual void contentsMouseDoubleClickEvent(QMouseEvent *); + virtual void contentsMouseMoveEvent(QMouseEvent *); +%If (Qt_DRAGANDDROP) + virtual void contentsDragEnterEvent(QDragEnterEvent *); + virtual void contentsDragMoveEvent(QDragMoveEvent *); + virtual void contentsDragLeaveEvent(QDragLeaveEvent *); + virtual void contentsDropEvent(QDropEvent *); +%End + virtual void contentsWheelEvent(QWheelEvent *); +%End +%If (Qt_3_0_0 -) + virtual void contentsContextMenuEvent(QContextMenuEvent *); +%End + + virtual void viewportPaintEvent(QPaintEvent *); +%If (Qt_2_00 -) + virtual void viewportResizeEvent(QResizeEvent *); +%End + virtual void viewportMousePressEvent(QMouseEvent *); + virtual void viewportMouseReleaseEvent(QMouseEvent *); + virtual void viewportMouseDoubleClickEvent(QMouseEvent *); + virtual void viewportMouseMoveEvent(QMouseEvent *); +%If (Qt_2_00 -) +%If (Qt_DRAGANDDROP) + virtual void viewportDragEnterEvent(QDragEnterEvent *); + virtual void viewportDragMoveEvent(QDragMoveEvent *); + virtual void viewportDragLeaveEvent(QDragLeaveEvent *); + virtual void viewportDropEvent(QDropEvent *); +%End + virtual void viewportWheelEvent(QWheelEvent *); +%End +%If (Qt_3_0_0 -) + virtual void viewportContextMenuEvent(QContextMenuEvent *); +%End + + void frameChanged(); + +%If (- Qt_2_00) + void setMargins(int,int,int,int); +%End +%If (Qt_2_00 -) + virtual void setMargins(int,int,int,int); +%End + int leftMargin() const; + int topMargin() const; + int rightMargin() const; + int bottomMargin() const; + + bool focusNextPrevChild(bool); + +%If (Qt_2_00 -) + virtual void setHBarGeometry(QScrollBar &,int,int,int,int); + virtual void setVBarGeometry(QScrollBar &,int,int,int,int); +%End + + void resizeEvent(QResizeEvent *); +%If (Qt_3_0_0 -) + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseDoubleClickEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); +%End +%If (Qt_2_00 -) + void wheelEvent(QWheelEvent *); +%End +%If (Qt_3_0_0 -) + void contextMenuEvent(QContextMenuEvent *); +%End + bool eventFilter(QObject *,QEvent *); + +%If (Qt_3_1_0 -) + void setCachedSizeHint(const QSize &) const; + QSize cachedSizeHint() const; + void fontChange(const QFont &); +%End + +private: + QScrollView(const QScrollView &); + +public: +%If (Qt_3_1_0 -) + void disableSizeHintCaching(); +%End +}; diff --git a/sip/qt/qsemaphore.sip b/sip/qt/qsemaphore.sip new file mode 100644 index 0000000..5e1ba40 --- /dev/null +++ b/sip/qt/qsemaphore.sip @@ -0,0 +1,112 @@ +// This is the SIP interface definition for QSemaphore. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSemaphore (Qt v2.2+)</Title> +<Para> +<Literal>QSemaphore</Literal> is fully implemented. The <Literal>+=</Literal> +and <Literal>-=</Literal> operators have also been implemented, but require +Python v2.0 or later. +</Para> +</Sect2> +%End + + +%If (Qt_THREAD_SUPPORT) + +%If (Qt_3_0_0 -) + +class QSemaphore +{ +%TypeHeaderCode +#include <qsemaphore.h> +%End + +public: + QSemaphore(int); + + int available() const; + int total() const; + + QSemaphore &operator+=(int); +%MethodCode + // Some versions of Qt v3 under Windows have a bug where the += + // operator doesn't work properly (but ++ does). This way we + // make sure that the most common value of n (ie. 1) works + // properly with the buggy version. + + Py_BEGIN_ALLOW_THREADS + if (a0 == 1) + (*sipCpp)++; + else + (*sipCpp) += a0; + Py_END_ALLOW_THREADS +%End + + QSemaphore &operator-=(int); +%MethodCode + // Some versions of Qt v3 under Windows have a bug where the -= + // operator doesn't work properly (but -- does). This way we + // make sure that the most common value of n (ie. 1) works + // properly with the buggy version. + + Py_BEGIN_ALLOW_THREADS + if (a0 == 1) + (*sipCpp)--; + else + (*sipCpp) -= a0; + Py_END_ALLOW_THREADS +%End + + bool tryAccess(int); + +private: + QSemaphore(const QSemaphore &); +}; + +%End + + +%If (Qt_2_2_0 - Qt_3_0_0) + +class QSemaphore : Qt +{ +%TypeHeaderCode +#include <qthread.h> +%End + +public: + QSemaphore(int); + + int available() const; + int total() const; + + QSemaphore &operator+=(int); + QSemaphore &operator-=(int); + +private: + QSemaphore(const QSemaphore &); +}; + +%End + +%End diff --git a/sip/qt/qsemimodal.sip b/sip/qt/qsemimodal.sip new file mode 100644 index 0000000..0efc1c8 --- /dev/null +++ b/sip/qt/qsemimodal.sip @@ -0,0 +1,63 @@ +// This is the SIP interface definition for QSemiModal. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSemiModal (Qt v1, v2)</Title> +<Para> +<Literal>QSemiModal</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_SEMIMODAL) +%If (- Qt_3_0_0) + +class QSemiModal : QWidget +{ +%TypeHeaderCode +#include <qsemimodal.h> +%End + +public: + QSemiModal(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0,WFlags = 0); + + void show(); + void move(int,int); + void move(const QPoint &); + void resize(int,int); + void resize(const QSize &); +%If (- Qt_2_00) + void setGeometry(int,int,int,int); + void setGeometry(const QRect &); +%End +%If (Qt_2_00 -) + virtual void setGeometry(int,int,int,int); + virtual void setGeometry(const QRect &); +%End + +private: + QSemiModal(const QSemiModal &); +}; + +%End +%End diff --git a/sip/qt/qsessionmanager.sip b/sip/qt/qsessionmanager.sip new file mode 100644 index 0000000..92ff03c --- /dev/null +++ b/sip/qt/qsessionmanager.sip @@ -0,0 +1,89 @@ +// This is the SIP interface definition for QSessionManager. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSessionManager (Qt v2+)</Title> +<Para> +<Literal>QSessionManager</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QSessionManager : QObject +{ +%TypeHeaderCode +#include <qsessionmanager.h> +%End + +public: + QString sessionId() const; +%If (Qt_3_1_0 -) + QString sessionKey() const; +%End + + bool allowsInteraction(); + bool allowsErrorInteraction(); + void release(); + + void cancel(); + + enum RestartHint { + RestartIfRunning, + RestartAnyway, + RestartImmediately, + RestartNever + }; + + void setRestartHint(RestartHint); + RestartHint restartHint() const; + + void setRestartCommand(const QStringList &); + QStringList restartCommand() const; + void setDiscardCommand(const QStringList &); + QStringList discardCommand() const; + +%If (- Qt_3_0_0) + void setProperty(const QString &,const QString &); + void setProperty(const QString &,const QStringList &); +%End +%If (Qt_3_0_0 -) + void setManagerProperty(const QString &,const QString &); + void setManagerProperty(const QString &,const QStringList &); +%End + + bool isPhase2() const; + void requestPhase2(); + +private: +%If (Qt_3_1_0 -) + QSessionManager(QApplication * /TransferThis/,QString &,QString &); +%End +%If (- Qt_3_1_0) + QSessionManager(QApplication * /TransferThis/,QString &); +%End + ~QSessionManager(); +}; + +%End diff --git a/sip/qt/qsettings.sip b/sip/qt/qsettings.sip new file mode 100644 index 0000000..122593e --- /dev/null +++ b/sip/qt/qsettings.sip @@ -0,0 +1,177 @@ +// This is the SIP interface definition for QSettings. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qsgistyle.sip b/sip/qt/qsgistyle.sip new file mode 100644 index 0000000..c2563ea --- /dev/null +++ b/sip/qt/qsgistyle.sip @@ -0,0 +1,157 @@ +// This is the SIP interface definition for QSGIStyle. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qsignalmapper.sip b/sip/qt/qsignalmapper.sip new file mode 100644 index 0000000..d587723 --- /dev/null +++ b/sip/qt/qsignalmapper.sip @@ -0,0 +1,51 @@ +// This is the SIP interface definition for QSignalMapper +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSignalMapper</Title> +<Para> +<Literal>QSignalMapper</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QSignalMapper : QObject +{ +%TypeHeaderCode +#include <qsignalmapper.h> +%End + +public: + QSignalMapper(QObject * /TransferThis/,const char * = 0); + + virtual void setMapping(const QObject *,int); + virtual void setMapping(const QObject *,const QString &); + void removeMappings(const QObject *); + +signals: + void mapped(int); + void mapped(const QString &); + +public slots: + void map(); +}; diff --git a/sip/qt/qsimplerichtext.sip b/sip/qt/qsimplerichtext.sip new file mode 100644 index 0000000..7b189c3 --- /dev/null +++ b/sip/qt/qsimplerichtext.sip @@ -0,0 +1,91 @@ +// This is the SIP interface definition for QSimpleRichText. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSimpleRichText (Qt v2+)</Title> +<Para> +<Literal>QSimpleRichText</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QSimpleRichText +{ +%TypeHeaderCode +#include <qsimplerichtext.h> +%End + +public: + QSimpleRichText(const QString &,const QFont &, + const QString & = QString::null, + const QStyleSheet * = 0); +%If (Qt_2_1_0 -) + QSimpleRichText(const QString &,const QFont &,const QString &, + const QStyleSheet *,const QMimeSourceFactory *, + int = -1,const QColor & = Qt::blue,bool = 1); +%End + +%If (Qt_2_1_0 -) + void setWidth(int); +%End + void setWidth(QPainter *,int); +%If (Qt_3_0_0 -) + void setDefaultFont(const QFont &); +%End + int width() const; + int widthUsed() const; + int height() const; +%If (Qt_2_1_0 -) + void adjustSize(); +%End + +%If (- Qt_3_0_0) + void draw(QPainter *,int,int,const QRegion &,const QPalette &, + const QBrush * = 0) const; + void draw(QPainter *,int,int,const QRegion &,const QColorGroup &, + const QBrush * = 0) const; +%End +%If (Qt_3_0_0 -) + void draw(QPainter *,int,int,const QRect &,const QColorGroup &, + const QBrush * = 0) const; +%End + + QString context() const; +%If (- Qt_3_0_0) + QString anchor(QPainter *,const QPoint &); +%End +%If (Qt_2_1_0 -) + QString anchorAt(const QPoint &) const; + + bool inText(const QPoint &) const; +%End + +private: +%If (Qt_3_0_0 -) + QSimpleRichText(const QSimpleRichText &); +%End +}; + +%End diff --git a/sip/qt/qsize.sip b/sip/qt/qsize.sip new file mode 100644 index 0000000..d802413 --- /dev/null +++ b/sip/qt/qsize.sip @@ -0,0 +1,112 @@ +// This is the SIP interface definition for QSize. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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 +}; + +bool operator==(const QSize &,const QSize &); +bool operator!=(const QSize &,const QSize &); +const QSize operator+(const QSize &,const QSize &); +const QSize operator-(const QSize &,const QSize &); +const QSize operator*(const QSize &,int /Constrained/); +const QSize operator*(const QSize &,double); +const QSize operator/(const QSize &,int /Constrained/); +const QSize operator/(const QSize &,double); diff --git a/sip/qt/qsizegrip.sip b/sip/qt/qsizegrip.sip new file mode 100644 index 0000000..af21e94 --- /dev/null +++ b/sip/qt/qsizegrip.sip @@ -0,0 +1,60 @@ +// This is the SIP interface definition for QSizeGrip. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSizeGrip (Qt v2+)</Title> +<Para> +<Literal>QSizeGrip</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) +%If (Qt_SIZEGRIP) + +class QSizeGrip : QWidget +{ +%TypeHeaderCode +#include <qsizegrip.h> +%End + +public: + QSizeGrip(QWidget * /TransferThis/,const char * = 0); + + QSize sizeHint() const; +%If (- Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + +protected: + void paintEvent(QPaintEvent *); + void mousePressEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + +%If (Qt_3_0_0 -) + bool eventFilter(QObject *,QEvent *); +%End +}; + +%End +%End diff --git a/sip/qt/qsizepolicy.sip b/sip/qt/qsizepolicy.sip new file mode 100644 index 0000000..c26b54a --- /dev/null +++ b/sip/qt/qsizepolicy.sip @@ -0,0 +1,103 @@ +// This is the SIP interface definition for QSizePolicy. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSizePolicy (Qt v2+)</Title> +<Para> +<Literal>QSizePolicy</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QSizePolicy +{ +%TypeHeaderCode +#include <qsizepolicy.h> +%End + +public: + enum SizeType + { + Fixed, + Minimum, + Maximum, + Preferred, + MinimumExpanding, + Expanding, +%If (Qt_3_0_0 -) + Ignored +%End + }; + + enum ExpandData + { + NoDirection, +%If (Qt_3_0_0 -) + Horizontally, + Vertically, +%End +%If (- Qt_3_0_0) + Horizontal, + Vertical, +%End + BothDirections + }; + + QSizePolicy(); + QSizePolicy(SizeType,SizeType,bool = 0); +%If (Qt_3_0_0 -) + // Note that Qt defines the 2nd and 3rd parameters as uchar, but it's + // really using them as numbers, not characters. + QSizePolicy(SizeType,SizeType,uint,uint,bool = 0); +%End + + SizeType horData() const; + SizeType verData() const; + + bool mayShrinkHorizontally() const; + bool mayShrinkVertically() const; + bool mayGrowHorizontally() const; + bool mayGrowVertically() const; + + ExpandData expanding() const; + + void setHorData(SizeType); + void setVerData(SizeType); + + void setHeightForWidth(bool); + bool hasHeightForWidth() const; + +%If (Qt_3_0_0 -) + uint horStretch() const; + uint verStretch() const; + void setHorStretch(uint); + void setVerStretch(uint); +%End +%If (Qt_3_1_0 -) + void transpose(); +%End +}; + +%End diff --git a/sip/qt/qslider.sip b/sip/qt/qslider.sip new file mode 100644 index 0000000..9560216 --- /dev/null +++ b/sip/qt/qslider.sip @@ -0,0 +1,187 @@ +// This is the SIP interface definition for QSlider. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSlider</Title> +<Para> +<Literal>QSlider</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QSlider : QWidget, QRangeControl +{ +%TypeHeaderCode +#include <qslider.h> +%End + +public: +%If (- Qt_2_00) + enum Orientation { + Horizontal, + Vertical + }; +%End + + enum TickSetting { + NoMarks = 0, + Above = 1, + Left = Above, + Below = 2, + Right = Below, + Both = 3 + }; + +%If (- Qt_2_00) + QSlider(QWidget * /TransferThis/ = 0,const char * = 0); + QSlider(Orientation,QWidget * /TransferThis/ = 0,const char * = 0); + QSlider(int,int,int,int,Orientation,QWidget * /TransferThis/ = 0,const char * = 0); +%End +%If (Qt_2_00 -) + QSlider(QWidget * /TransferThis/,const char * = 0); + QSlider(Orientation,QWidget * /TransferThis/,const char * = 0); + QSlider(int,int,int,int,Orientation,QWidget * /TransferThis/,const char * = 0); +%End + +%If (- Qt_2_00) + void setOrientation(Orientation); +%End +%If (Qt_2_00 -) + virtual void setOrientation(Orientation); +%End + Orientation orientation() const; +%If (- Qt_2_00) + void setTracking(bool); +%End +%If (Qt_2_00 -) + virtual void setTracking(bool); +%End + bool tracking() const; +%If (- Qt_2_00) + void setPalette(const QPalette &); +%End +%If (Qt_2_00 -) + virtual void setPalette(const QPalette &); +%End + +%If (Qt_3_0_0 -) + int sliderStart() const; +%End + QRect sliderRect() const; + QSize sizeHint() const; +%If (Qt_3_1_0 -) + void setSizePolicy(QSizePolicy); +%End +%If (Qt_3_2_0 -) + void setSizePolicy(QSizePolicy::SizeType,QSizePolicy::SizeType, + bool = 0); +%End +%If (Qt_2_00 -) + QSizePolicy sizePolicy() const; + QSize minimumSizeHint() const; +%End + + virtual void setTickmarks(TickSetting); + TickSetting tickmarks() const; + + virtual void setTickInterval(int); + int tickInterval() const; + +%If (Qt_2_1_0 -) + int minValue() const; + int maxValue() const; + void setMinValue(int); + void setMaxValue(int); + int lineStep() const; + int pageStep() const; + void setLineStep(int); + void setPageStep(int); + int value() const; +%End + +public slots: +%If (- Qt_2_00) + void setValue(int); +%End +%If (Qt_2_00 -) + virtual void setValue(int); +%End + void addStep(); + void subtractStep(); +%If (Qt_3_1_0 -) + void addLine(); + void subtractLine(); +%End + +signals: + void valueChanged(int); + void sliderPressed(); + void sliderMoved(int); + void sliderReleased(); + +protected: + void resizeEvent(QResizeEvent *); + void paintEvent(QPaintEvent *); + + void keyPressEvent(QKeyEvent *); + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); +%If (Qt_2_00 -) + void wheelEvent(QWheelEvent *); +%End + void focusInEvent(QFocusEvent *); +%If (Qt_2_00 -) + void focusOutEvent(QFocusEvent *); +%End + +%If (Qt_2_00 -) + void styleChange(QStyle &); +%End + + void valueChange(); + void rangeChange(); + +%If (- Qt_3_0_0) + void drawWinGroove(QPainter *,QCOORD); + void drawTicks(QPainter *,int,int,int = 1) const; + virtual int thickness() const; +%End + +%If (- Qt_2_00) + virtual void paintSlider(QPainter *,const QRect &); +%End +%If (Qt_2_00 - Qt_3_0_0) + void updateMask(); + virtual void paintSlider(QPainter *,const QColorGroup &,const QRect &); + void drawTicks(QPainter *,const QColorGroup &,int,int,int = 1) const; +%End + +private: +%If (Qt_2_00 -) + int positionFromValue(int) const; + int valueFromPosition(int) const; +%End + + QSlider(const QSlider &); +}; diff --git a/sip/qt/qsocketnotifier.sip b/sip/qt/qsocketnotifier.sip new file mode 100644 index 0000000..1f1527a --- /dev/null +++ b/sip/qt/qsocketnotifier.sip @@ -0,0 +1,66 @@ +// This is the SIP interface definition for QSocketNotifier. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSocketNotifier</Title> +<Para> +<Literal>QSocketNotifier</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QSocketNotifier : QObject +{ +%TypeHeaderCode +#include <qsocketnotifier.h> +%End + +public: + enum Type { + Read, + Write, + Exception + }; + + QSocketNotifier(int,Type,QObject * /TransferThis/ = 0,const char * = 0); + + int socket() const; + Type type() const; + + bool isEnabled() const; +%If (- Qt_2_00) + void setEnabled(bool); +%End +%If (Qt_2_00 -) + virtual void setEnabled(bool); +%End + +signals: + void activated(int); + +protected: + bool event(QEvent *); + +private: + QSocketNotifier(const QSocketNotifier &); +}; diff --git a/sip/qt/qsound.sip b/sip/qt/qsound.sip new file mode 100644 index 0000000..8cdbb1b --- /dev/null +++ b/sip/qt/qsound.sip @@ -0,0 +1,69 @@ +// This is the SIP interface definition for QSound. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSound (Qt v2.2+)</Title> +<Para> +<Literal>QSound</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_SOUND) +%If (Qt_2_2_0 -) + +class QSound : QObject +{ +%TypeHeaderCode +#include <qsound.h> +%End + +public: + QSound(const QString &,QObject * /TransferThis/ = 0,const char * = 0); + +%If (- Qt_3_0_0) + static bool available(); +%End +%If (Qt_3_0_0 -) + static bool isAvailable(); +%End + static void play(const QString &); + +%If (Qt_3_0_0 -) + int loops() const; + int loopsRemaining() const; + void setLoops(int); + QString fileName() const; + + bool isFinished() const; +%End + +public slots: + void play(); +%If (Qt_3_0_0 -) + void stop(); +%End +}; + +%End +%End diff --git a/sip/qt/qspinbox.sip b/sip/qt/qspinbox.sip new file mode 100644 index 0000000..fad9621 --- /dev/null +++ b/sip/qt/qspinbox.sip @@ -0,0 +1,268 @@ +// This is the SIP interface definition for QSpinBox. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSpinBox</Title> +<FuncSynopsis> + <FuncDef>virtual int <Function>mapTextToValue</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>int</Literal> result and the modified +<Literal>ok</Literal> value. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSpinBox : QWidget, QRangeControl +{ +%TypeHeaderCode +#include <qspinbox.h> +%End + +public: + QSpinBox(QWidget * /TransferThis/ = 0,const char * = 0); + QSpinBox(int,int,int = 1,QWidget * /TransferThis/ = 0,const char * = 0); + + QString text() const; + + virtual QString prefix() const; + virtual QString suffix() const; + virtual QString cleanText() const; + + virtual void setSpecialValueText(const QString &); + QString specialValueText() const; + + virtual void setWrapping(bool); + bool wrapping() const; + + enum ButtonSymbols { + UpDownArrows, + PlusMinus + }; + + virtual void setButtonSymbols(ButtonSymbols); + ButtonSymbols buttonSymbols() const; + + virtual void setValidator(const QValidator *); + const QValidator *validator() const; + + QSize sizeHint() const; + QSize minimumSizeHint() const; + + int minValue() const; + int maxValue() const; + void setMinValue(int); + void setMaxValue(int); + int lineStep() const; + void setLineStep(int); + int value() const; + + QRect upRect() const; + QRect downRect() const; + +public slots: + virtual void setValue(int); + virtual void setPrefix(const QString &); + virtual void setSuffix(const QString &); + virtual void stepUp(); + virtual void stepDown(); + virtual void setEnabled(bool); + virtual void selectAll(); + +signals: + void valueChanged(int); + void valueChanged(const QString &); + +protected: + virtual QString mapValueToText(int); + virtual int mapTextToValue(bool *); + QString currentValueText(); + + virtual void updateDisplay(); + virtual void interpretText(); + + QLineEdit *editor() const; + + virtual void valueChange(); + virtual void rangeChange(); + + bool eventFilter(QObject *,QEvent *); + void resizeEvent(QResizeEvent *); + void wheelEvent(QWheelEvent *); + void leaveEvent(QEvent *); + + void styleChange(QStyle &); + +protected slots: + void textChanged(); + +private: + QSpinBox(const QSpinBox &); +}; + +%End + + +%If (- Qt_3_0_0) + +class QSpinBox : QFrame, QRangeControl +{ +%TypeHeaderCode +#include <qspinbox.h> +%End + +public: + QSpinBox(QWidget * /TransferThis/ = 0,const char * = 0); + QSpinBox(int,int,int = 1,QWidget * /TransferThis/ = 0,const char * = 0); + +%If (- Qt_2_00) + const char *text() const; + + virtual const char *prefix() const; + virtual const char *suffix() const; +%End +%If (Qt_2_00 -) + QString text() const; + + virtual QString prefix() const; + virtual QString suffix() const; +%End + virtual QString cleanText() const; + +%If (- Qt_2_00) + void setSpecialValueText(const char *); + const char *specialValueText() const; + + void setWrapping(bool); +%End +%If (Qt_2_00 -) + virtual void setSpecialValueText(const QString &); + QString specialValueText() const; + + virtual void setWrapping(bool); +%End + bool wrapping() const; + +%If (Qt_2_1_0 -) + enum ButtonSymbols { + UpDownArrows, + PlusMinus + }; +%End + +%If (Qt_2_1_0 -) + void setButtonSymbols(ButtonSymbols); + ButtonSymbols buttonSymbols() const; +%End + +%If (- Qt_2_00) + void setValidator(QValidator *); +%End +%If (Qt_2_00 -) + virtual void setValidator(const QValidator *); + const QValidator *validator() const; +%End + + QSize sizeHint() const; +%If (Qt_2_00 -) + QSizePolicy sizePolicy() const; +%End + +%If (Qt_2_1_0 -) + int minValue() const; + int maxValue() const; + void setMinValue(int); + void setMaxValue(int); + int lineStep() const; + void setLineStep(int); + int value() const; +%End + +public slots: + virtual void setValue(int); +%If (- Qt_2_00) + virtual void setPrefix(const char *); + virtual void setSuffix(const char *); +%End +%If (Qt_2_00 -) + virtual void setPrefix(const QString &); + virtual void setSuffix(const QString &); +%End + virtual void stepUp(); + virtual void stepDown(); +%If (Qt_2_00 -) + virtual void setEnabled(bool); +%End + +signals: + void valueChanged(int); +%If (- Qt_2_00) + void valueChanged(const char *); +%End +%If (Qt_2_00 -) + void valueChanged(const QString &); +%End + +protected: + virtual QString mapValueToText(int); + virtual int mapTextToValue(bool *); + QString currentValueText(); + + virtual void updateDisplay(); + virtual void interpretText(); + + QPushButton *upButton() const; + QPushButton *downButton() const; + + QLineEdit *editor() const; + + virtual void valueChange(); + virtual void rangeChange(); + + bool eventFilter(QObject *,QEvent *); + void resizeEvent(QResizeEvent *); +%If (- Qt_2_00) + void paletteChange(const QPalette &); + void enabledChange(bool); + void fontChange(const QFont &); + void styleChange(GUIStyle); +%End +%If (Qt_2_00 -) + void wheelEvent(QWheelEvent *); + void styleChange(QStyle &); +%End +%If (Qt_2_1_0 -) + void leaveEvent(QEvent *); +%End + +protected slots: + void textChanged(); + +private: + QSpinBox(const QSpinBox &); +}; + +%End diff --git a/sip/qt/qsplashscreen.sip b/sip/qt/qsplashscreen.sip new file mode 100644 index 0000000..8277f11 --- /dev/null +++ b/sip/qt/qsplashscreen.sip @@ -0,0 +1,61 @@ +// This is the SIP interface definition for QSplashScreen. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSplashScreen (Qt v3.2.0+)</Title> +<Para> +<Literal>QSplashScreen</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_2_0 -) + +class QSplashScreen : QWidget +{ +%TypeHeaderCode +#include <qsplashscreen.h> +%End + +public: + QSplashScreen(const QPixmap & = QPixmap(),WFlags = 0); + virtual ~QSplashScreen(); + + void setPixmap(const QPixmap &); + QPixmap *pixmap() const; + void finish(QWidget *); + void repaint(); + +public slots: + void message(const QString &,int = AlignLeft,const QColor & = Qt::black); + void clear(); + +signals: + void messageChanged(const QString &); + +protected: + virtual void drawContents(QPainter *); + void mousePressEvent(QMouseEvent *); +}; + +%End diff --git a/sip/qt/qsplitter.sip b/sip/qt/qsplitter.sip new file mode 100644 index 0000000..167f8fc --- /dev/null +++ b/sip/qt/qsplitter.sip @@ -0,0 +1,160 @@ +// This is the SIP interface definition for QSplitter. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSplitter</Title> +<FuncSynopsis> + <FuncDef>void <Function>getRange</Function></FuncDef> + <ParamDef>int <Parameter>id</Parameter></ParamDef> + <ParamDef>int *<Parameter>min</Parameter></ParamDef> + <ParamDef>int *<Parameter>max</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>id</Literal> parameter and returns the +<Literal>min</Literal> and <Literal>max</Literal> values as a tuple. (Qt v2+) +</Para> +</Sect2> +%End + + +%If (Qt_SPLITTER) + +class QSplitter : QFrame +{ +%TypeHeaderCode +#include <qsplitter.h> +%End + +public: +%If (- Qt_2_00) + enum Orientation { + Horizontal, + Vertical + }; +%End + + enum ResizeMode { + Stretch, + KeepSize, +%If (Qt_2_1_0 -) + FollowSizeHint, +%End +%If (Qt_3_1_0 -) + Auto +%End + }; + + QSplitter(QWidget * /TransferThis/ = 0,const char * = 0); + QSplitter(Orientation,QWidget * /TransferThis/ = 0,const char * = 0); + +%If (- Qt_2_00) + void setOrientation(Orientation); +%End +%If (Qt_2_00 -) + virtual void setOrientation(Orientation); +%End + Orientation orientation() const; + +%If (Qt_3_2_0 -) + void setChildrenCollapsible(bool); + bool childrenCollapsible() const; + + void setCollapsible(QWidget *,bool); +%End + +%If (- Qt_2_00) + void setResizeMode(QWidget *,ResizeMode); + void setOpaqueResize(bool = 1); +%End +%If (Qt_2_00 -) + virtual void setResizeMode(QWidget *,ResizeMode); + virtual void setOpaqueResize(bool = 1); +%End + bool opaqueResize() const; + + void moveToFirst(QWidget *); + void moveToLast(QWidget *); + + void refresh(); +%If (Qt_2_00 -) + QSize sizeHint() const; + QSize minimumSizeHint() const; +%End +%If (Qt_2_00 - Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + +%If (Qt_2_00 -) + QValueList<int> sizes() const; + void setSizes(QValueList<int>); +%End + +%If (Qt_3_2_0 -) + int handleWidth() const; + void setHandleWidth(int); +%End + +%If (- Qt_2_00) + bool event(QEvent *); +%End + +protected: +%If (Qt_2_00 -) + void childEvent(QChildEvent *); + + bool event(QEvent *); +%End + void resizeEvent(QResizeEvent *); + +%If (- Qt_2_00) + void childInsertEvent(QChildEvent *); + void childRemoveEvent(QChildEvent *); + void layoutHintEvent(QEvent *); + + void moveSplitter(QCOORD); +%End +%If (Qt_2_00 -) + int idAfter(QWidget *) const; + + void moveSplitter(QCOORD,int); +%End + virtual void drawSplitter(QPainter *,QCOORD,QCOORD,QCOORD,QCOORD); +%If (Qt_2_1_0 -) + void styleChange(QStyle &); +%End +%If (- Qt_2_00) + int adjustPos(int); + void setRubberband(int); +%End +%If (Qt_2_00 -) + int adjustPos(int,int); + virtual void setRubberband(int); + void getRange(int,int *,int *); +%End + +private: +%If (Qt_2_1_0 -) + QSplitter(const QSplitter &); +%End +}; + +%End diff --git a/sip/qt/qstatusbar.sip b/sip/qt/qstatusbar.sip new file mode 100644 index 0000000..4e1f704 --- /dev/null +++ b/sip/qt/qstatusbar.sip @@ -0,0 +1,94 @@ +// This is the SIP interface definition for QStatusBar. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QStatusBar</Title> +<Para> +<Literal>QStatusBar</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QStatusBar : QWidget +{ +%TypeHeaderCode +#include <qstatusbar.h> +%End + +public: + QStatusBar(QWidget * /TransferThis/ = 0,const char * = 0); + +%If (- Qt_2_1_0) + void addWidget(QWidget * /Transfer/,int,bool = 0); +%End +%If (Qt_2_1_0 - Qt_3_0_0) + void addWidget(QWidget * /Transfer/,int = 0,bool = 0); +%End +%If (Qt_3_0_0 -) + virtual void addWidget(QWidget * /Transfer/,int = 0,bool = 0); +%End +%If (- Qt_3_0_0) + void removeWidget(QWidget * /TransferBack/); +%End +%If (Qt_3_0_0 -) + virtual void removeWidget(QWidget * /TransferBack/); +%End + +%If (Qt_2_1_0 -) + void setSizeGripEnabled(bool); + bool isSizeGripEnabled() const; +%End + +public slots: +%If (- Qt_2_00) + void message(const char *); + void message(const char *,int); +%End +%If (Qt_2_00 -) + void message(const QString &); + void message(const QString &,int); +%End + void clear(); + +signals: +%If (Qt_3_1_0 -) + void messageChanged(const QString &); +%End + +protected: + void paintEvent(QPaintEvent *); +%If (Qt_2_1_0 -) + void resizeEvent(QResizeEvent *); +%End + + void reformat(); + void hideOrShow(); +%If (Qt_2_1_0 -) + bool event(QEvent *); +%End + +private: +%If (Qt_2_1_0 -) + QStatusBar(const QStatusBar &); +%End +}; diff --git a/sip/qt/qstring.sip b/sip/qt/qstring.sip new file mode 100644 index 0000000..f0097f4 --- /dev/null +++ b/sip/qt/qstring.sip @@ -0,0 +1,1079 @@ +// This is the SIP interface definition for QChar and QString. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QChar (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>uchar &<Function>cell</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>uchar &<Function>row</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> + +<Sect2><Title>QString</Title> +<Para> +A Python string object (or Unicode object) can be used whenever a +<Literal>QString</Literal> can be used. A <Literal>QString</Literal> can be +converted to a Python string object using the Python <Literal>str()</Literal> +function, and to a Python Unicode object using the Python +<Literal>unicode()</Literal> function. +</Para> + +<Para> +The Python <Literal>+</Literal>, <Literal>+=</Literal>, <Literal>*</Literal>, +<Literal>*=</Literal>, <Literal>len</Literal>, <Literal>[]</Literal> +(for reading slices and individual characters), <Literal>in</Literal> and +comparison operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>QCharRef <Function>at</Function></FuncDef> + <ParamDef>uint <Parameter>i</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>QChar <Function>constref</Function> const</FuncDef> + <ParamDef>uint <Parameter>i</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>QChar &<Function>ref</Function></FuncDef> + <ParamDef>uint <Parameter>i</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v2+) +</Para> + +<FuncSynopsis> + <FuncDef>QString &<Function>setUnicodeCodes</Function></FuncDef> + <ParamDef>const ushort *<Parameter>unicode_as_shorts</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v2.1+) +</Para> + +<FuncSynopsis> + <FuncDef>QString &<Function>sprintf</Function></FuncDef> + <ParamDef>const char *<Parameter>format</Parameter></ParamDef> + <ParamDef>...</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>short <Function>toShort</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>short</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>ushort <Function>toUShort</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>ushort</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>toInt</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>int</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>uint <Function>toUInt</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>uint</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>long <Function>toLong</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>long</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>ulong <Function>toULong</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>ulong</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>float <Function>toFloat</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>float</Literal> result and the +<Literal>ok</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>double <Function>toDouble</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>double</Literal> result and the +<Literal>ok</Literal> value. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QChar +{ +%TypeHeaderCode +#include <qstring.h> +%End + +public: + QChar(); + QChar(char); +// QChar(uchar); + QChar(uchar,uchar); + QChar(const QChar &); +// QChar(ushort); +// QChar(short); +// QChar(uint); + QChar(int); + + static const QChar null; + static const QChar replacement; + static const QChar byteOrderMark; + static const QChar byteOrderSwapped; +%If (Qt_2_2_0 -) + static const QChar nbsp; +%End + +%If (- Qt_3_0_0) + enum Category { + NoCategory, + + Mark_NonSpacing, + Mark_SpacingCombining, + Mark_Enclosing, + + Number_DecimalDigit, + Number_Letter, + Number_Other, + + Separator_Space, + Separator_Line, + Separator_Paragraph, + + Other_Control, + Other_Format, + Other_Surrogate, + Other_PrivateUse, + Other_NotAssigned, + + Letter_Uppercase, + Letter_Lowercase, + Letter_Titlecase, + Letter_Modifier, + Letter_Other, + + Punctuation_Connector, + Punctuation_Dask, + Punctuation_Open, + Punctuation_Close, + Punctuation_InitialQuote, + Punctuation_FinalQuote, + Punctuation_Other, + + Symbol_Math, + Symbol_Currency, + Symbol_Modifier, + Symbol_Other + }; +%End +%If (Qt_3_0_0 -) + enum Category { + NoCategory, + + Mark_NonSpacing, + Mark_SpacingCombining, + Mark_Enclosing, + + Number_DecimalDigit, + Number_Letter, + Number_Other, + + Separator_Space, + Separator_Line, + Separator_Paragraph, + + Other_Control, + Other_Format, + Other_Surrogate, + Other_PrivateUse, + Other_NotAssigned, + + Letter_Uppercase, + Letter_Lowercase, + Letter_Titlecase, + Letter_Modifier, + Letter_Other, + + Punctuation_Connector, + Punctuation_Dash, + Punctuation_Open, + Punctuation_Close, + Punctuation_InitialQuote, + Punctuation_FinalQuote, + Punctuation_Other, + + Symbol_Math, + Symbol_Currency, + Symbol_Modifier, + Symbol_Other + }; +%End + +%If (- Qt_3_0_0) + enum Direction { + DirL, + DirR, + DirEN, + DirES, + DirET, + DirAN, + DirCS, + DirB, + DirS, + DirWS, + DirON + }; +%End +%If (Qt_3_0_0 -) + enum Direction { + DirL, + DirR, + DirEN, + DirES, + DirET, + DirAN, + DirCS, + DirB, + DirS, + DirWS, + DirON, + DirLRE, + DirLRO, + DirAL, + DirRLE, + DirRLO, + DirPDF, + DirNSM, + DirBN + }; +%End + + enum Decomposition { + Single, + Canonical, + Font, + NoBreak, + Initial, + Medial, + Final, + Isolated, + Circle, + Super, + Sub, + Vertical, + Wide, + Narrow, + Small, + Square, + Compat, + Fraction + }; + + enum Joining { + OtherJoining, + Dual, + Right, + Center + }; + +%If (Qt_3_0_0 -) + enum CombiningClass { + Combining_BelowLeftAttached, + Combining_BelowAttached, + Combining_BelowRightAttached, + Combining_LeftAttached, + Combining_RightAttached, + Combining_AboveLeftAttached, + Combining_AboveAttached, + Combining_AboveRightAttached, + + Combining_BelowLeft, + Combining_Below, + Combining_BelowRight, + Combining_Left, + Combining_Right, + Combining_AboveLeft, + Combining_Above, + Combining_AboveRight, + + Combining_DoubleBelow, + Combining_DoubleAbove, + Combining_IotaSubscript + }; +%End + + int digitValue() const; + QChar lower() const; + QChar upper() const; + + Category category() const; + Direction direction() const; + Joining joining() const; + bool mirrored() const; +%If (Qt_2_1_0 -) + QChar mirroredChar() const; +%End +%If (- Qt_3_0_0) + QString decomposition() const; +%End +%If (Qt_3_0_0 -) + const QString &decomposition() const; +%End + Decomposition decompositionTag() const; +%If (Qt_3_0_0 -) + unsigned char combiningClass() const; +%End + + char latin1() const; + ushort unicode() const; + + bool isNull() const; + bool isPrint() const; + bool isPunct() const; + bool isSpace() const; + bool isMark() const; + bool isLetter() const; + bool isNumber() const; +%If (Qt_2_1_0 -) + bool isLetterOrNumber() const; +%End + bool isDigit() const; +%If (Qt_3_0_0 -) + bool isSymbol() const; +%End + +// uchar& cell(); +// uchar& row(); + uchar cell() const; + uchar row() const; +%If (Qt_3_0_0 -) + void setCell(uchar); + void setRow(uchar); +%End + + static bool networkOrdered(); +}; + +bool operator==(QChar,char); +bool operator==(QChar,QChar); +bool operator!=(QChar,QChar); +bool operator!=(QChar,char); +bool operator<=(QChar,char); +bool operator<=(QChar,QChar); +bool operator>=(QChar,char); +bool operator>=(QChar,QChar); +bool operator<(QChar,char); +bool operator<(QChar,QChar); +bool operator>(QChar,char); +bool operator>(QChar,QChar); + + +class QString +{ +%TypeHeaderCode +#include <qstring.h> +%End + +public: + QString(); + QString(QChar); + QString(const QString &); + QString(const QByteArray &); +// QString(const QChar *,uint); +// QString(const char *); + +%If (Qt_2_1_0 -) + // This is how we implement QUrl::operator QString() const. + QString(const QUrl &); +%End + +%If (Qt_3_0_0 -) + // This is how we implement QKeySequence::operator QString() const. + QString(const QKeySequence &); + + // This is how we implement QUuid::operator QString() const. + QString(const QUuid &); +%End + + static const QString null; + + bool isNull() const; + bool isEmpty() const; + uint length() const; + void truncate(uint); +%If (- Qt_3_0_0) + void fill(QChar,int = -1); +%End +%If (Qt_3_0_0 -) + QString &fill(QChar,int = -1); +%End + QString copy() const; + + QString arg(int /Constrained/,int = 0,int = 10) const; + QString arg(double /Constrained/,int = 0,char = 'g',int = -1) const; +%If (Qt_3_2_0 -) +// QString arg(Q_LLONG,int = 0,int = 10) const; +// QString arg(Q_ULLONG,int = 0,int = 10) const; +%End + QString arg(long,int = 0,int = 10) const; + QString arg(ulong,int = 0,int = 10) const; +// QString arg(uint,int = 0,int = 10) const; +// QString arg(short,int = 0,int = 10) const; +// QString arg(ushort,int = 0,int = 10) const; + QString arg(char,int = 0) const; + QString arg(QChar,int = 0) const; + QString arg(const QString&,int = 0) const; +%If (Qt_3_2_0 -) + QString arg(const QString &,const QString &) const; + QString arg(const QString &,const QString &,const QString &) const; + QString arg(const QString &,const QString &,const QString &, + const QString &) const; +%End + +// QString &sprintf(const char *,...); + + int find(QChar,int = 0,bool = 1) const; + int find(char,int = 0,bool = 1) const; + int find(const QString &,int = 0,bool = 1) const; + int find(const QRegExp &,int = 0) const; +// int find(const char *,int = 0) const; + int findRev(QChar,int = -1,bool = 1) const; + int findRev(char,int = -1,bool = 1) const; + int findRev(const QString &,int = -1,bool = 1) const; + int findRev(const QRegExp &,int = -1) const; +// int findRev(const char *,int = -1) const; + int contains(QChar,bool = 1) const; + int contains(char,bool = 1) const; +// int contains(const char *,bool = 1) const; + int contains(const QString &,bool = 1) const; + int contains(const QRegExp &) const; + +%If (Qt_3_0_0 -) + enum SectionFlags { + SectionDefault, + SectionSkipEmpty, + SectionIncludeLeadingSep, + SectionIncludeTrailingSep, + SectionCaseInsensitiveSeps + }; + + QString section(QChar,int,int = 0xffffffff,int = SectionDefault) const; +// QString section(char,int,int = 0xffffffff,int = SectionDefault) const; +// QString section(const char *,int,int = 0xffffffff, +// int = SectionDefault) const; + QString section(const QString &,int,int = 0xffffffff, + int = SectionDefault) const; + QString section(const QRegExp &,int,int = 0xffffffff, + int = SectionDefault) const; +%End + + QString left(uint) const; + QString right(uint) const; + QString mid(uint,uint = 0xffffffff) const; + QString leftJustify(uint,QChar = ' ',bool = 0) const; + QString rightJustify(uint,QChar = ' ',bool = 0) const; + QString lower() const; + QString upper() const; + QString stripWhiteSpace() const; + QString simplifyWhiteSpace() const; + + QString &insert(uint,const QString &); +%If (Qt_3_2_0 -) + QString &insert(uint,const QByteArray &); +// QString &insert(uint,const char *); +%End + QString &insert(uint,QChar *,uint); + QString &insert(uint,QChar); + QString &insert(uint,char); + + QString &append(char); +%If (Qt_2_2_0 -) + QString &append(QChar); +%End + QString &append(const QString &); + QString &prepend(char); +%If (Qt_2_2_0 -) + QString &prepend(QChar); +%End + QString &prepend(const QString &); + QString &remove(uint,uint); +%If (Qt_3_1_0 -) + QString &remove(const QString &); +%If (Qt_3_2_0 -) + QString &remove(const QString &,bool); +%End + QString &remove(QChar); + QString &remove(char); + QString &remove(const QRegExp &); +%End + QString &replace(uint,uint,const QString &); + QString &replace(uint,uint,const QChar *,uint); +%If (Qt_3_1_0 -) + QString &replace(uint,uint,QChar); + QString &replace(uint,uint,char); + QString &replace(QChar,const QString &); +%If (Qt_3_2_0 -) + QString &replace(QChar,const QString &,bool); +%End + QString &replace(char,const QString &); +%If (Qt_3_2_0 -) + QString &replace(char,const QString &,bool); +%End + QString &replace(const QString &,const QString &); +%If (Qt_3_2_0 -) + QString &replace(const QString &,const QString &,bool); +%End +%End + QString &replace(const QRegExp &,const QString &); +%If (Qt_3_1_0 -) + QString &replace(QChar,QChar); +%End + + short toShort(bool * = 0,int = 10) const; + ushort toUShort(bool * = 0,int = 10) const; + int toInt(bool * = 0,int = 10) const; + uint toUInt(bool * = 0,int = 10) const; + long toLong(bool * = 0,int = 10) const; + ulong toULong(bool * = 0,int = 10) const; +%If (Qt_3_2_0 -) +// Q_LLONG toLongLong(bool * = 0,int = 10) const; +// Q_ULLONG toULongLong(bool * = 0,int = 10) const; +%End + float toFloat(bool * = 0) const; + double toDouble(bool * = 0) const; + + QString &setNum(int /Constrained/,int = 10); + QString &setNum(double /Constrained/,char = 'g',int = 6); +// QString &setNum(short,int = 10); +// QString &setNum(ushort,int = 10); +// QString &setNum(uint,int = 10); + QString &setNum(long,int = 10); + QString &setNum(ulong,int = 10); +%If (Qt_3_2_0 -) +// QString &setNum(Q_LLONG,int = 10); +// QString &setNum(Q_ULLONG,int = 10); +%End +// QString &setNum(float,char = 'g',int = 6); + + static QString number(int /Constrained/,int = 10); + static QString number(double /Constrained/,char = 'g',int = 6); + static QString number(long,int = 10); + static QString number(ulong,int = 10); +%If (Qt_3_2_0 -) +// static QString number(Q_LLONG,int = 10); +// static QString number(Q_ULLONG,int = 10); +%End +// static QString number(uint,int = 10); + + void setExpand(uint,QChar); + + QString &operator+=(const QString &); +%If (Qt_3_3_0 -) + QString &operator+=(const QByteArray &); +%End + QString &operator+=(QChar); + //QString &operator+=(char); + + QString operator*(int); +%MethodCode + sipRes = new QString(); + + while (a0-- > 0) + *sipRes += *sipCpp; +%End + + QString &operator*=(int); +%MethodCode + QString orig(*sipCpp); + + sipCpp -> truncate(0); + + while (a0-- > 0) + *sipCpp += orig; +%End + + QChar at(uint) const; +// QCharRef at(uint); +// QChar constref(uint) const; +// QChar &ref(uint); +// const QChar *unicode() const; + const char *ascii() const; +%If (Qt_3_1_0 -) + static QString fromAscii(const char *,int = -1); +%End + const char *latin1() const; + static QString fromLatin1(const char *,int = -1); + QCString utf8() const; + static QString fromUtf8(const char *,int = -1); + QCString local8Bit() const; + static QString fromLocal8Bit(const char *,int = -1); + +%If (Qt_3_1_0 -) +// static QString fromUcs2(const unsigned short *); +// const unsigned short *ucs2() const; +%End + +%If (Qt_2_1_0 -) +// QString &setUnicode(const QChar *,uint); +// QString &setUnicodeCodes(const ushort *,uint); +%End +%If (Qt_3_1_0 -) + QString &setAscii(const char *,int = -1); +%End +%If (Qt_2_1_0 -) + QString &setLatin1(const char *,int = -1); +%End + + int compare(const QString &) const; + static int compare(const QString &,const QString &); + +%If (Qt_3_0_0 -) + int localeAwareCompare(const QString &) const; + static int localeAwareCompare(const QString &,const QString &); +%End + + void compose(); +%If (- Qt_3_0_0) + QChar::Direction basicDirection(); + QString visual(int = 0,int = -1); +%End +%If (Qt_2_2_0 -) + bool startsWith(const QString &) const; +%End +%If (Qt_3_2_0 -) + bool startsWith(const QString &,bool) const; +%End +%If (Qt_3_0_0 -) + bool endsWith(const QString &) const; +%End +%If (Qt_3_2_0 -) + bool endsWith(const QString &,bool) const; +%End + +%If (Qt_3_0_0 -) + void setLength(uint); +%End + +%If (Qt_3_2_0 -) + uint capacity() const; + void reserve(uint); + void squeeze(); +%End + +%If (Qt_3_0_0 -) + bool simpleText() const; + bool isRightToLeft() const; +%End + + // Force the numeric interpretation so that str + QString gets handled + // as we want. + const QString operator+(const QString &) /Numeric/; + + QString operator[](int) const; +%MethodCode + int len; + + len = sipCpp -> length(); + + if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0) + sipIsErr = 1; + else + sipRes = new QString(sipCpp -> at(a0)); +%End + + QString operator[](SIP_PYSLICE) const; +%MethodCode +#if PY_VERSION_HEX >= 0x02050000 + Py_ssize_t len, start, stop, step, slicelength, i; +#else + int len, start, stop, step, slicelength, i; +#endif + + len = sipCpp -> length(); + + if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0) + sipIsErr = 1; + else + { + sipRes = new QString(); + + for (i = 0; i < slicelength; ++i) + { + sipRes -> append(sipCpp -> at(start)); + start += step; + } + } +%End + + int __len__() const; +%MethodCode + sipRes = sipCpp -> length(); +%End + + int __contains__(const QString &) const; +%MethodCode + sipRes = (sipCpp -> contains(*a0) > 0); +%End + + SIP_PYOBJECT __unicode__(); +%MethodCode +#if PY_VERSION_HEX >= 0x01060000 + sipRes = QStringToPyUnicode(sipCpp); +#else + Py_INCREF(Py_None); + sipRes = Py_None; +#endif +%End + + SIP_PYOBJECT __str__(); +%MethodCode +#if PY_VERSION_HEX >= 0x01060000 + sipRes = QStringToPyUnicode(sipCpp); +#else + const char *s; + + Py_BEGIN_ALLOW_THREADS + s = *sipCpp; + Py_END_ALLOW_THREADS + + if (s == NULL) + s = ""; + + sipRes = PyString_FromString(s); +#endif +%End + +%TypeCode +#include <qtextcodec.h> + +#if PY_VERSION_HEX >= 0x01060000 +// Convenience function for converting a QString to a Python Unicode object. +static PyObject *QStringToPyUnicode(QString *qs) +{ + PyObject *uobj; + + if ((uobj = PyUnicode_FromUnicode(NULL,qs -> length())) == NULL) + return NULL; + + Py_UNICODE *pyu = PyUnicode_AS_UNICODE(uobj); + + for (uint i = 0; i < qs -> length(); ++i) + *pyu++ = (qs -> at(i)).unicode(); + + return uobj; +} +#endif + +// Convenience function for converting a Python unicode or string object to a +// QString on the heap. +static QString *PyUnicodeStringToQString(PyObject *py) +{ +#if PY_VERSION_HEX >= 0x01060000 + if (PyUnicode_Check(py)) + { + QString *qs = new QString; + +#if defined(Py_UNICODE_WIDE) + PY_UNICODE_TYPE *ucode = PyUnicode_AS_UNICODE(py); + int len = PyUnicode_GET_SIZE(py); + + for (int i = 0; i < len; ++i) + qs->ref(i) = (uint)ucode[i]; +#else + qs -> setUnicodeCodes((ushort *)PyUnicode_AS_UNICODE(py),PyUnicode_GET_SIZE(py)); +#endif + + return qs; + } +#endif + + if (PyString_Check(py)) + return new QString(PyString_AS_STRING(py)); + + return 0; +} +%End + +%ConvertToTypeCode + // Allow a Python string (or a unicode string) whenever a QString is + // expected. + + if (sipIsErr == NULL) + return (PyString_Check(sipPy) || +#if PY_VERSION_HEX >= 0x01060000 + PyUnicode_Check(sipPy) || +#endif + sipCanConvertToInstance(sipPy,sipClass_QString,SIP_NO_CONVERTORS)); + + *sipCppPtr = PyUnicodeStringToQString(sipPy); + + if (*sipCppPtr) + return sipGetState(sipTransferObj); + + *sipCppPtr = reinterpret_cast<QString *>(sipConvertToInstance(sipPy,sipClass_QString,sipTransferObj,SIP_NO_CONVERTORS,0,sipIsErr)); + + return 0; +%End + +%BIGetReadBufferCode + if (sipSegment != 0) + { + PyErr_SetString(PyExc_SystemError, "accessing non-existent QString segment"); + sipRes = -1; + } + else + { + *sipPtrPtr = (void *)sipCpp->ucs2(); + sipRes = sipCpp->length() * sizeof (ushort); + } +%End + +%BIGetSegCountCode + if (sipLenPtr) + *sipLenPtr = sipCpp->length() * sizeof (ushort); + + sipRes = 1; +%End + +%BIGetCharBufferCode + if (sipSegment != 0) + { + PyErr_SetString(PyExc_SystemError, "accessing non-existent QString segment"); + sipRes = -1; + } + else + { + static QTextCodec *codec = 0; + static bool check_codec = TRUE; + + // For the first time only, try and find a Qt codec that + // corresponds to the default Python codec. If one wasn't + // found then fall back to ASCII (which is actually the codec + // returned by QTextCodec::codecForCStrings()). + if (check_codec) + { + codec = QTextCodec::codecForName(PyUnicode_GetDefaultEncoding()); + check_codec = FALSE; + } + + if (codec) + { + // A Python string is the most convenient method to + // save the encoded version on the heap. + PyObject *encobj = ((sipSimpleWrapper *)sipSelf)->user; + QCString enc; + + Py_XDECREF(encobj); + + enc = codec->fromUnicode(*sipCpp); + + if ((encobj = PyString_FromString(enc.data())) != NULL) + { + *sipPtrPtr = (void *)PyString_AS_STRING(encobj); + sipRes = PyString_GET_SIZE(encobj); + + ((sipSimpleWrapper *)sipSelf)->user = encobj; + } + else + sipRes = -1; + } + else + { + const char *asc = sipCpp->ascii(); + + *sipPtrPtr = (void *)asc; + sipRes = qstrlen(asc); + } + } +%End +}; + +bool operator==(const QString &,const QString &); +bool operator!=(const QString &,const QString &); +bool operator<(const QString &,const QString &); +bool operator<=(const QString &,const QString &); +bool operator>(const QString &,const QString &); +bool operator>=(const QString &,const QString &); + +%End + + +%If (- Qt_2_00) + +class QString : QByteArray +{ +%TypeHeaderCode +#include <qstring.h> +%End + +public: + QString(); + QString(int); + QString(const QString &); + QString(const char *); + QString(const char *,uint); + + bool isNull() const; + bool isEmpty() const; + uint length() const; + bool resize(uint); + bool truncate(uint); + bool fill(char,int = -1); + QString copy() const; +// QString &sprintf(const char *,...); + int find(char,int = 0,bool = 1) const; + int find(const char *,int = 0,bool = 1) const; + int find(const QRegExp &,int = 0) const; + int findRev(char,int = -1,bool = 1) const; + int findRev(const char *,int = -1,bool = 1) const; + int findRev(const QRegExp &,int = -1) const; + int contains(char,bool = 1) const; + int contains(const char *,bool = 1) const; + int contains(const QRegExp &) const; + QString left(uint) const; + QString right(uint) const; + QString mid(uint,uint) const; + QString leftJustify(uint,char = ' ',bool = 0) const; + QString rightJustify(uint,char = ' ',bool = 0) const; + QString lower() const; + QString upper() const; + QString stripWhiteSpace() const; + QString simplifyWhiteSpace() const; + QString &insert(uint,const char *); + QString &insert(uint,char); + QString &append(const char *); + QString &prepend(const char *); + QString &remove(uint,uint); + QString &replace(uint,uint,const char *); + QString &replace(const QRegExp &,const char *); + + short toShort(bool * = 0) const; + ushort toUShort(bool * = 0) const; + int toInt(bool * = 0) const; + uint toUInt(bool * = 0) const; + long toLong(bool * = 0) const; + ulong toULong(bool * = 0) const; + float toFloat(bool * = 0) const; + double toDouble(bool * = 0) const; + + QString &setStr(const char *); +// QString &setNum(short); +// QString &setNum(ushort); + QString &setNum(int /Constrained/); +// QString &setNum(uint); +// QString &setNum(long); +// QString &setNum(ulong); +// QString &setNum(float,char = 'g',int = 6); + QString &setNum(double,char = 'g',int = 6); + bool setExpand(uint,char); + + SIP_PYOBJECT __str__(); +%MethodCode + const char *s; + + Py_BEGIN_ALLOW_THREADS + s = *sipCpp; + Py_END_ALLOW_THREADS + + if (s == NULL) + s = ""; + + sipRes = PyString_FromString(s); +%End + +%ConvertToTypeCode + // Allow a Python string whenever a QString is expected. + + if (sipIsErr == NULL) + return (PyString_Check(sipPy) || + sipCanConvertToInstance(sipPy,sipClass_QString,SIP_NO_CONVERTORS)); + + if (PyString_Check(sipPy)) + { + *sipCppPtr = new QString(PyString_AS_STRING(sipPy)); + + return sipGetState(sipTransferObj); + } + + *sipCppPtr = reinterpret_cast<QString *>(sipConvertToInstance(sipPy,sipClass_QString,sipTransferObj,SIP_NO_CONVERTORS,0,sipIsErr)); + + return 0; +%End +}; + +%End diff --git a/sip/qt/qstringlist.sip b/sip/qt/qstringlist.sip new file mode 100644 index 0000000..d95034c --- /dev/null +++ b/sip/qt/qstringlist.sip @@ -0,0 +1,247 @@ +// This is the SIP interface definition for QStringList. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QStringList (Qt v2+)</Title> +<Para> +The Python <Literal>len</Literal>, <Literal>[]</Literal> (for both reading and +writing slices and individual elements), <Literal>del</Literal> (for deleting +slices and individual elements), <Literal>+</Literal>, <Literal>+=</Literal>, +<Literal>*</Literal>, <Literal>*=</Literal>, <Literal>==</Literal>, +<Literal>!=</Literal> and <Literal>in</Literal> operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>Iterator <Function>append</Function></FuncDef> + <ParamDef>const QString &<Parameter>x</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This does not return a value. +</Para> + +<FuncSynopsis> + <FuncDef>Iterator <Function>prepend</Function></FuncDef> + <ParamDef>const QString &<Parameter>x</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This does not return a value. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QStringList +{ +%TypeHeaderCode +#include <qstringlist.h> +%End + +public: + QStringList(); + QStringList(const QStringList &); + QStringList(const QString &); + + void sort(); +%If (Qt_2_1_0 -) + static QStringList fromStrList(const QStrList &); + static QStringList split(const QString &,const QString &,bool = 0); + static QStringList split(const QChar &,const QString &,bool = 0); + static QStringList split(const QRegExp &,const QString &,bool = 0); + QString join(const QString &) const; + QStringList grep(const QString &,bool = 1) const; + QStringList grep(const QRegExp &) const; +%End + +%If (Qt_3_2_0 -) + QStringList &gres(const QString &,const QString &,bool = 1); + QStringList &gres(const QRegExp &,const QString &); +%End + + // These are actually in QValueList, which isn't implemented so + // pretend they are here. + + bool isEmpty() const; + void append(const QString &); + void prepend(const QString &); + void remove(const QString &); + const QString &first() const; + const QString &last() const; + int findIndex(const QString &) const; + uint contains(const QString &) const; + uint count() const; + void clear(); + + int __len__(); +%MethodCode + sipRes = sipCpp -> count(); +%End + + void __setitem__(int,const QString &); +%MethodCode + int len; + + len = sipCpp -> count(); + + if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0) + sipIsErr = 1; + else + (*sipCpp)[a0] = *a1; +%End + + void __setitem__(SIP_PYSLICE,const QStringList &); +%MethodCode +#if PY_VERSION_HEX >= 0x02050000 + Py_ssize_t len, start, stop, step, slicelength, i; +#else + int len, start, stop, step, slicelength, i; +#endif + + len = sipCpp -> count(); + + if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0) + sipIsErr = 1; + else + { + int vlen = a1 -> count(); + + if (vlen != slicelength) + { + sipBadLengthForSlice(vlen,slicelength); + sipIsErr = 1; + } + else + { + QStringList::ConstIterator it = a1 -> begin(); + + for (i = 0; i < slicelength; ++i) + { + (*sipCpp)[start] = *it; + start += step; + ++it; + } + } + } +%End + + void __delitem__(int); +%MethodCode + int len; + + len = sipCpp -> count(); + + if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0) + sipIsErr = 1; + else + sipCpp -> remove(sipCpp -> at(a0)); +%End + + void __delitem__(SIP_PYSLICE); +%MethodCode +#if PY_VERSION_HEX >= 0x02050000 + Py_ssize_t len, start, stop, step, slicelength, i; +#else + int len, start, stop, step, slicelength, i; +#endif + + len = sipCpp -> count(); + + if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0) + sipIsErr = 1; + else + for (i = 0; i < slicelength; ++i) + { + sipCpp -> remove(sipCpp -> at(start)); + start += step - 1; + } +%End + + QString operator[](int); +%MethodCode + int len; + + len = sipCpp -> count(); + + if ((a0 = (int)sipConvertFromSequenceIndex(a0,len)) < 0) + sipIsErr = 1; + else + sipRes = new QString((*sipCpp)[a0]); +%End + + QStringList operator[](SIP_PYSLICE); +%MethodCode +#if PY_VERSION_HEX >= 0x02050000 + Py_ssize_t len, start, stop, step, slicelength, i; +#else + int len, start, stop, step, slicelength, i; +#endif + + len = sipCpp -> count(); + + if (sipConvertFromSliceObject(a0,len,&start,&stop,&step,&slicelength) < 0) + sipIsErr = 1; + else + { + sipRes = new QStringList(); + + for (i = 0; i < slicelength; ++i) + { + (*sipRes) += (*sipCpp)[start]; + start += step; + } + } +%End + + int __contains__(const QString &); +%MethodCode + sipRes = (sipCpp -> findIndex(*a0) >= 0); +%End + + QStringList operator+(const QStringList &); + QStringList &operator+=(const QStringList &); + + QStringList &operator+=(const QString &); + + QStringList operator*(int); +%MethodCode + sipRes = new QStringList(); + + while (a0-- > 0) + *sipRes += *sipCpp; +%End + + QStringList &operator*=(int); +%MethodCode + QStringList orig(*sipCpp); + + sipCpp -> clear(); + + while (a0-- > 0) + *sipCpp += orig; +%End + + bool operator==(const QStringList &); + bool operator!=(const QStringList &); +}; + +%End diff --git a/sip/qt/qstrlist.sip b/sip/qt/qstrlist.sip new file mode 100644 index 0000000..189e134 --- /dev/null +++ b/sip/qt/qstrlist.sip @@ -0,0 +1,100 @@ +// This is the SIP interface definition for QStrList. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QStrList</Title> +<Para> +This class isn't implemented. Whenever a <Literal>QStrList</Literal> is the +return type of a function or the type of an argument, a Python list of strings +is used instead. +</Para> +</Sect2> +%End + + +%MappedType QStrList +{ +%TypeHeaderCode +#include <qstrlist.h> +%End + +%ConvertFromTypeCode + // Convert to a Python list of strings. + + char *s; + int i; + PyObject *l; + + // Create the list. + + if ((l = PyList_New(sipCpp -> count())) == NULL) + return NULL; + + // Get it. + + i = 0; + + for (s = sipCpp -> first(); s != NULL; s = sipCpp -> next()) + { + PyObject *ps; + + if ((ps = PyString_FromString(s)) == NULL || PyList_SetItem(l,i,ps) < 0) + { + Py_XDECREF(ps); + Py_DECREF(l); + return NULL; + } + + ++i; + } + + return l; +%End + +%ConvertToTypeCode + // Convert a Python list of strings to a QStrList on the heap. + + if (sipIsErr == NULL) + return PyList_Check(sipPy); + + QStrList *qsl = new QStrList; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + char *s; + + if ((s = PyString_AsString(PyList_GET_ITEM(sipPy,i))) == NULL) + { + *sipIsErr = 1; + delete qsl; + + return 0; + } + + qsl -> append(s); + } + + *sipCppPtr = qsl; + + return sipGetState(sipTransferObj); +%End +}; diff --git a/sip/qt/qstyle.sip b/sip/qt/qstyle.sip new file mode 100644 index 0000000..bbef81c --- /dev/null +++ b/sip/qt/qstyle.sip @@ -0,0 +1,862 @@ +// This is the SIP interface definition for QStyle and QStyleOption. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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 /Constrained/ = Default); + +%If (Qt_3_2_0 -) + QStyleOption(int); +%End + QStyleOption(int,int); + QStyleOption(int,int,int,int); + QStyleOption(QMenuItem *); + QStyleOption(QMenuItem *,int); + QStyleOption(QMenuItem *,int,int); + QStyleOption(const QColor &); + QStyleOption(QTab *); + QStyleOption(QListViewItem *); +%If (Qt_3_1_0 -) + QStyleOption(QCheckListItem *); +%End + QStyleOption(Qt::ArrowType /Constrained/); +%If (Qt_3_1_0 -) + QStyleOption(const QRect &); + QStyleOption(QWidget *); +%End + + bool isDefault() const; + +%If (Qt_3_3_0 -) + int day() const; +%End + + int lineWidth() const; + int midLineWidth() const; + int frameShape() const; + int frameShadow() const; + +%If (Qt_3_2_0 -) + int headerSection() const; +%End + QMenuItem* menuItem() const; + int maxIconWidth() const; + int tabWidth() const; + + const QColor& color() const; + + QTab *tab() const; + +%If (Qt_3_1_0 -) + QCheckListItem *checkListItem() const; +%End + QListViewItem *listViewItem() const; + + Qt::ArrowType arrowType() const; +%If (Qt_3_1_0 -) + QRect rect() const; + QWidget *widget() const; +%End +}; + +%End + + +%If (Qt_3_0_0 -) +// Not yet defined in Qt v3Beta5. +class QStyleHintReturn; +%End + + +%If (Qt_2_00 -) + +class QStyle : QObject +{ +%TypeHeaderCode +#include <qstyle.h> +%End + +public: +%If (Qt_3_0_0 -) + QStyle(); +%End + +%If (- Qt_3_0_0) + GUIStyle guiStyle() const; +%End + + virtual void polish(QWidget *); + virtual void unPolish(QWidget *); + + virtual void polish(QApplication *); + virtual void unPolish(QApplication *); + + virtual void polish(QPalette &); + +%If (Qt_3_0_0 -) + virtual void polishPopupMenu(QPopupMenu *) = 0; +%End + +%If (- Qt_3_0_0) + virtual QRect itemRect(QPainter *,int,int,int,int,int,bool, + const QPixmap *,const QString &,int = -1); + + virtual void drawItem(QPainter *,int,int,int,int,int, + const QColorGroup &,bool,const QPixmap *, + const QString &,int = -1,const QColor * = 0); +%End +%If (Qt_3_0_0 -) + virtual QRect itemRect(QPainter *,const QRect &,int,bool, + const QPixmap *,const QString &,int = -1) const; + + virtual void drawItem(QPainter *,const QRect &,int,const QColorGroup &, + bool,const QPixmap *,const QString &,int = -1, + const QColor * = 0) const; +%End + +%If (- Qt_3_0_0) + virtual void drawSeparator(QPainter *,int,int,int,int, + const QColorGroup &,bool = 1,int = 1, + int = 0); + virtual void drawRect(QPainter *,int,int,int,int,const QColor &, + int = 1,const QBrush * = 0); + virtual void drawRectStrong(QPainter *,int,int,int,int, + const QColorGroup &,bool = 0,int = 1, + int = 0,const QBrush * = 0); + virtual void drawButton(QPainter *,int,int,int,int,const QColorGroup &, + bool = 0,const QBrush * = 0) = 0; + virtual QRect buttonRect(int,int,int,int); + virtual void drawButtonMask(QPainter *,int,int,int,int); + virtual void drawBevelButton(QPainter *,int,int,int,int, + const QColorGroup &,bool = 0, + const QBrush * = 0) = 0; +%If (Qt_2_1_0 -) + QRect bevelButtonRect(int,int,int,int); +%End + virtual void drawToolButton(QPainter *,int,int,int,int, + const QColorGroup &,bool = 0, + const QBrush * = 0); +%If (Qt_2_1_0 -) + void drawToolButton(QToolButton *,QPainter *); + QRect toolButtonRect(int,int,int,int); +%End + virtual void drawPanel(QPainter *,int,int,int,int,const QColorGroup &, + bool = 0,int = 1,const QBrush * = 0); + virtual void drawPopupPanel(QPainter *,int,int,int,int, + const QColorGroup &,int = 2, + const QBrush * = 0); + virtual void drawArrow(QPainter *,Qt::ArrowType,bool,int,int,int,int, + const QColorGroup &,bool,const QBrush * = 0) = 0; + virtual QSize exclusiveIndicatorSize() const = 0; + virtual void drawExclusiveIndicator(QPainter *,int,int,int,int, + const QColorGroup &,bool,bool = 0, + bool = 1) = 0; + virtual void drawExclusiveIndicatorMask(QPainter *,int,int,int,int, + bool); + virtual QSize indicatorSize() const = 0; + virtual void drawIndicator(QPainter *,int,int,int,int, + const QColorGroup &,int,bool = 0, + bool = 1) = 0; + virtual void drawIndicatorMask(QPainter *,int,int,int,int,int); + virtual void drawFocusRect(QPainter *,const QRect &,const QColorGroup &, + const QColor * = 0,bool = 0) = 0; + virtual void drawComboButton(QPainter *,int,int,int,int, + const QColorGroup &,bool = 0,bool = 0, + bool = 1,const QBrush * = 0) = 0; + virtual QRect comboButtonRect(int,int,int,int) = 0; + virtual QRect comboButtonFocusRect(int,int,int,int) = 0; + virtual void drawComboButtonMask(QPainter *,int,int,int,int) = 0; + virtual void drawPushButton(QPushButton *,QPainter *) = 0; + virtual void drawPushButtonLabel(QPushButton *,QPainter *) = 0; + +%If (Qt_2_1_0 -) + QRect pushButtonContentsRect(QPushButton *); + int menuButtonIndicatorWidth(int); +%End + + virtual void getButtonShift(int &,int &) = 0; + virtual int defaultFrameWidth() const = 0; + virtual void tabbarMetrics(const QTabBar *,int &,int &,int &) = 0; + virtual void drawTab(QPainter *,const QTabBar *,QTab *,bool) = 0; + virtual void drawTabMask(QPainter *,const QTabBar* ,QTab* ,bool) = 0; + + enum ScrollControl + { + AddLine = 0x1, + SubLine = 0x2, + AddPage = 0x4, + SubPage = 0x8, + First = 0x10, + Last = 0x20, + Slider = 0x40, + NoScroll = 0x80 + }; + + virtual void scrollBarMetrics(const QScrollBar *,int &,int &,int &, + int &) = 0; + virtual void drawScrollBarControls(QPainter *,const QScrollBar *,int, + uint,uint) = 0; + virtual ScrollControl scrollBarPointOver(const QScrollBar *,int, + const QPoint &) = 0; + virtual int sliderLength() const = 0; + virtual void drawSlider(QPainter *,int,int,int,int,const QColorGroup &, + Orientation,bool,bool) = 0; + virtual void drawSliderMask(QPainter *,int,int,int,int,Orientation, + bool,bool) = 0; + virtual void drawSliderGroove(QPainter *,int,int,int,int, + const QColorGroup &,QCOORD, + Orientation) = 0; + virtual void drawSliderGrooveMask(QPainter *,int,int,int,int,QCOORD, + Orientation) = 0; + virtual int maximumSliderDragDistance() const = 0; + virtual int splitterWidth() const = 0; + virtual void drawSplitter(QPainter *,int,int,int,int, + const QColorGroup &,Orientation) = 0; + virtual void drawCheckMark(QPainter *,int,int,int,int, + const QColorGroup &,bool,bool) = 0; + virtual void polishPopupMenu(QPopupMenu *) = 0; + virtual int extraPopupMenuItemWidth(bool,int,QMenuItem *, + const QFontMetrics &) = 0; + virtual int popupSubmenuIndicatorWidth(const QFontMetrics &) = 0; + virtual int popupMenuItemHeight(bool,QMenuItem *, + const QFontMetrics &) = 0; + virtual void drawPopupMenuItem(QPainter *,bool,int,int,QMenuItem *, + const QPalette &,bool, bool,int,int,int, + int) = 0; +%If (Qt_2_2_0 -) + virtual void drawMenuBarItem(QPainter *,int,int,int,int,QMenuItem *, + QColorGroup &,bool,bool); +%End +%If (Qt_2_1_0 -) + QSize scrollBarExtent(); + int buttonDefaultIndicatorWidth() const; +%If (Qt_2_2_0 -) + int buttonMargin() const; + int toolBarHandleExtent() const; + int sliderThickness() const; +%End + int toolBarHandleExtend() const; + void drawToolBarHandle(QPainter *,const QRect &,Qt::Orientation,bool, + const QColorGroup &,bool = 0); +%End + +%End + +%If (Qt_3_0_0 -) + enum PrimitiveElement { + PE_ButtonCommand, + PE_ButtonDefault, + PE_ButtonBevel, + PE_ButtonTool, + PE_ButtonDropDown, + + PE_FocusRect, + + PE_ArrowUp, + PE_ArrowDown, + PE_ArrowRight, + PE_ArrowLeft, + + PE_SpinWidgetUp, + PE_SpinWidgetDown, + PE_SpinWidgetPlus, + PE_SpinWidgetMinus, + + PE_Indicator, + PE_IndicatorMask, + PE_ExclusiveIndicator, + PE_ExclusiveIndicatorMask, + + PE_DockWindowHandle, + PE_DockWindowSeparator, + PE_DockWindowResizeHandle, + + PE_Splitter, + + PE_Panel, + PE_PanelPopup, + PE_PanelMenuBar, + PE_PanelDockWindow, + + PE_TabBarBase, + + PE_HeaderSection, + PE_HeaderArrow, + PE_StatusBarSection, + + PE_GroupBoxFrame, + + PE_Separator, + + PE_SizeGrip, + + PE_CheckMark, + + PE_ScrollBarAddLine, + PE_ScrollBarSubLine, + PE_ScrollBarAddPage, + PE_ScrollBarSubPage, + PE_ScrollBarSlider, + PE_ScrollBarFirst, + PE_ScrollBarLast, + + PE_ProgressBarChunk, + +%If (Qt_3_0_1 -) + PE_PanelLineEdit, + PE_PanelTabWidget, + + PE_WindowFrame, +%End +%If (Qt_3_1_0 -) + PE_CheckListController, + PE_CheckListIndicator, + PE_CheckListExclusiveIndicator, + + PE_PanelGroupBox, +%End +%If (Qt_3_0_4 - Qt_3_0_5) + PE_PopupMenuScroller, +%End +%If (Qt_3_3_0 -) + PE_RubberBand, +%End + + PE_CustomBase + }; + + enum StyleFlags { + Style_Default, + Style_Enabled, + Style_Raised, + Style_Sunken, + Style_Off, + Style_NoChange, + Style_On, + Style_Down, + Style_Horizontal, + Style_HasFocus, + Style_Top, + Style_Bottom, + Style_FocusAtBorder, + Style_AutoRaise, + Style_MouseOver, + Style_Up, + Style_Selected, + Style_Active, + Style_ButtonDefault + }; + + typedef uint SFlags; + + virtual void drawPrimitive(PrimitiveElement,QPainter *,const QRect &, + const QColorGroup &,SFlags = Style_Default, + const QStyleOption & = QStyleOption()) const = 0; + + enum ControlElement { + CE_PushButton, + CE_PushButtonLabel, + + CE_CheckBox, + CE_CheckBoxLabel, + + CE_RadioButton, + CE_RadioButtonLabel, + + CE_TabBarTab, + CE_TabBarLabel, + + CE_ProgressBarGroove, + CE_ProgressBarContents, + CE_ProgressBarLabel, + + CE_PopupMenuItem, + CE_MenuBarItem, + + CE_ToolButtonLabel, +%If (Qt_3_1_0 -) + CE_MenuBarEmptyArea, +%End +%If (Qt_3_0_5 -) + CE_PopupMenuScroller, +%End +%If (Qt_3_1_0 -) + CE_DockWindowEmptyArea, +%End +%If (Qt_3_2_0 -) + CE_PopupMenuVerticalExtra, + CE_PopupMenuHorizontalExtra, + + CE_ToolBoxTab, + CE_HeaderLabel, +%End + + CE_CustomBase + }; + + virtual void drawControl(ControlElement,QPainter *,const QWidget *, + const QRect &,const QColorGroup &, + SFlags = Style_Default, + const QStyleOption & = QStyleOption()) const = 0; + virtual void drawControlMask(ControlElement,QPainter *,const QWidget *, + const QRect &, + const QStyleOption & = QStyleOption()) const = 0; + + enum SubRect { + SR_PushButtonContents, + SR_PushButtonFocusRect, + + SR_CheckBoxIndicator, + SR_CheckBoxContents, + SR_CheckBoxFocusRect, + + SR_RadioButtonIndicator, + SR_RadioButtonContents, + SR_RadioButtonFocusRect, + + SR_ComboBoxFocusRect, + + SR_SliderFocusRect, + + SR_DockWindowHandleRect, + + SR_ProgressBarGroove, + SR_ProgressBarContents, + SR_ProgressBarLabel, + + SR_ToolButtonContents, + +%If (Qt_3_2_0 -) + SR_DialogButtonAccept, + SR_DialogButtonReject, + SR_DialogButtonApply, + SR_DialogButtonHelp, + SR_DialogButtonAll, + SR_DialogButtonAbort, + SR_DialogButtonIgnore, + SR_DialogButtonRetry, + SR_DialogButtonCustom, + + SR_ToolBoxTabContents, +%End + + SR_CustomBase + }; + + virtual QRect subRect(SubRect,const QWidget *) const = 0; + + enum ComplexControl{ + CC_SpinWidget, + CC_ComboBox, + CC_ScrollBar, + CC_Slider, + CC_ToolButton, + CC_TitleBar, + CC_ListView, + + CC_CustomBase + }; + + enum SubControl { + SC_None, + + SC_ScrollBarAddLine, + SC_ScrollBarSubLine, + SC_ScrollBarAddPage, + SC_ScrollBarSubPage, + SC_ScrollBarFirst, + SC_ScrollBarLast, + SC_ScrollBarSlider, + SC_ScrollBarGroove, + + SC_SpinWidgetUp, + SC_SpinWidgetDown, + SC_SpinWidgetFrame, + SC_SpinWidgetEditField, + SC_SpinWidgetButtonField, + + SC_ComboBoxFrame, + SC_ComboBoxEditField, + SC_ComboBoxArrow, +%If (Qt_3_1_0 -) + SC_ComboBoxListBoxPopup, +%End + + SC_SliderGroove, + SC_SliderHandle, + SC_SliderTickmarks, + + SC_ToolButton, + SC_ToolButtonMenu, + + SC_TitleBarLabel, + SC_TitleBarSysMenu, + SC_TitleBarMinButton, + SC_TitleBarMaxButton, + SC_TitleBarCloseButton, + SC_TitleBarNormalButton, + SC_TitleBarShadeButton, + SC_TitleBarUnshadeButton, + + SC_ListView, + SC_ListViewBranch, + SC_ListViewExpand, + + SC_All + }; + + typedef uint SCFlags; + + virtual void drawComplexControl(ComplexControl,QPainter *, + const QWidget *,const QRect &, + const QColorGroup &, + SFlags = Style_Default, + SCFlags = SC_All,SCFlags = SC_None, + const QStyleOption & = QStyleOption()) const = 0; + virtual void drawComplexControlMask(ComplexControl,QPainter *, + const QWidget *,const QRect &, + const QStyleOption & = QStyleOption()) const = 0; + + virtual QRect querySubControlMetrics(ComplexControl, + const QWidget *,SubControl, + const QStyleOption & = QStyleOption()) const = 0; + virtual SubControl querySubControl(ComplexControl,const QWidget *, + const QPoint &, + const QStyleOption & = QStyleOption()) const = 0; + + enum PixelMetric { + PM_ButtonMargin, + PM_ButtonDefaultIndicator, + PM_MenuButtonIndicator, + PM_ButtonShiftHorizontal, + PM_ButtonShiftVertical, + + PM_DefaultFrameWidth, + PM_SpinBoxFrameWidth, + + PM_MaximumDragDistance, + + PM_ScrollBarExtent, + PM_ScrollBarSliderMin, + + PM_SliderThickness, + PM_SliderControlThickness, + PM_SliderLength, + PM_SliderTickmarkOffset, + PM_SliderSpaceAvailable, + + PM_DockWindowSeparatorExtent, + PM_DockWindowHandleExtent, + PM_DockWindowFrameWidth, + + PM_MenuBarFrameWidth, + + PM_TabBarTabOverlap, + PM_TabBarTabHSpace, + PM_TabBarTabVSpace, + PM_TabBarBaseHeight, + PM_TabBarBaseOverlap, + + PM_ProgressBarChunkWidth, + + PM_SplitterWidth, + PM_TitleBarHeight, + + PM_IndicatorWidth, + PM_IndicatorHeight, + PM_ExclusiveIndicatorWidth, + PM_ExclusiveIndicatorHeight, +%If (Qt_3_0_4 -) + PM_PopupMenuScrollerHeight, +%End +%If (Qt_3_1_0 -) + PM_CheckListButtonSize, +%End +%If (Qt_3_2_0 -) + PM_CheckListControllerSize, + PM_PopupMenuFrameHorizontalExtra, + PM_PopupMenuFrameVerticalExtra, + + PM_DialogButtonsSeparator, + PM_DialogButtonsButtonWidth, + PM_DialogButtonsButtonHeight, + + PM_MDIFrameWidth, + PM_MDIMinimizedWidth, + PM_HeaderMargin, + PM_HeaderMarkSize, + PM_HeaderGripMargin, + PM_TabBarTabShiftHorizontal, + PM_TabBarTabShiftVertical, +%End +%If (Qt_3_3_0 -) + PM_TabBarScrollButtonWidth, + + PM_MenuBarItemSpacing, + PM_ToolBarItemSpacing, +%End + + PM_CustomBase + }; + + virtual int pixelMetric(PixelMetric,const QWidget * = 0) const = 0; + + enum ContentsType { + CT_PushButton, + CT_CheckBox, + CT_RadioButton, + CT_ToolButton, + CT_ComboBox, + CT_Splitter, + CT_DockWindow, + CT_ProgressBar, + CT_PopupMenuItem, +%If (Qt_3_1_0 -) + CT_TabBarTab, + CT_Slider, + CT_Header, + CT_LineEdit, + CT_MenuBar, + CT_SpinBox, +%End +%If (Qt_3_2_0 -) + CT_SizeGrip, + CT_TabWidget, + CT_DialogButtons, +%End + + CT_CustomBase + }; + + virtual QSize sizeFromContents(ContentsType,const QWidget *, + const QSize &, + const QStyleOption & = QStyleOption()) const = 0; + + enum StyleHint { + SH_EtchDisabledText, + + SH_GUIStyle, + + SH_ScrollBar_BackgroundMode, + SH_ScrollBar_MiddleClickAbsolutePosition, + SH_ScrollBar_ScrollWhenPointerLeavesControl, + + SH_TabBar_SelectMouseType, + + SH_TabBar_Alignment, + + SH_Header_ArrowAlignment, + + SH_Slider_SnapToValue, + + SH_Slider_SloppyKeyEvents, + + SH_ProgressDialog_CenterCancelButton, + + SH_ProgressDialog_TextLabelAlignment, + + SH_PrintDialog_RightAlignButtons, + + SH_MainWindow_SpaceBelowMenuBar, + + SH_FontDialog_SelectAssociatedText, + + SH_PopupMenu_AllowActiveAndDisabled, + + SH_PopupMenu_SpaceActivatesItem, + + SH_PopupMenu_SubMenuPopupDelay, + + SH_ScrollView_FrameOnlyAroundContents, + + SH_MenuBar_AltKeyNavigation, + + SH_ComboBox_ListMouseTracking, + + SH_PopupMenu_MouseTracking, + + SH_MenuBar_MouseTracking, + + SH_ItemView_ChangeHighlightOnFocus, + + SH_Widget_ShareActivation, + + SH_Workspace_FillSpaceOnMaximize, + + SH_ComboBox_Popup, + +%If (Qt_3_0_1 -) + SH_TitleBar_NoBorder, + + SH_ScrollBar_StopMouseOverSlider, +%End + +%If (Qt_3_0_2 -) + SH_BlinkCursorWhenTextSelected, + + SH_RichText_FullWidthSelection, +%End + +%If (Qt_3_0_4 -) + SH_PopupMenu_Scrollable, +%End + +%If (Qt_3_1_0 -) + SH_GroupBox_TextLabelVerticalAlignment, + + SH_GroupBox_TextLabelColor, + + SH_PopupMenu_SloppySubMenus, +%End + +%If (Qt_3_2_0 -) + SH_Table_GridLineColor, + + SH_LineEdit_PasswordCharacter, + + SH_DialogButtons_DefaultButton, + + SH_ToolBox_SelectedPageTitleBold, + + SH_TabBar_PreferNoArrows, + + SH_ScrollBar_LeftClickAbsolutePosition, + + SH_ListViewExpand_SelectMouseType, +%End + +%If (Qt_3_3_0 -) + SH_UnderlineAccelerator, + + SH_ToolButton_Uses3D, +%End + + SH_CustomBase + }; + + virtual int styleHint(StyleHint,const QWidget * = 0, + const QStyleOption & = QStyleOption(), + QStyleHintReturn * = 0) const = 0; + + enum StylePixmap { + SP_TitleBarMinButton, + SP_TitleBarMaxButton, + SP_TitleBarCloseButton, + SP_TitleBarNormalButton, + SP_TitleBarShadeButton, + SP_TitleBarUnshadeButton, + SP_DockWindowCloseButton, + SP_MessageBoxInformation, + SP_MessageBoxWarning, + SP_MessageBoxCritical, +%If (Qt_3_2_0 -) + SP_MessageBoxQuestion, +%End + + SP_CustomBase + }; + + virtual QPixmap stylePixmap(StylePixmap,const QWidget * = 0, + const QStyleOption & = QStyleOption()) const = 0; + + static QRect visualRect(const QRect &,const QWidget *); + + static QRect visualRect(const QRect &,const QRect &); +%End + +protected: +%If (Qt_2_1_0 - Qt_3_0_0) + void setScrollBarExtent(int,int = -1); + void setButtonDefaultIndicatorWidth(int); +%End + +private: +%If (- Qt_3_0_0) + QStyle(); + QStyle(GUIStyle); +%End +%If (Qt_2_1_0 -) + QStyle(const QStyle &); +%End +}; + +%End diff --git a/sip/qt/qstylefactory.sip b/sip/qt/qstylefactory.sip new file mode 100644 index 0000000..9249c62 --- /dev/null +++ b/sip/qt/qstylefactory.sip @@ -0,0 +1,45 @@ +// This is the SIP interface definition for QStyleFactory. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QStyleFactory (Qt v3+)</Title> +<Para> +<Literal>QStyleFactory</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QStyleFactory +{ +%TypeHeaderCode +#include <qstylefactory.h> +%End + +public: + static QStringList keys(); + static QStyle *create(const QString &) /Factory/; +}; + +%End diff --git a/sip/qt/qstylesheet.sip b/sip/qt/qstylesheet.sip new file mode 100644 index 0000000..c248e56 --- /dev/null +++ b/sip/qt/qstylesheet.sip @@ -0,0 +1,239 @@ +// This is the SIP interface definition for QStyleSheet and QStyleSheetItem. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QStyleSheet (Qt v2+)</Title> +<Para> +<Literal>QStyleSheet</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QStyleSheetItem (Qt v2+)</Title> +<Para> +<Literal>QStyleSheetItem</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QStyleSheetItem : Qt +{ +%TypeHeaderCode +#include <qstylesheet.h> +%End + +public: + QStyleSheetItem(QStyleSheet * /TransferThis/,const QString &); + + QString name() const; + + QStyleSheet *styleSheet(); +// const QStyleSheet *styleSheet() const; + + enum AdditionalStyleValues { + Undefined + }; + + enum DisplayMode { + DisplayBlock, + DisplayInline, + DisplayListItem, + DisplayNone + }; + + DisplayMode displayMode() const; + void setDisplayMode(DisplayMode); + + int alignment() const; + void setAlignment(int); + +%If (Qt_3_0_0 -) + enum VerticalAlignment { + VAlignBaseline, + VAlignSub, + VAlignSuper + }; + + VerticalAlignment verticalAlignment() const; + void setVerticalAlignment(VerticalAlignment); +%End + + int fontWeight() const; + void setFontWeight(int); + + int logicalFontSize() const; + void setLogicalFontSize(int); + + int logicalFontSizeStep() const; + void setLogicalFontSizeStep(int); + + int fontSize() const; + void setFontSize(int); + + QString fontFamily() const; + void setFontFamily(const QString &); + + int numberOfColumns() const; + void setNumberOfColumns(int); + + QColor color() const; + void setColor(const QColor &); + + bool fontItalic() const; + void setFontItalic(bool); + bool definesFontItalic() const; + + bool fontUnderline() const; + void setFontUnderline(bool); + bool definesFontUnderline() const; + +%If (Qt_3_0_5 -) + bool fontStrikeOut() const; + void setFontStrikeOut(bool); + bool definesFontStrikeOut() const; +%End + + bool isAnchor() const; + void setAnchor(bool); + +%If (- Qt_2_1_0) + enum WhiteSpaceMode { + WhiteSpaceNormal, + WhiteSpacePre + }; +%End +%If (Qt_2_1_0 -) + enum WhiteSpaceMode { + WhiteSpaceNormal, + WhiteSpacePre, + WhiteSpaceNoWrap + }; +%End + + WhiteSpaceMode whiteSpaceMode() const; + void setWhiteSpaceMode(WhiteSpaceMode); + +%If (- Qt_3_0_0) + enum Margin { + MarginLeft, + MarginRight, + MarginTop, + MarginBottom, + MarginAll, + MarginVertical, + MarginHorizontal + }; +%End +%If (Qt_3_0_0 -) + enum Margin { + MarginLeft, + MarginRight, + MarginTop, + MarginBottom, + MarginFirstLine, + MarginAll, + MarginVertical, + MarginHorizontal + }; +%End + + int margin(Margin) const; + void setMargin(Margin,int); + + enum ListStyle { + ListDisc, + ListCircle, + ListSquare, + ListDecimal, + ListLowerAlpha, + ListUpperAlpha + }; + + ListStyle listStyle() const; + void setListStyle(ListStyle); + + QString contexts() const; + void setContexts(const QString &); + bool allowedInContext(const QStyleSheetItem *) const; + + bool selfNesting() const; + void setSelfNesting(bool); + +%If (Qt_3_0_0 -) + void setLineSpacing(int); + int lineSpacing() const; +%End +}; + + +class QStyleSheet : QObject +{ +%TypeHeaderCode +#include <qstylesheet.h> +%End + +public: + QStyleSheet(QObject * /TransferThis/ = 0,const char * = 0); + + static QStyleSheet *defaultSheet(); + static void setDefaultSheet(QStyleSheet *); + + QStyleSheetItem *item(const QString &); +// const QStyleSheetItem *item(const QString &) const; + + void insert(QStyleSheetItem *); + +%If (- Qt_3_0_0) +// virtual QTextNode *tag(const QString &,const QMap<QString,QString> &, +// const QString &,const QMimeSourceFactory &, +// bool = 0) const; +%End +%If (Qt_3_0_0 -) +// virtual QTextCustomItem *tag(const QString &, +// const QMap<QString,QString> &, +// const QString &, +// const QMimeSourceFactory &,bool, +// QTextDocument *) const; +%End + +%If (Qt_3_0_0 -) + static QString escape(const QString &); + static QString convertFromPlainText(const QString &, + QStyleSheetItem::WhiteSpaceMode = QStyleSheetItem::WhiteSpacePre); +%End +%If (- Qt_3_0_0) + static QString convertFromPlainText(const QString &); +%End + static bool mightBeRichText(const QString &); + + virtual void scaleFont(QFont &,int) const; + virtual void error(const QString &) const; + +private: +%If (Qt_3_1_0 -) + QStyleSheet(const QStyleSheet &); +%End +}; + +%End diff --git a/sip/qt/qsyntaxhighlighter.sip b/sip/qt/qsyntaxhighlighter.sip new file mode 100644 index 0000000..13d24e8 --- /dev/null +++ b/sip/qt/qsyntaxhighlighter.sip @@ -0,0 +1,57 @@ +// This is the SIP interface definition for QSyntaxHighlighter. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSyntaxHighlighter (Qt v3.1+)</Title> +<Para> +<Literal>QSyntaxHighlighter</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_1_0 -) + +class QSyntaxHighlighter : Qt +{ +%TypeHeaderCode +#include <qsyntaxhighlighter.h> +%End + +public: + QSyntaxHighlighter(QTextEdit * /TransferThis/); + + virtual int highlightParagraph(const QString &,int) = 0; + + void setFormat(int,int,const QFont &,const QColor &); + void setFormat(int,int,const QColor &); + void setFormat(int,int,const QFont &); + QTextEdit *textEdit() const; + + void rehighlight(); + +%If (Qt_3_2_0 -) + int currentParagraph() const; +%End +}; + +%End diff --git a/sip/qt/qtabbar.sip b/sip/qt/qtabbar.sip new file mode 100644 index 0000000..d53ffab --- /dev/null +++ b/sip/qt/qtabbar.sip @@ -0,0 +1,266 @@ +// This is the SIP interface definition for QTab and QTabBar. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qtabdialog.sip b/sip/qt/qtabdialog.sip new file mode 100644 index 0000000..115cf9d --- /dev/null +++ b/sip/qt/qtabdialog.sip @@ -0,0 +1,167 @@ +// This is the SIP interface definition for QTabDialog. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QTabDialog</Title> +<Para> +<Literal>QTabDialog</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_TABDIALOG) + +class QTabDialog : QDialog +{ +%TypeHeaderCode +#include <qtabdialog.h> +%End + +public: + QTabDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0, + WFlags = 0); + + void show(); + void setFont(const QFont &); + +%If (- Qt_2_00) + void addTab(QWidget *,const char *); +%End +%If (Qt_2_00 -) + void addTab(QWidget *,const QString &); + void addTab(QWidget *,const QIconSet &,const QString &); +%End + void addTab(QWidget *,QTab *); + +%If (Qt_2_00 -) + void insertTab(QWidget *,const QString &,int = -1); + void insertTab(QWidget *,const QIconSet &,const QString &,int = -1); + void insertTab(QWidget *,QTab *,int = -1); + + void changeTab(QWidget *,const QString &); + void changeTab(QWidget *,const QIconSet &,const QString &); +%End + +%If (Qt_2_00 -) + bool isTabEnabled(QWidget *) const; + void setTabEnabled(QWidget *,bool); +%End +%If (- Qt_3_0_0) + bool isTabEnabled(const char *) const; + void setTabEnabled(const char *,bool); +%End + + void showPage(QWidget *); +%If (Qt_2_00 -) + void removePage(QWidget *); + QString tabLabel(QWidget *); +%End +%If (- Qt_2_00) + const char *tabLabel(QWidget *); +%End + +%If (Qt_2_00 -) + QWidget *currentPage() const; +%End + +%If (- Qt_2_00) + void setDefaultButton(const char * = "Defaults"); +%End +%If (Qt_2_00 -) + void setDefaultButton(const QString &); + void setDefaultButton(); +%End + bool hasDefaultButton() const; + +%If (Qt_2_00 -) + void setHelpButton(const QString &); + void setHelpButton(); + bool hasHelpButton() const; +%End + +%If (- Qt_2_00) + void setCancelButton(const char * = "Cancel"); +%End +%If (Qt_2_00 -) + void setCancelButton(const QString &); + void setCancelButton(); +%End + bool hasCancelButton() const; + +%If (- Qt_2_00) + void setApplyButton(const char * = "Apply"); +%End +%If (Qt_2_00 -) + void setApplyButton(const QString &); + void setApplyButton(); +%End + bool hasApplyButton() const; + +%If (- Qt_2_00) + void setOkButton(const char * = "OK"); +%End +%If (Qt_2_00 -) + void setOkButton(const QString &); + void setOkButton(); +%End + bool hasOkButton() const; + +protected: + void paintEvent(QPaintEvent *); + void resizeEvent(QResizeEvent *); +%If (- Qt_2_00) + void styleChange(GUIStyle); +%End +%If (Qt_2_00 -) + void styleChange(QStyle &); +%End + void setTabBar(QTabBar *); + QTabBar *tabBar() const; + +signals: + void aboutToShow(); + + void applyButtonPressed(); + void cancelButtonPressed(); + void defaultButtonPressed(); +%If (Qt_2_00 -) + void helpButtonPressed(); +%End + +%If (Qt_2_2_0 -) + void currentChanged(QWidget *); +%End +%If (- Qt_2_00) + void selected(const char *); +%End +%If (Qt_2_00 - Qt_3_0_0) + void selected(const QString &); +%End + +private: +%If (Qt_2_1_0 -) + QTabDialog(const QTabDialog &); +%End +}; + +%End diff --git a/sip/qt/qtableview.sip b/sip/qt/qtableview.sip new file mode 100644 index 0000000..a2159be --- /dev/null +++ b/sip/qt/qtableview.sip @@ -0,0 +1,185 @@ +// This is the SIP interface definition for QTableView. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QTableView (Qt 1.x, Qt 2.x)</Title> +<FuncSynopsis> + <FuncDef>bool <Function>colXPos</Function></FuncDef> + <ParamDef>int <Parameter>col</Parameter></ParamDef> + <ParamDef>int *<Parameter>xPos</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>col</Literal> parameter and returns a tuple containing +the <Literal>bool</Literal> result and <Literal>xPos</Literal>. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>rowYPos</Function></FuncDef> + <ParamDef>int <Parameter>row</Parameter></ParamDef> + <ParamDef>int *<Parameter>yPos</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>row</Literal> parameter and returns a tuple containing +the <Literal>bool</Literal> result and <Literal>yPos</Literal>. +</Para> +</Sect2> +%End + + +%If (Qt_TABLEVIEW) +%If (- Qt_3_0_0) + +%ModuleHeaderCode +#include <qtableview.h> +%End + +const uint Tbl_vScrollBar; +const uint Tbl_hScrollBar; +const uint Tbl_autoVScrollBar; +const uint Tbl_autoHScrollBar; +const uint Tbl_autoScrollBars; + +const uint Tbl_clipCellPainting; +const uint Tbl_cutCellsV; +const uint Tbl_cutCellsH; +const uint Tbl_cutCells; + +const uint Tbl_scrollLastHCell; +const uint Tbl_scrollLastVCell; +const uint Tbl_scrollLastCell; + +const uint Tbl_smoothHScrolling; +const uint Tbl_smoothVScrolling; +const uint Tbl_smoothScrolling; + +const uint Tbl_snapToHGrid; +const uint Tbl_snapToVGrid; +const uint Tbl_snapToGrid; + + +class QTableView : QFrame +{ +%TypeHeaderCode +#include <qtableview.h> +%End + +public: +%If (- Qt_2_00) + void setBackgroundColor(const QColor &); + void setPalette(const QPalette &); +%End +%If (Qt_2_00 -) + virtual void setBackgroundColor(const QColor &); + virtual void setPalette(const QPalette &); +%End + void show(); + void repaint(bool = 1); + void repaint(int,int,int,int,bool = 1); + void repaint(const QRect &,bool = 1); + +protected: + QTableView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + ~QTableView(); + + int numRows() const; + int numCols() const; + int topCell() const; + int leftCell() const; + int xOffset() const; + int yOffset() const; + virtual int cellWidth(int); + virtual int cellHeight(int); + int cellWidth() const; + int cellHeight() const; + virtual int totalWidth(); + virtual int totalHeight(); + uint tableFlags() const; + bool testTableFlags(uint) const; + void clearTableFlags(uint = ~0); + bool autoUpdate() const; + void updateCell(int,int,bool = 1); + QRect cellUpdateRect() const; + QRect viewRect() const; + int lastRowVisible() const; + int lastColVisible() const; + bool rowIsVisible(int) const; + bool colIsVisible(int) const; + const QScrollBar *verticalScrollBar() const; + const QScrollBar *horizontalScrollBar() const; + virtual void paintCell(QPainter *,int,int) = 0; + virtual void setupPainter(QPainter *); + void paintEvent(QPaintEvent *); + void resizeEvent(QResizeEvent *); + int findRow(int) const; + int findCol(int) const; + bool rowYPos(int,int *) const; + bool colXPos(int,int *) const; + int maxXOffset(); + int maxYOffset(); + int maxColOffset(); + int maxRowOffset(); + int minViewX() const; + int minViewY() const; + int maxViewX() const; + int maxViewY() const; + int viewWidth() const; + int viewHeight() const; + void scroll(int,int); + void updateScrollBars(); + void updateTableSize(); + +%If (- Qt_2_00) + void setNumRows(int); + void setNumCols(int); + void setTopCell(int); + void setLeftCell(int); + void setTopLeftCell(int,int); + void setXOffset(int); + void setYOffset(int); + void setOffset(int,int,bool = 1); + void setCellWidth(int); + void setCellHeight(int); + void setTableFlags(uint); + void setAutoUpdate(bool); +%End + +%If (Qt_2_00 -) + virtual void setNumRows(int); + virtual void setNumCols(int); + virtual void setTopCell(int); + virtual void setLeftCell(int); + virtual void setTopLeftCell(int,int); + virtual void setXOffset(int); + virtual void setYOffset(int); + virtual void setOffset(int,int,bool = 1); + virtual void setCellWidth(int); + virtual void setCellHeight(int); + virtual void setTableFlags(uint); + virtual void setAutoUpdate(bool); +%End + +private: + QTableView(const QTableView &); +}; + +%End +%End diff --git a/sip/qt/qtabwidget.sip b/sip/qt/qtabwidget.sip new file mode 100644 index 0000000..2f78472 --- /dev/null +++ b/sip/qt/qtabwidget.sip @@ -0,0 +1,177 @@ +// This is the SIP interface definition for QTabWidget. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QTabWidget (Qt v2+)</Title> +<Para> +<Literal>QTabWidget</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QTabWidget : QWidget +{ +%TypeHeaderCode +#include <qtabwidget.h> +%End + +public: +%If (Qt_3_0_0 -) + QTabWidget(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); +%End +%If (Qt_2_1_0 - Qt_3_0_0) + QTabWidget(QWidget * /TransferThis/,const char *,WFlags); +%End +%If (- Qt_3_0_0) + QTabWidget(QWidget * /TransferThis/ = 0,const char * = 0); +%End + + // The QWidget is passed to QWidgetStack::addWidget(). +%If (- Qt_3_0_0) + void addTab(QWidget * /Transfer/,const QString &); + void addTab(QWidget * /Transfer/,const QIconSet &,const QString &); + void addTab(QWidget * /Transfer/,QTab *); + + void insertTab(QWidget * /Transfer/,const QString &,int = -1); + void insertTab(QWidget * /Transfer/,const QIconSet &,const QString &, + int = -1); + void insertTab(QWidget * /Transfer/,QTab *,int = -1); +%End +%If (Qt_3_0_0 -) + virtual void addTab(QWidget * /Transfer/,const QString &); + virtual void addTab(QWidget * /Transfer/,const QIconSet &, + const QString &); + virtual void addTab(QWidget * /Transfer/,QTab *); + + virtual void insertTab(QWidget * /Transfer/,const QString &,int = -1); + virtual void insertTab(QWidget * /Transfer/,const QIconSet &, + const QString &,int = -1); + virtual void insertTab(QWidget * /Transfer/,QTab *,int = -1); +%End + + void changeTab(QWidget *,const QString &); + void changeTab(QWidget *,const QIconSet &,const QString &); + + bool isTabEnabled(QWidget *) const; + void setTabEnabled(QWidget *,bool); + +%If (Qt_3_2_0 -) + void setCornerWidget(QWidget *,Qt::Corner = Qt::TopRight); + QWidget *cornerWidget(Qt::Corner = Qt::TopRight) const; +%End + +%If (- Qt_3_0_0) + void showPage(QWidget *); + void removePage(QWidget *); + + QString tabLabel(QWidget *); +%End +%If (Qt_3_0_0 -) + QString tabLabel(QWidget *) const; + void setTabLabel(QWidget *,const QString &); + + QIconSet tabIconSet(QWidget *) const; + void setTabIconSet(QWidget *,const QIconSet &); + + void removeTabToolTip(QWidget *); + void setTabToolTip(QWidget *,const QString &); + QString tabToolTip(QWidget *) const; +%End + + QWidget *currentPage() const; +%If (Qt_3_0_0 -) + QWidget *page(int) const; + QString label(int) const; +%End +%If (Qt_2_2_0 -) + int currentPageIndex() const; +%End +%If (Qt_2_2_0 - Qt_3_0_0) + void setCurrentPage(int); +%End +%If (Qt_3_0_0 -) + int indexOf(QWidget *) const; +%End + + QSize sizeHint() const; + QSize minimumSizeHint() const; + + enum TabPosition { + Top, + Bottom + }; + + TabPosition tabPosition() const; + void setTabPosition(TabPosition); + +%If (Qt_2_2_0 -) + enum TabShape { + Rounded, + Triangular + }; + + TabShape tabShape() const; + void setTabShape(TabShape); +%End + + int margin() const; + void setMargin(int); + +%If (Qt_2_1_0 - Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + +%If (Qt_3_0_0 -) + int count() const; +%End + +public slots: +%If (Qt_3_0_0 -) + void setCurrentPage(int); + virtual void showPage(QWidget *); + virtual void removePage(QWidget *); +%End + +protected: + void showEvent(QShowEvent *); + void resizeEvent(QResizeEvent *); + void setTabBar(QTabBar *); + QTabBar *tabBar() const; + void styleChange(QStyle &); + void updateMask(); + bool eventFilter(QObject *,QEvent *); + +signals: +%If (Qt_2_2_0 -) + void currentChanged(QWidget *); +%End + +private: +%If (Qt_2_1_0 -) + QTabWidget(const QTabWidget &); +%End +}; + +%End diff --git a/sip/qt/qtextbrowser.sip b/sip/qt/qtextbrowser.sip new file mode 100644 index 0000000..d7f4570 --- /dev/null +++ b/sip/qt/qtextbrowser.sip @@ -0,0 +1,114 @@ +// This is the SIP interface definition for QTextBrowser. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QTextBrowser (Qt v2+)</Title> +<Para> +<Literal>QTextBrowser</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QTextBrowser : QTextEdit +{ +%TypeHeaderCode +#include <qtextbrowser.h> +%End + +public: + QTextBrowser(QWidget * /TransferThis/ = 0,const char * = 0); + + QString source() const; + +public slots: + virtual void setSource(const QString &); + virtual void backward(); + virtual void forward(); + virtual void home(); + virtual void reload(); + void setText(const QString &); + virtual void setText(const QString &,const QString &); + +signals: + void backwardAvailable(bool); + void forwardAvailable(bool); +%If (Qt_3_1_0 -) + void sourceChanged(const QString &); +%End + void highlighted(const QString &); + void linkClicked(const QString &); +%If (Qt_3_1_0 -) + void anchorClicked(const QString &,const QString &); +%End + +protected: + void keyPressEvent(QKeyEvent *); + +private: + QTextBrowser(const QTextBrowser &); +}; + +%End + +%If (Qt_2_00 - Qt_3_0_0) + +class QTextBrowser : QTextView +{ +%TypeHeaderCode +#include <qtextbrowser.h> +%End + +public: + QTextBrowser(QWidget * /TransferThis/ = 0,const char * = 0); + + virtual void setSource(const QString &); + QString source() const; + void setText(const QString &,const QString & = QString::null); + void scrollToAnchor(const QString &); + +public slots: + virtual void backward(); + virtual void forward(); + virtual void home(); + +signals: + void backwardAvailable(bool); + void forwardAvailable(bool); + void highlighted(const QString &); + void textChanged(); + +protected: + void viewportMousePressEvent(QMouseEvent *); + void viewportMouseReleaseEvent(QMouseEvent *); + void viewportMouseMoveEvent(QMouseEvent *); + void keyPressEvent(QKeyEvent *); + +private: +%If (Qt_2_1_0 -) + QTextBrowser(const QTextBrowser &); +%End +}; + +%End diff --git a/sip/qt/qtextcodec.sip b/sip/qt/qtextcodec.sip new file mode 100644 index 0000000..626e12b --- /dev/null +++ b/sip/qt/qtextcodec.sip @@ -0,0 +1,146 @@ +// This is the SIP interface definition for QTextCodec, QTextDecoder and +// QTextEncoder. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qtextedit.sip b/sip/qt/qtextedit.sip new file mode 100644 index 0000000..3576bf3 --- /dev/null +++ b/sip/qt/qtextedit.sip @@ -0,0 +1,437 @@ +// This is the SIP interface definition for QTextEdit. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qtextstream.sip b/sip/qt/qtextstream.sip new file mode 100644 index 0000000..7e8abcd --- /dev/null +++ b/sip/qt/qtextstream.sip @@ -0,0 +1,231 @@ +// This is the SIP interface definition for QTextStream, QTextIStream and +// QTextOStream. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QTextStream</Title> +<FuncSynopsis> + <FuncDef><Function>QTextStream</Function></FuncDef> + <ParamDef>FILE *<Parameter>fp</Parameter></ParamDef> + <ParamDef>int <Parameter>mode</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QTextStream &<Function>readRawBytes</Function></FuncDef> + <ParamDef>char *<Parameter>buf</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QTextStream &<Function>writeRawBytes</Function></FuncDef> + <ParamDef>const char *<Parameter>buf</Parameter></ParamDef> + <ParamDef>uint <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> +</Sect2> + +<Sect2><Title>QTextIStream (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef><Function>QTextIStream</Function></FuncDef> + <ParamDef>FILE *<Parameter>fp</Parameter></ParamDef> + <ParamDef>int <Parameter>mode</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> + +<Sect2><Title>QTextOStream (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef><Function>QTextOStream</Function></FuncDef> + <ParamDef>FILE *<Parameter>fp</Parameter></ParamDef> + <ParamDef>int <Parameter>mode</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +%End + + +class QTextStream +{ +%TypeHeaderCode +#include <qtextstream.h> +%End + +public: +%If (Qt_2_00 - Qt_2_2_0) + enum Encoding { + Locale, + Latin1, + Unicode, + UnicodeNetworkOrder, + UnicodeReverse, + RawUnicode + }; +%End +%If (Qt_2_2_0 -) + enum Encoding { + Locale, + Latin1, + Unicode, + UnicodeNetworkOrder, + UnicodeReverse, + RawUnicode, + UnicodeUTF8 + }; +%End + + QTextStream(); + QTextStream(QIODevice *); +%If (Qt_2_00 -) + QTextStream(QString *,int); +%End + QTextStream(QByteArray,int); +// QTextStream(FILE *,int); + +%If (Qt_2_00 -) + void setEncoding(Encoding); + void setCodec(QTextCodec *); +%End +%If (Qt_3_1_0 -) + QTextCodec *codec(); +%End + + QIODevice *device() const; + void setDevice(QIODevice *); + void unsetDevice(); + +%If (Qt_2_00 -) + bool atEnd() const; +%End + bool eof() const; + +// QTextStream &readRawBytes(char *,uint) /ReleaseGIL/; +// QTextStream &writeRawBytes(const char *,uint) /ReleaseGIL/; + + QString readLine() /ReleaseGIL/; +%If (Qt_2_00 -) + QString read() /ReleaseGIL/; + void skipWhiteSpace(); +%End + + enum { + skipws, + left, + right, + internal, + bin, + oct, + dec, + hex, + showbase, + showpoint, + uppercase, + showpos, + scientific, + fixed + }; + + static const int basefield; + static const int adjustfield; + static const int floatfield; + + int flags() const; + int flags(int); + int setf(int); + int setf(int,int); + int unsetf(int); + + void reset(); + + int width() const; + int width(int); + int fill() const; + int fill(int); + int precision() const; + int precision(int); + +%If (Qt_3_0_0 -) + // These are defined in qmainwindow.h as global operators so we have + // to implement them here and pretend they are class operators. + QTextStream &operator<<(const QMainWindow &); + QTextStream &operator>>(QMainWindow &); + + // These are defined in qdockarea.h as global operators so we have + // to implement them here and pretend they are class operators. + QTextStream &operator<<(const QDockArea &); + QTextStream &operator>>(QDockArea &); +%End + +private: + QTextStream(const QTextStream &); +}; + + +%If (Qt_2_00 -) + +class QTextIStream : QTextStream +{ +%TypeHeaderCode +#include <qtextstream.h> +%End + +public: + QTextIStream(QString *); + QTextIStream(QByteArray); +// QTextIStream(FILE *); + +private: +%If (Qt_3_1_0 -) + QTextIStream(const QTextIStream &); +%End +}; + + +class QTextOStream : QTextStream +{ +%TypeHeaderCode +#include <qtextstream.h> +%End + +public: + QTextOStream(QString *); + QTextOStream(QByteArray); +// QTextOStream(FILE *); + +private: +%If (Qt_3_1_0 -) + QTextOStream(const QTextOStream &); +%End +}; + +%End diff --git a/sip/qt/qtextview.sip b/sip/qt/qtextview.sip new file mode 100644 index 0000000..d79a34a --- /dev/null +++ b/sip/qt/qtextview.sip @@ -0,0 +1,128 @@ +// This is the SIP interface definition for QTextView. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QTextView (Qt v2+)</Title> +<Para> +<Literal>QTextView</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QTextView : QTextEdit +{ +%TypeHeaderCode +#include <qtextview.h> +%End + +public: + QTextView(QWidget * /TransferThis/ = 0,const char * = 0); + QTextView(const QString &,const QString & = QString::null, + QWidget * /TransferThis/ = 0,const char * = 0); + +private: +%If (Qt_3_1_0 -) + QTextView(const QTextView &); +%End +}; + +%End + + +%If (Qt_2_00 - Qt_3_0_0) + +class QTextView : QScrollView +{ +%TypeHeaderCode +#include <qtextview.h> +%End + +public: + QTextView(QWidget * /TransferThis/ = 0,const char * = 0); + QTextView(const QString &,const QString & = QString::null, + QWidget * /TransferThis/ = 0,const char * = 0); + +%If (- Qt_2_1_0) + virtual void setText(const QString &,const QString & = QString::null); +%End +%If (Qt_2_1_0 -) + virtual void setText(const QString &,const QString &); + void setText(const QString &); +%End + virtual QString text() const; + virtual QString context() const; + Qt::TextFormat textFormat() const; + void setTextFormat(Qt::TextFormat); + QStyleSheet *styleSheet() const; + void setStyleSheet(QStyleSheet *); + void setPaper(const QBrush &); + const QBrush &paper(); + void setPaperColorGroup(const QColorGroup &); + const QColorGroup &paperColorGroup() const; + void setLinkColor(const QColor &); + const QColor &linkColor() const; + void setLinkUnderline(bool); + bool linkUnderline() const; + void setMimeSourceFactory(QMimeSourceFactory *); + QMimeSourceFactory *mimeSourceFactory() const; + QString documentTitle() const; + int heightForWidth(int) const; +%If (Qt_2_1_0 -) + void append(const QString &); + bool hasSelectedText() const; + QString selectedText() const; +%End + +public slots: +%If (Qt_2_1_0 -) +%If (Qt_CLIPBOARD) + void copy(); +%End + void selectAll(); +%End + +protected: + void drawContentsOffset(QPainter *,int,int,int,int,int,int); + void resizeEvent(QResizeEvent *); + void viewportResizeEvent(QResizeEvent *); + void viewportMousePressEvent(QMouseEvent *); + void viewportMouseReleaseEvent(QMouseEvent *); + void viewportMouseMoveEvent(QMouseEvent *); + void keyPressEvent(QKeyEvent *); +%If (Qt_2_1_0 -) + void showEvent(QShowEvent *); + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); +%End +// QRichText &richText() const; + void paletteChange(const QPalette &); + +private: +%If (Qt_2_1_0 -) + QTextView(const QTextView &); +%End +}; + +%End diff --git a/sip/qt/qthread.sip b/sip/qt/qthread.sip new file mode 100644 index 0000000..29966c6 --- /dev/null +++ b/sip/qt/qthread.sip @@ -0,0 +1,98 @@ +// This is the SIP interface definition for QThread. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QThread (Qt v2.2+)</Title> +<Para> +<Literal>QThread</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_THREAD_SUPPORT) +%If (Qt_2_2_0 -) + +class QThread : Qt /CreatesThread/ +{ +%TypeHeaderCode +#include <qthread.h> +%End + +public: +%If (- Qt_3_0_0) + static HANDLE currentThread(); +%End +%If (Qt_3_0_0 -) + static Qt::HANDLE currentThread(); +%End + static void postEvent(QObject *,QEvent * /Transfer/) /ReleaseGIL/; +%If (Qt_3_0_0 -) + static void initialize(); + static void cleanup(); +%End + + static void exit() /ReleaseGIL/; + +%If (Qt_3_1_0 -) + QThread(unsigned int); +%End + QThread(); + + bool wait(unsigned long = ULONG_MAX) /ReleaseGIL/; + +%If (Qt_3_2_0 -) + enum Priority { + IdlePriority, + LowestPriority, + LowPriority, + NormalPriority, + HighPriority, + HighestPriority, + TimeCriticalPriority, + InheritPriority + }; + + void start(Priority) /ReleaseGIL/; +%End + void start() /ReleaseGIL/; + +%If (Qt_3_1_0 -) + void terminate(); +%End + + bool finished() const; + bool running() const; + +protected: + virtual void run() = 0 /NewThread/; + + static void sleep(unsigned long) /ReleaseGIL/; + static void msleep(unsigned long) /ReleaseGIL/; + static void usleep(unsigned long) /ReleaseGIL/; + +private: + QThread(const QThread &); +}; + +%End +%End diff --git a/sip/qt/qtimer.sip b/sip/qt/qtimer.sip new file mode 100644 index 0000000..62d20b2 --- /dev/null +++ b/sip/qt/qtimer.sip @@ -0,0 +1,59 @@ +// This is the SIP interface definition for QTimer. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QTimer</Title> +<Para> +<Literal>QTimer</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QTimer : QObject +{ +%TypeHeaderCode +#include <qtimer.h> +%End + +public: + QTimer(QObject * /TransferThis/ = 0,char * = 0); + + bool isActive() const; + int start(int,bool = 0); + void changeInterval(int); + void stop(); + static void singleShot(int,SIP_RXOBJ_CON,SIP_SLOT_CON()); + +%If (Qt_3_1_0 -) + int timerId() const; +%End + +signals: + void timeout(); + +protected: + bool event(QEvent *); + +private: + QTimer(const QTimer &); +}; diff --git a/sip/qt/qtmod.sip b/sip/qt/qtmod.sip new file mode 100644 index 0000000..045c779 --- /dev/null +++ b/sip/qt/qtmod.sip @@ -0,0 +1,286 @@ +// This is the SIP interface definition for the qt module of PyQt. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%Module qt 2 + +%Plugin PyQt3 + +%Include versions.sip +%Include copying.sip + + +unsigned PYQT_VERSION; +const char *PYQT_VERSION_STR; + +%ModuleCode +static unsigned PYQT_VERSION = 0x031201; +static const char *PYQT_VERSION_STR = "3.18.1"; +%End + + +// Hook into the VendorID package if it is enabled. +%Feature VendorID + +%If (VendorID) + +%ModuleCode +#include <vendorid.h> +%End + +%PreInitialisationCode + if (!vendorid_check()) + { + PyErr_SetString(PyExc_RuntimeError, "PyQt cannot be used with this Python interpreter"); + return; + } +%End + +%End + +%DefaultMetatype qt.pyqtWrapperType +%DefaultSupertype qt.pyqtWrapper + +// Include the interface definitions for each class. + +// These contain enum and type definitions that need to be defined before they +// are used so they do not seem to be classes. + +%Include qglobal.sip +%Include qnamespace.sip +%Include qwindowdefs.sip +%Include qpen.sip + +%Include qpaintdevice.sip + +%Include qpixmap.sip +%Include qbitmap.sip + +%Include qsize.sip +%Include qsizepolicy.sip + +%Include qaccel.sip +%Include qaction.sip +%Include qapplication.sip +%Include qarray.sip +%Include qassistantclient.sip +%Include qbrush.sip +%Include qbutton.sip +%Include qbuttongroup.sip +%Include qbytearray.sip +%Include qcdestyle.sip +%Include qcheckbox.sip +%Include qclipboard.sip +%Include qcolor.sip +%Include qcolordialog.sip +%Include qcolorgroup.sip +%Include qcombobox.sip +%Include qcommonstyle.sip +%Include qcstring.sip +%Include qcursor.sip +%Include qdatastream.sip +%Include qdatetime.sip +%Include qdatetimeedit.sip +%Include qdesktopwidget.sip +%Include qdial.sip +%Include qdialog.sip +%Include qdir.sip +%Include qdockarea.sip +%Include qdockwindow.sip +%Include qdragobject.sip +%Include qdrawutil.sip +%Include qdropsite.sip +%Include qerrormessage.sip +%Include qevent.sip +%Include qeventloop.sip +%Include qfile.sip +%Include qfiledialog.sip +%Include qfileinfo.sip +%Include qfont.sip +%Include qfontdatabase.sip +%Include qfontdialog.sip +%Include qfontinfo.sip +%Include qfontmetrics.sip +%Include qframe.sip +%Include qgmanager.sip +%Include qgrid.sip +%Include qgridview.sip +%Include qgroupbox.sip +%Include qhbox.sip +%Include qhbuttongroup.sip +%Include qheader.sip +%Include qhgroupbox.sip +%Include qiconset.sip +%Include qiconview.sip +%Include qimage.sip +%Include qinputdialog.sip +%Include qinterlacestyle.sip +%Include qiodevice.sip +%Include qkeycode.sip +%Include qkeysequence.sip +%Include qlabel.sip +%Include qlayout.sip +%Include qlcdnumber.sip +%Include qlibrary.sip +%Include qlineedit.sip +%Include qlist.sip +%Include qlistbox.sip +%Include qlistview.sip +%Include qlocale.sip +%Include qmainwindow.sip +%Include qmemarray.sip +%Include qmenubar.sip +%Include qmenudata.sip +%Include qmessagebox.sip +%Include qmetaobject.sip +%Include qmime.sip +%Include qmotifplusstyle.sip +%Include qmotifstyle.sip +%Include qmovie.sip +%Include qmutex.sip +%Include qmultilinedit.sip +%Include qnetworkprotocol.sip +%Include qobject.sip +%Include qobjectcleanuphandler.sip +%Include qobjectlist.sip +%Include qpaintdevicemetrics.sip +%Include qpainter.sip +%Include qpair.sip +%Include qpalette.sip +%Include qpicture.sip +%Include qpixmapcache.sip +%Include qplatinumstyle.sip +%Include qpoint.sip +%Include qpointarray.sip +%Include qpopupmenu.sip +%Include qprintdialog.sip +%Include qprinter.sip +%Include qprocess.sip +%Include qprogressbar.sip +%Include qprogressdialog.sip +%Include qptrlist.sip +%Include qpushbutton.sip +%Include qradiobutton.sip +%Include qrangecontrol.sip +%Include qrect.sip +%Include qregexp.sip +%Include qregion.sip +%Include qscrollbar.sip +%Include qscrollview.sip +%Include qsemaphore.sip +%Include qsemimodal.sip +%Include qsessionmanager.sip +%Include qsettings.sip +%Include qsgistyle.sip +%Include qsignalmapper.sip +%Include qsimplerichtext.sip +%Include qsizegrip.sip +%Include qslider.sip +%Include qsocketnotifier.sip +%Include qsound.sip +%Include qspinbox.sip +%Include qsplashscreen.sip +%Include qsplitter.sip +%Include qstatusbar.sip +%Include qstring.sip +%Include qstringlist.sip +%Include qstrlist.sip +%Include qstyle.sip +%Include qstylefactory.sip +%Include qstylesheet.sip +%Include qsyntaxhighlighter.sip +%Include qtabbar.sip +%Include qtabdialog.sip +%Include qtableview.sip +%Include qtabwidget.sip +%Include qtextbrowser.sip +%Include qtextcodec.sip +%Include qtextedit.sip +%Include qtextstream.sip +%Include qtextview.sip +%Include qthread.sip +%Include qtimer.sip +%Include qtoolbar.sip +%Include qtoolbox.sip +%Include qtoolbutton.sip +%Include qtooltip.sip +%Include qtranslator.sip +%Include qurl.sip +%Include qurlinfo.sip +%Include qurloperator.sip +%Include quuid.sip +%Include qvalidator.sip +%Include qvaluelist.sip +%Include qvariant.sip +%Include qvbox.sip +%Include qvbuttongroup.sip +%Include qvgroupbox.sip +%Include qwaitcondition.sip +%Include qwhatsthis.sip +%Include qwidget.sip +%Include qwidgetlist.sip +%Include qwidgetstack.sip +%Include qwindow.sip +%Include qwindowsstyle.sip +%Include qwindowsxpstyle.sip +%Include qwizard.sip +%Include qwmatrix.sip +%Include qworkspace.sip + + +// The build file templates. + +%Makefile qt.pro.in +# The project file for the qt module. +# +# Copyright (c) 2007 +# Riverbank Computing Limited <[email protected]> +# +# This file is part of PyQt. +# +# This copy of PyQt is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# +# PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +TEMPLATE = lib +TARGET = @BLX_TARGET_LIB@ +DESTDIR = @PYQT_MODDIR@ +CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@ +INCLUDEPATH = @BLX_INCLUDEPATH@ +DEFINES = @BLX_DEFINES@ +LIBS += @PYQT_QASSISTANTCLIENT_LIB@ @BLX_LIBS@ +macx:QMAKE_LFLAGS += -framework Python + +SOURCES = $B + +HEADERS = $H +%End diff --git a/sip/qt/qtoolbar.sip b/sip/qt/qtoolbar.sip new file mode 100644 index 0000000..7143ba0 --- /dev/null +++ b/sip/qt/qtoolbar.sip @@ -0,0 +1,160 @@ +// This is the SIP interface definition for QToolBar. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QToolBar</Title> +<Para> +<Literal>QToolBar</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QToolBar : QDockWindow +{ +%TypeHeaderCode +#include <qtoolbar.h> +%End + +public: + QToolBar(const QString &,QMainWindow * /TransferThis/,Dock = DockTop, + bool = 0,const char * = 0); + QToolBar(const QString &,QMainWindow *,QWidget * /TransferThis/, + bool = 0,const char * = 0,WFlags = 0); + QToolBar(QMainWindow * /TransferThis/ = 0,const char * = 0); + + void addSeparator(); + + void show(); + void hide(); + + QMainWindow *mainWindow() const; + + virtual void setStretchableWidget(QWidget *); + + bool event(QEvent *); + + virtual void setLabel(const QString &); + QString label() const; + + virtual void clear(); + + QSize minimumSize() const; + QSize minimumSizeHint() const; + + void setOrientation(Orientation); + void setMinimumSize(int,int); + +protected: + void resizeEvent(QResizeEvent *); + void styleChange(QStyle &); + +private: + QToolBar(const QToolBar &); +}; + +%End + + +%If (- Qt_3_0_0) + +class QToolBar : QWidget +{ +%TypeHeaderCode +#include <qtoolbar.h> +%End + +public: +%If (- Qt_2_00) + QToolBar(const char *,QMainWindow * /TransferThis/, + QMainWindow::ToolBarDock = QMainWindow::Top, + bool = 0,const char * = 0); + QToolBar(const char *,QMainWindow *,QWidget * /TransferThis/,bool = 0, + const char * = 0,WFlags = 0); +%End +%If (Qt_2_00 -) + QToolBar(const QString &,QMainWindow * /TransferThis/, + QMainWindow::ToolBarDock = QMainWindow::Top,bool = 0, + const char * = 0); + QToolBar(const QString &,QMainWindow *,QWidget * /TransferThis/,bool = 0, + const char * = 0,WFlags = 0); +%End + QToolBar(QMainWindow * /TransferThis/ = 0,const char * = 0); + + void addSeparator(); + +%If (- Qt_2_00) + enum Orientation + { + Horizontal, + Vertical + }; +%End + + virtual void setOrientation(Orientation); + Orientation orientation() const; + void show(); + QMainWindow *mainWindow(); + bool event(QEvent *); +%If (- Qt_2_00) + void setStretchableWidget(QWidget *); +%End +%If (Qt_2_00 -) + virtual void setStretchableWidget(QWidget *); + bool eventFilter(QObject *,QEvent *); + virtual void setLabel(const QString &); + QString label() const; +%End +%If (Qt_2_1_0 -) + void hide(); + void setHorizontalStretchable(bool); + void setVerticalStretchable(bool); + bool isHorizontalStretchable() const; + bool isVerticalStretchable() const; + void clear(); + QSize minimumSize() const; + QSize minimumSizeHint() const; +%End + +protected: + void paintEvent(QPaintEvent *); +%If (Qt_2_1_0 -) + void resizeEvent(QResizeEvent *); +%End +%If (Qt_2_3_0 -) + void styleChange(QStyle &); +%End + +signals: +%If (Qt_2_1_0 -) + void orientationChanged(Orientation); +%End + +private: +%If (Qt_2_1_0 -) + QToolBar(const QToolBar &); +%End +}; + +%End diff --git a/sip/qt/qtoolbox.sip b/sip/qt/qtoolbox.sip new file mode 100644 index 0000000..804d7dd --- /dev/null +++ b/sip/qt/qtoolbox.sip @@ -0,0 +1,88 @@ +// This is the SIP interface definition for QToolBox. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QToolBox (Qt v3.2.0+)</Title> +<Para> +<Literal>QToolBox</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_2_0 -) + +class QToolBox : QFrame +{ +%TypeHeaderCode +#include <qtoolbox.h> +%End + +public: + QToolBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + ~QToolBox(); + + int addItem(QWidget * /Transfer/,const QString &); + int addItem(QWidget * /Transfer/,const QIconSet &,const QString &); + int insertItem(int,QWidget * /Transfer/,const QString &); + int insertItem(int,QWidget * /Transfer/,const QIconSet &, + const QString &); + + // On return the QWidget will have the QToolBox as it's parent, so we + // don't transfer ownership back. + int removeItem(QWidget *); + + void setItemEnabled(int,bool); + bool isItemEnabled(int) const; + + void setItemLabel(int,const QString &); + QString itemLabel(int) const; + + void setItemIconSet(int,const QIconSet &); + QIconSet itemIconSet(int) const; + + void setItemToolTip(int,const QString &); + QString itemToolTip(int) const; + + QWidget *currentItem() const; + void setCurrentItem(QWidget *); + + int currentIndex() const; + QWidget *item(int) const; + int indexOf(QWidget *) const; + int count() const; + +public slots: + void setCurrentIndex(int); + +signals: + void currentChanged(int); + +protected: + virtual void itemInserted(int); + virtual void itemRemoved(int); + void showEvent(QShowEvent *); + void frameChanged(); + void styleChange(QStyle &); +}; + +%End diff --git a/sip/qt/qtoolbutton.sip b/sip/qt/qtoolbutton.sip new file mode 100644 index 0000000..7de2e90 --- /dev/null +++ b/sip/qt/qtoolbutton.sip @@ -0,0 +1,199 @@ +// This is the SIP interface definition for QToolButton. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QToolButton</Title> +<Para> +<Literal>QToolButton</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QToolButton : QButton +{ +%TypeHeaderCode +#include <qtoolbutton.h> +%End + +public: +%If (Qt_3_1_0 -) + enum TextPosition { +%If (Qt_3_2_0 -) + BesideIcon, + BelowIcon, +%End + Right, // Obsolete + Under // Obsolete + }; +%End + +%If (- Qt_2_00) + QToolButton(QWidget * /TransferThis/ = 0,const char * = 0); + QToolButton(const QPixmap &,const char *,const char *,SIP_RXOBJ_CON, + SIP_SLOT_CON(),QToolBar * /TransferThis/,const char * = 0); + QToolButton(QIconSet,const char *,const char *,SIP_RXOBJ_CON, + SIP_SLOT_CON(),QToolBar * /TransferThis/,const char * = 0); +%End +%If (Qt_2_00 -) + QToolButton(QWidget * /TransferThis/,const char * = 0); +%End +%If (Qt_2_00 - Qt_3_0_0) + QToolButton(const QPixmap &,const QString &,const QString &, + SIP_RXOBJ_CON,SIP_SLOT_CON(),QToolBar * /TransferThis/, + const char * = 0); +%End +%If (Qt_2_00 -) + QToolButton(const QIconSet &,const QString &,const QString &, + SIP_RXOBJ_CON,SIP_SLOT_CON(),QToolBar * /TransferThis/, + const char * = 0); +%End +%If (Qt_2_1_0 -) + QToolButton(ArrowType,QWidget * /TransferThis/,const char * = 0); +%End + + QSize sizeHint() const; +%If (Qt_3_0_0 -) + QSize minimumSizeHint() const; +%End +%If (Qt_2_00 - Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + +%If (Qt_2_1_0 - Qt_3_0_0) + void setOnIconSet(const QIconSet &); + void setOffIconSet(const QIconSet &); +%End +%If (- Qt_2_00) + void setIconSet(const QIconSet &); +%End +%If (Qt_2_00 - Qt_3_0_0) + virtual void setIconSet(const QIconSet &,bool = 0); +%End +%If (Qt_2_1_0 - Qt_3_0_0) + QIconSet onIconSet() const; + QIconSet offIconSet() const; +%End +%If (- Qt_2_00) + QIconSet iconSet() const; +%End +%If (Qt_2_00 - Qt_3_0_0) + QIconSet iconSet(bool = 0) const; +%End +%If (Qt_3_0_0 -) + virtual void setIconSet(const QIconSet &); + QIconSet iconSet() const; +%End + + bool usesBigPixmap() const; + bool usesTextLabel() const; +%If (- Qt_2_00) + const char *textLabel() const; +%End +%If (Qt_2_00 -) + QString textLabel() const; +%End + +%If (Qt_2_1_0 -) + void setPopup(QPopupMenu *); + QPopupMenu* popup() const; + + void setPopupDelay(int); + int popupDelay() const; +%End + +%If (Qt_3_0_0 -) + void openPopup(); +%End + +%If (Qt_2_1_0 -) + void setAutoRaise(bool); + bool autoRaise() const; +%End +%If (Qt_3_1_0 -) + TextPosition textPosition() const; +%End + +%If (Qt_3_2_0 -) + void setText(const QString &); +%End + +public slots: + virtual void setUsesBigPixmap(bool); + virtual void setUsesTextLabel(bool); +%If (- Qt_2_00) + virtual void setTextLabel(const char *,bool = 1); +%End +%If (Qt_2_00 - Qt_3_0_0) + virtual void setTextLabel(const QString &,bool = 1); +%End +%If (Qt_3_0_0 -) + virtual void setTextLabel(const QString &,bool); +%End + +%If (- Qt_2_00) + void setToggleButton(bool); +%End +%If (Qt_2_00 -) + virtual void setToggleButton(bool); +%End + +%If (- Qt_2_00) + void setOn(bool); +%End +%If (Qt_2_00 -) + virtual void setOn(bool); +%End + void toggle(); +%If (Qt_3_0_0 -) + // This was actually introduced in Qt v2.1.0 but gives signature + // conflict until Qt v3.0.0. + void setTextLabel(const QString &); +%End +%If (Qt_3_1_0 -) + void setTextPosition(TextPosition); +%End + +protected: +%If (Qt_3_0_0 -) + void mousePressEvent(QMouseEvent *); +%End + void drawButton(QPainter *); + void drawButtonLabel(QPainter *); + + void enterEvent(QEvent *); + void leaveEvent(QEvent *); +%If (Qt_2_1_0 -) + void moveEvent(QMoveEvent *); +%End + + bool uses3D() const; + +%If (Qt_3_0_0 -) + bool eventFilter(QObject *,QEvent *); +%End + +private: +%If (Qt_2_1_0 -) + QToolButton(const QToolButton &); +%End +}; diff --git a/sip/qt/qtooltip.sip b/sip/qt/qtooltip.sip new file mode 100644 index 0000000..5dacad7 --- /dev/null +++ b/sip/qt/qtooltip.sip @@ -0,0 +1,169 @@ +// This is the SIP interface definition for QToolTip and QToolTipGroup. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QToolTip</Title> +<Para> +<Literal>QToolTip</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QToolTipGroup</Title> +<Para> +<Literal>QToolTipGroup</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QToolTipGroup : QObject +{ +%TypeHeaderCode +#include <qtooltip.h> +%End + +public: + QToolTipGroup(QObject * /TransferThis/,const char * = 0); + +%If (Qt_2_00 -) + bool delay() const; +%End +%If (Qt_2_1_0 -) + bool enabled() const; +%End + +public slots: +%If (Qt_2_00 -) + void setDelay(bool); +%End +%If (Qt_2_1_0 -) + void setEnabled(bool); +%End + +signals: +%If (- Qt_2_00) + void showTip(const char *); +%End +%If (Qt_2_00 -) + void showTip(const QString &); +%End + void removeTip(); + +private: + QToolTipGroup(const QToolTipGroup &); +}; + + +%If (- Qt_2_00) + +class QToolTip +{ +%TypeHeaderCode +#include <qtooltip.h> +%End + +public: + QToolTip(QWidget *,QToolTipGroup * = 0); + + static void add(QWidget *,const char *); + static void add(QWidget *,const char *,QToolTipGroup *,const char *); + static void remove(QWidget *); + static void add(QWidget *,const QRect &,const char *); + static void add(QWidget *,const QRect &,const char *,QToolTipGroup *,const char *); + static void remove(QWidget *,const QRect &); + static QFont font(); + static void setFont(const QFont &); + static QPalette palette(); + static void setPalette(const QPalette &); + QWidget *parentWidget() const; + QToolTipGroup *group() const; + +protected: + virtual void maybeTip(const QPoint &) = 0; + void tip(const QRect &,const char *); + void tip(const QRect &,const char *,const char *); + void clear(); +}; + +%End + +%If (Qt_2_00 -) + +class QToolTip : Qt +{ +%TypeHeaderCode +#include <qtooltip.h> +%End + +public: + QToolTip(QWidget *,QToolTipGroup * = 0); + + static void add(QWidget *,const QString &); + static void add(QWidget *,const QString &,QToolTipGroup *, + const QString &); + static void remove(QWidget *); + + static void add(QWidget *,const QRect &,const QString &); + static void add(QWidget *,const QRect &,const QString &, + QToolTipGroup *,const QString &); + static void remove(QWidget *,const QRect &); + +%If (Qt_3_0_0 -) + static QString textFor(QWidget *,const QPoint & = QPoint()); +%End + +%If (Qt_2_1_0 -) + static void hide(); +%End + + static QFont font(); + static void setFont(const QFont &); + static QPalette palette(); + static void setPalette(const QPalette &); + +%If (Qt_3_0_0 -) + static void setGloballyEnabled(bool); + static bool isGloballyEnabled(); +%End +%If (Qt_2_1_0 - Qt_3_0_0) + static void setEnabled(bool); + static bool enabled(); +%End +%If (Qt_3_1_0 -) + static void setWakeUpDelay(int); +%End + + QWidget *parentWidget() const; + QToolTipGroup *group() const; + +protected: + virtual void maybeTip(const QPoint &) = 0; + void tip(const QRect &,const QString &); + void tip(const QRect &,const QString &,const QString &); +%If (Qt_3_1_0 -) + void tip(const QRect &,const QString &,const QRect &); + void tip(const QRect &,const QString &,const QString &,const QRect &); +%End + void clear(); +}; + +%End diff --git a/sip/qt/qtranslator.sip b/sip/qt/qtranslator.sip new file mode 100644 index 0000000..08200ad --- /dev/null +++ b/sip/qt/qtranslator.sip @@ -0,0 +1,177 @@ +// This is the SIP interface definition for QTranslator and QTranslatorMessage. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QTranslator (Qt v2+)</Title> +<Para> +<Literal>QTranslator</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTranslatorMessage (Qt v2.2+)</Title> +<Para> +<Literal>QTranslatorMessage</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_2_0 -) + +class QTranslatorMessage +{ +%TypeHeaderCode +#include <qtranslator.h> +%End + +public: + QTranslatorMessage(); + QTranslatorMessage(const char *,const char *,const char *, + const QString & = QString::null); + QTranslatorMessage(QDataStream &); + QTranslatorMessage(const QTranslatorMessage &); + + uint hash() const; + const char *context() const; + const char *sourceText() const; + const char *comment() const; + + void setTranslation(const QString &); + QString translation() const; + + enum Prefix { + NoPrefix, + Hash, + HashContext, + HashContextSourceText, + HashContextSourceTextComment + }; + +%If (- Qt_3_0_0) + void write(QDataStream &,bool, + Prefix = HashContextSourceTextComment) const /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + void write(QDataStream &,bool = 0, + Prefix = HashContextSourceTextComment) const /ReleaseGIL/; +%End + + Prefix commonPrefix(const QTranslatorMessage &) const; +}; + +%End + + +%If (Qt_2_00 -) + +class QTranslator : QObject +{ +%TypeHeaderCode +#include <qtranslator.h> +%End + +public: +%If (Qt_3_2_0 -) + QTranslator(QObject * /TransferThis/ = 0,const char * = 0); +%End +%If (- Qt_3_2_0) + QTranslator(QObject * /TransferThis/,const char * = 0); +%End + +%If (Qt_2_2_0 -) + QString find(const char *,const char *,const char *) const; +%End +%If (- Qt_3_0_0) + virtual QString find(const char *,const char *) const; +%End + +%If (Qt_2_2_0 - Qt_3_0_0) + QTranslatorMessage findMessage(const char *,const char *, + const char *) const; +%End +%If (Qt_3_0_0 - Qt_3_2_0) + virtual QTranslatorMessage findMessage(const char *,const char *, + const char *) const; +%End +%If (Qt_3_2_0 -) + virtual QTranslatorMessage findMessage(const char *,const char *, + const char * = 0) const; +%End + + bool load(const QString &,const QString & = QString::null, + const QString & = QString::null, + const QString & = QString::null); +%If (Qt_3_1_0 -) + bool load(const uchar *,int); +%End + + void clear(); + + enum SaveMode { + Everything, + Stripped + }; + + bool save(const QString &,SaveMode = Everything); + +%If (Qt_2_2_0 -) + void insert(const QTranslatorMessage &); +%End +%If (- Qt_3_0_0) + void insert(const char *,const char *,const QString &); +%End +%If (Qt_2_2_0 -) + void remove(const QTranslatorMessage &); +%End +%If (- Qt_3_0_0) + void remove(const char *,const char *); +%End +%If (- Qt_3_0_0) + bool contains(const char *,const char *) const; +%End +%If (Qt_2_2_0 - Qt_3_0_0) + bool contains(const char *,const char *,const char *) const; +%End +%If (Qt_3_0_0 -) + bool contains(const char *,const char *,const char * = 0) const; +%End + +%If (- Qt_3_0_0) + void squeeze(); +%End +%If (Qt_2_2_0 - Qt_3_0_0) + void squeeze(SaveMode); +%End +%If (Qt_3_0_0 -) + void squeeze(SaveMode = Everything); +%End + void unsqueeze(); + +%If (Qt_2_2_0 -) + QValueList<QTranslatorMessage> messages() const; +%End + +private: + QTranslator(const QTranslator &); +}; + +%End diff --git a/sip/qt/qurl.sip b/sip/qt/qurl.sip new file mode 100644 index 0000000..7d343a9 --- /dev/null +++ b/sip/qt/qurl.sip @@ -0,0 +1,116 @@ +// This is the SIP interface definition for QUrl. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QUrl (Qt v2.1+)</Title> +<Para> +<Literal>QUrl</Literal> is fully implemented, including the +<Literal>QString()</Literal>, <Literal>==</Literal> and <Literal>!=</Literal> +operators. +</Para> +</Sect2> +%End + + +%If (Qt_2_1_0 -) + +class QUrl +{ +%TypeHeaderCode +#include <qurl.h> +%End + +public: + QUrl(); + QUrl(const QString &); + QUrl(const QUrl &); + QUrl(const QUrl &,const QString &,bool = 0); + + QString protocol() const; + virtual void setProtocol(const QString &); + + QString user() const; + virtual void setUser(const QString &); + bool hasUser() const; + + QString password() const; + virtual void setPassword(const QString &); + bool hasPassword() const; + + QString host() const; + virtual void setHost(const QString &); + bool hasHost() const; + + int port() const; + virtual void setPort(int); +%If (Qt_3_0_0 -) + bool hasPort() const; +%End + + QString path(bool = 1) const; + virtual void setPath(const QString &); + bool hasPath() const; + + virtual void setEncodedPathAndQuery(const QString &); + QString encodedPathAndQuery(); + + virtual void setQuery(const QString &); + QString query() const; + + QString ref() const; + virtual void setRef(const QString &); + bool hasRef() const; + + bool isValid() const; + bool isLocalFile() const; + + virtual void addPath(const QString &); + virtual void setFileName(const QString &); + + QString fileName() const; + QString dirPath() const; + + bool operator==(const QUrl &) const; + bool operator==(const QString &) const; + +%If (Qt_SIP_PRE_4_7_2) + // Qt doesn't implement these, but SIP doesn't support C++'s default + // handling of != when == is implemented. + bool operator!=(const QUrl &) const; + bool operator!=(const QString &) const; +%End + + static void decode(QString &); + static void encode(QString &); + + virtual QString toString(bool = 0,bool = 0) const; + + virtual bool cdUp(); + + static bool isRelativeUrl(const QString &); + +protected: + virtual void reset(); + virtual bool parse(const QString &); +}; + +%End diff --git a/sip/qt/qurlinfo.sip b/sip/qt/qurlinfo.sip new file mode 100644 index 0000000..7f2d5d3 --- /dev/null +++ b/sip/qt/qurlinfo.sip @@ -0,0 +1,96 @@ +// This is the SIP interface definition for QUrlInfo. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QUrlInfo (Qt v2.1+)</Title> +<Para> +<Literal>QUrlInfo</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_NETWORKPROTOCOL) +%If (Qt_2_1_0 -) + +class QUrlInfo +{ +%TypeHeaderCode +#include <qurlinfo.h> +%End + +public: +%If (Qt_3_2_0 -) + enum PermissionSpec { + ReadOwner, WriteOwner, ExeOwner, + ReadGroup, WriteGroup, ExeGroup, + ReadOther, WriteOther, ExeOther + }; +%End + + QUrlInfo(); + QUrlInfo(const QUrlOperator &,const QString &); + QUrlInfo(const QUrlInfo &); + QUrlInfo(const QString &,int,const QString &,const QString &,uint, + const QDateTime &,const QDateTime &,bool,bool,bool,bool,bool, + bool); + QUrlInfo(const QUrl &,int,const QString &,const QString &,uint, + const QDateTime &,const QDateTime &,bool,bool,bool,bool,bool, + bool); + + virtual void setName(const QString &); + virtual void setDir(bool); + virtual void setFile(bool); + virtual void setSymLink(bool); + virtual void setOwner(const QString &); + virtual void setGroup(const QString &); + virtual void setSize(uint); + virtual void setWritable(bool); + virtual void setReadable(bool); + virtual void setPermissions(int); + virtual void setLastModified(const QDateTime &); + +%If (Qt_3_0_0 -) + bool isValid() const; +%End + + QString name() const; + int permissions() const; + QString owner() const; + QString group() const; + uint size() const; + QDateTime lastModified() const; + QDateTime lastRead() const; + bool isDir() const; + bool isFile() const; + bool isSymLink() const; + bool isWritable() const; + bool isReadable() const; + bool isExecutable() const; + + static bool greaterThan(const QUrlInfo &,const QUrlInfo &,int); + static bool lessThan(const QUrlInfo &,const QUrlInfo &,int); + static bool equal(const QUrlInfo &,const QUrlInfo &,int); +}; + +%End +%End diff --git a/sip/qt/qurloperator.sip b/sip/qt/qurloperator.sip new file mode 100644 index 0000000..b776516 --- /dev/null +++ b/sip/qt/qurloperator.sip @@ -0,0 +1,115 @@ +// This is the SIP interface definition for QUrlOperator. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QUrlOperator (Qt v2.1+)</Title> +<FuncSynopsis> + <FuncDef>virtual bool <Function>isDir</Function></FuncDef> + <ParamDef>bool *<Parameter>ok</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This returns a tuple of the <Literal>bool</Literal> result and the +<Literal>ok</Literal> value. +</Para> +</Sect2> +%End + + +%If (Qt_NETWORKPROTOCOL) +%If (Qt_2_1_0 -) + +class QUrlOperator : QObject, QUrl +{ +%TypeHeaderCode +#include <qurloperator.h> +%End + +public: + QUrlOperator(); + QUrlOperator(const QString &); + QUrlOperator(const QUrlOperator &); + QUrlOperator(const QUrlOperator &,const QString &,bool = 0); + + virtual void setPath(const QString &); + virtual bool cdUp(); + + virtual const QNetworkOperation *listChildren(); + virtual const QNetworkOperation *mkdir(const QString &); + virtual const QNetworkOperation *remove(const QString &); + virtual const QNetworkOperation *rename(const QString &, + const QString &); + virtual const QNetworkOperation *get(const QString & = QString::null); + virtual const QNetworkOperation *put(const QByteArray &, + const QString & = QString::null); +%If (- Qt_3_0_0) + virtual QList<QNetworkOperation> copy(const QString &,const QString &, + bool = 0); +%End +%If (Qt_3_0_0 -) + virtual QPtrList<QNetworkOperation> copy(const QString &, + const QString &,bool = 0, + bool = 1); +%End + virtual void copy(const QStringList &,const QString &,bool = 0); + virtual bool isDir(bool * = 0); + + virtual void setNameFilter(const QString &); + QString nameFilter() const; + + virtual QUrlInfo info(const QString &) const; + + virtual void stop(); + +signals: + void newChildren(const QValueList<QUrlInfo> &,QNetworkOperation *); + void finished(QNetworkOperation *); + void start(QNetworkOperation *); + void createdDirectory(const QUrlInfo &,QNetworkOperation *); + void removed(QNetworkOperation *); + void itemChanged(QNetworkOperation *); + void data(const QByteArray &,QNetworkOperation *); + void dataTransferProgress(int,int,QNetworkOperation *); +%If (- Qt_3_0_0) + void startedNextCopy(const QList<QNetworkOperation> &); +%End +%If (Qt_3_0_0 -) + void startedNextCopy(const QPtrList<QNetworkOperation> &); +%End + void connectionStateChanged(int,const QString &); + +protected: +%If (- Qt_3_0_0) + virtual void reset(); + virtual bool parse(const QString &); +%End +%If (Qt_3_0_0 -) + void reset(); + bool parse(const QString &); +%End + virtual bool checkValid(); + virtual void clearEntries(); + void getNetworkProtocol(); + void deleteNetworkProtocol(); +}; + +%End +%End diff --git a/sip/qt/quuid.sip b/sip/qt/quuid.sip new file mode 100644 index 0000000..5836dfb --- /dev/null +++ b/sip/qt/quuid.sip @@ -0,0 +1,87 @@ +// This is the SIP interface definition for QUuid. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QUuid (Qt v3.0+)</Title> +<Para> +<Literal>QUuid</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QUuid +{ +%TypeHeaderCode +#include <quuid.h> +%End + +public: +%If (Qt_3_3_0 -) + enum Variant + { + VarUnknown, + NCS, + DCE, + Microsoft, + Reserved + }; + + enum Version + { + VerUnknown, + Time, + EmbeddedPOSIX, + Name, + Random + }; +%End + + QUuid(); +%If (Qt_3_0_1 -) + QUuid(uint,ushort,ushort,uchar,uchar,uchar,uchar,uchar,uchar,uchar,uchar); +%End +%If (- Qt_3_0_1) + QUuid(ulong,ushort,ushort,uchar,uchar,uchar,uchar,uchar,uchar,uchar,uchar); +%End + QUuid(const QUuid &); + QUuid(const QString &); + + QString toString() const; + bool isNull() const; + + bool operator==(const QUuid &) const; + bool operator!=(const QUuid &) const; + +%If (Qt_3_3_0 -) + bool operator<(const QUuid &) const; + bool operator>(const QUuid &) const; + + static QUuid createUuid(); + QUuid::Variant variant() const; + QUuid::Version version() const; +%End +}; + +%End diff --git a/sip/qt/qvalidator.sip b/sip/qt/qvalidator.sip new file mode 100644 index 0000000..d3329db --- /dev/null +++ b/sip/qt/qvalidator.sip @@ -0,0 +1,227 @@ +// This is the SIP interface definition for QValidator, QDoubleValidator, +// QIntValidator and QRegExpValidator. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qvaluelist.sip b/sip/qt/qvaluelist.sip new file mode 100644 index 0000000..732740d --- /dev/null +++ b/sip/qt/qvaluelist.sip @@ -0,0 +1,181 @@ +// This is the SIP interface definition for all types based on the QValueList +// template. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qvariant.sip b/sip/qt/qvariant.sip new file mode 100644 index 0000000..c942c3e --- /dev/null +++ b/sip/qt/qvariant.sip @@ -0,0 +1,420 @@ +// This is the SIP interface definition for QVariant. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the 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/sip/qt/qvbox.sip b/sip/qt/qvbox.sip new file mode 100644 index 0000000..9f0e811 --- /dev/null +++ b/sip/qt/qvbox.sip @@ -0,0 +1,55 @@ +// This is the SIP interface definition for QVBox. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QVBox (Qt v2+)</Title> +<Para> +<Literal>QVBox</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QVBox : QHBox +{ +%TypeHeaderCode +#include <qvbox.h> +%End + +public: +%If (- Qt_3_0_0) + QVBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0, + bool = 1); +%End +%If (Qt_3_0_0 -) + QVBox(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); +%End + +private: +%If (Qt_2_1_0 -) + QVBox(const QVBox &); +%End +}; + +%End diff --git a/sip/qt/qvbuttongroup.sip b/sip/qt/qvbuttongroup.sip new file mode 100644 index 0000000..9561ed5 --- /dev/null +++ b/sip/qt/qvbuttongroup.sip @@ -0,0 +1,48 @@ +// This is the SIP interface definition for QVButtonGroup. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QVButtonGroup (Qt v2+)</Title> +<Para> +<Literal>QVButtonGroup</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QVButtonGroup : QButtonGroup +{ +%TypeHeaderCode +#include <qvbuttongroup.h> +%End + +public: + QVButtonGroup(QWidget * /TransferThis/ = 0,const char * = 0); + QVButtonGroup(const QString &,QWidget * /TransferThis/ = 0,const char * = 0); + +private: + QVButtonGroup(const QVButtonGroup &); +}; + +%End diff --git a/sip/qt/qvgroupbox.sip b/sip/qt/qvgroupbox.sip new file mode 100644 index 0000000..06b355e --- /dev/null +++ b/sip/qt/qvgroupbox.sip @@ -0,0 +1,48 @@ +// This is the SIP interface definition for QVGroupBox. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QVGroupBox (Qt v2+)</Title> +<Para> +<Literal>QVGroupBox</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +class QVGroupBox : QGroupBox +{ +%TypeHeaderCode +#include <qvgroupbox.h> +%End + +public: + QVGroupBox(QWidget * /TransferThis/ = 0,const char * = 0); + QVGroupBox(const QString &,QWidget * /TransferThis/ = 0,const char * = 0); + +private: + QVGroupBox(const QVGroupBox &); +}; + +%End diff --git a/sip/qt/qwaitcondition.sip b/sip/qt/qwaitcondition.sip new file mode 100644 index 0000000..5d8d66f --- /dev/null +++ b/sip/qt/qwaitcondition.sip @@ -0,0 +1,81 @@ +// This is the SIP interface definition for QWaitCondition. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QWaitCondition (Qt v2.2+)</Title> +<Para> +<Literal>QWaitCondition</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_THREAD_SUPPORT) + +%If (Qt_3_0_0 -) + +class QWaitCondition +{ +%TypeHeaderCode +#include <qwaitcondition.h> +%End + +public: + QWaitCondition(); + + bool wait(unsigned long = ULONG_MAX) /ReleaseGIL/; + bool wait(QMutex *,unsigned long = ULONG_MAX) /ReleaseGIL/; + + void wakeOne(); + void wakeAll(); + +private: + QWaitCondition(const QWaitCondition &); +}; + +%End + + +%If (Qt_2_2_0 - Qt_3_0_0) + +class QWaitCondition : Qt +{ +%TypeHeaderCode +#include <qthread.h> +%End + +public: + QWaitCondition(); + + bool wait(unsigned long = ULONG_MAX) /ReleaseGIL/; + bool wait(QMutex *,unsigned long = ULONG_MAX) /ReleaseGIL/; + + void wakeOne(); + void wakeAll(); + +private: + QWaitCondition(const QWaitCondition &); +}; + +%End + +%End diff --git a/sip/qt/qwhatsthis.sip b/sip/qt/qwhatsthis.sip new file mode 100644 index 0000000..b745449 --- /dev/null +++ b/sip/qt/qwhatsthis.sip @@ -0,0 +1,97 @@ +// This is the SIP interface definition for QWhatsThis. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QWhatsThis</Title> +<Para> +<Literal>QWhatsThis</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +class QWhatsThis +{ +%TypeHeaderCode +#include <qwhatsthis.h> +%End + +public: + static void add(QWidget *,const char *,bool = 1); + static void add(QWidget *,const QPixmap &,const char *,const char *,bool = 1); + static void remove(QWidget *); + static const char *textFor(QWidget *); + static QToolButton *whatsThisButton(QWidget *); +}; + +%End + +%If (Qt_2_00 -) + +class QWhatsThis : Qt +{ +%TypeHeaderCode +#include <qwhatsthis.h> +%End + +public: + QWhatsThis(QWidget *); + + virtual QString text(const QPoint &); +%If (Qt_3_0_0 -) + virtual bool clicked(const QString &); +%End + +%If (Qt_3_1_0 -) + static void setFont(const QFont &); +%End + + static void add(QWidget *,const QString &); + static void remove(QWidget *); +%If (- Qt_3_0_0) + static QString textFor(QWidget *,const QPoint & = QPoint()); +%End +%If (Qt_3_0_0 -) + static QString textFor(QWidget *,const QPoint & = QPoint(),bool = 0); +%End + + static QToolButton *whatsThisButton(QWidget *); + + static void enterWhatsThisMode(); + static bool inWhatsThisMode(); +%If (- Qt_3_0_0) + static void leaveWhatsThisMode(const QString & = QString::null, + const QPoint & = QCursor::pos()); +%End +%If (Qt_3_0_0 -) + static void leaveWhatsThisMode(const QString & = QString::null, + const QPoint & = QCursor::pos(), + QWidget * = 0); + + static void display(const QString &,const QPoint & = QCursor::pos(), + QWidget * = 0); +%End +}; + +%End diff --git a/sip/qt/qwidget.sip b/sip/qt/qwidget.sip new file mode 100644 index 0000000..72b4304 --- /dev/null +++ b/sip/qt/qwidget.sip @@ -0,0 +1,664 @@ +// This is the SIP interface definition for QWidget. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QWidget</Title> +<FuncSynopsis> + <FuncDef>QWExtra *<Function>extraData</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>QFocusData *<Function>focusData</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>lower</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>lowerW</Literal> in Python. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>raise</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed to <Literal>raiseW</Literal> in Python. +</Para> +</Sect2> +%End + + +class QWidget : QObject, QPaintDevice +{ +%TypeHeaderCode +#include <qwidget.h> +%End + +public: + QWidget(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + + WId winId() const; + bool isTopLevel() const; +%If (Qt_3_0_0 -) + bool isDialog() const; +%End + bool isPopup() const; + bool isDesktop() const; + bool isModal() const; + bool isEnabled() const; + bool isEnabledTo(QWidget *) const; + bool isEnabledToTLW() const; + const QRect &geometry() const; + int x() const; + int y() const; + QPoint pos() const; + QSize size() const; + int width() const; + int height() const; + QRect rect() const; + QRect childrenRect() const; + QSize minimumSize() const; + QSize maximumSize() const; + void setMinimumSize(const QSize &); + void setMaximumSize(const QSize &); + void setMinimumWidth(int); + void setMinimumHeight(int); + void setMaximumWidth(int); + void setMaximumHeight(int); + QSize sizeIncrement() const; + void setSizeIncrement(const QSize &); + void setFixedSize(const QSize &); + void setFixedSize(int,int); + void setFixedWidth(int); + void setFixedHeight(int); + QPoint mapToGlobal(const QPoint &) const; + QPoint mapFromGlobal(const QPoint &) const; + QPoint mapToParent(const QPoint &) const; + QPoint mapFromParent(const QPoint &) const; +%If (Qt_2_2_0 -) + QPoint mapTo(QWidget *,const QPoint &) const; + QPoint mapFrom(QWidget *,const QPoint &) const; +%End + + QWidget *topLevelWidget() const; + + BackgroundMode backgroundMode() const; +%If (- Qt_3_0_0) + const QColor &backgroundColor() const; + virtual void setBackgroundColor(const QColor &); + const QPixmap *backgroundPixmap(); + virtual void setBackgroundPixmap(const QPixmap &); +%End + + const QColor &foregroundColor() const; + +%If (Qt_3_0_0 -) + const QColor &eraseColor() const; + virtual void setEraseColor(const QColor &); + + const QPixmap *erasePixmap() const; + virtual void setErasePixmap(const QPixmap &); +%End + + const QColorGroup &colorGroup() const; + const QPalette &palette() const; +%If (Qt_2_2_0 -) + bool ownPalette() const; +%End + virtual void setPalette(const QPalette &); +%If (Qt_2_1_0 -) + void unsetPalette(); +%End + +%If (Qt_3_0_0 -) + const QColor &paletteForegroundColor() const; + void setPaletteForegroundColor(const QColor &); + + const QColor &paletteBackgroundColor() const; + virtual void setPaletteBackgroundColor(const QColor &); + + const QPixmap *paletteBackgroundPixmap() const; + virtual void setPaletteBackgroundPixmap(const QPixmap &); + + const QBrush &backgroundBrush() const; +%End + +%If (Qt_2_2_0 -) + bool ownFont() const; +%End + virtual void setFont(const QFont &); + QFontMetrics fontMetrics() const; + QFontInfo fontInfo() const; + +%If (- Qt_3_0_0) + enum PropagationMode + { + NoChildren, + AllChildren, + SameFont, + SamePalette = SameFont + }; + + PropagationMode fontPropagation() const; + PropagationMode palettePropagation() const; +%End + + const QCursor &cursor() const; +%If (Qt_2_2_0 -) + bool ownCursor() const; +%End + virtual void setCursor(const QCursor &); + const QPixmap *icon() const; + bool hasMouseTracking() const; +%If (Qt_3_0_0 -) + bool hasMouse() const; +%End + + void clearMask(); + bool isActiveWindow() const; + bool isFocusEnabled() const; + FocusPolicy focusPolicy() const; + bool hasFocus() const; + static void setTabOrder(QWidget *,QWidget *); + QWidget *focusProxy() const; + +%If (Qt_3_2_0 -) + void setInputMethodEnabled(bool); + bool isInputMethodEnabled() const; +%End + + void grabMouse(); + void grabMouse(const QCursor &); + void releaseMouse(); + void grabKeyboard(); + void releaseKeyboard(); + static QWidget *mouseGrabber(); + static QWidget *keyboardGrabber(); + bool isUpdatesEnabled() const; + bool isVisible() const; + bool isVisibleTo(QWidget *) const; + bool isVisibleToTLW() const; + virtual QSize sizeHint() const; +%If (- Qt_3_1_0) + virtual void adjustSize(); +%End + void erase(); + void erase(int,int,int,int); + void erase(const QRect &); + void scroll(int,int); + QWidget *focusWidget() const; + bool acceptDrops() const; +%If (- Qt_3_0_0) + QWidget *parentWidget() const; + bool testWFlags(WFlags) const; +%End +%If (Qt_3_0_0 -) + QWidget *parentWidget(bool = 0) const; + WState testWState(WState) const; + WFlags testWFlags(WFlags) const; +%End + static QWidget *find(WId); + +%If (Qt_3_0_0 -) + QWidget *childAt(int,int,bool = 0) const; + QWidget *childAt(const QPoint &,bool = 0) const; +%End + +%If (Qt_3_3_0 -) + void setWindowOpacity(double); + double windowOpacity() const; +%End + +%If (- Qt_2_00) + GUIStyle style() const; + virtual void setStyle(GUIStyle); + const QRect &frameGeometry() const; + void setMinimumSize(int,int); + void setMaximumSize(int,int); + void setSizeIncrement(int,int); + + enum BackgroundMode + { + FixedColor, + FixedPixmap, + NoBackground, + PaletteForeground, + PaletteBackground, + PaletteLight, + PaletteMidlight, + PaletteDark, + PaletteMid, + PaletteText, + PaletteBase + }; + + void setBackgroundMode(BackgroundMode); + const QFont &font() const; + void setFontPropagation(PropagationMode); + void setPalettePropagation(PropagationMode); + const char *caption() const; + const char *iconText() const; + void setMask(QBitmap); + void setMask(const QRegion &); + + enum FocusPolicy + { + NoFocus = 0, + TabFocus = 1, + ClickFocus = 2, + StrongFocus = 3 + }; + + void setActiveWindow(); + void setFocusPolicy(FocusPolicy); + void setFocus(); + void clearFocus(); + void setFocusProxy(QWidget *); + virtual bool close(bool = 0); + void recreate(QWidget *,WFlags,const QPoint &,bool = 0); + void drawText(int,int,const char *); + void drawText(const QPoint &,const char *); + void setAcceptDrops(bool); +%End + +%If (Qt_2_00 -) + void setName(const char *); + QStyle &style() const; + void setStyle(QStyle *); +%If (Qt_3_0_0 -) + QStyle *setStyle(const QString &); +%End + QRect frameGeometry() const; + QSize frameSize() const; + QRegion childrenRegion() const; + int minimumWidth() const; + int minimumHeight() const; + int maximumWidth() const; + int maximumHeight() const; + virtual void setMinimumSize(int,int); + virtual void setMaximumSize(int,int); + virtual void setSizeIncrement(int,int); + QSize baseSize() const; + void setBaseSize(const QSize &); + void setBaseSize(int,int); + +%If (- Qt_2_2_0) + enum BackgroundMode + { + FixedColor, + FixedPixmap, + NoBackground, + PaletteForeground, + PaletteButton, + PaletteLight, + PaletteMidlight, + PaletteDark, + PaletteMid, + PaletteText, + PaletteBrightText, + PaletteBase, + PaletteBackground, + PaletteShadow, + PaletteHighlight, + PaletteHighlightedText + }; +%End +%If (Qt_2_2_0 - Qt_3_0_0) + enum BackgroundMode + { + FixedColor, + FixedPixmap, + NoBackground, + PaletteForeground, + PaletteButton, + PaletteLight, + PaletteMidlight, + PaletteDark, + PaletteMid, + PaletteText, + PaletteBrightText, + PaletteBase, + PaletteBackground, + PaletteShadow, + PaletteHighlight, + PaletteHighlightedText, + PaletteButtonText, + X11ParentRelative + }; +%End + + virtual void setBackgroundMode(BackgroundMode); +%If (Qt_3_0_0 -) + void setBackgroundMode(BackgroundMode,BackgroundMode); +%End + QFont font() const; +%If (- Qt_3_0_0) + void setPalette(const QPalette &,bool); + void setFont(const QFont &,bool); + virtual void setFontPropagation(PropagationMode); + virtual void setPalettePropagation(PropagationMode); +%End + virtual void unsetCursor(); + QString caption() const; + QString iconText() const; + virtual void setMask(const QBitmap &); + virtual void setMask(const QRegion &); + + enum FocusPolicy + { + NoFocus = 0, + TabFocus = 1, + ClickFocus = 2, + StrongFocus = 3, + WheelFocus = 7 + }; + + virtual void setActiveWindow(); + virtual void setFocusPolicy(FocusPolicy); + virtual void setFocusProxy(QWidget *); + virtual bool close(bool); + // Obsolete. + QRect visibleRect() const; + bool isMinimized() const; + virtual QSize minimumSizeHint() const; + virtual QSizePolicy sizePolicy() const; +%If (Qt_2_2_0 -) + bool isHidden() const; + bool isMaximized() const; +%End +%If (Qt_3_1_0 -) + bool isShown() const; + bool isFullScreen() const; +%End + +%If (Qt_3_3_0 -) + uint windowState() const; + void setWindowState(uint); +%End + +%If (Qt_3_0_0 -) + virtual void setSizePolicy(QSizePolicy); +%End +%If (Qt_3_1_0 -) + void setSizePolicy(QSizePolicy::SizeType,QSizePolicy::SizeType, + bool = 0); +%End +%If (Qt_2_2_0 - Qt_3_0_0) + void setSizePolicy(QSizePolicy); +%End + virtual int heightForWidth(int) const; + +%If (Qt_3_2_0 -) + QRegion clipRegion() const; +%End + + QLayout *layout() const; + void updateGeometry(); + + virtual void reparent(QWidget * /GetWrapper/,WFlags,const QPoint &, + bool = 0); +%MethodCode + if (sipCpp -> parent() != a0) + { + if (a0) + sipTransferTo(sipSelf,a0Wrapper); + else + sipTransferBack(sipSelf); + } + + Py_BEGIN_ALLOW_THREADS + sipSelfWasArg ? sipCpp->QWidget::reparent(a0, a1, *a2, a3) : sipCpp->reparent(a0, a1, *a2, a3); + Py_END_ALLOW_THREADS +%End + +%If (Qt_2_1_0 -) + void reparent(QWidget * /GetWrapper/,const QPoint &,bool = 0); +%MethodCode + if (sipCpp -> parent() != a0) + { + if (a0) + sipTransferTo(sipSelf,a0Wrapper); + else + sipTransferBack(sipSelf); + } + + Py_BEGIN_ALLOW_THREADS + sipCpp->reparent(a0, *a1, a2); + Py_END_ALLOW_THREADS +%End +%End + + void erase(const QRegion &); + void scroll(int,int,const QRect &); + void drawText(int,int,const QString &); + void drawText(const QPoint &,const QString &); + virtual void setAcceptDrops(bool); + virtual void setAutoMask(bool); + bool autoMask() const; + virtual bool customWhatsThis() const; +%If (- Qt_3_0_0) + bool testWState(uint) const; +%End +%End + +%If (Qt_2_1_0 -) + QRect microFocusHint() const; + void unsetFont(); +%End + +%If (Qt_2_1_0 -) + enum BackgroundOrigin { + WidgetOrigin, + ParentOrigin, +%If (Qt_3_0_0 -) + WindowOrigin, +%End +%If (Qt_3_1_0 -) + AncestorOrigin, +%End + }; +%End + +%If (Qt_2_1_0 - Qt_3_0_0) + void setBackgroundOrigin(BackgroundOrigin); +%End +%If (Qt_3_0_0 -) + virtual void setBackgroundOrigin(BackgroundOrigin); +%End +%If (Qt_2_1_0 -) + BackgroundOrigin backgroundOrigin() const; +%End + +%If (Qt_3_1_0 -) + QPoint backgroundOffset() const; +%End + +public slots: +%If (Qt_3_1_0 -) + virtual void adjustSize(); +%End + virtual void setEnabled(bool); +%If (Qt_2_2_0 -) + void setDisabled(bool); +%End + void update(); + void update(int,int,int,int); + void update(const QRect &); + void repaint(int,int,int,int,bool = 1); + void repaint(const QRect &,bool = 1); + virtual void show(); + virtual void hide(); +%If (Qt_3_1_0 -) + void setShown(bool); + void setHidden(bool); +%End + void raise() /PyName=raiseW/; + void lower() /PyName=lowerW/; + virtual void move(int,int); + void move(const QPoint &); + virtual void resize(int,int); + void resize(const QSize &); + virtual void setGeometry(int,int,int,int); + +%If (- Qt_2_00) + void setCaption(const char *); + void setIcon(const QPixmap &); + void setIconText(const char *); + void setMouseTracking(bool); + void setUpdatesEnabled(bool); + void repaint(bool = 1); + void iconify(); + void setGeometry(const QRect &); +%End + +%If (Qt_2_00 -) + virtual void setCaption(const QString &); + virtual void setIcon(const QPixmap &); + virtual void setIconText(const QString &); + virtual void setMouseTracking(bool); + virtual void setFocus(); + void clearFocus(); + virtual void setUpdatesEnabled(bool); + void repaint(); + void repaint(bool); + void repaint(const QRegion &,bool = 1); + virtual void showMinimized(); + virtual void showMaximized(); + virtual void showNormal(); + virtual void polish(); + bool close(); + virtual void setGeometry(const QRect &); +%End + +%If (Qt_2_1_0 -) + void showFullScreen(); + void constPolish() const; +%End + +%If (Qt_3_0_0 -) + // This was added before v3 but I can't be bothered to work out exactly + // when. + void stackUnder(QWidget *); +%End + +protected: + bool event(QEvent *); + virtual void mousePressEvent(QMouseEvent *); + virtual void mouseReleaseEvent(QMouseEvent *); + virtual void mouseDoubleClickEvent(QMouseEvent *); + virtual void mouseMoveEvent(QMouseEvent *); + virtual void keyPressEvent(QKeyEvent *); + virtual void keyReleaseEvent(QKeyEvent *); + virtual void focusInEvent(QFocusEvent *); + virtual void focusOutEvent(QFocusEvent *); + virtual void enterEvent(QEvent *); + virtual void leaveEvent(QEvent *); + virtual void paintEvent(QPaintEvent *); + virtual void moveEvent(QMoveEvent *); + virtual void resizeEvent(QResizeEvent *); + virtual void closeEvent(QCloseEvent *); +%If (Qt_3_0_0 -) + virtual void contextMenuEvent(QContextMenuEvent *); + virtual void imStartEvent(QIMEvent *); + virtual void imComposeEvent(QIMEvent *); + virtual void imEndEvent(QIMEvent *); + virtual void tabletEvent(QTabletEvent *); +%End + virtual void enabledChange(bool); +%If (- Qt_3_0_0) + virtual void backgroundColorChange(const QColor &); + virtual void backgroundPixmapChange(const QPixmap &); +%End + virtual void paletteChange(const QPalette &); + virtual void fontChange(const QFont &); +%If (Qt_3_0_0 -) + virtual void windowActivationChange(bool); + void resetInputContext(); +%End + WFlags getWFlags() const; + void clearWFlags(WFlags); + virtual bool focusNextPrevChild(bool); +// QWExtra *extraData(); +// QFocusData *focusData(); + +%If (- Qt_2_00) + virtual void styleChange(GUIStyle); + void create(WId); + void create(WId,bool,bool); + void destroy(bool,bool); + void setWFlags(WFlags); + void setFRect(const QRect &); + void setCRect(const QRect &); + void setSizeGrip(bool); +%End + +%If (Qt_2_00 -) + virtual void wheelEvent(QWheelEvent *); +%If (Qt_DRAGANDDROP) + virtual void dragEnterEvent(QDragEnterEvent *); + virtual void dragMoveEvent(QDragMoveEvent *); + virtual void dragLeaveEvent(QDragLeaveEvent *); + virtual void dropEvent(QDropEvent *); +%End + virtual void showEvent(QShowEvent *); + virtual void hideEvent(QHideEvent *); +%If (- Qt_3_0_0) + virtual void customEvent(QCustomEvent *); +%End + + + virtual void updateMask(); + + virtual void styleChange(QStyle &); + int metric(int) const; + virtual void create(WId = 0,bool = 1,bool = 1); + virtual void destroy(bool = 1,bool = 1); + uint getWState() const; + virtual void setWState(uint); + void clearWState(uint); + virtual void setWFlags(WFlags); +%If (- Qt_3_0_0) + virtual void setFRect(const QRect &); + virtual void setCRect(const QRect &); +%End + virtual void setKeyCompression(bool); +%If (- Qt_3_0_0) + virtual void setMicroFocusHint(int,int,int,int,bool = 1); +%End +%If (Qt_3_0_0 -) + virtual void setMicroFocusHint(int,int,int,int,bool = 1,QFont * = 0); +%End +%End + +private: + QWidget(const QWidget &); +}; diff --git a/sip/qt/qwidgetlist.sip b/sip/qt/qwidgetlist.sip new file mode 100644 index 0000000..9fdc1ad --- /dev/null +++ b/sip/qt/qwidgetlist.sip @@ -0,0 +1,107 @@ +// This is the SIP interface definition for QWidgetList. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QWidgetList</Title> +<Para> +This class isn't implemented. Whenever a <Literal>QWidgetList</Literal> is the +return type of a function or the type of an argument, a Python list of +instances is used instead. +</Para> +</Sect2> +%End + + +%MappedType QWidgetList +{ +%TypeHeaderCode +#include <qwidgetlist.h> +%End + +%ConvertFromTypeCode + // Convert the list. + + PyObject *pl; + QWidget *obj; + + if ((pl = PyList_New(0)) == NULL) + return NULL; + + for (QWidgetListIt it(*sipCpp); (obj = it.current()) != NULL; ++it) + { + PyObject *inst; + + if ((inst = sipConvertFromInstance(obj,sipClass_QWidget,sipTransferObj)) == NULL || PyList_Append(pl,inst) < 0) + { + Py_XDECREF(inst); + Py_DECREF(pl); + + return NULL; + } + + Py_DECREF(inst); + } + + return pl; +%End + +%ConvertToTypeCode + // Convert a Python list of QWidget instances to a QWidgetList on the + // heap. + + if (sipIsErr == NULL) + { + if (!PyList_Check(sipPy)) + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QWidget,0)) + return 0; + + return 1; + } + + QWidgetList *qwl = new QWidgetList; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + QWidget *qw; + + // We apply the transfer to the list itself, not the elements. + // Note that any temporary element will never be destroyed. + // There is nothing that can be done about this. + qw = reinterpret_cast<QWidget *>(sipConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QWidget,0,0,0,sipIsErr)); + + if (*sipIsErr) + { + delete qwl; + return 0; + } + + qwl -> append(qw); + } + + *sipCppPtr = qwl; + + return sipGetState(sipTransferObj); +%End +}; diff --git a/sip/qt/qwidgetstack.sip b/sip/qt/qwidgetstack.sip new file mode 100644 index 0000000..daf6694 --- /dev/null +++ b/sip/qt/qwidgetstack.sip @@ -0,0 +1,98 @@ +// This is the SIP interface definition for QWidgetStack. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QWidgetStack</Title> +<Para> +<Literal>QWidgetStack</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +class QWidgetStack : QFrame +{ +%TypeHeaderCode +#include <qwidgetstack.h> +%End + +public: + QWidgetStack(QWidget * /TransferThis/ = 0,const char * = 0); +%If (Qt_3_1_0 -) + QWidgetStack(QWidget * /TransferThis/,const char *,WFlags); +%End + + // The QWidget has it's parent changed to be `this' so it will be + // deleted automatically when `this' is deleted. It stays this way + // even if removeWidget() is called, so it isn't transferred back. +%If (- Qt_3_0_0) + void addWidget(QWidget * /Transfer/,int); +%End +%If (Qt_3_0_0 -) + int addWidget(QWidget * /Transfer/,int = -1); +%End + void removeWidget(QWidget *); + +%If (Qt_2_00 -) + QSize sizeHint() const; + QSize minimumSizeHint() const; +%End + void show(); + + QWidget *widget(int) const; + int id(QWidget *) const; + + QWidget *visibleWidget() const; + +%If (Qt_2_00 -) + void setFrameRect(const QRect &); +%End + +%If (- Qt_2_00) + bool event(QEvent *); +%End + +signals: + void aboutToShow(int); + void aboutToShow(QWidget *); + +public slots: + void raiseWidget(int); + void raiseWidget(QWidget *); + +protected: + void frameChanged(); +%If (- Qt_2_00) + void setChildGeometries(); +%End +%If (Qt_2_00 -) + void resizeEvent(QResizeEvent *); + + virtual void setChildGeometries(); + void childEvent(QChildEvent *); +%End + +private: +%If (Qt_2_1_0 -) + QWidgetStack(const QWidgetStack &); +%End +}; diff --git a/sip/qt/qwindow.sip b/sip/qt/qwindow.sip new file mode 100644 index 0000000..4305c42 --- /dev/null +++ b/sip/qt/qwindow.sip @@ -0,0 +1,47 @@ +// This is the SIP interface definition for QWindow. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QWindow</Title> +<Para> +<Literal>QWindow</Literal> is fully implemented (Qt v1.x). +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +class QWindow : QWidget +{ +%TypeHeaderCode +#include <qwindow.h> +%End + +public: + QWindow(QWidget * = 0,const char * = 0,WFlags = 0); + +private: + QWindow(const QWindow &); +}; + +%End diff --git a/sip/qt/qwindowdefs.sip b/sip/qt/qwindowdefs.sip new file mode 100644 index 0000000..4638d71 --- /dev/null +++ b/sip/qt/qwindowdefs.sip @@ -0,0 +1,180 @@ +// This is the SIP interface definition for a variety of constant definitions. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>Qt Constants</Title> +<Para> +All constant values defined by Qt have equivalent constants defined to Python. +</Para> +</Sect2> +%End + + +%ModuleHeaderCode +#include <qwindowdefs.h> +%End + + +%OptionalInclude qwindowdefs_mac.sip +%OptionalInclude qwindowdefs_qws.sip +%OptionalInclude qwindowdefs_win.sip +%OptionalInclude qwindowdefs_x11.sip + + +%If (- Qt_2_00) +typedef short QCOORD; + +const int QCOORD_MIN; +const int QCOORD_MAX; +%End + +%If (Qt_2_00 -) +typedef Q_INT32 QCOORD; + +const QCOORD QCOORD_MIN; +const QCOORD QCOORD_MAX; +%End + + +typedef unsigned QRgb; + +%If (- Qt_3_0_0) +char *qAppName(); +%End +%If (Qt_3_0_0 -) +const char *qAppName(); +%End + + +%If (- Qt_2_00) + +enum GUIStyle { + MacStyle, + WindowsStyle, + Win3Style, + PMStyle, + MotifStyle +}; + + +// Widget state flags. + +typedef uint WFlags; + +const uint WState_Created; +const uint WState_Disabled; +const uint WState_Visible; +const uint WState_DoHide; +const uint WState_ClickToFocus; +const uint WState_TrackMouse; +const uint WState_BlockUpdates; +const uint WState_PaintEvent; + +// Widget type flags. + +const uint WType_TopLevel; +const uint WType_Modal; +const uint WType_Popup; +const uint WType_Desktop; + +// Window style flags. + +const uint WStyle_Customize; +const uint WStyle_NormalBorder; +const uint WStyle_DialogBorder; +const uint WStyle_NoBorder; +const uint WStyle_Title; +const uint WStyle_SysMenu; +const uint WStyle_Minimize; +const uint WStyle_Maximize; +const uint WStyle_MinMax; +const uint WStyle_Tool; +const uint WStyle_Mask; + +// Miscellaneous widget flags. + +const uint WCursorSet; +const uint WDestructiveClose; +const uint WPaintDesktop; +const uint WPaintUnclipped; +const uint WPaintClever; +const uint WConfigPending; +const uint WResizeNoErase; +const uint WRecreated; +const uint WExportFontMetrics; +const uint WExportFontInfo; +const uint WFocusSet; +const uint WState_TabToFocus; + + +enum RasterOp { + CopyROP, + OrROP, + XorROP, + EraseROP, + NotCopyROP, + NotOrROP, + NotXorROP, + NotEraseROP, + NotROP +}; + + +// Text alignment flags. + +const int AlignLeft; +const int AlignRight; +const int AlignHCenter; +const int AlignTop; +const int AlignBottom; +const int AlignVCenter; +const int AlignCenter; + +// Miscellaneous text flags. + +const int SingleLine; +const int DontClip; +const int ExpandTabs; +const int ShowPrefix; +const int WordBreak; +const int GrayText; + +// Image conversion flags. + +const int ColorMode_Mask; +const int AutoColor; +const int ColorOnly; +const int MonoOnly; +const int AlphaDither_Mask; +const int ThresholdAlphaDither; +const int OrderedAlphaDither; +const int DiffuseAlphaDither; +const int Dither_Mask; +const int DiffuseDither; +const int OrderedDither; +const int ThresholdDither; +const int DitherMode_Mask; +const int AutoDither; +const int PreferDither; +const int AvoidDither; + +%End diff --git a/sip/qt/qwindowdefs_qws.sip b/sip/qt/qwindowdefs_qws.sip new file mode 100644 index 0000000..53f4b77 --- /dev/null +++ b/sip/qt/qwindowdefs_qws.sip @@ -0,0 +1,29 @@ +// This is the SIP interface definition for a variety of constant definitions +// for Qt/Embedded. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%If (WS_QWS) + +typedef unsigned WId; +typedef void *HANDLE; + +%End diff --git a/sip/qt/qwindowdefs_x11.sip b/sip/qt/qwindowdefs_x11.sip new file mode 100644 index 0000000..4ddfcd4 --- /dev/null +++ b/sip/qt/qwindowdefs_x11.sip @@ -0,0 +1,48 @@ +// This is the SIP interface definition for a variety of constant definitions +// for X11. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%If (WS_X11) + +%If (- Qt_3_0_0) +typedef unsigned HANDLE; +typedef unsigned WId; +%End + +%If (Qt_3_0_0 -) +typedef unsigned long WId; +%End + +typedef void Display; + +Display *qt_xdisplay(); +int qt_xscreen(); +WId qt_xrootwin(); +%If (Qt_3_1_0 -) +WId qt_xrootwin(int); +%End + +%If (Qt_3_3_0 -) +const char *qAppClass(); +%End + +%End diff --git a/sip/qt/qwindowsstyle.sip b/sip/qt/qwindowsstyle.sip new file mode 100644 index 0000000..34be426 --- /dev/null +++ b/sip/qt/qwindowsstyle.sip @@ -0,0 +1,192 @@ +// This is the SIP interface definition for QWindowsStyle. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QWindowsStyle (Qt v2+)</Title> +<FuncSynopsis> + <FuncDef>void <Function>getButtonShift</Function></FuncDef> + <ParamDef>int &<Parameter>x</Parameter></ParamDef> + <ParamDef>int &<Parameter>y</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the <Literal>x</Literal> and +<Literal>y</Literal> values. (Qt v2) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>scrollBarMetrics</Function></FuncDef> + <ParamDef>const QTabBar *<Parameter>sb</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMin</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderMax</Parameter></ParamDef> + <ParamDef>int &<Parameter>sliderLength</Parameter></ParamDef> + <ParamDef>int &<Parameter>buttonDim</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>sb</Literal> parameter and returns a tuple of the +<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>, +<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values. +(Qt v2) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>tabbarMetrics</Function></FuncDef> + <ParamDef>const QTabBar *<Parameter>t</Parameter></ParamDef> + <ParamDef>int &<Parameter>hframe</Parameter></ParamDef> + <ParamDef>int &<Parameter>vframe</Parameter></ParamDef> + <ParamDef>int &<Parameter>overlap</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes only the <Literal>t</Literal> parameter and returns a tuple of the +<Literal>hframe</Literal>, <Literal>vframe</Literal> and +<Literal>overlap</Literal> values. (Qt v2) +</Para> +</Sect2> +%End + + +%If (Qt_STYLE_WINDOWS) +%If (Qt_2_00 -) + +class QWindowsStyle : QCommonStyle +{ +%TypeHeaderCode +#include <qwindowsstyle.h> +%End + +public: + QWindowsStyle(); + +%If (Qt_3_3_0 -) + void polish(QApplication *); + void unPolish(QApplication *); + + void polish(QWidget *); + void unPolish(QWidget *); + + void polish(QPalette &); +%End + +%If (- Qt_3_0_0) + void drawButton(QPainter *,int,int,int,int,const QColorGroup &, + bool = 0,const QBrush * = 0); + void drawBevelButton(QPainter *,int,int,int,int,const QColorGroup &, + bool = 0,const QBrush * = 0); + void drawFocusRect(QPainter *,const QRect &,const QColorGroup &, + const QColor * = 0,bool = 0); + void drawPushButton(QPushButton *,QPainter *); + + void getButtonShift(int &,int &); + + void drawPanel(QPainter *,int,int,int,int,const QColorGroup &, + bool = 0,int = 1,const QBrush * = 0); + void drawPopupPanel(QPainter *,int,int,int,int,const QColorGroup &, + int = 2,const QBrush * = 0); + void drawArrow(QPainter *,ArrowType,bool,int,int,int,int, + const QColorGroup &,bool,const QBrush * = 0); + QSize indicatorSize() const; + void drawIndicator(QPainter *,int,int,int,int,const QColorGroup &, + int,bool = 0,bool = 1); + QSize exclusiveIndicatorSize() const; + void drawExclusiveIndicator(QPainter *,int,int,int,int, + const QColorGroup &,bool,bool = 0,bool = 1); + void drawExclusiveIndicatorMask(QPainter *,int,int,int,int,bool); + void drawComboButton(QPainter *,int,int,int,int,const QColorGroup &, + bool = 0,bool = 0,bool = 1,const QBrush * = 0); + QRect comboButtonRect(int,int,int,int); + QRect comboButtonFocusRect(int,int,int,int); + + void tabbarMetrics(const QTabBar *,int &,int &,int &); + + void drawTab(QPainter *,const QTabBar *,QTab *,bool); + void drawTabMask(QPainter *,const QTabBar *,QTab *,bool); + + void scrollBarMetrics(const QScrollBar *,int &,int &,int &,int &); + + void drawScrollBarControls(QPainter *,const QScrollBar *,int,uint,uint); + int sliderLength() const; + void drawSlider(QPainter *,int,int,int,int,const QColorGroup &, + Orientation,bool,bool); + void drawSliderMask(QPainter *,int,int,int,int,Orientation,bool,bool); + void drawSliderGroove(QPainter *,int,int,int,int,const QColorGroup &, + QCOORD,Orientation); + int maximumSliderDragDistance() const; + int splitterWidth() const; + void drawSplitter(QPainter *,int,int,int,int,const QColorGroup &, + Orientation); + void drawCheckMark(QPainter *,int,int,int,int,const QColorGroup &,bool, + bool); + void polishPopupMenu(QPopupMenu *); + int extraPopupMenuItemWidth(bool,int,QMenuItem *,const QFontMetrics &); + int popupMenuItemHeight(bool,QMenuItem *,const QFontMetrics &); + void drawPopupMenuItem(QPainter *,bool,int,int,QMenuItem *, + const QPalette &,bool,bool,int,int,int,int); +%End +%If (Qt_3_0_0 -) + virtual void polishPopupMenu(QPopupMenu *); + + void drawPrimitive(PrimitiveElement,QPainter *,const QRect &, + const QColorGroup &,SFlags = Style_Default, + const QStyleOption & = QStyleOption()) const; + + void drawControl(ControlElement,QPainter *,const QWidget *, + const QRect &,const QColorGroup &, + SFlags = Style_Default, + const QStyleOption & = QStyleOption()) const; + + void drawComplexControl(ComplexControl,QPainter *,const QWidget *, + const QRect &,const QColorGroup &, + SFlags = Style_Default,SCFlags = SC_All, + SCFlags = SC_None, + const QStyleOption & = QStyleOption()) const; + + int pixelMetric(PixelMetric,const QWidget * = 0) const; + + QSize sizeFromContents(ContentsType,const QWidget *,const QSize &, + const QStyleOption & = QStyleOption()) const; + + int styleHint(StyleHint,const QWidget *, + const QStyleOption & = QStyleOption(), + QStyleHintReturn * = 0) const; + + QPixmap stylePixmap(StylePixmap,const QWidget * = 0, + const QStyleOption & = QStyleOption()) const; +%End + +%If (Qt_3_1_0 -) + QRect subRect(SubRect,const QWidget *) const; +%End + +protected: +%If (- Qt_3_0_0) + void drawWinShades(QPainter *,int,int,int,int,const QColor &, + const QColor &,const QColor &,const QColor &, + const QBrush *); +%End + +private: +%If (Qt_3_0_0 -) + QWindowsStyle(const QWindowsStyle &); +%End +}; + +%End +%End diff --git a/sip/qt/qwindowsxpstyle.sip b/sip/qt/qwindowsxpstyle.sip new file mode 100644 index 0000000..394bfad --- /dev/null +++ b/sip/qt/qwindowsxpstyle.sip @@ -0,0 +1,31 @@ +// This is the SIP interface definition for QWindowsXPStyle. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QWindowsXPStyle (Qt v3.0.1+, Windows)</Title> +<Para> +<Literal>QWindowsXPStyle</Literal> is fully implemented. +</Para> +</Sect2> +%End + + diff --git a/sip/qt/qwizard.sip b/sip/qt/qwizard.sip new file mode 100644 index 0000000..c062f65 --- /dev/null +++ b/sip/qt/qwizard.sip @@ -0,0 +1,122 @@ +// This is the SIP interface definition for QWizard. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QWizard (Qt v2+)</Title> +<Para> +<Literal>QWizard</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_WIZARD) +%If (Qt_2_00 -) + +class QWizard : QDialog +{ +%TypeHeaderCode +#include <qwizard.h> +%End + +public: + QWizard(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0, + WFlags = 0); + + void show(); + + void setFont(const QFont &); + + // The QWidget is passed to QWidgetStack::addWidget(). + virtual void addPage(QWidget * /Transfer/, const QString &); +%If (Qt_3_0_0 -) + // The QWidget is passed to QWidgetStack::addWidget(). + virtual void insertPage(QWidget * /Transfer/, const QString &,int); +%End + virtual void removePage(QWidget *); + + QString title(QWidget *) const; +%If (Qt_2_2_0 -) + void setTitle(QWidget *,const QString &); +%End +%If (Qt_3_0_0 -) + QFont titleFont() const; + void setTitleFont(const QFont &); +%End + + virtual void showPage(QWidget *); + + QWidget *currentPage() const; + +%If (Qt_2_1_0 -) + QWidget *page(int) const; + int pageCount() const; +%End +%If (Qt_3_0_0 -) + int indexOf(QWidget *) const; +%End + + virtual bool appropriate(QWidget *) const; + virtual void setAppropriate(QWidget *,bool); + + QPushButton *backButton() const; + QPushButton *nextButton() const; + QPushButton *finishButton() const; + QPushButton *cancelButton() const; + QPushButton *helpButton() const; + + bool eventFilter(QObject *,QEvent *); + +public slots: + virtual void setBackEnabled(QWidget *,bool); + virtual void setNextEnabled(QWidget *,bool); + virtual void setFinishEnabled(QWidget *,bool); + + virtual void setHelpEnabled(QWidget *,bool); + +%If (- Qt_3_0_0) + virtual void setFinish(QWidget *,bool); +%End + +protected slots: + virtual void back(); + virtual void next(); + virtual void help(); + +signals: + void helpClicked(); +%If (Qt_2_2_0 -) + void selected(const QString &); +%End + +protected: + virtual void layOutButtonRow(QHBoxLayout *); + virtual void layOutTitleRow(QHBoxLayout *,const QString &); + +private: +%If (Qt_2_1_0 -) + QWizard(const QWizard &); +%End +}; + +%End +%End diff --git a/sip/qt/qwmatrix.sip b/sip/qt/qwmatrix.sip new file mode 100644 index 0000000..1bb8cdc --- /dev/null +++ b/sip/qt/qwmatrix.sip @@ -0,0 +1,178 @@ +// This is the SIP interface definition for QWMatrix. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QWMatrix</Title> +<Para> +The Python <Literal>==</Literal>, <Literal>!=</Literal> and +<Literal>*=</Literal> operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>QWMatrix <Function>invert</Function> const</FuncDef> + <ParamDef>bool *<Parameter>invertible</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the <Literal>QWMatrix</Literal> +result and the <Literal>invertible</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>map</Function> const</FuncDef> + <ParamDef>int <Parameter>x</Parameter></ParamDef> + <ParamDef>int <Parameter>y</Parameter></ParamDef> + <ParamDef>int *<Parameter>tx</Parameter></ParamDef> + <ParamDef>int *<Parameter>ty</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and +returns a tuple containing the <Literal>tx</Literal> and <Literal>ty</Literal> +values. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>map</Function> const</FuncDef> + <ParamDef>float <Parameter>x</Parameter></ParamDef> + <ParamDef>float <Parameter>y</Parameter></ParamDef> + <ParamDef>float *<Parameter>tx</Parameter></ParamDef> + <ParamDef>float *<Parameter>ty</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and +returns a tuple containing the <Literal>tx</Literal> and <Literal>ty</Literal> +values. (Qt v1.x) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>map</Function> const</FuncDef> + <ParamDef>double <Parameter>x</Parameter></ParamDef> + <ParamDef>double <Parameter>y</Parameter></ParamDef> + <ParamDef>double *<Parameter>tx</Parameter></ParamDef> + <ParamDef>double *<Parameter>ty</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and +returns a tuple containing the <Literal>tx</Literal> and <Literal>ty</Literal> +values. (Qt v2+) +</Para> +</Sect2> +%End + + +class QWMatrix +{ +%TypeHeaderCode +#include <qwmatrix.h> +%End + +public: + QWMatrix(); +%If (- Qt_2_00) + QWMatrix(float,float,float,float,float,float); +%End +%If (Qt_2_00 -) + QWMatrix(double,double,double,double,double,double); +%End + + void map(int /Constrained/,int /Constrained/,int *,int *) const; + +%If (Qt_3_0_0 -) + QRect mapRect(const QRect &) const; +%End + + QPoint map(const QPoint &) const; + QRect map(const QRect &); const + QPointArray map(const QPointArray &) const; +%If (Qt_3_1_0 -) + QRegion map(const QRegion &) const; + QRegion mapToRegion(const QRect &) const; + QPointArray mapToPolygon(const QRect &) const; +%End + + void reset(); +%If (Qt_3_0_0 -) + bool isIdentity() const; + + bool isInvertible() const; +%End +%If (Qt_3_1_0 -) + double det() const; +%End + + QWMatrix invert(bool * = 0) const; + + bool operator==(const QWMatrix &) const; + bool operator!=(const QWMatrix &) const; + QWMatrix &operator*=(const QWMatrix &); + +%If (Qt_3_0_0 -) + // These aren't documented but are used in Qt examples. + QPoint operator*(const QPoint &) const; + QRegion operator*(const QRect &) const; + QRegion operator*(const QRegion &) const; + QPointArray operator*(const QPointArray &) const; +%End + +%If (Qt_3_1_0 -) + enum TransformationMode { + Points, + Areas + }; + + static void setTransformationMode(TransformationMode); + static TransformationMode transformationMode(); +%End + +%If (- Qt_2_00) + void setMatrix(float,float,float,float,float,float); + float m11(); + float m12(); + float m21(); + float m22(); + float dx(); + float dy(); + + void map(float,float,float *,float *) const; + + QWMatrix &translate(float,float); + QWMatrix &scale(float,float); + QWMatrix &shear(float,float); + QWMatrix &rotate(float); +%End + +%If (Qt_2_00 -) + void setMatrix(double,double,double,double,double,double); + double m11(); + double m12(); + double m21(); + double m22(); + double dx(); + double dy(); + + void map(double,double,double *,double *) const; + + QWMatrix &translate(double,double); + QWMatrix &scale(double,double); + QWMatrix &shear(double,double); + QWMatrix &rotate(double); +%End +}; diff --git a/sip/qt/qworkspace.sip b/sip/qt/qworkspace.sip new file mode 100644 index 0000000..bbc9dfc --- /dev/null +++ b/sip/qt/qworkspace.sip @@ -0,0 +1,101 @@ +// This is the SIP interface definition for QWorkspace. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QWorkspace (Qt v2.1+)</Title> +<Para> +<Literal>QWorkspace</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_1_0 -) +%If (Qt_WORKSPACE) + +class QWorkspace : QWidget +{ +%TypeHeaderCode +#include <qworkspace.h> +%End + +public: + QWorkspace(QWidget * /TransferThis/ = 0,const char * = 0); + +%If (Qt_3_2_0 -) + enum WindowOrder { + CreationOrder, + StackingOrder + }; +%End + + QWidget *activeWindow() const; + QWidgetList windowList() const; +%If (Qt_3_2_0 -) + QWidgetList windowList(WindowOrder) const; +%End + +%If (- Qt_3_0_0) + QSizePolicy sizePolicy() const; +%End + QSize sizeHint() const; + +%If (Qt_3_0_0 -) + bool scrollBarsEnabled() const; + void setScrollBarsEnabled(bool); + + void setPaletteBackgroundColor(const QColor &); + void setPaletteBackgroundPixmap(const QPixmap &); +%End + +signals: + void windowActivated(QWidget *); + +public slots: + void cascade(); + void tile(); +%If (Qt_3_2_0 -) + void closeActiveWindow(); + void closeAllWindows(); + void activateNextWindow(); + void activatePrevWindow(); +%End + +protected: +%If (Qt_3_0_0 -) + void styleChange(QStyle &); +%End + void childEvent(QChildEvent *); + void resizeEvent(QResizeEvent *); + bool eventFilter(QObject *,QEvent *); + void showEvent(QShowEvent *); +%If (Qt_3_0_0 -) + void hideEvent(QHideEvent *); + void wheelEvent(QWheelEvent *); +%End + +private: + QWorkspace(const QWorkspace &); +}; + +%End +%End diff --git a/sip/qt/versions.sip b/sip/qt/versions.sip new file mode 100644 index 0000000..09aed5c --- /dev/null +++ b/sip/qt/versions.sip @@ -0,0 +1,92 @@ +// This defines the different versions of Qt that PyQt knows about. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// Specify the releases over time - not all of them, just those that introduce +// something new. +%Timeline {Qt_1_43 + Qt_2_00 Qt_2_1_0 Qt_2_2_0 Qt_2_3_0 Qt_2_3_1 + Qt_3_0_0 Qt_3_0_1 Qt_3_0_2 Qt_3_0_4 Qt_3_0_5 Qt_3_0_6 + Qt_3_1_0 Qt_3_1_1 Qt_3_1_2 + Qt_3_2_0 + Qt_3_3_0 Qt_3_3_5 Qt_3_3_6} + + +// Specify the platforms. +%Platforms {WS_X11 WS_WIN WS_QWS WS_MACX} + + +// Specify the features. +%Feature Qt_THREAD_SUPPORT + +%Feature Qt_ACTION +%Feature Qt_ASSISTANTCLIENT +%Feature Qt_CLIPBOARD +%Feature Qt_CODECS +%Feature Qt_COLORDIALOG +%Feature Qt_DATASTREAM +%Feature Qt_DIAL +%Feature Qt_DNS +%Feature Qt_DOM +%Feature Qt_DRAGANDDROP +%Feature Qt_ICONVIEW +%Feature Qt_IMAGE_TEXT +%Feature Qt_INPUTDIALOG +%Feature Qt_FILEDIALOG +%Feature Qt_FONTDATABASE +%Feature Qt_FONTDIALOG +%Feature Qt_MESSAGEBOX +%Feature Qt_MIMECLIPBOARD +%Feature Qt_NETWORKPROTOCOL +%Feature Qt_NETWORKPROTOCOL_FTP +%Feature Qt_NETWORKPROTOCOL_HTTP +%Feature Qt_PICTURE +%Feature Qt_PRINTDIALOG +%Feature Qt_PRINTER +%Feature Qt_PROGRESSDIALOG +%Feature Qt_PROPERTIES +%Feature Qt_SEMIMODAL +%Feature Qt_SIZEGRIP +%Feature Qt_SOUND +%Feature Qt_SPLITTER +%Feature Qt_STYLE_CDE +%Feature Qt_STYLE_INTERLACE +%Feature Qt_STYLE_MOTIF +%Feature Qt_STYLE_MOTIFPLUS +%Feature Qt_STYLE_PLATINUM +%Feature Qt_STYLE_SGI +%Feature Qt_STYLE_WINDOWS +%Feature Qt_STYLE_WINDOWSXP +%Feature Qt_TABDIALOG +%Feature Qt_TABLE +%Feature Qt_TABLEVIEW +%Feature Qt_TRANSFORMATIONS +%Feature Qt_TRANSLATION +%Feature Qt_WIZARD +%Feature Qt_WORKSPACE + +// On Windows64 Q_LONG is defined as __int64 (which SIP doesn't handle) so +// this feature is disabled. +%Feature Qt_Q_LONG_IS_long + +// SIP v4.7.3 and later support automatic generation of missing complementary +// comparison operators. This fixes a problem with v4.7.2. +%Feature Qt_SIP_PRE_4_7_2 diff --git a/sip/qtaxcontainer/copying.sip b/sip/qtaxcontainer/copying.sip new file mode 100644 index 0000000..463904b --- /dev/null +++ b/sip/qtaxcontainer/copying.sip @@ -0,0 +1,51 @@ +// This is the SIP file defining the PyQt license. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// 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 <[email protected]> + +This file is part of PyQt. + +This copy of PyQt is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%End + + +%OptionalInclude pyqt-internal.sip +%OptionalInclude pyqt-gpl.sip +%OptionalInclude pyqt-commercial.sip +%OptionalInclude pyqt-edu.sip +%OptionalInclude pyqt-eval.sip +%OptionalInclude pyqt-nc.sip +%OptionalInclude pyqt-tkc.sip diff --git a/sip/qtaxcontainer/qaxbase.sip b/sip/qtaxcontainer/qaxbase.sip new file mode 100644 index 0000000..fde55e2 --- /dev/null +++ b/sip/qtaxcontainer/qaxbase.sip @@ -0,0 +1,86 @@ +// This is the SIP interface definition for QAxBase. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QAxBase (Windows, Qt v3+)</Title> +<FuncSynopsis> + <FuncDef><Function>QAxObject</Function></FuncDef> + <ParamDef>IUnknown *<Parameter>iface</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>long <Function>queryInterface</Function></FuncDef> + <ParamDef>const QUuid &<Parameter>uuid</Parameter></ParamDef> + <ParamDef>void **<Parameter>iface</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>PropertyBag <Function>propertyBag</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>setPropertyBag</Function></FuncDef> + <ParamDef>const PropertyBag &<Parameter>bag</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>unsigned long <Function>registerWeakActiveObject</Function></FuncDef> + <ParamDef>const QString &<Parameter>guid</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This is a utility method provided by PyQt to make it easier to use +Mark Hammond's <Literal>win32com</Literal> module to manipulate objects +created by the <Literal>qtaxcontainer</Literal> module. +</Para> +<Para> +The <Literal>RegisterActiveObject()</Literal> COM function is called to +register the <Literal>QAxBase</Literal> instance as a weak object with the +<Literal>guid</Literal> GUID. The revoke handle is returned. +</Para> + +<FuncSynopsis> + <FuncDef>static void <Function>revokeActiveObject</Function></FuncDef> + <ParamDef>unsigned long <Parameter>rhandle</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This is a wrapper around the <Literal>RevokeActiveObject()</Literal> COM +function and is called to revoke the object registered using +<Literal>registerWeakActiveObject()</Literal>. <Literal>rhandle</Literal> is +the revoke handle returned by <Literal>registerWeakActiveObject()</Literal>. +</Para> +</Sect2> +%End + + diff --git a/sip/qtaxcontainer/qaxobject.sip b/sip/qtaxcontainer/qaxobject.sip new file mode 100644 index 0000000..0c0b0f8 --- /dev/null +++ b/sip/qtaxcontainer/qaxobject.sip @@ -0,0 +1,37 @@ +// This is the SIP interface definition for QAxObject. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QAxObject (Windows, Qt v3+)</Title> +<FuncSynopsis> + <FuncDef><Function>QAxObject</Function></FuncDef> + <ParamDef>IUnknown *<Parameter>iface</Parameter></ParamDef> + <ParamDef>QObject *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +%End + + diff --git a/sip/qtaxcontainer/qaxwidget.sip b/sip/qtaxcontainer/qaxwidget.sip new file mode 100644 index 0000000..dbcc729 --- /dev/null +++ b/sip/qtaxcontainer/qaxwidget.sip @@ -0,0 +1,37 @@ +// This is the SIP interface definition for QAxWidget. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QAxWidget (Windows, Qt v3+)</Title> +<FuncSynopsis> + <FuncDef><Function>QAxWidget</Function></FuncDef> + <ParamDef>IUnknown *<Parameter>iface</Parameter></ParamDef> + <ParamDef>QWidget *<Parameter>parent</Parameter> = 0</ParamDef> + <ParamDef>const char *<Parameter>name</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +%End + + diff --git a/sip/qtaxcontainer/qtaxcontainermod.sip b/sip/qtaxcontainer/qtaxcontainermod.sip new file mode 100644 index 0000000..33864f1 --- /dev/null +++ b/sip/qtaxcontainer/qtaxcontainermod.sip @@ -0,0 +1,32 @@ +// This is the SIP interface definition for the qtaxcontainer module of PyQt. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%Module qtaxcontainer 1 + +%Import qt/qtmod.sip + +%Include copying.sip + + +%Include qaxbase.sip +%Include qaxobject.sip +%Include qaxwidget.sip diff --git a/sip/qtcanvas/copying.sip b/sip/qtcanvas/copying.sip new file mode 100644 index 0000000..463904b --- /dev/null +++ b/sip/qtcanvas/copying.sip @@ -0,0 +1,51 @@ +// This is the SIP file defining the PyQt license. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// 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 <[email protected]> + +This file is part of PyQt. + +This copy of PyQt is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%End + + +%OptionalInclude pyqt-internal.sip +%OptionalInclude pyqt-gpl.sip +%OptionalInclude pyqt-commercial.sip +%OptionalInclude pyqt-edu.sip +%OptionalInclude pyqt-eval.sip +%OptionalInclude pyqt-nc.sip +%OptionalInclude pyqt-tkc.sip diff --git a/sip/qtcanvas/qcanvas.sip b/sip/qtcanvas/qcanvas.sip new file mode 100644 index 0000000..f9ce8e2 --- /dev/null +++ b/sip/qtcanvas/qcanvas.sip @@ -0,0 +1,857 @@ +// This is the SIP interface definition for QCanvas, QCanvasEllipse, +// QCanvasItem, QCanvasItemList, QCanvasLine, QCanvasPixmap, +// QCanvasPixmapArray, QCanvasPolygon, QCanvasPolygonalItem, QCanvasRectangle, +// QCanvasSpline, QCanvasSprite, QCanvasText and QCanvasView. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QCanvas (Qt v2.2+)</Title> +<Para> +<Literal>QCanvas</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasEllipse (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasEllipse</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasItem (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasItemList (Qt v2.2+)</Title> +<Para> +This class isn't implemented. Whenever a <Literal>QCanvasItemList</Literal> is +the return type of a function or the type of an argument, a Python list of +<Literal>QCanvasItem</Literal> instances is used instead. +</Para> +</Sect2> + +<Sect2><Title>QCanvasLine (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasLine</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasPixmap (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasPixmap</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasPixmapArray (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef><Function>QPixmapArray</Function></FuncDef> + <ParamDef>QList<QPixmap> <Parameter>pixmaps</Parameter></ParamDef> + <ParamDef>QList<QPoint> <Parameter>hotspots</Parameter></ParamDef> +</FuncSynopsis> +<Para> +The <Literal>pixmaps</Literal> argument is a Python list of QPixmap instances, +and the <Literal>hotspots</Literal> argument is a Python list of QPoint +instances. (Qt v2.2.0 - Qt v2.3.1) +</Para> + +<FuncSynopsis> + <FuncDef><Function>QPixmapArray</Function></FuncDef> + <ParamDef>QValueList<QPixmap> <Parameter>pixmaps</Parameter></ParamDef> + <ParamDef>QPointArray <Parameter>hotspots</Parameter> = QPointArray()</ParamDef> +</FuncSynopsis> +<Para> +The <Literal>pixmaps</Literal> argument is a Python list of QPixmap instances. +(Qt v3+) +</Para> +</Sect2> + +<Sect2><Title>QCanvasPolygon (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasPolygon</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasPolygonalItem (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasPolygonalItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasRectangle (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasRectangle</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasSpline (Qt v3.0+)</Title> +<Para> +<Literal>QCanvasSpline</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasSprite (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasSprite</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasText (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasText</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCanvasView (Qt v2.2+)</Title> +<Para> +<Literal>QCanvasView</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_2_0 -) + +%MappedType QCanvasItemList +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +%ConvertFromTypeCode + // Convert to a Python list of QCanvasItem instances. + + int i; + PyObject *l; + + // Create the list. + + if ((l = PyList_New(sipCpp -> count())) == NULL) + return NULL; + + // Get it. + + i = 0; + + for (QCanvasItemList::Iterator it = sipCpp -> begin(); it != sipCpp -> end(); ++it) + { + PyObject *ci; + + if ((ci = sipConvertFromInstance(*it,sipClass_QCanvasItem,sipTransferObj)) == NULL || PyList_SetItem(l,i,ci) < 0) + { + Py_XDECREF(ci); + Py_DECREF(l); + + return NULL; + } + + ++i; + } + + return l; +%End + +%ConvertToTypeCode + // At the moment this will never be called, so provide a null + // implementation. + + if (sipIsErr == NULL) + return PyList_Check(sipPy); + + PyErr_Format(PyExc_TypeError,"Converting to QCanvasItemList not yet implemented"); + + *sipIsErr = 1; + + return 0; +%End +}; + + +class QCanvasItem : Qt +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +public: + QCanvasItem(QCanvas * /TransferThis/); + +%ConvertToSubClassCode + Py_BEGIN_ALLOW_THREADS + + // Use the numeric type values for compatibility with Qt v2. + switch (sipCpp -> rtti()) + { + case 1: + sipClass = sipClass_QCanvasSprite; + break; + + case 2: + sipClass = sipClass_QCanvasPolygonalItem; + break; + + case 3: + sipClass = sipClass_QCanvasText; + break; + + case 4: + sipClass = sipClass_QCanvasPolygon; + break; + + case 5: + sipClass = sipClass_QCanvasRectangle; + break; + + case 6: + sipClass = sipClass_QCanvasEllipse; + break; + + case 7: + sipClass = sipClass_QCanvasLine; + break; + +#if QT_VERSION >= 0x030000 + case 8: + sipClass = sipClass_QCanvasSpline; + break; +#endif + + default: + sipClass = 0; + } + + Py_END_ALLOW_THREADS +%End + + double x() const; + double y() const; + double z() const; + + virtual void moveBy(double,double); + void move(double,double); + void setX(double); + void setY(double); + void setZ(double); + + bool animated() const; + virtual void setAnimated(bool); + virtual void setVelocity(double,double); + void setXVelocity(double); + void setYVelocity(double); + double xVelocity() const; + double yVelocity() const; + virtual void advance(int); + + virtual bool collidesWith(const QCanvasItem *) const = 0; + + QCanvasItemList collisions(bool) const; + + virtual void setCanvas(QCanvas * /GetWrapper/); +%MethodCode + if (sipCpp -> canvas() != a0) + { + if (a0) + sipTransferTo(sipSelf,a0Wrapper); + else + sipTransferBack(sipSelf); + } + + Py_BEGIN_ALLOW_THREADS + sipSelfWasArg ? sipCpp->QCanvasItem::setCanvas(a0) : sipCpp->setCanvas(a0); + Py_END_ALLOW_THREADS +%End + + virtual void draw(QPainter &) = 0; + + void show(); + void hide(); + + virtual void setVisible(bool); +%If (- Qt_3_0_0) + bool visible() const; +%End +%If (Qt_3_0_0 -) + bool isVisible() const; +%End + virtual void setSelected(bool); +%If (- Qt_3_0_0) + bool selected() const; +%End +%If (Qt_3_0_0 -) + bool isSelected() const; +%End + virtual void setEnabled(bool); +%If (- Qt_3_0_0) + bool enabled() const; +%End +%If (Qt_3_0_0 -) + bool isEnabled() const; +%End + virtual void setActive(bool); +%If (- Qt_3_0_0) + bool active() const; +%End +%If (Qt_3_0_0 -) + bool isActive() const; +%End + +%If (Qt_3_0_0 -) + enum RttiValues { + Rtti_Item, + Rtti_Sprite, + Rtti_PolygonalItem, + Rtti_Text, + Rtti_Polygon, + Rtti_Rectangle, + Rtti_Ellipse, + Rtti_Line, + Rtti_Spline + }; +%End + + virtual int rtti() const; + + virtual QRect boundingRect() const = 0; + virtual QRect boundingRectAdvanced() const; + + QCanvas *canvas() const; + +protected: +%If (Qt_3_0_0 -) + void update(); +%End + +private: + virtual bool collidesWith(const QCanvasSprite *, + const QCanvasPolygonalItem *, + const QCanvasRectangle *, + const QCanvasEllipse *, + const QCanvasText *) const = 0; +}; + + +class QCanvas : QObject +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +public: + QCanvas(QObject * /TransferThis/ = 0,const char * = 0); + QCanvas(int,int); + QCanvas(QPixmap,int,int,int,int); + +%ConvertToSubClassCode + static struct class_graph { + const char *name; + sipWrapperType **type; + int yes, no; + } graph[] = { + {sipName_QCanvasView, &sipClass_QCanvasView, -1, 1}, + {sipName_QCanvas, &sipClass_QCanvas, -1, -1}, + }; + + int i = 0; + + sipClass = NULL; + + do + { + struct class_graph *cg = &graph[i]; + + if (cg->name != NULL && sipCpp->inherits(cg->name)) + { + sipClass = *cg->type; + i = cg->yes; + } + else + i = cg->no; + } + while (i >= 0); +%End + + virtual void setTiles(QPixmap,int,int,int,int); + virtual void setBackgroundPixmap(const QPixmap &); + QPixmap backgroundPixmap() const; + + virtual void setBackgroundColor(const QColor &); + QColor backgroundColor() const; + + virtual void setTile(int,int,int); + int tile(int,int) const; + + int tilesHorizontally() const; + int tilesVertically() const; + + int tileWidth() const; + int tileHeight() const; + + virtual void resize(int,int); + int width() const; + int height() const; + QSize size() const; +%If (Qt_3_0_0 -) + QRect rect() const; +%End + bool onCanvas(int,int) const; + bool onCanvas(const QPoint &) const; + bool validChunk(int,int) const; + bool validChunk(const QPoint &) const; + + int chunkSize() const; + virtual void retune(int,int = 100); + + // These next three are marked as internal in the Qt v2.x + // documentation. +// bool sameChunk() const; +// virtual void setChangedChunk(int,int); +// virtual void setChangedChunkContaining(int,int); + virtual void setAllChanged(); + virtual void setChanged(const QRect &); +%If (Qt_3_0_0 -) + virtual void setUnchanged(const QRect &); +%End + + QCanvasItemList allItems(); + QCanvasItemList collisions(const QPoint &) const; + QCanvasItemList collisions(const QRect &) const; + QCanvasItemList collisions(const QPointArray &,const QCanvasItem *, + bool) const; + +%If (Qt_3_0_0 -) + void drawArea(const QRect &,QPainter *,bool = 0); +%End + + virtual void setAdvancePeriod(int); + virtual void setUpdatePeriod(int); + + virtual void setDoubleBuffering(bool); + +signals: + void resized(); + +public slots: + virtual void advance(); + virtual void update(); + +protected: + virtual void drawBackground(QPainter &,const QRect &); + virtual void drawForeground(QPainter &,const QRect &); + +private: +%If (Qt_3_1_0 -) + QCanvas(const QCanvas &); +%End +}; + + +class QCanvasView : QScrollView +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +public: +%If (- Qt_3_0_0) + QCanvasView(QCanvas * = 0,QWidget * /TransferThis/ = 0, + const char * = 0,WFlags = 0); +%End +%If (Qt_3_0_0 -) + QCanvasView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + QCanvasView(QCanvas *,QWidget * /TransferThis/ = 0,const char * = 0, + WFlags = 0); +%End + + QCanvas* canvas() const; + void setCanvas(QCanvas *); + +%If (Qt_3_0_0 -) + const QWMatrix &worldMatrix() const; + const QWMatrix &inverseWorldMatrix() const; + bool setWorldMatrix(const QWMatrix &); +%End + +protected: + void drawContents(QPainter *,int,int,int,int); + QSize sizeHint() const; + +private: +%If (Qt_3_1_0 -) + QCanvasView(const QCanvasView &); +%End +}; + + +class QCanvasPixmap : QPixmap +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +public: + QCanvasPixmap(const QString &); + QCanvasPixmap(const QImage &); +%If (- Qt_3_0_0) + QCanvasPixmap(const QPixmap &,QPoint); +%End +%If (Qt_3_0_0 -) + QCanvasPixmap(const QPixmap &,const QPoint &); +%End + + int offsetX() const; + int offsetY() const; + void setOffset(int,int); + +private: +%If (Qt_3_1_0 -) + QCanvasPixmap(const QCanvasPixmap &); +%End +}; + + +class QCanvasPixmapArray +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +public: + QCanvasPixmapArray(); + QCanvasPixmapArray(const QString &,int = 0); +%If (- Qt_3_0_0) + QCanvasPixmapArray(QPtrList<QPixmap>,QPtrList<QPoint>); +%End +%If (Qt_3_0_0 -) + QCanvasPixmapArray(QValueList<QPixmap>,QPointArray = QPointArray()); +%End + + bool readPixmaps(const QString &,int = 0) /ReleaseGIL/; + bool readCollisionMasks(const QString &) /ReleaseGIL/; + +%If (Qt_3_0_0 -) + bool isValid() const; +%End + + QCanvasPixmap *image(int) const; + void setImage(int,QCanvasPixmap * /Transfer/); + uint count() const; + +private: +%If (Qt_3_1_0 -) + QCanvasPixmapArray(const QCanvasPixmapArray &); +%End +}; + + +class QCanvasSprite : QCanvasItem +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +public: + QCanvasSprite(QCanvasPixmapArray *,QCanvas * /TransferThis/); + + void setSequence(QCanvasPixmapArray *); + + void move(double,double); + virtual void move(double,double,int); + void setFrame(int); + +%If (Qt_3_0_0 -) + enum FrameAnimationType { + Cycle, + Oscillate + }; + + virtual void setFrameAnimation(FrameAnimationType = Cycle,int = 1, + int = 0); +%End + int frame() const; + int frameCount() const; + +%If (- Qt_3_0_0) + virtual int rtti() const; +%End +%If (Qt_3_0_0 -) + int rtti() const; +%End + + bool collidesWith(const QCanvasItem *) const; + + QRect boundingRect() const; + +%If (Qt_3_0_0 -) + int width() const; + int height() const; + + int leftEdge() const; + int topEdge() const; + int rightEdge() const; + int bottomEdge() const; + + int leftEdge(int) const; + int topEdge(int) const; + int rightEdge(int) const; + int bottomEdge(int) const; + QCanvasPixmap *image() const; + virtual QCanvasPixmap *imageAdvanced() const; + QCanvasPixmap *image(int) const; + // This is really virtual, but we want to use the super-class's virtual + // handler. Having to do this is really a SIP bug. + void advance(int); + + void draw(QPainter &); +%End + +protected: +%If (- Qt_3_0_0) + void draw(QPainter &); + int width() const; + int height() const; + int absX() const; + int absY() const; + int absX2() const; + int absY2() const; + int absX(int) const; + int absY(int) const; + int absX2(int) const; + int absY2(int) const; + QCanvasPixmap *image() const; + virtual QCanvasPixmap *imageAdvanced() const; + QCanvasPixmap *image(int) const; +%End + +private: +%If (Qt_3_1_0 -) + QCanvasSprite(const QCanvasSprite &); +%End +}; + + +class QCanvasPolygonalItem : QCanvasItem +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +public: + QCanvasPolygonalItem(QCanvas * /TransferThis/); + + bool collidesWith(const QCanvasItem *) const; + + virtual void setPen(QPen); + virtual void setBrush(QBrush); + + QPen pen() const; + QBrush brush() const; + + virtual QPointArray areaPoints() const = 0; + virtual QPointArray areaPointsAdvanced() const; + QRect boundingRect() const; + + int rtti() const; + +protected: + void draw(QPainter &); + virtual void drawShape(QPainter &) = 0; + + bool winding() const; + void setWinding(bool); + +%If (Qt_3_1_0 -) + void invalidate(); + bool isValid() const; +%End +}; + + +class QCanvasRectangle : QCanvasPolygonalItem +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +public: + QCanvasRectangle(QCanvas * /TransferThis/); + QCanvasRectangle(const QRect &,QCanvas * /TransferThis/); + QCanvasRectangle(int,int,int,int,QCanvas * /TransferThis/); + + int width() const; + int height() const; + void setSize(int,int); + QSize size() const; + QPointArray areaPoints() const; + QRect rect() const; + + bool collidesWith(const QCanvasItem *) const; + + int rtti() const; + +protected: + void drawShape(QPainter &); + QPointArray chunks() const; +}; + + +class QCanvasPolygon : QCanvasPolygonalItem +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +public: + QCanvasPolygon(QCanvas * /TransferThis/); + + void setPoints(QPointArray); + QPointArray points() const; + void moveBy(double,double); + + QPointArray areaPoints() const; + + int rtti() const; + +protected: + void drawShape(QPainter &); +}; + + +%If (Qt_3_0_0 -) + +class QCanvasSpline : QCanvasPolygon +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +public: + QCanvasSpline(QCanvas * /TransferThis/); + + void setControlPoints(QPointArray,bool = 1); + QPointArray controlPoints() const; + bool closed() const; + + int rtti() const; +}; + +%End + + +class QCanvasLine : QCanvasPolygonalItem +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +public: + QCanvasLine(QCanvas * /TransferThis/); + + void setPoints(int,int,int,int); + + QPoint startPoint() const; + QPoint endPoint() const; + + int rtti() const; + + void setPen(QPen); +%If (Qt_3_3_0 -) + void moveBy(double,double); +%End + +protected: + void drawShape(QPainter &); + QPointArray areaPoints() const; +}; + + +class QCanvasEllipse : QCanvasPolygonalItem +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +public: + QCanvasEllipse(QCanvas * /TransferThis/); + QCanvasEllipse(int,int,QCanvas * /TransferThis/); + QCanvasEllipse(int,int,int,int,QCanvas * /TransferThis/); + + int width() const; + int height() const; + void setSize(int,int); + void setAngles(int,int); + int angleStart() const; + int angleLength() const; + QPointArray areaPoints() const; + + bool collidesWith(const QCanvasItem *) const; + + int rtti() const; + +protected: + void drawShape(QPainter &); +}; + + +class QCanvasText : QCanvasItem +{ +%TypeHeaderCode +#include <qcanvas.h> +%End + +public: + QCanvasText(QCanvas * /TransferThis/); + QCanvasText(const QString &,QCanvas * /TransferThis/); + QCanvasText(const QString &,QFont,QCanvas * /TransferThis/); + + void setText(const QString &); + void setFont(const QFont &); + void setColor(const QColor &); + QString text() const; + QFont font() const; + QColor color() const; + + void moveBy(double,double); + + int textFlags() const; + void setTextFlags(int); + + QRect boundingRect() const; + + bool collidesWith(const QCanvasItem *) const; + +%If (- Qt_3_0_0) + virtual int rtti() const; +%End +%If (Qt_3_0_0 -) + int rtti() const; +%End + +protected: + virtual void draw(QPainter &); + +private: +%If (Qt_3_1_0 -) + QCanvasText(const QCanvasText &); +%End +}; + +%End diff --git a/sip/qtcanvas/qtcanvasmod.sip b/sip/qtcanvas/qtcanvasmod.sip new file mode 100644 index 0000000..1ef22ae --- /dev/null +++ b/sip/qtcanvas/qtcanvasmod.sip @@ -0,0 +1,70 @@ +// This is the SIP interface definition for the qtcanvas module of PyQt. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%Module qtcanvas 1 + +%Import qt/qtmod.sip + +%Include copying.sip + + +%Include qcanvas.sip + + +// The build file template. + +%Makefile qtcanvas.pro.in +# The project file for the qtcanvas module. +# +# Copyright (c) 2007 +# Riverbank Computing Limited <[email protected]> +# +# This file is part of PyQt. +# +# This copy of PyQt is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# +# PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +TEMPLATE = lib +TARGET = @BLX_TARGET_LIB@ +DESTDIR = @PYQT_MODDIR@ +CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@ +INCLUDEPATH = @BLX_INCLUDEPATH@ +DEFINES = @BLX_DEFINES@ +LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@ +macx:QMAKE_LFLAGS += -framework Python + +SOURCES = $B + +HEADERS = $H +%End diff --git a/sip/qtext/copying.sip b/sip/qtext/copying.sip new file mode 100644 index 0000000..463904b --- /dev/null +++ b/sip/qtext/copying.sip @@ -0,0 +1,51 @@ +// This is the SIP file defining the PyQt license. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// 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 <[email protected]> + +This file is part of PyQt. + +This copy of PyQt is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%End + + +%OptionalInclude pyqt-internal.sip +%OptionalInclude pyqt-gpl.sip +%OptionalInclude pyqt-commercial.sip +%OptionalInclude pyqt-edu.sip +%OptionalInclude pyqt-eval.sip +%OptionalInclude pyqt-nc.sip +%OptionalInclude pyqt-tkc.sip diff --git a/sip/qtext/qextscintilla.sip b/sip/qtext/qextscintilla.sip new file mode 100644 index 0000000..c03dc56 --- /dev/null +++ b/sip/qtext/qextscintilla.sip @@ -0,0 +1,411 @@ +// This is the SIP interface definition for QextScintilla. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintilla : QextScintillaBase +{ +%TypeHeaderCode +#include <qextscintilla.h> +%End + +public: + enum { + AiMaintain, + AiOpening, + AiClosing + }; + + enum AutoCompletionSource { + AcsDocument, + AcsAPIs, +%If (QScintilla_1_7 -) + AcsAll, +%End + }; + + enum BraceMatch { + NoBraceMatch, + StrictBraceMatch, + SloppyBraceMatch + }; + +%If (QScintilla_1_4 -) + enum EdgeMode { + EdgeNone, + EdgeLine, + EdgeBackground + }; +%End + + enum EolMode { + EolWindows, + EolUnix, + EolMac + }; + + enum FoldStyle { + NoFoldStyle, + PlainFoldStyle, + CircledFoldStyle, + BoxedFoldStyle, + CircledTreeFoldStyle, + BoxedTreeFoldStyle + }; + + enum MarkerSymbol { + Circle, + Rectangle, + RightTriangle, + SmallRectangle, + RightArrow, + Invisible, + DownTriangle, + Minus, + Plus, + VerticalLine, + BottomLeftCorner, + LeftSideSplitter, + BoxedPlus, + BoxedPlusConnected, + BoxedMinus, + BoxedMinusConnected, + RoundedBottomLeftCorner, + LeftSideRoundedSplitter, + CircledPlus, + CircledPlusConnected, + CircledMinus, + CircledMinusConnected, + Background, + ThreeDots, + ThreeRightArrows + }; + + enum WhitespaceVisibility { + WsInvisible, + WsVisible, + WsVisibleAfterIndent + }; + + enum WrapMode { + WrapNone, + WrapWord, +%If (QScintilla_1_7 -) + WrapCharacter, +%End + }; + +%If (QScintilla_1_7 -) + enum WrapVisualFlag { + WrapFlagNone, + WrapFlagByText, + WrapFlagByBorder, + }; +%End + + QextScintilla(QWidget * /TransferThis/ = 0,const char * = 0, + WFlags = 0); + + bool autoCompletionCaseSensitivity(); +%If (QScintilla_1_7 -) + bool autoCompletionFillupsEnabled(); +%End + bool autoCompletionReplaceWord(); + bool autoCompletionShowSingle(); + AutoCompletionSource autoCompletionSource() const; + int autoCompletionThreshold() const; + bool autoIndent() const; + bool backspaceUnindents(); + void beginUndoAction(); + BraceMatch braceMatching() const; + int callTipsVisible() const; +%If (QScintilla_1_7 -) + void cancelList(); +%End + void clearRegisteredImages(); + void convertEols(EolMode); +%If (QScintilla_1_3 -) + QextScintillaDocument document(); +%End + void endUndoAction(); + +%If (QScintilla_1_4 -) + QColor edgeColor(); + int edgeColumn(); + EdgeMode edgeMode(); +%End + + EolMode eolMode(); + bool eolVisibility(); + +%If (QScintilla_1_7 -) + QColor color() const; + QColor paper() const; +%End + +%If (QScintilla_1_6 -) + virtual bool findFirst(const QString &,bool,bool,bool,bool,bool = 1, + int = -1,int = -1,bool = 1); +%End +%If (- QScintilla_1_6) + virtual bool findFirst(const QString &,bool,bool,bool,bool,bool = 1, + int = -1,int = -1); +%End + virtual bool findNext(); + +%If (QScintilla_1_7 -) + int firstVisibleLine(); +%End + + FoldStyle folding() const; + + void getCursorPosition(int *,int *); + void getSelection(int *,int *,int *,int *); + bool hasSelectedText(); + + int indentation(int); + bool indentationGuides(); + bool indentationsUseTabs(); + int indentationWidth(); + +%If (QScintilla_1_7 -) + bool isCallTipActive(); + bool isListActive(); +%End + bool isModified(); + bool isReadOnly(); + bool isRedoAvailable(); + bool isUndoAvailable(); + bool isUtf8(); + int lineAt(const QPoint &); + int lineLength(int); + int lines(); + int length(); +%If (QScintilla_1_7 -) + QextScintillaLexer *lexer() const; +%End + + bool marginLineNumbers(int); + int marginMarkerMask(int); + bool marginSensitivity(int); + int marginWidth(int); + + int markerDefine(MarkerSymbol,int = -1); + int markerDefine(char,int = -1); + int markerDefine(const QPixmap *,int = -1); + int markerAdd(int,int); + unsigned markersAtLine(int); + void markerDelete(int,int = -1); + void markerDeleteAll(int = -1); + void markerDeleteHandle(int); + int markerLine(int); + int markerFindNext(int,unsigned); + int markerFindPrevious(int,unsigned); +%If (QScintilla_1_3 -) + virtual void recolor(int = 0,int = -1); +%End + void registerImage(int,const QPixmap *); + virtual void replace(const QString &); + void resetFoldMarginColors(); + void setFoldMarginColors(const QColor &,const QColor &); + + void setAutoCompletionAPIs(QextScintillaAPIs * = 0); + void setAutoCompletionFillups(const char *); +%If (QScintilla_1_7 -) + void setAutoCompletionFillupsEnabled(bool); + void setAutoCompletionStartCharacters(const char *); +%End + + void setCallTipsAPIs(QextScintillaAPIs * = 0); + void setCallTipsBackgroundColor(const QColor &); + void setCallTipsForegroundColor(const QColor &); + void setCallTipsHighlightColor(const QColor &); + void setCallTipsVisible(int); + +%If (QScintilla_1_3 -) + void setDocument(const QextScintillaDocument &); +%End + +%If (QScintilla_1_4 -) + void setEdgeColor(const QColor &); + void setEdgeColumn(int); + void setEdgeMode(EdgeMode); +%End + +%If (QScintilla_1_7 -) + virtual void setFont(const QFont &); +%End + + void setMarkerBackgroundColor(const QColor &,int = -1); + void setMarkerForegroundColor(const QColor &,int = -1); + + void setMatchedBraceBackgroundColor(const QColor &); + void setMatchedBraceForegroundColor(const QColor &); + void setUnmatchedBraceBackgroundColor(const QColor &); + void setUnmatchedBraceForegroundColor(const QColor &); + +%If (QScintilla_1_7 -) + void setWrapVisualFlags(WrapVisualFlag, + WrapVisualFlag = QextScintilla::WrapFlagNone, int = 0); +%End + + QString selectedText(); +%If (QScintilla_1_7 -) + void showUserList(int, const QStringList &); +%End + QextScintillaCommandSet *standardCommands() const; + bool tabIndents(); + int tabWidth(); + QString text(); + QString text(int); +%If (QScintilla_1_7 -) + int textHeight(int); +%End + WhitespaceVisibility whitespaceVisibility(); +%If (QScintilla_1_4 -) + WrapMode wrapMode(); +%End + +public slots: + virtual void append(const QString &); +%If (QScintilla_1_7 -) + virtual void autoCompleteFromAll(); +%End + virtual void autoCompleteFromAPIs(); + virtual void autoCompleteFromDocument(); + virtual void callTip(); + virtual void clear(); + virtual void copy(); + virtual void cut(); + + virtual void ensureCursorVisible(); + virtual void ensureLineVisible(int); +%If (QScintilla_1_7 -) + virtual void foldAll(bool = 0); +%End +%If (- QScintilla_1_7) + virtual void foldAll(); +%End + virtual void foldLine(int); + virtual void indent(int); +%If (QScintilla_1_4 -) + virtual void insert(const QString &); +%End + virtual void insertAt(const QString &,int,int); + virtual void moveToMatchingBrace(); + virtual void paste(); + virtual void redo(); + virtual void removeSelectedText(); +%If (QScintilla_1_4 -) + virtual void resetSelectionBackgroundColor(); + virtual void resetSelectionForegroundColor(); +%End + virtual void selectAll(bool = 1); + virtual void selectToMatchingBrace(); + + virtual void setAutoCompletionCaseSensitivity(bool); + virtual void setAutoCompletionReplaceWord(bool); + virtual void setAutoCompletionShowSingle(bool); + virtual void setAutoCompletionSource(AutoCompletionSource); + virtual void setAutoCompletionThreshold(int); + virtual void setAutoIndent(bool); + virtual void setBraceMatching(BraceMatch); + virtual void setBackspaceUnindents(bool); +%If (QScintilla_1_3 -) + virtual void setCaretForegroundColor(const QColor &); + virtual void setCaretLineBackgroundColor(const QColor &); + virtual void setCaretLineVisible(bool); + virtual void setCaretWidth(int); +%End +%If (QScintilla_1_7 -) + virtual void setColor(const QColor &); +%End + virtual void setCursorPosition(int,int); + virtual void setEolMode(EolMode); + virtual void setEolVisibility(bool); + virtual void setFolding(FoldStyle); + + virtual void setIndentation(int,int); + virtual void setIndentationGuides(bool); + virtual void setIndentationGuidesBackgroundColor(const QColor &); + virtual void setIndentationGuidesForegroundColor(const QColor &); + virtual void setIndentationsUseTabs(bool); + virtual void setIndentationWidth(int); + + virtual void setLexer(QextScintillaLexer * = 0); + + virtual void setMarginsBackgroundColor(const QColor &); + virtual void setMarginsFont(const QFont &); + virtual void setMarginsForegroundColor(const QColor &); + + virtual void setMarginLineNumbers(int,bool); + virtual void setMarginMarkerMask(int,int); + virtual void setMarginSensitivity(int,bool); + virtual void setMarginWidth(int,int); + virtual void setMarginWidth(int,const QString &); + + virtual void setModified(bool); +%If (QScintilla_1_7 -) + virtual void setPaper(const QColor &); +%End + virtual void setReadOnly(bool); + virtual void setSelection(int,int,int,int); +%If (QScintilla_1_3 -) + virtual void setSelectionBackgroundColor(const QColor &); + virtual void setSelectionForegroundColor(const QColor &); +%End + virtual void setTabIndents(bool); + virtual void setTabWidth(int); + virtual void setText(const QString &); + virtual void setUtf8(bool); + virtual void setWhitespaceVisibility(WhitespaceVisibility); +%If (QScintilla_1_4 -) + virtual void setWrapMode(WrapMode); +%End + + virtual void undo(); + virtual void unindent(int); + + virtual void zoomIn(int); + virtual void zoomIn(); + virtual void zoomOut(int); + virtual void zoomOut(); + virtual void zoomTo(int); + +signals: + void cursorPositionChanged(int,int); + void copyAvailable(bool); + void marginClicked(int,int,Qt::ButtonState); + void modificationAttempted(); + void modificationChanged(bool); + void selectionChanged(); + void textChanged(); +%If (QScintilla_1_7 -) + void userListActivated(int, const QString &); +%End + +private: + QextScintilla(const QextScintilla &); + +}; diff --git a/sip/qtext/qextscintillaapis.sip b/sip/qtext/qextscintillaapis.sip new file mode 100644 index 0000000..ad388fb --- /dev/null +++ b/sip/qtext/qextscintillaapis.sip @@ -0,0 +1,42 @@ +// This is the SIP interface definition for QextScintillaAPIs. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintillaAPIs +{ +%TypeHeaderCode +#include <qextscintillaapis.h> +%End + +public: + QextScintillaAPIs(); + + void add(const QString &); + bool load(const QString &); + void clear(); + +private: + QextScintillaAPIs(const QextScintillaAPIs &); +}; diff --git a/sip/qtext/qextscintillabase.sip b/sip/qtext/qextscintillabase.sip new file mode 100644 index 0000000..009ea0b --- /dev/null +++ b/sip/qtext/qextscintillabase.sip @@ -0,0 +1,1024 @@ +// This is the SIP interface definition for QextScintillaBase. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintillaBase : QWidget +{ +%TypeHeaderCode +#include <qextscintillabase.h> +%End + +public: + enum { + SCI_START, + SCI_OPTIONAL_START, + SCI_LEXER_START, + SCI_ADDTEXT, + SCI_ADDSTYLEDTEXT, + SCI_INSERTTEXT, + SCI_CLEARALL, + SCI_CLEARDOCUMENTSTYLE, + SCI_GETLENGTH, + SCI_GETCHARAT, + SCI_GETCURRENTPOS, + SCI_GETANCHOR, + SCI_GETSTYLEAT, + SCI_REDO, + SCI_SETUNDOCOLLECTION, + SCI_SELECTALL, + SCI_SETSAVEPOINT, + SCI_GETSTYLEDTEXT, + SCI_CANREDO, + SCI_MARKERLINEFROMHANDLE, + SCI_MARKERDELETEHANDLE, + SCI_GETUNDOCOLLECTION, + SCI_GETVIEWWS, + SCI_SETVIEWWS, + SCI_POSITIONFROMPOINT, + SCI_POSITIONFROMPOINTCLOSE, + SCI_GOTOLINE, + SCI_GOTOPOS, + SCI_SETANCHOR, + SCI_GETCURLINE, + SCI_GETENDSTYLED, + SCI_CONVERTEOLS, + SCI_GETEOLMODE, + SCI_SETEOLMODE, + SCI_STARTSTYLING, + SCI_SETSTYLING, + SCI_GETBUFFEREDDRAW, + SCI_SETBUFFEREDDRAW, + SCI_SETTABWIDTH, + SCI_GETTABWIDTH, + SCI_SETCODEPAGE, + SCI_SETUSEPALETTE, + SCI_MARKERDEFINE, + SCI_MARKERSETFORE, + SCI_MARKERSETBACK, + SCI_MARKERADD, + SCI_MARKERDELETE, + SCI_MARKERDELETEALL, + SCI_MARKERGET, + SCI_MARKERNEXT, + SCI_MARKERPREVIOUS, + SCI_MARKERDEFINEPIXMAP, + SCI_SETMARGINTYPEN, + SCI_GETMARGINTYPEN, + SCI_SETMARGINWIDTHN, + SCI_GETMARGINWIDTHN, + SCI_SETMARGINMASKN, + SCI_GETMARGINMASKN, + SCI_SETMARGINSENSITIVEN, + SCI_GETMARGINSENSITIVEN, + SCI_STYLECLEARALL, + SCI_STYLESETFORE, + SCI_STYLESETBACK, + SCI_STYLESETBOLD, + SCI_STYLESETITALIC, + SCI_STYLESETSIZE, + SCI_STYLESETFONT, + SCI_STYLESETEOLFILLED, + SCI_STYLERESETDEFAULT, + SCI_STYLESETUNDERLINE, + SCI_STYLESETCASE, + SCI_STYLESETCHARACTERSET, + SCI_SETSELFORE, + SCI_SETSELBACK, + SCI_SETCARETFORE, + SCI_ASSIGNCMDKEY, + SCI_CLEARCMDKEY, + SCI_CLEARALLCMDKEYS, + SCI_SETSTYLINGEX, + SCI_STYLESETVISIBLE, + SCI_GETCARETPERIOD, + SCI_SETCARETPERIOD, + SCI_SETWORDCHARS, + SCI_BEGINUNDOACTION, + SCI_ENDUNDOACTION, + SCI_INDICSETSTYLE, + SCI_INDICGETSTYLE, + SCI_INDICSETFORE, + SCI_INDICGETFORE, + SCI_SETWHITESPACEFORE, + SCI_SETWHITESPACEBACK, + SCI_SETSTYLEBITS, + SCI_GETSTYLEBITS, + SCI_SETLINESTATE, + SCI_GETLINESTATE, + SCI_GETMAXLINESTATE, + SCI_GETCARETLINEVISIBLE, + SCI_SETCARETLINEVISIBLE, + SCI_GETCARETLINEBACK, + SCI_SETCARETLINEBACK, + SCI_STYLESETCHANGEABLE, + SCI_AUTOCSHOW, + SCI_AUTOCCANCEL, + SCI_AUTOCACTIVE, + SCI_AUTOCPOSSTART, + SCI_AUTOCCOMPLETE, + SCI_AUTOCSTOPS, + SCI_AUTOCSETSEPARATOR, + SCI_AUTOCGETSEPARATOR, + SCI_AUTOCSELECT, + SCI_AUTOCSETCANCELATSTART, + SCI_AUTOCGETCANCELATSTART, + SCI_AUTOCSETFILLUPS, + SCI_AUTOCSETCHOOSESINGLE, + SCI_AUTOCGETCHOOSESINGLE, + SCI_AUTOCSETIGNORECASE, + SCI_AUTOCGETIGNORECASE, + SCI_USERLISTSHOW, + SCI_AUTOCSETAUTOHIDE, + SCI_AUTOCGETAUTOHIDE, + SCI_AUTOCSETDROPRESTOFWORD, + SCI_AUTOCGETDROPRESTOFWORD, + SCI_SETINDENT, + SCI_GETINDENT, + SCI_SETUSETABS, + SCI_GETUSETABS, + SCI_SETLINEINDENTATION, + SCI_GETLINEINDENTATION, + SCI_GETLINEINDENTPOSITION, + SCI_GETCOLUMN, + SCI_SETHSCROLLBAR, + SCI_GETHSCROLLBAR, + SCI_SETINDENTATIONGUIDES, + SCI_GETINDENTATIONGUIDES, + SCI_SETHIGHLIGHTGUIDE, + SCI_GETHIGHLIGHTGUIDE, + SCI_GETLINEENDPOSITION, + SCI_GETCODEPAGE, + SCI_GETCARETFORE, + SCI_GETUSEPALETTE, + SCI_GETREADONLY, + SCI_SETCURRENTPOS, + SCI_SETSELECTIONSTART, + SCI_GETSELECTIONSTART, + SCI_SETSELECTIONEND, + SCI_GETSELECTIONEND, + SCI_SETPRINTMAGNIFICATION, + SCI_GETPRINTMAGNIFICATION, + SCI_SETPRINTCOLOURMODE, + SCI_GETPRINTCOLOURMODE, + SCI_FINDTEXT, + SCI_FORMATRANGE, + SCI_GETFIRSTVISIBLELINE, + SCI_GETLINE, + SCI_GETLINECOUNT, + SCI_SETMARGINLEFT, + SCI_GETMARGINLEFT, + SCI_SETMARGINRIGHT, + SCI_GETMARGINRIGHT, + SCI_GETMODIFY, + SCI_SETSEL, + SCI_GETSELTEXT, + SCI_GETTEXTRANGE, + SCI_HIDESELECTION, + SCI_POINTXFROMPOSITION, + SCI_POINTYFROMPOSITION, + SCI_LINEFROMPOSITION, + SCI_POSITIONFROMLINE, + SCI_LINESCROLL, + SCI_SCROLLCARET, + SCI_REPLACESEL, + SCI_SETREADONLY, + SCI_NULL, + SCI_CANPASTE, + SCI_CANUNDO, + SCI_EMPTYUNDOBUFFER, + SCI_UNDO, + SCI_CUT, + SCI_COPY, + SCI_PASTE, + SCI_CLEAR, + SCI_SETTEXT, + SCI_GETTEXT, + SCI_GETTEXTLENGTH, + SCI_GETDIRECTFUNCTION, + SCI_GETDIRECTPOINTER, + SCI_SETOVERTYPE, + SCI_GETOVERTYPE, + SCI_SETCARETWIDTH, + SCI_GETCARETWIDTH, + SCI_SETTARGETSTART, + SCI_GETTARGETSTART, + SCI_SETTARGETEND, + SCI_GETTARGETEND, + SCI_REPLACETARGET, + SCI_REPLACETARGETRE, + SCI_SEARCHINTARGET, + SCI_SETSEARCHFLAGS, + SCI_GETSEARCHFLAGS, + SCI_CALLTIPSHOW, + SCI_CALLTIPCANCEL, + SCI_CALLTIPACTIVE, + SCI_CALLTIPPOSSTART, + SCI_CALLTIPSETHLT, + SCI_CALLTIPSETBACK, + SCI_CALLTIPSETFORE, + SCI_CALLTIPSETFOREHLT, +%If (QScintilla_1_6 -) + SCI_AUTOCSETMAXWIDTH, + SCI_AUTOCGETMAXWIDTH, + SCI_AUTOCSETMAXHEIGHT, + SCI_AUTOCGETMAXHEIGHT, +%End +%If (QScintilla_1_7 -) + SCI_CALLTIPUSESTYLE, +%End + SCI_VISIBLEFROMDOCLINE, + SCI_DOCLINEFROMVISIBLE, + SCI_SETFOLDLEVEL, + SCI_GETFOLDLEVEL, + SCI_GETLASTCHILD, + SCI_GETFOLDPARENT, + SCI_SHOWLINES, + SCI_HIDELINES, + SCI_GETLINEVISIBLE, + SCI_SETFOLDEXPANDED, + SCI_GETFOLDEXPANDED, + SCI_TOGGLEFOLD, + SCI_ENSUREVISIBLE, + SCI_SETFOLDFLAGS, + SCI_ENSUREVISIBLEENFORCEPOLICY, +%If (QScintilla_1_6 -) + SCI_WRAPCOUNT, +%End + SCI_SETTABINDENTS, + SCI_GETTABINDENTS, + SCI_SETBACKSPACEUNINDENTS, + SCI_GETBACKSPACEUNINDENTS, + SCI_SETMOUSEDWELLTIME, + SCI_GETMOUSEDWELLTIME, + SCI_WORDSTARTPOSITION, + SCI_WORDENDPOSITION, + SCI_SETWRAPMODE, + SCI_GETWRAPMODE, + SCI_SETLAYOUTCACHE, + SCI_GETLAYOUTCACHE, + SCI_SETSCROLLWIDTH, + SCI_GETSCROLLWIDTH, + SCI_TEXTWIDTH, + SCI_SETENDATLASTLINE, + SCI_GETENDATLASTLINE, + SCI_TEXTHEIGHT, + SCI_SETVSCROLLBAR, + SCI_GETVSCROLLBAR, + SCI_APPENDTEXT, + SCI_GETTWOPHASEDRAW, + SCI_SETTWOPHASEDRAW, + SCI_AUTOCGETTYPESEPARATOR, + SCI_AUTOCSETTYPESEPARATOR, + SCI_TARGETFROMSELECTION, + SCI_LINESJOIN, + SCI_LINESSPLIT, + SCI_SETFOLDMARGINCOLOUR, + SCI_SETFOLDMARGINHICOLOUR, + SCI_LINEDOWN, + SCI_LINEDOWNEXTEND, + SCI_LINEUP, + SCI_LINEUPEXTEND, + SCI_CHARLEFT, + SCI_CHARLEFTEXTEND, + SCI_CHARRIGHT, + SCI_CHARRIGHTEXTEND, + SCI_WORDLEFT, + SCI_WORDLEFTEXTEND, + SCI_WORDRIGHT, + SCI_WORDRIGHTEXTEND, + SCI_HOME, + SCI_HOMEEXTEND, + SCI_LINEEND, + SCI_LINEENDEXTEND, + SCI_DOCUMENTSTART, + SCI_DOCUMENTSTARTEXTEND, + SCI_DOCUMENTEND, + SCI_DOCUMENTENDEXTEND, + SCI_PAGEUP, + SCI_PAGEUPEXTEND, + SCI_PAGEDOWN, + SCI_PAGEDOWNEXTEND, + SCI_EDITTOGGLEOVERTYPE, + SCI_CANCEL, + SCI_DELETEBACK, + SCI_TAB, + SCI_BACKTAB, + SCI_NEWLINE, + SCI_FORMFEED, + SCI_VCHOME, + SCI_VCHOMEEXTEND, + SCI_ZOOMIN, + SCI_ZOOMOUT, + SCI_DELWORDLEFT, + SCI_DELWORDRIGHT, + SCI_LINECUT, + SCI_LINEDELETE, + SCI_LINETRANSPOSE, + SCI_LOWERCASE, + SCI_UPPERCASE, + SCI_LINESCROLLDOWN, + SCI_LINESCROLLUP, + SCI_DELETEBACKNOTLINE, + SCI_HOMEDISPLAY, + SCI_HOMEDISPLAYEXTEND, + SCI_LINEENDDISPLAY, + SCI_LINEENDDISPLAYEXTEND, + SCI_MOVECARETINSIDEVIEW, + SCI_LINELENGTH, + SCI_BRACEHIGHLIGHT, + SCI_BRACEBADLIGHT, + SCI_BRACEMATCH, + SCI_GETVIEWEOL, + SCI_SETVIEWEOL, + SCI_GETDOCPOINTER, + SCI_SETDOCPOINTER, + SCI_SETMODEVENTMASK, + SCI_GETEDGECOLUMN, + SCI_SETEDGECOLUMN, + SCI_GETEDGEMODE, + SCI_SETEDGEMODE, + SCI_GETEDGECOLOUR, + SCI_SETEDGECOLOUR, + SCI_SEARCHANCHOR, + SCI_SEARCHNEXT, + SCI_SEARCHPREV, + SCI_LINESONSCREEN, + SCI_USEPOPUP, + SCI_SELECTIONISRECTANGLE, + SCI_SETZOOM, + SCI_GETZOOM, + SCI_CREATEDOCUMENT, + SCI_ADDREFDOCUMENT, + SCI_RELEASEDOCUMENT, + SCI_GETMODEVENTMASK, + SCI_SETFOCUS, + SCI_GETFOCUS, + SCI_SETSTATUS, + SCI_GETSTATUS, + SCI_SETMOUSEDOWNCAPTURES, + SCI_GETMOUSEDOWNCAPTURES, + SCI_SETCURSOR, + SCI_GETCURSOR, + SCI_SETCONTROLCHARSYMBOL, + SCI_GETCONTROLCHARSYMBOL, + SCI_WORDPARTLEFT, + SCI_WORDPARTLEFTEXTEND, + SCI_WORDPARTRIGHT, + SCI_WORDPARTRIGHTEXTEND, + SCI_SETVISIBLEPOLICY, + SCI_DELLINELEFT, + SCI_DELLINERIGHT, + SCI_SETXOFFSET, + SCI_GETXOFFSET, + SCI_CHOOSECARETX, + SCI_GRABFOCUS, + SCI_SETXCARETPOLICY, + SCI_SETYCARETPOLICY, + SCI_LINEDUPLICATE, + SCI_REGISTERIMAGE, + SCI_SETPRINTWRAPMODE, + SCI_GETPRINTWRAPMODE, + SCI_CLEARREGISTEREDIMAGES, + SCI_STYLESETHOTSPOT, + SCI_SETHOTSPOTACTIVEFORE, + SCI_SETHOTSPOTACTIVEBACK, + SCI_SETHOTSPOTACTIVEUNDERLINE, + SCI_PARADOWN, + SCI_PARADOWNEXTEND, + SCI_PARAUP, + SCI_PARAUPEXTEND, +%If (QScintilla_1_1 -) + SCI_POSITIONBEFORE, + SCI_POSITIONAFTER, + SCI_COPYRANGE, + SCI_COPYTEXT, +%End +%If (QScintilla_1_3 -) + SCI_SETSELECTIONMODE, + SCI_GETSELECTIONMODE, + SCI_GETLINESELSTARTPOSITION, + SCI_GETLINESELENDPOSITION, + SCI_LINEDOWNRECTEXTEND, + SCI_LINEUPRECTEXTEND, + SCI_CHARLEFTRECTEXTEND, + SCI_CHARRIGHTRECTEXTEND, + SCI_HOMERECTEXTEND, + SCI_VCHOMERECTEXTEND, + SCI_LINEENDRECTEXTEND, + SCI_PAGEUPRECTEXTEND, + SCI_PAGEDOWNRECTEXTEND, + SCI_STUTTEREDPAGEUP, + SCI_STUTTEREDPAGEUPEXTEND, + SCI_STUTTEREDPAGEDOWN, + SCI_STUTTEREDPAGEDOWNEXTEND, + SCI_WORDLEFTEND, + SCI_WORDLEFTENDEXTEND, + SCI_WORDRIGHTEND, + SCI_WORDRIGHTENDEXTEND, + SCI_SETWHITESPACECHARS, + SCI_SETCHARSDEFAULT, + SCI_AUTOCGETCURRENT, + SCI_ALLOCATE, +%End + SCI_HOMEWRAP, + SCI_HOMEWRAPEXTEND, + SCI_LINEENDWRAP, + SCI_LINEENDWRAPEXTEND, + SCI_VCHOMEWRAP, + SCI_VCHOMEWRAPEXTEND, +%If (QScintilla_1_1 -) + SCI_LINECOPY, +%End +%If (QScintilla_1_6 -) + SCI_FINDCOLUMN, + SCI_GETCARETSTICKY, + SCI_SETCARETSTICKY, + SCI_TOGGLECARETSTICKY, +%End +%If (QScintilla_1_3 -) + SCI_SETWRAPVISUALFLAGS, + SCI_GETWRAPVISUALFLAGS, + SCI_SETWRAPVISUALFLAGSLOCATION, + SCI_GETWRAPVISUALFLAGSLOCATION, + SCI_SETWRAPSTARTINDENT, + SCI_GETWRAPSTARTINDENT, +%End +%If (QScintilla_1_7 -) + SCI_MARKERADDSET, + SCI_SETPASTECONVERTENDINGS + SCI_GETPASTECONVERTENDINGS + SCI_SELECTIONDUPLICATE + SCI_SETCARETLINEBACKALPHA + SCI_GETCARETLINEBACKALPHA + SCI_MARKERSETALPHA, + SCI_GETSELALPHA, + SCI_SETSELALPHA, +%End + SCI_STARTRECORD, + SCI_STOPRECORD, + SCI_SETLEXER, + SCI_GETLEXER, + SCI_COLOURISE, + SCI_SETPROPERTY, + SCI_SETKEYWORDS, + SCI_SETLEXERLANGUAGE, +%If (QScintilla_1_6 -) + SCI_LOADLEXERLIBRARY, + SCI_GETPROPERTY, + SCI_GETPROPERTYEXPANDED, + SCI_GETPROPERTYINT, +%End +%If (QScintilla_1_7 -) + SCI_GETSTYLEBITSNEEDED, +%End + }; + +%If (QScintilla_1_7 -) + enum + { + SC_ALPHA_TRANSPARENT, + SC_ALPHA_OPAQUE, + SC_ALPHA_NOALPHA, + }; +%End + +%If (QScintilla_1_3 -) + enum + { + SC_WRAPVISUALFLAG_NONE, + SC_WRAPVISUALFLAG_END, + SC_WRAPVISUALFLAG_START + }; + + enum + { + SC_WRAPVISUALFLAGLOC_DEFAULT, + SC_WRAPVISUALFLAGLOC_END_BY_TEXT, + SC_WRAPVISUALFLAGLOC_START_BY_TEXT + }; + + enum { + SC_SEL_STREAM, + SC_SEL_RECTANGLE, + SC_SEL_LINES + }; +%End + + enum { + SCWS_INVISIBLE, + SCWS_VISIBLEALWAYS, + SCWS_VISIBLEAFTERINDENT + }; + + enum { + SC_EOL_CRLF, + SC_EOL_CR, + SC_EOL_LF + }; + + enum { + SC_CP_DBCS, + SC_CP_UTF8 + }; + + enum { + SC_MARK_CIRCLE, + SC_MARK_ROUNDRECT, + SC_MARK_ARROW, + SC_MARK_SMALLRECT, + SC_MARK_SHORTARROW, + SC_MARK_EMPTY, + SC_MARK_ARROWDOWN, + SC_MARK_MINUS, + SC_MARK_PLUS, + SC_MARK_VLINE, + SC_MARK_LCORNER, + SC_MARK_TCORNER, + SC_MARK_BOXPLUS, + SC_MARK_BOXPLUSCONNECTED, + SC_MARK_BOXMINUS, + SC_MARK_BOXMINUSCONNECTED, + SC_MARK_LCORNERCURVE, + SC_MARK_TCORNERCURVE, + SC_MARK_CIRCLEPLUS, + SC_MARK_CIRCLEPLUSCONNECTED, + SC_MARK_CIRCLEMINUS, + SC_MARK_CIRCLEMINUSCONNECTED, + SC_MARK_BACKGROUND, + SC_MARK_DOTDOTDOT, + SC_MARK_ARROWS, + SC_MARK_PIXMAP, +%If (QScintilla_1_6 -) + SC_MARK_FULLRECT, +%End + SC_MARK_CHARACTER + }; + + enum { + SC_MARKNUM_FOLDEREND, + SC_MARKNUM_FOLDEROPENMID, + SC_MARKNUM_FOLDERMIDTAIL, + SC_MARKNUM_FOLDERTAIL, + SC_MARKNUM_FOLDERSUB, + SC_MARKNUM_FOLDER, + SC_MARKNUM_FOLDEROPEN, + SC_MASK_FOLDERS + }; + + enum { + SC_MARGIN_SYMBOL, + SC_MARGIN_NUMBER, +%If (QScintilla_1_7 -) + SC_MARGIN_BACK, + SC_MARGIN_FORE, +%End + }; + + enum { + STYLE_DEFAULT, + STYLE_LINENUMBER, + STYLE_BRACELIGHT, + STYLE_BRACEBAD, + STYLE_CONTROLCHAR, + STYLE_INDENTGUIDE, +%If (QScintilla_1_7 -) + STYLE_CALLTIP, +%End + STYLE_LASTPREDEFINED, +%If (QScintilla_1_3 -) + STYLE_MAX +%End + }; + + enum { + SC_CHARSET_ANSI, + SC_CHARSET_DEFAULT, + SC_CHARSET_BALTIC, + SC_CHARSET_CHINESEBIG5, + SC_CHARSET_EASTEUROPE, + SC_CHARSET_GB2312, + SC_CHARSET_GREEK, + SC_CHARSET_HANGUL, + SC_CHARSET_MAC, + SC_CHARSET_OEM, + SC_CHARSET_RUSSIAN, + SC_CHARSET_SHIFTJIS, + SC_CHARSET_SYMBOL, + SC_CHARSET_TURKISH, + SC_CHARSET_JOHAB, + SC_CHARSET_HEBREW, + SC_CHARSET_ARABIC, + SC_CHARSET_VIETNAMESE, + SC_CHARSET_THAI, +%If (QScintilla_1_6 -) + SC_CHARSET_8859_15, +%End + }; + + enum { + SC_CASE_MIXED, + SC_CASE_UPPER, + SC_CASE_LOWER + }; + + enum { + INDIC_MAX, + INDIC_PLAIN, + INDIC_SQUIGGLE, + INDIC_TT, + INDIC_DIAGONAL, + INDIC_STRIKE, +%If (QScintilla_1_2 -) + INDIC_HIDDEN, +%End +%If (QScintilla_1_3 -) + INDIC_BOX, +%End +%If (QScintilla_1_7 -) + INDIC_ROUNDBOX, +%End + INDIC0_MASK, + INDIC1_MASK, + INDIC2_MASK, + INDICS_MASK + }; + + enum { + SC_PRINT_NORMAL, + SC_PRINT_INVERTLIGHT, + SC_PRINT_BLACKONWHITE, + SC_PRINT_COLOURONWHITE, + SC_PRINT_COLOURONWHITEDEFAULTBG + }; + + enum { + SCFIND_WHOLEWORD, + SCFIND_MATCHCASE, + SCFIND_WORDSTART, + SCFIND_REGEXP, + SCFIND_POSIX + }; + + enum { + SC_FOLDLEVELBASE, + SC_FOLDLEVELWHITEFLAG, + SC_FOLDLEVELHEADERFLAG, + SC_FOLDLEVELBOXHEADERFLAG, + SC_FOLDLEVELBOXFOOTERFLAG, + SC_FOLDLEVELCONTRACTED, + SC_FOLDLEVELUNINDENT, + SC_FOLDLEVELNUMBERMASK + }; + + enum + { + SC_FOLDFLAG_BOX, + SC_FOLDFLAG_LINEBEFORE_EXPANDED, + SC_FOLDFLAG_LINEBEFORE_CONTRACTED, + SC_FOLDFLAG_LINEAFTER_EXPANDED, + SC_FOLDFLAG_LINEAFTER_CONTRACTED, + SC_FOLDFLAG_LEVELNUMBERS + }; + + enum { + SC_TIME_FOREVER + }; + + enum { + SC_WRAP_NONE, + SC_WRAP_WORD, +%If (QScintilla_1_6 -) + SC_WRAP_CHAR, +%End + }; + + enum { + SC_CACHE_NONE, + SC_CACHE_CARET, + SC_CACHE_PAGE, + SC_CACHE_DOCUMENT + }; + + enum { + EDGE_NONE, + EDGE_LINE, + EDGE_BACKGROUND + }; + + enum { + SC_CURSORNORMAL, + SC_CURSORWAIT + }; + + enum { + VISIBLE_SLOP, + VISIBLE_STRICT + }; + + enum { + CARET_SLOP, + CARET_STRICT, + CARET_JUMPS, + CARET_EVEN + }; + + enum { + SC_MOD_INSERTTEXT, + SC_MOD_DELETETEXT, + SC_MOD_CHANGESTYLE, + SC_MOD_CHANGEFOLD, + SC_PERFORMED_USER, + SC_PERFORMED_UNDO, + SC_PERFORMED_REDO, +%If (QScintilla_1_6 -) + SC_MULTISTEPUNDOREDO, +%End + SC_LASTSTEPINUNDOREDO, + SC_MOD_CHANGEMARKER, + SC_MOD_BEFOREINSERT, + SC_MOD_BEFOREDELETE, +%If (QScintilla_1_6 -) + SC_MULTILINEUNDOREDO, +%End + SC_MODEVENTMASKALL + }; + + enum { + SCK_DOWN, + SCK_UP, + SCK_LEFT, + SCK_RIGHT, + SCK_HOME, + SCK_END, + SCK_PRIOR, + SCK_NEXT, + SCK_DELETE, + SCK_INSERT, + SCK_ESCAPE, + SCK_BACK, + SCK_TAB, + SCK_RETURN, + SCK_ADD, + SCK_SUBTRACT, + SCK_DIVIDE + }; + + enum { +%If (QScintilla_1_7 -) + SCMOD_NORM, +%End + SCMOD_SHIFT, + SCMOD_CTRL, + SCMOD_ALT + }; + + enum { + SCLEX_CONTAINER, + SCLEX_NULL, + SCLEX_PYTHON, + SCLEX_CPP, + SCLEX_HTML, + SCLEX_XML, + SCLEX_PERL, + SCLEX_SQL, + SCLEX_VB, + SCLEX_PROPERTIES, + SCLEX_ERRORLIST, + SCLEX_MAKEFILE, + SCLEX_BATCH, + SCLEX_LATEX, + SCLEX_LUA, + SCLEX_DIFF, + SCLEX_CONF, + SCLEX_PASCAL, + SCLEX_AVE, + SCLEX_ADA, + SCLEX_LISP, + SCLEX_RUBY, + SCLEX_EIFFEL, + SCLEX_EIFFELKW, + SCLEX_TCL, + SCLEX_NNCRONTAB, + SCLEX_BULLANT, + SCLEX_VBSCRIPT, + SCLEX_ASP, + SCLEX_PHP, + SCLEX_BAAN, + SCLEX_MATLAB, +%If (QScintilla_1_2 -) + SCLEX_SCRIPTOL, +%End + SCLEX_ASM, + SCLEX_CPPNOCASE, + SCLEX_FORTRAN, + SCLEX_F77, + SCLEX_CSS, + SCLEX_POV, +%If (QScintilla_1_1 -) + SCLEX_LOUT, + SCLEX_ESCRIPT, +%End +%If (QScintilla_1_2 -) + SCLEX_PS, + SCLEX_NSIS, + SCLEX_MMIXAL, +%End +%If (QScintilla_1_3 -) + SCLEX_CLW, + SCLEX_CLWNOCASE, + SCLEX_LOT, + SCLEX_YAML, + SCLEX_TEX, + SCLEX_METAPOST, + SCLEX_POWERBASIC, + SCLEX_FORTH, + SCLEX_ERLANG, + SCLEX_OCTAVE, + SCLEX_MSSQL, + SCLEX_VERILOG, + SCLEX_KIX, + SCLEX_GUI4CLI, + SCLEX_SPECMAN, + SCLEX_AU3, + SCLEX_APDL, + SCLEX_BASH, +%End +%If (QScintilla_1_5 -) + SCLEX_ASN1, + SCLEX_VHDL, +%End +%If (QScintilla_1_6 -) + SCLEX_CAML, + SCLEX_BLITZBASIC, + SCLEX_PUREBASIC, + SCLEX_HASKELL, + SCLEX_PHPSCRIPT, + SCLEX_TADS3, + SCLEX_REBOL, + SCLEX_SMALLTALK, + SCLEX_FLAGSHIP, + SCLEX_CSOUND, +%End +%If (QScintilla_1_7 -) + SCLEX_FREEBASIC, + SCLEX_INNOSETUP, + SCLEX_OPAL, + SCLEX_SPICE, +%End + }; + + QextScintillaBase(QWidget * /TransferThis/,const char *, + WFlags = 0); + +%ConvertToSubClassCode + static struct class_graph { + const char *name; + sipWrapperType **type; + int yes, no; + } graph[] = { + {sipName_QextScintillaLexer, &sipClass_QextScintillaLexer, 3, 1}, + {sipName_QextScintillaBase, &sipClass_QextScintillaBase, 15, 2}, + {sipName_QextScintillaMacro, &sipClass_QextScintillaMacro, -1, -1}, +#if QSCINTILLA_VERSION >= 0x010300 + {sipName_QextScintillaLexerPerl, &sipClass_QextScintillaLexerPerl, -1, 4}, +#else + {NULL, NULL, -1, 4}, +#endif +#if QSCINTILLA_VERSION >= 0x010100 + {sipName_QextScintillaLexerHTML, &sipClass_QextScintillaLexerHTML, -1, 5}, +#else + {NULL, NULL, -1, 5}, +#endif +#if QSCINTILLA_VERSION >= 0x010500 + {sipName_QextScintillaLexerRuby, &sipClass_QextScintillaLexerRuby, -1, 6}, +#else + {NULL, NULL, -1, 6}, +#endif + {sipName_QextScintillaLexerCPP, &sipClass_QextScintillaLexerCPP, 11, 7}, + {sipName_QextScintillaLexerPython, &sipClass_QextScintillaLexerPython, -1, 8}, +#if QSCINTILLA_VERSION >= 0x010100 + {sipName_QextScintillaLexerSQL, &sipClass_QextScintillaLexerSQL, -1, 9}, +#else + {NULL, NULL, -1, 9}, +#endif +#if QSCINTILLA_VERSION >= 0x010400 + {sipName_QextScintillaLexerBash, &sipClass_QextScintillaLexerBash, -1, 10}, +#else + {NULL, NULL, -1, 10}, +#endif +#if QSCINTILLA_VERSION >= 0x010500 + {sipName_QextScintillaLexerLua, &sipClass_QextScintillaLexerLua, -1, -1}, +#else + {NULL, NULL, -1, -1}, +#endif + {sipName_QextScintillaLexerIDL, &sipClass_QextScintillaLexerIDL, -1, 12}, + {sipName_QextScintillaLexerJavaScript, &sipClass_QextScintillaLexerJavaScript, -1, 13}, + {sipName_QextScintillaLexerCSharp, &sipClass_QextScintillaLexerCSharp, -1, 14}, + {sipName_QextScintillaLexerJava, &sipClass_QextScintillaLexerJava, -1, -1}, + {sipName_QextScintilla, &sipClass_QextScintilla, -1, -1}, + }; + + int i = 0; + + sipClass = NULL; + + do + { + struct class_graph *cg = &graph[i]; + + if (cg->name != NULL && sipCpp->inherits(cg->name)) + { + sipClass = *cg->type; + i = cg->yes; + } + else + i = cg->no; + } + while (i >= 0); +%End + +%If (QScintilla_1_3 -) + QextScintillaBase *pool(); +%End + + long SendScintilla(unsigned int,unsigned long = 0,long = 0); + long SendScintilla(unsigned int,unsigned long,const char *); + long SendScintilla(unsigned int,const char *); + long SendScintilla(unsigned int,const char *,const char *); + long SendScintilla(unsigned int,long); + //long SendScintilla(unsigned int,int); + long SendScintilla(unsigned int,long,long,char *); + long SendScintilla(unsigned int,unsigned long,const QColor &); + long SendScintilla(unsigned int,const QColor &); + long SendScintilla(unsigned int,unsigned long,QPainter *,const QRect &, + long,long); + long SendScintilla(unsigned int,unsigned long,const QPixmap *); + + virtual QSize sizeHint() const; +%If (QScintilla_1_5 -) + QWidget *viewport() const; +%End + +signals: + void QSCN_SELCHANGED(bool); + + void SCEN_CHANGE(); + +%If (QScintilla_1_6 -) + void SCN_AUTOCSELECTION(const char *,int); +%End + void SCN_CHARADDED(int); + void SCN_CALLTIPCLICK(int); + void SCN_DOUBLECLICK(); + void SCN_DWELLEND(int,int,int); + void SCN_DWELLSTART(int,int,int); + void SCN_HOTSPOTCLICK(int,int); + void SCN_HOTSPOTDOUBLECLICK(int,int); + void SCN_MACRORECORD(unsigned int,unsigned long,long); + void SCN_MARGINCLICK(int,int,int); + void SCN_MODIFIED(int,int,const char *,int,int,int,int,int); + void SCN_MODIFYATTEMPTRO(); + void SCN_NEEDSHOWN(int,int); + void SCN_PAINTED(); + void SCN_SAVEPOINTLEFT(); + void SCN_SAVEPOINTREACHED(); + void SCN_STYLENEEDED(int); + void SCN_UPDATEUI(); + void SCN_USERLISTSELECTION(const char *,int); + void SCN_ZOOM(); + +protected: + bool eventFilter(QObject *,QEvent *); + virtual void keyPressEvent(QKeyEvent *); + virtual void focusInEvent(QFocusEvent *); + virtual void focusOutEvent(QFocusEvent *); + virtual bool focusNextPrevChild(bool); +%If (QScintilla_1_5 -) + virtual void startDrag(); +%End + +private: + QextScintillaBase(const QextScintillaBase &); +}; diff --git a/sip/qtext/qextscintillacommand.sip b/sip/qtext/qextscintillacommand.sip new file mode 100644 index 0000000..148fdd6 --- /dev/null +++ b/sip/qtext/qextscintillacommand.sip @@ -0,0 +1,44 @@ +// This is the SIP interface definition for QextScintillaCommand. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintillaCommand +{ +%TypeHeaderCode +#include <qextscintillacommand.h> +%End + +public: + void setKey(int); + void setAlternateKey(int); + int key() const; + int alternateKey() const; + static bool validKey(int); + QString description() const; + +private: + QextScintillaCommand(QextScintilla *,int,int,const char *); + QextScintillaCommand(const QextScintillaCommand &); +}; diff --git a/sip/qtext/qextscintillacommandset.sip b/sip/qtext/qextscintillacommandset.sip new file mode 100644 index 0000000..ae1be22 --- /dev/null +++ b/sip/qtext/qextscintillacommandset.sip @@ -0,0 +1,52 @@ +// This is the SIP interface definition for the QextScintillaCommandSet. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintillaCommandSet +{ +%TypeHeaderCode +#include <qextscintillacommandset.h> +%End + +public: + bool readSettings(QSettings &,const char * = "/Scintilla"); + bool writeSettings(QSettings &,const char * = "/Scintilla"); + +%If (QScintilla_1_4 -) + QPtrList<QextScintillaCommand> &commands(); +%End +%If (- QScintilla_1_4) + const QPtrList<QextScintillaCommand> &commands() const; +%End + +%If (QScintilla_1_4 -) + void clearKeys(); + void clearAlternateKeys(); +%End + +private: + QextScintillaCommandSet(QextScintilla *); + QextScintillaCommandSet(const QextScintillaCommandSet &); +}; diff --git a/sip/qtext/qextscintilladocument.sip b/sip/qtext/qextscintilladocument.sip new file mode 100644 index 0000000..9108114 --- /dev/null +++ b/sip/qtext/qextscintilladocument.sip @@ -0,0 +1,42 @@ +// This is the SIP interface definition for QextScintillaDocument. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_3 -) + +class QextScintillaDocument +{ +%TypeHeaderCode +#include <qextscintilladocument.h> +%End + +public: + QextScintillaDocument(); + virtual ~QextScintillaDocument(); + + QextScintillaDocument(const QextScintillaDocument &); +}; + +%End diff --git a/sip/qtext/qextscintillalexer.sip b/sip/qtext/qextscintillalexer.sip new file mode 100644 index 0000000..ed10f46 --- /dev/null +++ b/sip/qtext/qextscintillalexer.sip @@ -0,0 +1,80 @@ +// This is the SIP interface definition for QextScintillaLexer. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintillaLexer : QObject +{ +%TypeHeaderCode +#include <qextscintillalexer.h> +%End + +public: + QextScintillaLexer(QObject * /TransferThis/ = 0,const char * = 0); + + virtual const char *language() const = 0; + virtual const char *lexer() const = 0; + int autoIndentStyle(); + virtual QColor color(int) const; + virtual bool eolFill(int) const; + virtual QFont font(int) const; + virtual const char *keywords(int) const; + virtual QString description(int) const = 0; + virtual QColor paper(int) const; + virtual QFont defaultFont() const; +%If (QScintilla_1_7 -) + virtual QColor defaultColor() const; + virtual QColor defaultPaper() const; +%End + virtual void refreshProperties(); + bool readSettings(QSettings &,const char * = "/Scintilla"); + bool writeSettings(QSettings &,const char * = "/Scintilla") const; + +public slots: + virtual void setAutoIndentStyle(int); + virtual void setColor(const QColor &,int = -1); + virtual void setDefaultFont(const QFont &); +%If (QScintilla_1_7 -) + virtual void setDefaultColor(const QColor &); + virtual void setDefaultPaper(const QColor &); +%End + virtual void setEolFill(bool,int = -1); + virtual void setFont(const QFont &,int = -1); + virtual void setPaper(const QColor &,int = -1); + +signals: + void colorChanged(const QColor &,int); + void eolFillChanged(bool,int); + void fontChanged(const QFont &,int); + void paperChanged(const QColor &,int); + void propertyChanged(const char *,const char *); + +protected: + virtual bool readProperties(QSettings &,const QString &); + virtual bool writeProperties(QSettings &,const QString &) const; + +private: + QextScintillaLexer(const QextScintillaLexer &); + +}; diff --git a/sip/qtext/qextscintillalexerbash.sip b/sip/qtext/qextscintillalexerbash.sip new file mode 100644 index 0000000..3a4099d --- /dev/null +++ b/sip/qtext/qextscintillalexerbash.sip @@ -0,0 +1,80 @@ +// This is the SIP interface definition for QextScintillaLexerBash. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_4 -) + +class QextScintillaLexerBash : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexerbash.h> +%End + +public: + enum { + Default, + Error, + Comment, + Number, + Keyword, + DoubleQuotedString, + SingleQuotedString, + Operator, + Identifier, + Scalar, + ParameterExpansion, + Backticks, + HereDocumentDelimiter, + SingleQuotedHereDocument + }; + + QextScintillaLexerBash(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + bool eolFill(int) const; + QFont font(int) const; + const char *keywords(int) const; + QString description(int) const; + QColor paper(int) const; + + void refreshProperties(); + bool foldComments() const; + bool foldCompact() const; + +public slots: + virtual void setFoldComments(bool); + virtual void setFoldCompact(bool); + +protected: + bool readProperties(QSettings &,const QString &); + bool writeProperties(QSettings &,const QString &) const; + +private: + QextScintillaLexerBash(const QextScintillaLexerBash &); +}; + +%End diff --git a/sip/qtext/qextscintillalexerbatch.sip b/sip/qtext/qextscintillalexerbatch.sip new file mode 100644 index 0000000..f29f326 --- /dev/null +++ b/sip/qtext/qextscintillalexerbatch.sip @@ -0,0 +1,62 @@ +// This is the SIP interface definition for QextScintillaLexerBatch. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_6 -) + +class QextScintillaLexerBatch : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexerbatch.h> +%End + +public: + enum { + Default, + Comment, + Keyword, + Label, + HideCommandChar, + ExternalCommand, + Variable, + Operator + }; + + QextScintillaLexerBatch(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + bool eolFill(int) const; + QFont font(int) const; + const char *keywords(int) const; + QString description(int) const; + QColor paper(int) const; + +private: + QextScintillaLexerBatch(const QextScintillaLexerBatch &); +}; + +%End diff --git a/sip/qtext/qextscintillalexercpp.sip b/sip/qtext/qextscintillalexercpp.sip new file mode 100644 index 0000000..dab8cf2 --- /dev/null +++ b/sip/qtext/qextscintillalexercpp.sip @@ -0,0 +1,98 @@ +// This is the SIP interface definition for QextScintillaLexerCPP. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintillaLexerCPP : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexercpp.h> +%End + +public: + enum { +%If (QScintilla_1_1 -) + Default, +%End + WhiteSpace, + Comment, + CommentLine, + CommentDoc, + Number, + Keyword, + DoubleQuotedString, + SingleQuotedString, + UUID, + PreProcessor, + Operator, + Identifier, + UnclosedString, + VerbatimString, + Regex, + CommentLineDoc, + KeywordSet2, + CommentDocKeyword, + CommentDocKeywordError, +%If (QScintilla_1_1 -) + GlobalClass, +%End + }; + + QextScintillaLexerCPP(QObject * /TransferThis/ = 0,const char * = 0, + bool = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + bool eolFill(int) const; + QFont font(int) const; + const char *keywords(int) const; + QString description(int) const; + QColor paper(int) const; + + void refreshProperties(); +%If (QScintilla_1_1 -) + bool foldAtElse() const; +%End + bool foldComments() const; + bool foldCompact() const; + bool foldPreprocessor() const; + bool stylePreprocessor() const; + +public slots: +%If (QScintilla_1_1 -) + virtual void setFoldAtElse(bool); +%End + virtual void setFoldComments(bool); + virtual void setFoldCompact(bool); + virtual void setFoldPreprocessor(bool); + virtual void setStylePreprocessor(bool); + +protected: + bool readProperties(QSettings &,const QString &); + bool writeProperties(QSettings &,const QString &) const; + +private: + QextScintillaLexerCPP(const QextScintillaLexerCPP &); +}; diff --git a/sip/qtext/qextscintillalexercsharp.sip b/sip/qtext/qextscintillalexercsharp.sip new file mode 100644 index 0000000..9444248 --- /dev/null +++ b/sip/qtext/qextscintillalexercsharp.sip @@ -0,0 +1,47 @@ +// This is the SIP interface definition for QextScintillaLexerCSharp. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintillaLexerCSharp : QextScintillaLexerCPP +{ +%TypeHeaderCode +#include <qextscintillalexercsharp.h> +%End + +public: + QextScintillaLexerCSharp(QObject * /TransferThis/ = 0, + const char * = 0); + + const char *language() const; + QColor color(int) const; + bool eolFill(int) const; + QFont font(int) const; + const char *keywords(int) const; + QString description(int) const; + QColor paper(int) const; + +private: + QextScintillaLexerCSharp(const QextScintillaLexerCSharp &); +}; diff --git a/sip/qtext/qextscintillalexercss.sip b/sip/qtext/qextscintillalexercss.sip new file mode 100644 index 0000000..eb02a09 --- /dev/null +++ b/sip/qtext/qextscintillalexercss.sip @@ -0,0 +1,81 @@ +// This is the SIP interface definition for QextScintillaLexerCSS. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_6 -) + +class QextScintillaLexerCSS : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexercss.h> +%End + +public: + enum { + Default, + Tag, + ClassSelector, + PseudoClass, + UnknownPseudoClass, + Operator, + CSS1Property, + UnknownProperty, + Value, + Comment, + IDSelector, + Important, + AtRule, + DoubleQuotedString, + SingleQuotedString, + CSS2Property, + Attribute + }; + + QextScintillaLexerCSS(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + QFont font(int) const; + const char *keywords(int) const; + QString description(int) const; + + void refreshProperties(); + bool foldComments() const; + bool foldCompact() const; + +public slots: + virtual void setFoldComments(bool); + virtual void setFoldCompact(bool); + +protected: + bool readProperties(QSettings &,const QString &); + bool writeProperties(QSettings &,const QString &) const; + +private: + QextScintillaLexerCSS(const QextScintillaLexerCSS &); +}; + +%End diff --git a/sip/qtext/qextscintillalexerdiff.sip b/sip/qtext/qextscintillalexerdiff.sip new file mode 100644 index 0000000..adfcb77 --- /dev/null +++ b/sip/qtext/qextscintillalexerdiff.sip @@ -0,0 +1,57 @@ +// This is the SIP interface definition for QextScintillaLexerDiff. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_6 -) + +class QextScintillaLexerDiff : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexerdiff.h> +%End + +public: + enum { + Default, + Comment, + Command, + Header, + Position, + LineRemoved, + LineAdded + }; + + QextScintillaLexerDiff(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + QString description(int) const; + +private: + QextScintillaLexerDiff(const QextScintillaLexerDiff &); +}; + +%End diff --git a/sip/qtext/qextscintillalexerhtml.sip b/sip/qtext/qextscintillalexerhtml.sip new file mode 100644 index 0000000..6b59162 --- /dev/null +++ b/sip/qtext/qextscintillalexerhtml.sip @@ -0,0 +1,178 @@ +// This is the SIP interface definition for QextScintillaLexerHTML. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_1 -) + +class QextScintillaLexerHTML : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexerhtml.h> +%End + +public: + enum { + Default, + Tag, + UnknownTag, + Attribute, + UnknownAttribute, + HTMLNumber, + HTMLDoubleQuotedString, + HTMLSingleQuotedString, + OtherInTag, + HTMLComment, + Entity, + XMLTagEnd, + XMLStart, + XMLEnd, + Script, + ASPAtStart, + ASPStart, + CDATA, + PHPStart, + HTMLValue, + ASPXCComment, + SGMLDefault, + SGMLCommand, + SGMLParameter, + SGMLDoubleQuotedString, + SGMLSingleQuotedString, + SGMLError, + SGMLSpecial, + SGMLEntity, + SGMLComment, + SGMLParameterComment, + SGMLBlockDefault, + JavaScriptStart, + JavaScriptDefault, + JavaScriptComment, + JavaScriptCommentLine, + JavaScriptCommentDoc, + JavaScriptNumber, + JavaScriptWord, + JavaScriptKeyword, + JavaScriptDoubleQuotedString, + JavaScriptSingleQuotedString, + JavaScriptSymbol, + JavaScriptUnclosedString, + JavaScriptRegex, + ASPJavaScriptStart, + ASPJavaScriptDefault, + ASPJavaScriptComment, + ASPJavaScriptCommentLine, + ASPJavaScriptCommentDoc, + ASPJavaScriptNumber, + ASPJavaScriptWord, + ASPJavaScriptKeyword, + ASPJavaScriptDoubleQuotedString, + ASPJavaScriptSingleQuotedString, + ASPJavaScriptSymbol, + ASPJavaScriptUnclosedString, + ASPJavaScriptRegex, + VBScriptStart, + VBScriptDefault, + VBScriptComment, + VBScriptNumber, + VBScriptKeyword, + VBScriptString, + VBScriptIdentifier, + VBScriptUnclosedString, + ASPVBScriptStart, + ASPVBScriptDefault, + ASPVBScriptComment, + ASPVBScriptNumber, + ASPVBScriptKeyword, + ASPVBScriptString, + ASPVBScriptIdentifier, + ASPVBScriptUnclosedString, + PythonStart, + PythonDefault, + PythonComment, + PythonNumber, + PythonDoubleQuotedString, + PythonSingleQuotedString, + PythonKeyword, + PythonTripleSingleQuotedString, + PythonTripleDoubleQuotedString, + PythonClassName, + PythonFunctionMethodName, + PythonOperator, + PythonIdentifier, + ASPPythonStart, + ASPPythonDefault, + ASPPythonComment, + ASPPythonNumber, + ASPPythonDoubleQuotedString, + ASPPythonSingleQuotedString, + ASPPythonKeyword, + ASPPythonTripleSingleQuotedString, + ASPPythonTripleDoubleQuotedString, + ASPPythonClassName, + ASPPythonFunctionMethodName, + ASPPythonOperator, + ASPPythonIdentifier, + PHPDefault, + PHPDoubleQuotedString, + PHPSingleQuotedString, + PHPKeyword, + PHPNumber, + PHPVariable, + PHPComment, + PHPCommentLine, + PHPDoubleQuotedVariable, + PHPOperator + }; + + QextScintillaLexerHTML(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + bool eolFill(int) const; + QFont font(int) const; + const char *keywords(int) const; + QString description(int) const; + QColor paper(int) const; + + void refreshProperties(); + bool foldCompact() const; + bool foldPreprocessor() const; + bool caseSensitiveTags() const; + +public slots: + virtual void setFoldCompact(bool); + virtual void setFoldPreprocessor(bool); + virtual void setCaseSensitiveTags(bool); + +protected: + bool readProperties(QSettings &,const QString &); + bool writeProperties(QSettings &,const QString &) const; + +private: + QextScintillaLexerHTML(const QextScintillaLexerHTML &); +}; + +%End diff --git a/sip/qtext/qextscintillalexeridl.sip b/sip/qtext/qextscintillalexeridl.sip new file mode 100644 index 0000000..cf1fe5a --- /dev/null +++ b/sip/qtext/qextscintillalexeridl.sip @@ -0,0 +1,43 @@ +// This is the SIP interface definition for QextScintillaLexerIDL. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintillaLexerIDL : QextScintillaLexerCPP +{ +%TypeHeaderCode +#include <qextscintillalexeridl.h> +%End + +public: + QextScintillaLexerIDL(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + QColor color(int) const; + const char *keywords(int) const; + QString description(int) const; + +private: + QextScintillaLexerIDL(const QextScintillaLexerIDL &); +}; diff --git a/sip/qtext/qextscintillalexerjava.sip b/sip/qtext/qextscintillalexerjava.sip new file mode 100644 index 0000000..8db6bd4 --- /dev/null +++ b/sip/qtext/qextscintillalexerjava.sip @@ -0,0 +1,41 @@ +// This is the SIP interface definition for QextScintillaLexerJava. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintillaLexerJava : QextScintillaLexerCPP +{ +%TypeHeaderCode +#include <qextscintillalexerjava.h> +%End + +public: + QextScintillaLexerJava(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *keywords(int) const; + +private: + QextScintillaLexerJava(const QextScintillaLexerJava &); +}; diff --git a/sip/qtext/qextscintillalexerjavascript.sip b/sip/qtext/qextscintillalexerjavascript.sip new file mode 100644 index 0000000..4b3c9a1 --- /dev/null +++ b/sip/qtext/qextscintillalexerjavascript.sip @@ -0,0 +1,47 @@ +// This is the SIP interface definition for QextScintillaLexerJavaScript. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintillaLexerJavaScript : QextScintillaLexerCPP +{ +%TypeHeaderCode +#include <qextscintillalexerjavascript.h> +%End + +public: + QextScintillaLexerJavaScript(QObject * /TransferThis/ = 0, + const char * = 0); + + const char *language() const; + QColor color(int) const; + bool eolFill(int) const; + QFont font(int) const; + const char *keywords(int) const; + QString description(int) const; + QColor paper(int) const; + +private: + QextScintillaLexerJavaScript(const QextScintillaLexerJavaScript &); +}; diff --git a/sip/qtext/qextscintillalexerlua.sip b/sip/qtext/qextscintillalexerlua.sip new file mode 100644 index 0000000..fe05ea1 --- /dev/null +++ b/sip/qtext/qextscintillalexerlua.sip @@ -0,0 +1,79 @@ +// This is the SIP interface definition for QextScintillaLexerLua. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_5 -) + +class QextScintillaLexerLua : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexerlua.h> +%End + +public: + enum { + Default, + Comment, + LineComment, + Number, + Keyword, + String, + Character, + LiteralString, + Preprocessor, + Operator, + Identifier, + UnclosedString, + BasicFunctions, + StringTableMathsFunctions, + CoroutinesIOSystemFacilities + }; + + QextScintillaLexerLua(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + bool eolFill(int) const; + QFont font(int) const; + const char *keywords(int) const; + QString description(int) const; + QColor paper(int) const; + + void refreshProperties(); + bool foldCompact() const; + +public slots: + virtual void setFoldCompact(bool); + +protected: + bool readProperties(QSettings &,const QString &); + bool writeProperties(QSettings &,const QString &) const; + +private: + QextScintillaLexerLua(const QextScintillaLexerLua &); +}; + +%End diff --git a/sip/qtext/qextscintillalexermakefile.sip b/sip/qtext/qextscintillalexermakefile.sip new file mode 100644 index 0000000..83c15b1 --- /dev/null +++ b/sip/qtext/qextscintillalexermakefile.sip @@ -0,0 +1,60 @@ +// This is the SIP interface definition for QextScintillaLexerMakefile. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_6 -) + +class QextScintillaLexerMakefile : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexermakefile.h> +%End + +public: + enum { + Default, + Comment, + Preprocessor, + Variable, + Operator, + Target, + Error + }; + + QextScintillaLexerMakefile(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + bool eolFill(int) const; + QFont font(int) const; + QString description(int) const; + QColor paper(int) const; + +private: + QextScintillaLexerMakefile(const QextScintillaLexerMakefile &); +}; + +%End diff --git a/sip/qtext/qextscintillalexerperl.sip b/sip/qtext/qextscintillalexerperl.sip new file mode 100644 index 0000000..a8db0a1 --- /dev/null +++ b/sip/qtext/qextscintillalexerperl.sip @@ -0,0 +1,96 @@ +// This is the SIP interface definition for QextScintillaLexerPerl. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_3 -) + +class QextScintillaLexerPerl : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexerperl.h> +%End + +public: + enum { + Default, + Error, + Comment, + POD, + Number, + Keyword, + DoubleQuotedString, + SingleQuotedString, + Operator, + Identifier, + Scalar, + Array, + Hash, + SymbolTable, + Regex, + Substitution, + Backticks, + DataSection, + HereDocumentDelimiter, + SingleQuotedHereDocument, + DoubleQuotedHereDocument, + BacktickHereDocument, + QuotedStringQ, + QuotedStringQQ, + QuotedStringQX, + QuotedStringQR, + QuotedStringQW, +%If (QScintilla_1_6 -) + PODVerbatim, +%End + }; + + QextScintillaLexerPerl(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + bool eolFill(int) const; + QFont font(int) const; + const char *keywords(int) const; + QString description(int) const; + QColor paper(int) const; + + void refreshProperties(); + bool foldComments() const; + bool foldCompact() const; + +public slots: + virtual void setFoldComments(bool); + virtual void setFoldCompact(bool); + +protected: + bool readProperties(QSettings &,const QString &); + bool writeProperties(QSettings &,const QString &) const; + +private: + QextScintillaLexerPerl(const QextScintillaLexerPerl &); +}; + +%End diff --git a/sip/qtext/qextscintillalexerpov.sip b/sip/qtext/qextscintillalexerpov.sip new file mode 100644 index 0000000..862e48e --- /dev/null +++ b/sip/qtext/qextscintillalexerpov.sip @@ -0,0 +1,85 @@ +// This is the SIP interface definition for QextScintillaLexerPOV. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_6 -) + +class QextScintillaLexerPOV : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexerpov.h> +%End + +public: + enum { + Default, + Comment, + CommentLine, + Number, + Operator, + Identifier, + String, + UnclosedString, + Directive, + BadDirective, + ObjectsCSGAppearance, + TypesModifiersItems, + PredefinedIdentifiers, + PredefinedFunctions, + KeywordSet6, + KeywordSet7, + KeywordSet8 + }; + + QextScintillaLexerPOV(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + bool eolFill(int) const; + QFont font(int) const; + const char *keywords(int) const; + QString description(int) const; + QColor paper(int) const; + + void refreshProperties(); + bool foldComments() const; + bool foldCompact() const; + bool foldDirectives() const; + +public slots: + virtual void setFoldComments(bool); + virtual void setFoldCompact(bool); + virtual void setFoldDirectives(bool); + +protected: + bool readProperties(QSettings &,const QString &); + bool writeProperties(QSettings &,const QString &) const; + +private: + QextScintillaLexerPOV(const QextScintillaLexerPOV &); +}; + +%End diff --git a/sip/qtext/qextscintillalexerproperties.sip b/sip/qtext/qextscintillalexerproperties.sip new file mode 100644 index 0000000..45c52e5 --- /dev/null +++ b/sip/qtext/qextscintillalexerproperties.sip @@ -0,0 +1,68 @@ +// This is the SIP interface definition for QextScintillaLexerProperties. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_6 -) + +class QextScintillaLexerProperties : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexerproperties.h> +%End + +public: + enum { + Default, + Comment, + Section, + Assignment, + DefaultValue + }; + + QextScintillaLexerProperties(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + bool eolFill(int) const; + QFont font(int) const; + QString description(int) const; + QColor paper(int) const; + + void refreshProperties(); + bool foldCompact() const; + +public slots: + virtual void setFoldCompact(bool); + +protected: + bool readProperties(QSettings &,const QString &); + bool writeProperties(QSettings &,const QString &) const; + +private: + QextScintillaLexerProperties(const QextScintillaLexerProperties &); +}; + +%End diff --git a/sip/qtext/qextscintillalexerpython.sip b/sip/qtext/qextscintillalexerpython.sip new file mode 100644 index 0000000..3a2bca5 --- /dev/null +++ b/sip/qtext/qextscintillalexerpython.sip @@ -0,0 +1,94 @@ +// This is the SIP interface definition for QextScintillaLexerPython. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintillaLexerPython : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexerpython.h> +%End + +public: + enum { +%If (QScintilla_1_1 -) + Default, +%End + WhiteSpace, + Comment, + Number, + DoubleQuotedString, + SingleQuotedString, + Keyword, + TripleSingleQuotedString, + TripleDoubleQuotedString, + ClassName, + FunctionMethodName, + Operator, + Identifier, + CommentBlock, + UnclosedString, +%If (QScintilla_1_7 -) + HighlightedIdentifier, + Decorator, +%End + }; + + enum IndentationWarning { + NoWarning, + Inconsistent, + TabsAfterSpaces, + Spaces, + Tabs + }; + + QextScintillaLexerPython(QObject * /TransferThis/ = 0, + const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + bool eolFill(int) const; + QFont font(int) const; + const char *keywords(int) const; + QString description(int) const; + QColor paper(int) const; + void refreshProperties(); + + bool foldComments() const; + bool foldQuotes() const; + IndentationWarning indentationWarning() const; + +public slots: + virtual void setFoldComments(bool); + virtual void setFoldQuotes(bool); + virtual void setIndentationWarning(IndentationWarning); + +protected: + bool readProperties(QSettings &,const QString &); + bool writeProperties(QSettings &,const QString &) const; + +private: + QextScintillaLexerPython(const QextScintillaLexerPython &); +}; diff --git a/sip/qtext/qextscintillalexerruby.sip b/sip/qtext/qextscintillalexerruby.sip new file mode 100644 index 0000000..77beba0 --- /dev/null +++ b/sip/qtext/qextscintillalexerruby.sip @@ -0,0 +1,128 @@ +// This is the SIP interface definition for QextScintillaLexerRuby. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_5 -) + +class QextScintillaLexerRuby : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexerruby.h> +%End + +public: +%If (QScintilla_1_7 -) + enum { + Default, + Comment, + POD, + Number, + Keyword, + DoubleQuotedString, + SingleQuotedString, + ClassName, + FunctionMethodName, + Operator, + Identifier, + Regex, + Global, + Symbol, + ModuleName, + InstanceVariable, + ClassVariable, + Backticks, + DataSection, + HereDocumentDelimiter, + HereDocument, + PercentStringq, + PercentStringQ, + PercentStringx, + PercentStringr, + PercentStringw, + DemotedKeyword, + Stdin, + Stdout, + Stderr + }; +%End +%If (- QScintilla_1_7) + enum { + Default, + WhiteSpace, + Comment, + Number, + DoubleQuotedString, + SingleQuotedString, + Keyword, + TripleDoubleQuotedString, + ClassName, + FunctionMethodName, + Operator, + Identifier, + CommentBlock, + UnclosedString + }; + + enum IndentationWarning { + NoWarning, + Inconsistent, + TabsAfterSpaces, + Spaces, + Tabs + }; +%End + + QextScintillaLexerRuby(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + bool eolFill(int) const; + QFont font(int) const; + const char *keywords(int) const; + QString description(int) const; + QColor paper(int) const; +%If (- QScintilla_1_7) + void refreshProperties(); + + IndentationWarning indentationWarning() const; +%End + +public slots: +%If (- QScintilla_1_7) + virtual void setIndentationWarning(IndentationWarning); +%End + +protected: +%If (- QScintilla_1_7) + bool readProperties(QSettings &,const QString &); + bool writeProperties(QSettings &,const QString &) const; +%End + +private: + QextScintillaLexerRuby(const QextScintillaLexerRuby &); +}; + +%End diff --git a/sip/qtext/qextscintillalexersql.sip b/sip/qtext/qextscintillalexersql.sip new file mode 100644 index 0000000..85a5e19 --- /dev/null +++ b/sip/qtext/qextscintillalexersql.sip @@ -0,0 +1,105 @@ +// This is the SIP interface definition for QextScintillaLexerSQL. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_1 -) + +class QextScintillaLexerSQL : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexersql.h> +%End + +public: + enum { + Default, + Comment, +%If (QScintilla_1_6 -) + CommentLine, + CommentDoc, +%End + LineComment, // Obsolete. + Number, + Keyword, +%If (QScintilla_1_6 -) + DoubleQuotedString, +%End + SingleQuotedString, +%If (QScintilla_1_6 -) + PlusKeyword, + PlusPrompt, +%End + Operator, + Identifier, +%If (QScintilla_1_6 -) + PlusComment, + CommentLineHash, + CommentDocKeyword, + CommentDocKeywordError, + KeywordSet5, + KeywordSet6, + KeywordSet7, + KeywordSet8, +%End + }; + + QextScintillaLexerSQL(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; +%If (QScintilla_1_6 -) + bool eolFill(int) const; +%End + QFont font(int) const; + const char *keywords(int) const; + QString description(int) const; +%If (QScintilla_1_6 -) + QColor paper(int) const; + + void refreshProperties(); + bool foldComments() const; + bool foldCompact() const; + bool backslashEscapes() const; +%End + +public slots: +%If (QScintilla_1_6 -) + virtual void setFoldComments(bool); + virtual void setFoldCompact(bool); + virtual void setBackslashEscapes(bool); +%End + +protected: +%If (QScintilla_1_6 -) + bool readProperties(QSettings &,const QString &); + bool writeProperties(QSettings &,const QString &) const; +%End + +private: + QextScintillaLexerSQL(const QextScintillaLexerSQL &); +}; + +%End diff --git a/sip/qtext/qextscintillalexertex.sip b/sip/qtext/qextscintillalexertex.sip new file mode 100644 index 0000000..668fcd0 --- /dev/null +++ b/sip/qtext/qextscintillalexertex.sip @@ -0,0 +1,57 @@ +// This is the SIP interface definition for QextScintillaLexerTeX. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (QScintilla_1_6 -) + +class QextScintillaLexerTeX : QextScintillaLexer +{ +%TypeHeaderCode +#include <qextscintillalexertex.h> +%End + +public: + enum { + Default, + Special, + Group, + Symbol, + Command, + Text + }; + + QextScintillaLexerTeX(QObject * /TransferThis/ = 0,const char * = 0); + + const char *language() const; + const char *lexer() const; + QColor color(int) const; + const char *keywords(int) const; + QString description(int) const; + +private: + QextScintillaLexerTeX(const QextScintillaLexerTeX &); +}; + +%End diff --git a/sip/qtext/qextscintillamacro.sip b/sip/qtext/qextscintillamacro.sip new file mode 100644 index 0000000..45615af --- /dev/null +++ b/sip/qtext/qextscintillamacro.sip @@ -0,0 +1,49 @@ +// This is the SIP interface definition for QextScintillaMacro. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintillaMacro : QObject +{ +%TypeHeaderCode +#include <qextscintillamacro.h> +%End + +public: + QextScintillaMacro(QextScintilla * /TransferThis/,const char * = 0); + QextScintillaMacro(const QCString &,QextScintilla * /TransferThis/, + const char * = 0); + + void clear(); + bool load(const QCString &); + QCString save() const; + +public slots: + virtual void play(); + virtual void startRecording(); + virtual void endRecording(); + +private: + QextScintillaMacro(const QextScintillaMacro &); +}; diff --git a/sip/qtext/qextscintillaprinter.sip b/sip/qtext/qextscintillaprinter.sip new file mode 100644 index 0000000..dce068b --- /dev/null +++ b/sip/qtext/qextscintillaprinter.sip @@ -0,0 +1,45 @@ +// This is the SIP interface definition for QextScintillaPrinter. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +class QextScintillaPrinter : QPrinter +{ +%TypeHeaderCode +#include <qextscintillaprinter.h> +%End + +public: + QextScintillaPrinter(QPrinter::PrinterMode = QPrinter::ScreenResolution); + + virtual void formatPage(QPainter &,bool,QRect &,int); + virtual int printRange(QextScintillaBase *,int = -1,int = -1); + int magnification() const; + virtual void setMagnification(int); + QextScintilla::WrapMode wrapMode() const; + virtual void setWrapMode(QextScintilla::WrapMode); + +private: + QextScintillaPrinter(const QextScintillaPrinter &); +}; diff --git a/sip/qtext/qtextmod.sip b/sip/qtext/qtextmod.sip new file mode 100644 index 0000000..06024a6 --- /dev/null +++ b/sip/qtext/qtextmod.sip @@ -0,0 +1,107 @@ +// This is the SIP interface definition for the qtext module of PyQt. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%Module qtext 4 + +%Import qt/qtmod.sip + +%Include copying.sip + + +// The QScintilla versions. +%Timeline {QScintilla_1_1 QScintilla_1_2 QScintilla_1_3 QScintilla_1_4 + QScintilla_1_5 QScintilla_1_6 QScintilla_1_7} + + +const unsigned QSCINTILLA_VERSION; +const char *QSCINTILLA_VERSION_STR; +const char *QSCINTILLA_BUILD; + + +%Include qextscintillaapis.sip +%Include qextscintillabase.sip +%Include qextscintilla.sip +%Include qextscintillacommand.sip +%Include qextscintillacommandset.sip +%Include qextscintilladocument.sip +%Include qextscintillalexer.sip +%Include qextscintillalexerbash.sip +%Include qextscintillalexerbatch.sip +%Include qextscintillalexercpp.sip +%Include qextscintillalexercsharp.sip +%Include qextscintillalexercss.sip +%Include qextscintillalexerdiff.sip +%Include qextscintillalexerhtml.sip +%Include qextscintillalexeridl.sip +%Include qextscintillalexerjava.sip +%Include qextscintillalexerjavascript.sip +%Include qextscintillalexerlua.sip +%Include qextscintillalexermakefile.sip +%Include qextscintillalexerperl.sip +%Include qextscintillalexerpov.sip +%Include qextscintillalexerproperties.sip +%Include qextscintillalexerpython.sip +%Include qextscintillalexerruby.sip +%Include qextscintillalexersql.sip +%Include qextscintillalexertex.sip +%Include qextscintillamacro.sip +%Include qextscintillaprinter.sip + + +// The build file template. + +%Makefile qtext.pro.in +# The project file for the qtext module. +# +# Copyright (c) 2007 +# Riverbank Computing Limited <[email protected]> +# +# This file is part of PyQt. +# +# This copy of PyQt is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# +# PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +TEMPLATE = lib +TARGET = @BLX_TARGET_LIB@ +DESTDIR = @PYQT_MODDIR@ +CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@ +INCLUDEPATH = @BLX_INCLUDEPATH@ @PYQT_QSCINTILLA_INC@ +DEFINES = @BLX_DEFINES@ QEXTSCINTILLA_DLL +LIBS += @PYQT_QT_MODULE@ @PYQT_QSCINTILLA_LIB@ @BLX_LIBS@ +macx:QMAKE_LFLAGS += -framework Python + +SOURCES = $B + +HEADERS = $H +%End diff --git a/sip/qtgl/copying.sip b/sip/qtgl/copying.sip new file mode 100644 index 0000000..463904b --- /dev/null +++ b/sip/qtgl/copying.sip @@ -0,0 +1,51 @@ +// This is the SIP file defining the PyQt license. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// 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 <[email protected]> + +This file is part of PyQt. + +This copy of PyQt is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%End + + +%OptionalInclude pyqt-internal.sip +%OptionalInclude pyqt-gpl.sip +%OptionalInclude pyqt-commercial.sip +%OptionalInclude pyqt-edu.sip +%OptionalInclude pyqt-eval.sip +%OptionalInclude pyqt-nc.sip +%OptionalInclude pyqt-tkc.sip diff --git a/sip/qtgl/qgl.sip b/sip/qtgl/qgl.sip new file mode 100644 index 0000000..e08b6a9 --- /dev/null +++ b/sip/qtgl/qgl.sip @@ -0,0 +1,298 @@ +// This is the SIP interface definition for QGL, QGLContext, QGLFormat and +// QGLWidget. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QGL</Title> +<Para> +<Literal>QGL</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QGLContext</Title> +<Para> +<Literal>QGLContext</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QGLFormat</Title> +<Para> +<Literal>QGLFormat</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QGLWidget</Title> +<Para> +<Literal>QGLWidget</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_00 -) + +const int QGL_VERSION; +const char *QGL_VERSION_STR; + +const char *qGLVersion(); + + +class QGL +{ +%TypeHeaderCode +#include <qgl.h> +%End + +public: + enum FormatOption { + DoubleBuffer, + DepthBuffer, + Rgba, + AlphaChannel, + AccumBuffer, + StencilBuffer, + StereoBuffers, + DirectRendering, + HasOverlay, + SingleBuffer, + NoDepthBuffer, + ColorIndex, + NoAlphaChannel, + NoAccumBuffer, + NoStencilBuffer, + NoStereoBuffers, + IndirectRendering, + NoOverlay + }; +}; + + +class QGLFormat : QGL +{ +%TypeHeaderCode +#include <qgl.h> +%End + +public: + QGLFormat(); + QGLFormat(int,int = 0); + + bool doubleBuffer() const; + void setDoubleBuffer(bool); + bool depth() const; + void setDepth(bool); + bool rgba() const; + void setRgba(bool); + bool alpha() const; + void setAlpha(bool); + bool accum() const; + void setAccum(bool); + bool stencil() const; + void setStencil(bool); + bool stereo() const; + void setStereo(bool); + bool directRendering() const; + void setDirectRendering(bool); + bool hasOverlay() const; + void setOverlay(bool); + + int plane() const; + void setPlane(int); + + void setOption(FormatOption); + bool testOption(FormatOption) const; + + static QGLFormat defaultFormat(); + static void setDefaultFormat(const QGLFormat &); + + static QGLFormat defaultOverlayFormat(); + static void setDefaultOverlayFormat(const QGLFormat &); + + static bool hasOpenGL(); + static bool hasOpenGLOverlays(); +}; + + +class QGLContext : QGL +{ +%TypeHeaderCode +#include <qgl.h> +%End + +public: + QGLContext(const QGLFormat &,QPaintDevice *); +%If (Qt_3_2_0 -) + QGLContext(const QGLFormat &); +%End + + virtual bool create(const QGLContext * = 0); + bool isValid() const; + bool isSharing() const; + virtual void reset(); + + QGLFormat format() const; +%If (Qt_3_0_0 -) + QGLFormat requestedFormat() const; +%End + virtual void setFormat(const QGLFormat &); + + virtual void makeCurrent(); + virtual void swapBuffers() const; + + QPaintDevice *device() const; + + QColor overlayTransparentColor() const; + + static const QGLContext *currentContext(); + +protected: + virtual bool chooseContext(const QGLContext * = 0); + virtual void doneCurrent(); + +%If (WS_X11) + virtual void *tryVisual(const QGLFormat &,int = 1); + virtual void *chooseVisual(); +%End + + bool deviceIsPixmap() const; + bool windowCreated() const; + void setWindowCreated(bool); + bool initialized() const; + void setInitialized(bool); +%If (Qt_3_1_0 -) + void generateFontDisplayLists(const QFont &,int); +%End + + uint colorIndex(const QColor &) const; +%If (Qt_3_2_0 -) + void setValid(bool); + void setDevice(QPaintDevice *); +%End + +private: + QGLContext(); + QGLContext(const QGLContext &); +}; + + +class QGLWidget : QWidget, QGL +{ +%TypeHeaderCode +#include <qgl.h> +%End + +public: + QGLWidget(QWidget * /TransferThis/ = 0,const char * = 0, + const QGLWidget * = 0,WFlags = 0); +%If (Qt_3_2_0 -) + QGLWidget(QGLContext * /Transfer/,QWidget * /TransferThis/ = 0,const char * = 0, + const QGLWidget * = 0,WFlags = 0); +%End + QGLWidget(const QGLFormat &,QWidget * /TransferThis/ = 0, + const char * = 0,const QGLWidget * = 0,WFlags = 0); + +%ConvertToSubClassCode + sipClass = (sipCpp->inherits(sipName_QGLWidget) ? sipClass_QGLWidget : NULL); +%End + + void qglColor(const QColor &) const; + void qglClearColor(const QColor &) const; + + bool isValid() const; + bool isSharing() const; + virtual void makeCurrent(); +%If (Qt_3_2_0 -) + void doneCurrent(); +%End + + bool doubleBuffer() const; + virtual void swapBuffers(); + + QGLFormat format() const; + + const QGLContext *context() const; + + virtual QPixmap renderPixmap(int = 0,int = 0,bool = 0); +%If (Qt_3_0_0 -) + virtual QImage grabFrameBuffer(bool = 0); +%End + + virtual void makeOverlayCurrent(); + const QGLContext *overlayContext() const; + + static QImage convertToGLFormat(const QImage &); + + void setMouseTracking(bool); + +%If (Qt_3_0_0 -) + virtual void reparent(QWidget * /GetWrapper/,WFlags,const QPoint &, + bool = 0); +%MethodCode + if (sipCpp -> parent() != a0) + if (a0) + sipTransferTo(sipSelf,a0Wrapper); + else + sipTransferBack(sipSelf); + + Py_BEGIN_ALLOW_THREADS + sipSelfWasArg ? sipCpp->QGLWidget::reparent(a0, a1, *a2, a3) : sipCpp->reparent(a0, a1, *a2, a3); + Py_END_ALLOW_THREADS +%End + + const QGLColormap &colormap() const; + void setColormap(const QGLColormap &); +%End + +%If (Qt_3_1_0 -) + void renderText(int,int,const QString &,const QFont & = QFont(), + int = 2000); + void renderText(double,double,double,const QString &, + const QFont & = QFont(),int = 2000); +%End + +public slots: + virtual void updateGL(); + virtual void updateOverlayGL(); + +protected: + virtual void initializeGL(); + virtual void resizeGL(int,int); + virtual void paintGL(); + + virtual void initializeOverlayGL(); + virtual void resizeOverlayGL(int,int); + virtual void paintOverlayGL(); + + void setAutoBufferSwap(bool); + bool autoBufferSwap() const; + + void paintEvent(QPaintEvent *); + void resizeEvent(QResizeEvent *); + + virtual void glInit(); + virtual void glDraw(); + +private: + QGLWidget(const QGLWidget &); +}; + +%End diff --git a/sip/qtgl/qglcolormap.sip b/sip/qtgl/qglcolormap.sip new file mode 100644 index 0000000..512897e --- /dev/null +++ b/sip/qtgl/qglcolormap.sip @@ -0,0 +1,63 @@ +// This is the SIP interface definition for QGLColormap. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QGLColormap (Qt v3.0+)</Title> +<FuncSynopsis> + <FuncDef>void <Function>setEntries</Function></FuncDef> + <ParamDef>int <Parameter>count</Parameter></ParamDef> + <ParamDef>const QRgb *<Parameter>colors</Parameter></ParamDef> + <ParamDef>int <Parameter>base</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QGLColormap +{ +%TypeHeaderCode +#include <qglcolormap.h> +%End + +public: + QGLColormap(); + QGLColormap(const QGLColormap &); + + bool isEmpty() const; + int size() const; + void detach(); + +// void setEntries(int,const QRgb *,int = 0); + void setEntry(int,QRgb); + void setEntry(int,const QColor &); + QRgb entryRgb(int) const; + QColor entryColor(int) const; + int find(QRgb) const; + int findNearest(QRgb) const; +}; + +%End diff --git a/sip/qtgl/qtglmod.sip b/sip/qtgl/qtglmod.sip new file mode 100644 index 0000000..2d6a018 --- /dev/null +++ b/sip/qtgl/qtglmod.sip @@ -0,0 +1,71 @@ +// This is the SIP interface definition for the qtgl module of PyQt. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%Module qtgl 1 + +%Import qt/qtmod.sip + +%Include copying.sip + + +%Include qgl.sip +%Include qglcolormap.sip + + +// The build file template. + +%Makefile qtgl.pro.in +# The project file for the qtgl module. +# +# Copyright (c) 2007 +# Riverbank Computing Limited <[email protected]> +# +# This file is part of PyQt. +# +# This copy of PyQt is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# +# PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +TEMPLATE = lib +TARGET = @BLX_TARGET_LIB@ +DESTDIR = @PYQT_MODDIR@ +CONFIG += @BLX_CONFIG_LIB@ opengl @PYQT_WARN@ +INCLUDEPATH = @BLX_INCLUDEPATH@ +DEFINES = @BLX_DEFINES@ +LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@ +macx:QMAKE_LFLAGS += -framework Python + +SOURCES = $B + +HEADERS = $H +%End diff --git a/sip/qtnetwork/copying.sip b/sip/qtnetwork/copying.sip new file mode 100644 index 0000000..463904b --- /dev/null +++ b/sip/qtnetwork/copying.sip @@ -0,0 +1,51 @@ +// This is the SIP file defining the PyQt license. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// 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 <[email protected]> + +This file is part of PyQt. + +This copy of PyQt is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%End + + +%OptionalInclude pyqt-internal.sip +%OptionalInclude pyqt-gpl.sip +%OptionalInclude pyqt-commercial.sip +%OptionalInclude pyqt-edu.sip +%OptionalInclude pyqt-eval.sip +%OptionalInclude pyqt-nc.sip +%OptionalInclude pyqt-tkc.sip diff --git a/sip/qtnetwork/qdns.sip b/sip/qtnetwork/qdns.sip new file mode 100644 index 0000000..b91bb9f --- /dev/null +++ b/sip/qtnetwork/qdns.sip @@ -0,0 +1,274 @@ +// This is the SIP interface definition for QDns. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QDns (Qt v2.2+)</Title> +<Para> +<Literal>QDns</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_DNS) +%If (Qt_2_2_0 -) + +class QDns : QObject +{ +%TypeHeaderCode +#include <qdns.h> +%End + +public: + enum RecordType { + None, + A, + Aaaa, + Mx, + Srv, + Cname, + Ptr, + Txt + }; + + QDns(); + QDns(const QString &,RecordType = A); + QDns(const QHostAddress &,RecordType = A); + + virtual void setLabel(const QString &); + virtual void setLabel(const QHostAddress &); + QString label() const; + + virtual void setRecordType(RecordType = A); + RecordType recordType() const; + + bool isWorking() const; + + QValueList<QHostAddress> addresses() const; + + class MailServer + { + public: + MailServer(const QString & = QString::null,Q_UINT16 = 0); + + QString name; + Q_UINT16 priority; + }; + + QValueList<QDns::MailServer> mailServers() const; + + class Server + { + public: + Server(const QString & = QString::null,Q_UINT16 = 0, + Q_UINT16 = 0,Q_UINT16 = 0); + + QString name; + Q_UINT16 priority; + Q_UINT16 weight; + Q_UINT16 port; + }; + + QValueList<QDns::Server> servers() const; + + QStringList hostNames() const; + + QStringList texts() const; + + QString canonicalName() const; + + QStringList qualifiedNames() const; + +signals: + void resultsReady(); +}; + + +%MappedType QValueList<QHostAddress> +{ +%TypeHeaderCode +#include <qvaluelist.h> +%End + +%ConvertFromTypeCode + // Convert to a Python list of QHostAddress instances. + + int i; + PyObject *l; + + // Create the list. + + if ((l = PyList_New(sipCpp -> count())) == NULL) + return NULL; + + // Get it. + + i = 0; + QValueListConstIterator<QHostAddress> it; + + for (it = sipCpp -> begin(); it != sipCpp -> end(); ++it) + { + PyObject *tmobj; + + if ((tmobj = sipConvertFromNewInstance(new QHostAddress(*it),sipClass_QHostAddress,sipTransferObj)) == NULL || PyList_SetItem(l,i,tmobj) < 0) + { + Py_XDECREF(tmobj); + Py_DECREF(l); + + return NULL; + } + + ++i; + } + + return l; +%End + +%ConvertToTypeCode + // At the moment this will never be called, so provide a null + // implementation. + + if (sipIsErr == NULL) + return PyList_Check(sipPy); + + PyErr_Format(PyExc_TypeError,"Converting to QValueList<QHostAddress> not yet implemented"); + + *sipIsErr = 1; + + return 0; +%End +}; + + +%MappedType QValueList<QDns::MailServer> +{ +%TypeHeaderCode +#include <qvaluelist.h> +%End + +%ConvertFromTypeCode + // Convert to a Python list of QDns::MailServer instances. + + int i; + PyObject *l; + + // Create the list. + + if ((l = PyList_New(sipCpp -> count())) == NULL) + return NULL; + + // Get it. + + i = 0; + QValueListConstIterator<QDns::MailServer> it; + + for (it = sipCpp -> begin(); it != sipCpp -> end(); ++it) + { + PyObject *tmobj; + + if ((tmobj = sipConvertFromNewInstance(new QDns::MailServer(*it),sipClass_QDns_MailServer,sipTransferObj)) == NULL || PyList_SetItem(l,i,tmobj) < 0) + { + Py_XDECREF(tmobj); + Py_DECREF(l); + + return NULL; + } + + ++i; + } + + return l; +%End + +%ConvertToTypeCode + // At the moment this will never be called, so provide a null + // implementation. + + if (sipIsErr == NULL) + return PyList_Check(sipPy); + + PyErr_Format(PyExc_TypeError,"Converting to QValueList<QDns::MailServer> not yet implemented"); + + *sipIsErr = 1; + + return 0; +%End +}; + + +%MappedType QValueList<QDns::Server> +{ +%TypeHeaderCode +#include <qvaluelist.h> +%End + +%ConvertFromTypeCode + // Convert to a Python list of QDns::Server instances. + + int i; + PyObject *l; + + // Create the list. + + if ((l = PyList_New(sipCpp -> count())) == NULL) + return NULL; + + // Get it. + + i = 0; + QValueListConstIterator<QDns::Server> it; + + for (it = sipCpp -> begin(); it != sipCpp -> end(); ++it) + { + PyObject *tmobj; + + if ((tmobj = sipConvertFromNewInstance(new QDns::Server(*it),sipClass_QDns_Server,sipTransferObj)) == NULL || PyList_SetItem(l,i,tmobj) < 0) + { + Py_XDECREF(tmobj); + Py_DECREF(l); + + return NULL; + } + + ++i; + } + + return l; +%End + +%ConvertToTypeCode + // At the moment this will never be called, so provide a null + // implementation. + + if (sipIsErr == NULL) + return PyList_Check(sipPy); + + PyErr_Format(PyExc_TypeError,"Converting to QValueList<QDns::Server> not yet implemented"); + + *sipIsErr = 1; + + return 0; +%End +}; + +%End +%End diff --git a/sip/qtnetwork/qftp.sip b/sip/qtnetwork/qftp.sip new file mode 100644 index 0000000..f79ecc1 --- /dev/null +++ b/sip/qtnetwork/qftp.sip @@ -0,0 +1,183 @@ +// This is the SIP interface definition for QFtp. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QFtp (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>maxlen</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>maxlen</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>None</Literal> is returned. +</Para> +</Sect2> +%End + + +%If (Qt_NETWORKPROTOCOL_FTP) +%If (Qt_2_2_0 -) + +class QFtp : QNetworkProtocol +{ +%TypeHeaderCode +#include <qftp.h> +%End + +public: + QFtp(); +%If (Qt_3_1_0 -) + QFtp(QObject * /TransferThis/,const char * = 0); +%End + virtual ~QFtp(); + +%If (Qt_3_0_0 -) + int supportedOperations() const; +%End +%If (- Qt_3_0_0) + virtual int supportedOperations() const; +%End + +%If (Qt_3_1_0 -) + enum State { + Unconnected, + HostLookup, + Connecting, + Connected, + LoggedIn, + Closing + }; + + enum Error { + NoError, + UnknownError, + HostNotFound, + ConnectionRefused, + NotConnected + }; + + enum Command { + None, + ConnectToHost, + Login, + Close, + List, + Cd, + Get, + Put, + Remove, + Mkdir, + Rmdir, + Rename, + RawCommand + }; + + int connectToHost(const QString &,Q_UINT16 = 21) /ReleaseGIL/; + int login(const QString & = QString::null, + const QString & = QString::null) /ReleaseGIL/; + int close() /ReleaseGIL/; + int list(const QString & = QString::null) /ReleaseGIL/; + int cd(const QString &) /ReleaseGIL/; + int get(const QString &,QIODevice * = 0) /ReleaseGIL/; + int put(const QByteArray &,const QString &) /ReleaseGIL/; + int put(QIODevice *,const QString &) /ReleaseGIL/; + int remove(const QString &) /ReleaseGIL/; + int mkdir(const QString &) /ReleaseGIL/; + int rmdir(const QString &) /ReleaseGIL/; + int rename(const QString &,const QString &) /ReleaseGIL/; + + int rawCommand(const QString &) /ReleaseGIL/; + + unsigned long bytesAvailable() const; + + SIP_PYOBJECT readBlock(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + Q_LONG actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipCpp -> QFtp::readBlock(buf,a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + Py_INCREF(Py_None); + sipRes = Py_None; + } + else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL) + sipIsErr = 1; + + sipFree((ANY *)buf); + } +%End + + QByteArray readAll() /ReleaseGIL/; + + int currentId() const; + QIODevice* currentDevice() const; + Command currentCommand() const; + bool hasPendingCommands() const; + void clearPendingCommands(); + + State state() const; + + Error error() const; + QString errorString() const; +%End + +public slots: +%If (Qt_3_1_0 -) + void abort(); +%End + +signals: +%If (Qt_3_1_0 -) + void stateChanged(int); + void listInfo(const QUrlInfo &); + void readyRead(); + void dataTransferProgress(int,int); + void rawCommandReply(int,const QString &); + + void commandStarted(int); + void commandFinished(int,bool); + void done(bool); +%End + +protected: + void parseDir(const QString &,QUrlInfo &); + virtual void operationListChildren(QNetworkOperation *); + virtual void operationMkDir(QNetworkOperation *); + virtual void operationRemove(QNetworkOperation *); + virtual void operationRename(QNetworkOperation *); + virtual void operationGet(QNetworkOperation *); + virtual void operationPut(QNetworkOperation *); +}; + +%End +%End diff --git a/sip/qtnetwork/qhostaddress.sip b/sip/qtnetwork/qhostaddress.sip new file mode 100644 index 0000000..e2379e2 --- /dev/null +++ b/sip/qtnetwork/qhostaddress.sip @@ -0,0 +1,99 @@ +// This is the SIP interface definition for QHostAddress. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QHostAddress (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef><Function>QHostAddress</Function></FuncDef> + <ParamDef>Q_UINT8 *<Parameter>ip6Addr</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef><Function>QHostAddress</Function></FuncDef> + <ParamDef>const Q_IPV6ADDR &<Parameter>ip6Addr</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>setAddress</Function></FuncDef> + <ParamDef>Q_UINT8 *<Parameter>ip6Addr</Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> + +<FuncSynopsis> + <FuncDef>Q_IPV6ADDR <Function>toIPv6Address</Function> const</FuncDef> + <ParamDef><Parameter></Parameter></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_2_0 -) + +class QHostAddress +{ +%TypeHeaderCode +#include <qhostaddress.h> +%End + +public: + QHostAddress(); + QHostAddress(Q_UINT32); +// QHostAddress(Q_UINT8 *); +%If (Qt_3_3_0 -) + //QHostAddress(const Q_IPV6ADDR &); + // This isn't mentioned in the documentation. + //QHostAddress(const QString &); +%End + QHostAddress(const QHostAddress &); + + void setAddress(Q_UINT32); +// void setAddress(Q_UINT8 *); + bool setAddress(const QString &); + bool isIp4Addr() const; + Q_UINT32 ip4Addr() const; + +%If (Qt_3_3_0 -) + bool isIPv4Address() const; + Q_UINT32 toIPv4Address() const; + bool isIPv6Address() const; + //Q_IPV6ADDR toIPv6Address() const; +%End + + QString toString() const; + +%If (Qt_3_2_0 -) + bool isNull() const; +%End +}; + +%End diff --git a/sip/qtnetwork/qhttp.sip b/sip/qtnetwork/qhttp.sip new file mode 100644 index 0000000..fbcc999 --- /dev/null +++ b/sip/qtnetwork/qhttp.sip @@ -0,0 +1,279 @@ +// This is the SIP interface definition for QHttp, QHttpHeader, +// QHttpRequestHeader and QHttpResponseHeader. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QHttp (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>maxlen</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>maxlen</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>None</Literal> is returned. +</Para> +</Sect2> + +<Sect2><Title>QHttpHeader (Qt v3.1+)</Title> +<Para> +<Literal>QHttpHeader</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QHttpRequestHeader (Qt v3.1+)</Title> +<Para> +<Literal>QHttpRequestHeader</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QHttpResponseHeader (Qt v3.1+)</Title> +<Para> +<Literal>QHttpResponseHeader</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_NETWORKPROTOCOL_HTTP) +%If (Qt_3_1_0 -) + +class QHttpHeader +{ +%TypeHeaderCode +#include <qhttp.h> +%End + +public: + QHttpHeader(); + QHttpHeader(const QHttpHeader &); + QHttpHeader(const QString &); + virtual ~QHttpHeader(); + + QString value(const QString &) const; + void setValue(const QString &,const QString &); + void removeValue(const QString &); + + QStringList keys() const; + bool hasKey(const QString &) const; + + bool hasContentLength() const; + uint contentLength() const; + void setContentLength(int); + + bool hasContentType() const; + QString contentType() const; + void setContentType(const QString &); + + virtual QString toString() const; + bool isValid() const; + + virtual int majorVersion() const = 0; + virtual int minorVersion() const = 0; + +protected: + virtual bool parseLine(const QString &,int); + bool parse(const QString &); + void setValid(bool); +}; + + +class QHttpResponseHeader : QHttpHeader +{ +%TypeHeaderCode +#include <qhttp.h> +%End + +public: + QHttpResponseHeader(); + QHttpResponseHeader(const QHttpResponseHeader &); + + int statusCode() const; + QString reasonPhrase() const; + + int majorVersion() const; + int minorVersion() const; + + QString toString() const; + +protected: + bool parseLine(const QString &,int); +}; + + +class QHttpRequestHeader : QHttpHeader +{ +%TypeHeaderCode +#include <qhttp.h> +%End + +public: + QHttpRequestHeader(); + QHttpRequestHeader(const QString &,const QString &,int = 1,int = 1); + QHttpRequestHeader(const QHttpRequestHeader &); + QHttpRequestHeader(const QString &); + + void setRequest(const QString &,const QString &,int = 1,int = 1); + + QString method() const; + QString path() const; + + int majorVersion() const; + int minorVersion() const; + + QString toString() const; + +protected: + bool parseLine(const QString &,int); +}; + +%End + + +%If (Qt_3_0_0 -) + +class QHttp : QNetworkProtocol +{ +%TypeHeaderCode +#include <qhttp.h> +%End + +public: + QHttp(); +%If (Qt_3_1_0 -) + QHttp(QObject * /TransferThis/,const char * = 0); + QHttp(const QString &,Q_UINT16 = 80,QObject * /TransferThis/ = 0, + const char * = 0); + virtual ~QHttp(); +%End + + int supportedOperations() const; + +%If (Qt_3_1_0 -) + enum State { + Unconnected, + HostLookup, + Connecting, + Sending, + Reading, + Connected, + Closing + }; + + enum Error { + NoError, + UnknownError, + HostNotFound, + ConnectionRefused, + UnexpectedClose, + InvalidResponseHeader, + WrongContentLength, + Aborted + }; + + int setHost(const QString &,Q_UINT16 = 80); + + int get(const QString &,QIODevice * = 0) /ReleaseGIL/; + int post(const QString &,QIODevice *,QIODevice * = 0) /ReleaseGIL/; + int post(const QString &,const QByteArray &, + QIODevice * = 0) /ReleaseGIL/; + int head(const QString &) /ReleaseGIL/; + int request(const QHttpRequestHeader &,QIODevice * = 0, + QIODevice * = 0) /ReleaseGIL/; + int request(const QHttpRequestHeader &,const QByteArray &, + QIODevice * = 0) /ReleaseGIL/; + + int closeConnection(); + + unsigned long bytesAvailable() const; + + SIP_PYOBJECT readBlock(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + Q_LONG actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipCpp -> QHttp::readBlock(buf,a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + Py_INCREF(Py_None); + sipRes = Py_None; + } + else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL) + sipIsErr = 1; + + sipFree((ANY *)buf); + } +%End + + QByteArray readAll() /ReleaseGIL/; + + int currentId() const; + QIODevice *currentSourceDevice() const; + QIODevice *currentDestinationDevice() const; + QHttpRequestHeader currentRequest() const; + bool hasPendingRequests() const; + void clearPendingRequests(); + + State state() const; + + Error error() const; + QString errorString() const; +%End + +public slots: +%If (Qt_3_1_0 -) + void abort(); +%End + +signals: +%If (Qt_3_1_0 -) + void stateChanged(int); + void responseHeaderReceived(const QHttpResponseHeader &); + void readyRead(const QHttpResponseHeader &); + void dataSendProgress(int,int); + void dataReadProgress(int,int); + + void requestStarted(int); + void requestFinished(int,bool); + void done(bool); +%End + +protected: + void operationGet(QNetworkOperation *); + void operationPut(QNetworkOperation *); + +%If (Qt_3_1_0 -) + void timerEvent(QTimerEvent *); +%End +}; + +%End +%End diff --git a/sip/qtnetwork/qlocalfs.sip b/sip/qtnetwork/qlocalfs.sip new file mode 100644 index 0000000..a8b816f --- /dev/null +++ b/sip/qtnetwork/qlocalfs.sip @@ -0,0 +1,56 @@ +// This is the SIP interface definition for QLocalFs. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QLocalFs (Qt v2.1+)</Title> +<Para> +<Literal>QLocalFs</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_NETWORKPROTOCOL) +%If (Qt_2_1_0 -) + +class QLocalFs : QNetworkProtocol +{ +%TypeHeaderCode +#include <qlocalfs.h> +%End + +public: + QLocalFs(); + + virtual int supportedOperations() const; + +protected: + virtual void operationListChildren(QNetworkOperation *); + virtual void operationMkDir(QNetworkOperation *); + virtual void operationRemove(QNetworkOperation *); + virtual void operationRename(QNetworkOperation *); + virtual void operationGet(QNetworkOperation *); + virtual void operationPut(QNetworkOperation *); +}; + +%End +%End diff --git a/sip/qtnetwork/qnetwork.sip b/sip/qtnetwork/qnetwork.sip new file mode 100644 index 0000000..6b87d4e --- /dev/null +++ b/sip/qtnetwork/qnetwork.sip @@ -0,0 +1,34 @@ +// This is the SIP interface definition for qInitNetworkProtocols. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%If (Qt_NETWORKPROTOCOL) +%If (Qt_2_2_0 -) + +%ModuleHeaderCode +#include <qglobal.h> +#include <qnetwork.h> +%End + +void qInitNetworkProtocols(); + +%End +%End diff --git a/sip/qtnetwork/qserversocket.sip b/sip/qtnetwork/qserversocket.sip new file mode 100644 index 0000000..c130969 --- /dev/null +++ b/sip/qtnetwork/qserversocket.sip @@ -0,0 +1,70 @@ +// This is the SIP interface definition for QServerSocket. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QServerSocket (Qt v2.2+)</Title> +<Para> +<Literal>QServerSocket</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_2_2_0 -) + +class QServerSocket : QObject +{ +%TypeHeaderCode +#include <qserversocket.h> +%End + +public: +%If (- Qt_3_0_0) + QServerSocket(Q_UINT16,int = 0,QObject * /TransferThis/ = 0, + const char * = 0); + QServerSocket(const QHostAddress &,Q_UINT16,int = 0, + QObject * /TransferThis/ = 0,const char * = 0); +%End +%If (Qt_3_0_0 -) + QServerSocket(Q_UINT16,int = 1,QObject * /TransferThis/ = 0, + const char * = 0); + QServerSocket(const QHostAddress &,Q_UINT16,int = 1, + QObject * /TransferThis/ = 0,const char * = 0); +%End + QServerSocket(QObject * /TransferThis/ = 0,const char * = 0); + + bool ok() const; + + Q_UINT16 port() const; + + int socket() const; + virtual void setSocket(int); + + QHostAddress address() const ; + + virtual void newConnection(int) = 0; + +protected: + QSocketDevice *socketDevice(); +}; + +%End diff --git a/sip/qtnetwork/qsocket.sip b/sip/qtnetwork/qsocket.sip new file mode 100644 index 0000000..9da9bfc --- /dev/null +++ b/sip/qtnetwork/qsocket.sip @@ -0,0 +1,348 @@ +// This is the SIP interface definition for QSocket. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSocket (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>len</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>Py_None</Literal> is returned. +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readLine</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>maxlen</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>maxlen</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>Py_None</Literal> is returned. +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>writeBlock</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +<Literal>len</Literal> is derived from <Literal>data</Literal> and not passed +as a parameter. +</Para> +</Sect2> +%End + + +%If (Qt_2_2_0 -) + +class QSocket : QObject, QIODevice +{ +%TypeHeaderCode +#include <qsocket.h> +%End + +public: + enum Error { + ErrConnectionRefused, + ErrHostNotFound, + ErrSocketRead + }; + + QSocket(QObject * /TransferThis/ = 0,const char * = 0); + + enum State { + Idle, + HostLookup, + Connecting, +%If (Qt_3_0_0 -) + Connected, +%End +%If (- Qt_3_0_0) + Listening, +%End + Closing, + Connection + }; + +%ConvertToSubClassCode + static struct class_graph { + const char *name; + sipWrapperType **type; + int yes, no; + } graph[] = { + {sipName_QServerSocket, &sipClass_QServerSocket, -1, 1}, + {sipName_QSocket, &sipClass_QSocket, -1, 2}, + {sipName_QFtp, &sipClass_QFtp, -1, 3}, + {sipName_QLocalFs, &sipClass_QLocalFs, -1, 4}, +#if QT_VERSION >= 0x030000 + {sipName_QHttp, &sipClass_QHttp, -1, 5}, +#else + {NULL, NULL, -1, 5}, +#endif + {sipName_QDns, &sipClass_QDns, -1, -1}, + }; + + int i = 0; + + sipClass = NULL; + + do + { + struct class_graph *cg = &graph[i]; + + if (cg->name != NULL && sipCpp->inherits(cg->name)) + { + sipClass = *cg->type; + i = cg->yes; + } + else + i = cg->no; + } + while (i >= 0); +%End + + State state() const; + + int socket() const; + virtual void setSocket(int); + +%If (Qt_3_0_0 -) + QSocketDevice *socketDevice(); + virtual void setSocketDevice(QSocketDevice *); +%End + +%If (Qt_DNS) + virtual void connectToHost(const QString &,Q_UINT16) /ReleaseGIL/; +%End + QString peerName() const; + + bool open(int) /ReleaseGIL/; + void close() /ReleaseGIL/; + void flush() /ReleaseGIL/; +%If (Qt_3_0_0 -) + Offset size() const; + Offset at() const; + bool at(Offset); +%End +%If (- Qt_3_0_0) + uint size() const; + int at() const; + bool at(int); +%End + bool atEnd() const; + +%If (Qt_3_0_0 -) + Q_ULONG bytesAvailable() const; + Q_ULONG waitForMore(int) const /ReleaseGIL/; + //Q_ULONG waitForMore(int,bool *) const /ReleaseGIL/; + Q_ULONG bytesToWrite() const; +%End +%If (- Qt_3_0_0) + int bytesAvailable() const; + int waitForMore(int) const /ReleaseGIL/; + int bytesToWrite() const; +%End +%If (Qt_3_1_0 -) + void clearPendingData(); +%End + +%If (- Qt_3_0_0) + SIP_PYOBJECT readBlock(uint) /ReleaseGIL/ [int (char *,uint)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + int actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipSelfWasArg ? sipCpp->QSocket::readBlock(buf, a0) : sipCpp->readBlock(buf, a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End + + int writeBlock(const char * /Array/,uint /ArraySize/) /ReleaseGIL/; + + SIP_PYOBJECT readLine(uint) /ReleaseGIL/ [int (char *,uint)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + int actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipCpp -> readLine(buf,a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End +%End +%If (Qt_3_0_0 -) + SIP_PYOBJECT readBlock(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + Q_LONG actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipSelfWasArg ? sipCpp->QSocket::readBlock(buf, a0) : sipCpp->readBlock(buf, a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End + + Q_LONG writeBlock(const char * /Array/, + Q_ULONG /ArraySize/) /ReleaseGIL/; + + SIP_PYOBJECT readLine(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + Q_LONG actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipCpp -> readLine(buf,a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End +%End + + int getch() /ReleaseGIL/; + int putch(int) /ReleaseGIL/; + int ungetch(int); + + bool canReadLine() const; + virtual QString readLine() /ReleaseGIL/; + + Q_UINT16 port() const; + Q_UINT16 peerPort() const; + QHostAddress address() const; + QHostAddress peerAddress() const; + +%If (Qt_3_2_0 -) + void setReadBufferSize(Q_ULONG); + Q_ULONG readBufferSize() const; +%End + +signals: + void hostFound(); + void connected(); + void connectionClosed(); + void delayedCloseFinished(); + void readyRead(); + void bytesWritten(int); + void error(int); + +protected: +%If (- Qt_3_0_0) + QSocketDevice *socketDevice(); +%End + +private: + QSocket(const QSocket &); +}; + +%End diff --git a/sip/qtnetwork/qsocketdevice.sip b/sip/qtnetwork/qsocketdevice.sip new file mode 100644 index 0000000..3b48096 --- /dev/null +++ b/sip/qtnetwork/qsocketdevice.sip @@ -0,0 +1,224 @@ +// This is the SIP interface definition for QSocketDevice. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSocketDevice (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef> + <ParamDef>char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single <Literal>len</Literal> parameter. The +<Literal>data</Literal> is returned if there was no error, otherwise +<Literal>None</Literal> is returned. +</Para> + +<FuncSynopsis> + <FuncDef>Q_LONG <Function>writeBlock</Function></FuncDef> + <ParamDef>const char *<Parameter>data</Parameter></ParamDef> + <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef> +</FuncSynopsis> +<Para> +<Literal>len</Literal> is derived from <Literal>data</Literal> and not passed +as a parameter. +</Para> +</Sect2> +%End + + +%If (Qt_2_2_0 -) + +class QSocketDevice : QIODevice +{ +%TypeHeaderCode +#include <qsocketdevice.h> +%End + +public: + enum Type { + Stream, + Datagram + }; + +%If (Qt_3_3_0 -) + enum Protocol { + IPv4, + IPv6, + Unknown + }; +%End + + QSocketDevice(Type = Stream); +%If (Qt_3_3_0 -) + QSocketDevice(Type,Protocol,int); +%End + QSocketDevice(int,Type); + + bool isValid() const; + Type type() const; +%If (Qt_3_3_0 -) + Protocol protocol() const; +%End + + int socket() const; + virtual void setSocket(int,Type); + + bool open(int) /ReleaseGIL/; + void close(); + void flush() /ReleaseGIL/; + +%If (- Qt_3_0_0) + uint size() const; + int at() const; + bool at(int); +%End +%If (Qt_3_0_0 -) + Offset size() const; + Offset at() const; + bool at(Offset); +%End + bool atEnd() const; + + bool blocking() const; + virtual void setBlocking(bool); + + bool addressReusable() const; + virtual void setAddressReusable(bool); + + int receiveBufferSize() const; + virtual void setReceiveBufferSize(uint); + int sendBufferSize() const; + virtual void setSendBufferSize(uint); + + virtual bool connect(const QHostAddress &,Q_UINT16); + + virtual bool bind(const QHostAddress &,Q_UINT16); + virtual bool listen(int); + virtual int accept(); + +%If (- Qt_3_0_0) + int bytesAvailable() const; + int waitForMore(int) const /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + Q_LONG bytesAvailable() const; + Q_LONG waitForMore(int) const /ReleaseGIL/; +%End + +%If (- Qt_3_0_0) + SIP_PYOBJECT readBlock(uint) /ReleaseGIL/ [int (char *,uint)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + int actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipSelfWasArg ? sipCpp->QSocketDevice::readBlock(buf, a0) : sipCpp->readBlock(buf, a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + Py_INCREF(Py_None); + sipRes = Py_None; + } + else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL) + sipIsErr = 1; + + sipFree((ANY *)buf); + } +%End + + int writeBlock(const char * /Array/,uint /ArraySize/) /ReleaseGIL/; + virtual int writeBlock(const char * /Array/,uint /ArraySize/, + const QHostAddress &,Q_UINT16) /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + SIP_PYOBJECT readBlock(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + Q_LONG actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipSelfWasArg ? sipCpp->QSocketDevice::readBlock(buf, a0) : sipCpp->readBlock(buf, a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + Py_INCREF(Py_None); + sipRes = Py_None; + } + else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL) + sipIsErr = 1; + + sipFree((ANY *)buf); + } +%End + + + Q_LONG writeBlock(const char * /Array/, + Q_ULONG /ArraySize/) /ReleaseGIL/; + virtual Q_LONG writeBlock(const char * /Array/,Q_ULONG /ArraySize/, + const QHostAddress &,Q_UINT16) /ReleaseGIL/; +%End + + int getch(); + int putch(int); + int ungetch(int); + + Q_UINT16 port() const; + Q_UINT16 peerPort() const; + QHostAddress address() const; + QHostAddress peerAddress() const; + + enum Error { + NoError, + AlreadyBound, + Inaccessible, + NoResources, + Bug, + Impossible, + NoFiles, + ConnectionRefused, + NetworkFailure, + UnknownError + }; + + Error error() const; + +protected: + void setError(Error); + +private: + QSocketDevice(const QSocketDevice &); +}; + +%End diff --git a/sip/qtnetwork/qtnetworkmod.sip b/sip/qtnetwork/qtnetworkmod.sip new file mode 100644 index 0000000..ca580d7 --- /dev/null +++ b/sip/qtnetwork/qtnetworkmod.sip @@ -0,0 +1,78 @@ +// This is the SIP interface definition for the qtnetwork module of PyQt. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%Module qtnetwork 1 + +%Import qt/qtmod.sip + +%Include copying.sip + + +%Include qdns.sip +%Include qhostaddress.sip +%Include qftp.sip +%Include qhttp.sip +%Include qlocalfs.sip +%Include qnetwork.sip +%Include qserversocket.sip +%Include qsocket.sip +%Include qsocketdevice.sip + + +// The build file template. + +%Makefile qtnetwork.pro.in +# The project file for the qtnetwork module. +# +# Copyright (c) 2007 +# Riverbank Computing Limited <[email protected]> +# +# This file is part of PyQt. +# +# This copy of PyQt is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# +# PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +TEMPLATE = lib +TARGET = @BLX_TARGET_LIB@ +DESTDIR = @PYQT_MODDIR@ +CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@ +INCLUDEPATH = @BLX_INCLUDEPATH@ +DEFINES = @BLX_DEFINES@ +LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@ +macx:QMAKE_LFLAGS += -framework Python + +SOURCES = $B + +HEADERS = $H +%End diff --git a/sip/qtpe/copying.sip b/sip/qtpe/copying.sip new file mode 100644 index 0000000..463904b --- /dev/null +++ b/sip/qtpe/copying.sip @@ -0,0 +1,51 @@ +// This is the SIP file defining the PyQt license. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// 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 <[email protected]> + +This file is part of PyQt. + +This copy of PyQt is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%End + + +%OptionalInclude pyqt-internal.sip +%OptionalInclude pyqt-gpl.sip +%OptionalInclude pyqt-commercial.sip +%OptionalInclude pyqt-edu.sip +%OptionalInclude pyqt-eval.sip +%OptionalInclude pyqt-nc.sip +%OptionalInclude pyqt-tkc.sip diff --git a/sip/qtpe/qpeapplication.sip b/sip/qtpe/qpeapplication.sip new file mode 100644 index 0000000..f71240e --- /dev/null +++ b/sip/qtpe/qpeapplication.sip @@ -0,0 +1,223 @@ +// This is the SIP interface definition for QPEApplication. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +class QPEApplication : QApplication +{ +%TypeHeaderCode +#include <qpe/qpeapplication.h> +#include <qwidgetlist.h> +%End + +public: + QPEApplication(SIP_PYLIST,Type=GuiClient) [(int &,char **,Type=GuiClient)]; +%MethodCode + // The Python interface is a list of argument strings that is + // modified. + + int argc; + char **argv; + + // Convert the list. + if ((argv = pyArgvToC(a0,&argc)) == NULL) + sipIsErr = 1; + else + { + // Create it now the arguments are right. + int nargc = argc; + + Py_BEGIN_ALLOW_THREADS + sipCpp = new sipQPEApplication(nargc,argv,(QApplication::Type)a1); + Py_END_ALLOW_THREADS + + // Now modify the original list. + updatePyArgv(a0,argc,argv); + } +%End + + ~QPEApplication(); +%MethodCode + // See the comments in ~QApplication() to understand what's + // being done here. + + QWidgetList *tlw = QApplication::topLevelWidgets(); + QWidgetListIt it(*tlw); + QWidget *w; + + while ((w = it.current()) != 0) + { + PyObject *sw; + + if ((sw = sipGetWrapper(w,sipClass_QWidget)) != NULL) + sipTransferTo(sw,NULL); + + ++it; + } + + delete tlw; +%End + +%ConvertToSubClassCode + // The table of Python class objects indexed by their names. The table + // must be sorted by name. + + static sipStringTypeClassMap map[] = { + {sipName_FileSelector, &sipClass_FileSelector}, + {sipName_MenuButton, &sipClass_MenuButton}, + {sipName_QPEApplication, &sipClass_QPEApplication}, + {sipName_QPEMenuBar, &sipClass_QPEMenuBar}, + {sipName_QPEToolBar, &sipClass_QPEToolBar}, + }; + + sipClass = sipMapStringToClass(sipCpp -> className(),map, + sizeof (map)/sizeof (map[0])); +%End + + static QString qpeDir(); + static QString documentDir(); + void applyStyle(); + static int defaultRotation(); + static void setDefaultRotation(int); + static void grabKeyboard(); + static void ungrabKeyboard(); + + enum StylusMode { + LeftOnly, + RightOnHold + }; + + static void setStylusOperation(QWidget *,StylusMode); + static StylusMode stylusOperation(QWidget *); + + enum InputMethodHint { + Normal, + AlwaysOff, + AlwaysOn + }; + + enum screenSaverHint { + Disable, + DisableLightOff, + DisableSuspend, + Enable + }; + + static void setInputMethodHint(QWidget *,InputMethodHint); + static InputMethodHint inputMethodHint(QWidget *); + + void showMainWidget(QWidget *,bool = 0); + void showMainDocumentWidget(QWidget *,bool = 0); + + static void setKeepRunning(); + bool keepRunning() const; + + int exec() /PyName=exec_loop, ReleaseGIL, + PreHook=__pyQtPreEventLoopHook__, + PostHook=__pyQtPostEventLoopHook__/; + +signals: + void clientMoused(); + void timeChanged(); + void clockChanged(bool); + void volumeChanged(bool); + void appMessage(const QCString &,const QByteArray &); + void weekChanged(bool); + void dateFormatChanged(DateFormat); + void flush(); + void reload(); + +protected: +// bool qwsEventFilter(QWSEvent *); +// void internalSetStyle(const QString &); + void prepareForTermination(bool); + virtual void restart(); + virtual void shutdown(); + bool eventFilter(QObject *,QEvent *); + void timerEvent(QTimerEvent *); + bool keyboardGrabbed() const; + bool raiseAppropriateWindow(); + virtual void tryQuit(); + + +%TypeCode +#include <string.h> + + +// Convert a Python argv list to a conventional C argc count and argv array. +static char **pyArgvToC(PyObject *argvlist,int *argcp) +{ + int argc; + char **argv; + + argc = PyList_Size(argvlist); + + // Allocate space for two copies of the argument pointers, plus the + // terminating NULL. + if ((argv = (char **)sipMalloc(2 * (argc + 1) * sizeof (char *))) == NULL) + return NULL; + + // Convert the list. + for (int a = 0; a < argc; ++a) + { + char *arg; + + // Get the argument and allocate memory for it. + if ((arg = PyString_AsString(PyList_GetItem(argvlist,a))) == NULL || + (argv[a] = (char *)sipMalloc(strlen(arg) + 1)) == NULL) + return NULL; + + // Copy the argument and save a pointer to it. + strcpy(argv[a],arg); + argv[a + argc + 1] = argv[a]; + } + + argv[argc + argc + 1] = argv[argc] = NULL; + + *argcp = argc; + + return argv; +} + + +// Remove arguments from the Python argv list that have been removed from the +// C argv array. +static void updatePyArgv(PyObject *argvlist,int argc,char **argv) +{ + for (int a = 0, na = 0; a < argc; ++a) + { + // See if it was removed. + if (argv[na] == argv[a + argc + 1]) + ++na; + else + PyList_SetSlice(argvlist,na,na + 1,NULL); + } +} +%End + +}; + +%End diff --git a/sip/qtpe/qpeapplnk.sip b/sip/qtpe/qpeapplnk.sip new file mode 100644 index 0000000..f817ae5 --- /dev/null +++ b/sip/qtpe/qpeapplnk.sip @@ -0,0 +1,157 @@ +// This is the SIP interface definition for AppLnk, AppLnkSet, DocLnk and +// DocLnkSet. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +class AppLnk +{ +%TypeHeaderCode +#include <qpe/applnk.h> +%End + +public: + AppLnk(); + AppLnk(const QString &); + AppLnk(const AppLnk &); + + bool isValid() const; + + static void setSmallIconSize(int); + static void setBigIconSize(int); + static int smallIconSize(); + static int bigIconSize(); + + QString name() const; + const QPixmap& pixmap() const; + const QPixmap& bigPixmap() const; + virtual QString exec() const /PyName=exec_property/; + QString type() const; + QString rotation() const; + QString comment() const; + QString file() const; + QString linkFile() const; + QStringList mimeTypes() const; + QStringList mimeTypeIcons() const; + const QArray<int> &categories() const; + int id() const; + + bool fileKnown() const; + bool linkFileKnown() const; + + void execute() const /ReleaseGIL/; + void execute(const QStringList &) const /ReleaseGIL/; + void removeFiles(); + void removeLinkFile(); + + void setName(const QString &); + void setExec(const QString &); + void setFile(const QString &); + void setLinkFile(const QString &); + void setComment(const QString &); + void setType(const QString &); + void setIcon(const QString &); + void setCategories(const QArray<int> &); + bool writeLink() const; + + void setProperty(const QString &,const QString &); + QString property(const QString &) const; + +protected: + virtual void invoke(const QStringList &) const; + bool ensureLinkExists() const; +// Undocumented and missing on the Zaurus. +// void storeLink() const; +}; + + +class DocLnk : AppLnk +{ +%TypeHeaderCode +#include <qpe/applnk.h> +%End + +public: + DocLnk(); + DocLnk(const DocLnk &); + DocLnk(const QString &); + DocLnk(const QString &,bool); + + QString exec() const /PyName=exec_property/; + +protected: + void invoke(const QStringList &) const; +}; + + +class AppLnkSet +{ +%TypeHeaderCode +#include <qpe/applnk.h> +%End + +public: + AppLnkSet(); + AppLnkSet(const QString &); + + const AppLnk *find(int) const; + const AppLnk *findExec(const QString &) const; + + QStringList types() const; + QString typeName(const QString &) const; + QPixmap typePixmap(const QString &) const; + QPixmap typeBigPixmap(const QString &) const; + + void add(AppLnk *); + bool remove(AppLnk *); + + const QList<AppLnk> &children() const; + void detachChildren(); + +private: + AppLnkSet(const AppLnkSet &); +}; + + +class DocLnkSet : AppLnkSet +{ +%TypeHeaderCode +#include <qpe/applnk.h> +%End + +public: + DocLnkSet(); + DocLnkSet(const QString &,const QString & = QString::null); + + const QList<DocLnk> &children() const; + + void appendFrom(DocLnkSet &); + +private: + DocLnkSet(const DocLnkSet &); +}; + +%End diff --git a/sip/qtpe/qpeconfig.sip b/sip/qtpe/qpeconfig.sip new file mode 100644 index 0000000..a8f78d7 --- /dev/null +++ b/sip/qtpe/qpeconfig.sip @@ -0,0 +1,78 @@ +// This is the SIP interface definition for Config. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +class Config +{ +%TypeHeaderCode +#include <qpe/config.h> +%End + +public: + typedef QMap<QString,QString> ConfigGroup; + + enum Domain { + File, + User + }; + + Config(const QString &,Domain = User); + + bool isValid() const; + bool hasKey(const QString &) const; + + void setGroup(const QString &); +// void writeEntry(const QString &,const char *); + void writeEntry(const QString &,const QString &); + void writeEntryCrypt(const QString &,const QString &); + void writeEntry(const QString &,int); +// void writeEntry(const QString &,bool); + void writeEntry(const QString &,const QStringList &,const QChar &); + void removeEntry(const QString &); + + QString readEntry(const QString &, + const QString & = QString::null) const; + QString readEntryCrypt(const QString &, + const QString & = QString::null) const; + QString readEntryDirect(const QString &, + const QString & = QString::null) const; + int readNumEntry(const QString &,int = -1) const; + bool readBoolEntry(const QString &,bool = 0) const; + QStringList readListEntry(const QString &,const QChar &) const; + + void clearGroup(); + + void write(const QString & = QString::null); + +protected: +// void read(); +// bool parse(const QString &); + +// static QString configFilename(const QString &,Domain); +}; + +%End diff --git a/sip/qtpe/qpefilemanager.sip b/sip/qtpe/qpefilemanager.sip new file mode 100644 index 0000000..d917980 --- /dev/null +++ b/sip/qtpe/qpefilemanager.sip @@ -0,0 +1,53 @@ +// This is the SIP interface definition for FileManager. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +class FileManager +{ +%TypeHeaderCode +#include <qpe/filemanager.h> +%End + +public: + FileManager(); + + bool saveFile(const DocLnk &,const QByteArray &); + bool saveFile(const DocLnk &,const QString &); + bool loadFile(const DocLnk &,QByteArray &); + bool loadFile(const DocLnk &,QString &); + bool copyFile(const AppLnk &,const AppLnk &); + + QIODevice *openFile(const DocLnk &) /ReleaseGIL/; + QIODevice *saveFile(const DocLnk &) /ReleaseGIL/; + + bool exists(const DocLnk &); + +protected: + bool ensurePathExists(const QString &); +}; + +%End diff --git a/sip/qtpe/qpefileselector.sip b/sip/qtpe/qpefileselector.sip new file mode 100644 index 0000000..cfea063 --- /dev/null +++ b/sip/qtpe/qpefileselector.sip @@ -0,0 +1,69 @@ +// This is the SIP interface definition for FileSelector and FileSelectorItem. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +class FileSelectorItem : QListViewItem +{ +%TypeHeaderCode +#include <qpe/fileselector.h> +%End + +public: + FileSelectorItem(QListView * /TransferThis/,const DocLnk &); + + DocLnk file() const; +}; + + +class FileSelector : QVBox +{ +%TypeHeaderCode +#include <qpe/fileselector.h> +%End + +public: + FileSelector(const QString &,QWidget * /TransferThis/,const char *, + bool = 1,bool = 1); + + void setNewVisible(bool); + void setCloseVisible(bool); + void reread(); + int fileCount(); +%If (- QtPE_1_6_0) + const DocLnk *selected(); +%End +%If (QtPE_1_6_0 -) + DocLnk selectedDocument(); +%End + +signals: + void fileSelected(const DocLnk &); + void newSelected(const DocLnk &); + void closeMe(); +}; + +%End diff --git a/sip/qtpe/qpefontdatabase.sip b/sip/qtpe/qpefontdatabase.sip new file mode 100644 index 0000000..2276b5b --- /dev/null +++ b/sip/qtpe/qpefontdatabase.sip @@ -0,0 +1,67 @@ +// This is the SIP interface definition for FontDatabase. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +%If (Qt_FONTDATABASE) + +class FontDatabase : QFontDatabase +{ +%TypeHeaderCode +#include <qpe/fontdatabase.h> +%End + +public: + FontDatabase(); + + QStringList families() const; + + static void loadRenderers(); +}; + +%End + + +%If (!Qt_FONTDATABASE) + +class FontDatabase +{ +%TypeHeaderCode +#include <qpe/fontdatabase.h> +%End + +public: + FontDatabase(); + + QStringList families() const; + static QValueList<int> standardSizes(); + + static void loadRenderers(); +}; + +%End + +%End diff --git a/sip/qtpe/qpeglobal.sip b/sip/qtpe/qpeglobal.sip new file mode 100644 index 0000000..f5b4482 --- /dev/null +++ b/sip/qtpe/qpeglobal.sip @@ -0,0 +1,83 @@ +// This is the SIP interface definition for Global. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +class Global +{ +%TypeHeaderCode +#include <qpe/global.h> +%End + +public: + Global(); + + static const QDawg &fixedDawg(); + static const QDawg &addedDawg(); + static const QDawg &dawg(const QString &); + + static void addWords(const QStringList &); + static void addWords(const QString &,const QStringList &); + + static void createDocDir(); + + static void findDocuments(DocLnkSet *,const QString & = QString::null); + + static QString applicationFileName(const QString &,const QString &); + +// struct Command { +// const char *file; +// QWidget *(*func)(bool); +// bool maximized; +// bool documentary; +// }; + +// static void setBuiltinCommands(Command *); + +%If (- QtPE_1_6_0) + static void invoke(const QString &); +%End + static void execute(const QString &,const QString & = QString::null) /ReleaseGIL/; + static void setDocument(QWidget *,const QString &); + static bool terminateBuiltin(const QString &); + static void terminate(const AppLnk *); + + static bool isBuiltinCommand(const QString &); + + static void applyStyle(); + static void statusMessage(const QString &); + static QWidget *shutdown(bool = 0); + static QWidget *restart(bool = 0); + static void hideInputMethod(); + static void showInputMethod(); + + static void writeHWClock(); + + static QString shellQuote(const QString &); + static QString stringQuote(const QString &); +}; + +%End diff --git a/sip/qtpe/qpemenubar.sip b/sip/qtpe/qpemenubar.sip new file mode 100644 index 0000000..4164843 --- /dev/null +++ b/sip/qtpe/qpemenubar.sip @@ -0,0 +1,42 @@ +// This is the SIP interface definition for QPEMenuBar. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +class QPEMenuBar : QMenuBar +{ +%TypeHeaderCode +#include <qpe/qpemenubar.h> +%End + +public: + QPEMenuBar(QWidget * /TransferThis/ = 0,const char * = 0); + +protected: + virtual void keyPressEvent(QKeyEvent *); +}; + +%End diff --git a/sip/qtpe/qpemenubutton.sip b/sip/qtpe/qpemenubutton.sip new file mode 100644 index 0000000..ff3a729 --- /dev/null +++ b/sip/qtpe/qpemenubutton.sip @@ -0,0 +1,61 @@ +// This is the SIP interface definition for MenuButton. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +class MenuButton : QPushButton +{ +%TypeHeaderCode +#include <qpe/menubutton.h> +%End + +public: + MenuButton(QWidget * /TransferThis/,const char * = 0); + MenuButton(const QStringList &,QWidget * /TransferThis/, + const char * = 0); + + void clear(); + + int currentItem() const; + QString currentText() const; + + void insertItems(const QStringList &); + void insertItem(const QIconSet &,const QString & = QString::null); + void insertItem(const QString &); + void insertSeparator(); + + void setLabel(const QString &); + +signals: + void selected(int); + void selected(const QString &); + +public slots: + void select(int); + void select(const QString &); +}; + +%End diff --git a/sip/qtpe/qpeqcopenvelope.sip b/sip/qtpe/qpeqcopenvelope.sip new file mode 100644 index 0000000..9bbff30 --- /dev/null +++ b/sip/qtpe/qpeqcopenvelope.sip @@ -0,0 +1,39 @@ +// This is the SIP interface definition for QCopEnvelope. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +class QCopEnvelope : QDataStream +{ +%TypeHeaderCode +#include <qpe/qcopenvelope_qws.h> +%End + +public: + QCopEnvelope(const QCString &,const QCString &); +}; + +%End diff --git a/sip/qtpe/qpeqdawg.sip b/sip/qtpe/qpeqdawg.sip new file mode 100644 index 0000000..f04d642 --- /dev/null +++ b/sip/qtpe/qpeqdawg.sip @@ -0,0 +1,65 @@ +// This is the SIP interface definition for QDawg. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +class QDawg +{ +%TypeHeaderCode +#include <qpe/qdawg.h> +%End + +public: + QDawg(); + + bool readFile(const QString &) /ReleaseGIL/; + bool read(QIODevice *) /ReleaseGIL/; + bool write(QIODevice *) const /ReleaseGIL/; + bool createFromWords(QIODevice *); + void createFromWords(const QStringList &); + QStringList allWords() const; + + bool contains(const QString &) const; + int countWords() const; + + class Node { + public: + QChar letter() const; + bool isWord() const; + bool isLast() const; + const QDawg::Node *next() const; + const QDawg::Node *jump() const; + + private: + Node(); + }; + + const QDawg::Node *root() const; + + void dump() const; +}; + +%End diff --git a/sip/qtpe/qperesource.sip b/sip/qtpe/qperesource.sip new file mode 100644 index 0000000..de094b0 --- /dev/null +++ b/sip/qtpe/qperesource.sip @@ -0,0 +1,50 @@ +// This is the SIP interface definition for Resource. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +class Resource +{ +%TypeHeaderCode +#include <qpe/resource.h> +%End + +public: + Resource(); + + static QImage loadImage(const QString &); + + static QPixmap loadPixmap(const QString &); + static QBitmap loadBitmap(const QString &); + static QString findPixmap(const QString &); + + static QIconSet loadIconSet(const QString &); + + static QString findSound(const QString &); + static QStringList allSounds(); +}; + +%End diff --git a/sip/qtpe/qpetimestring.sip b/sip/qtpe/qpetimestring.sip new file mode 100644 index 0000000..4df6a4f --- /dev/null +++ b/sip/qtpe/qpetimestring.sip @@ -0,0 +1,71 @@ +// This is the SIP interface definition for DateFormat. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +class DateFormat +{ +%TypeHeaderCode +#include <qpe/timestring.h> +%End + +public: + enum Order { + DayMonthYear, + MonthDayYear, + YearMonthDay + }; + + DateFormat(QChar = '/',Order = MonthDayYear); + DateFormat(QChar,Order,Order); + DateFormat(const DateFormat &); + + enum Verbosity { + shortNumber, + longNumber, + padNumber, + shortWord, + longWord, + showWeekDay + }; + + QString toNumberString() const; + QString toWordString() const; + + QString numberDate(const QDate &,int = 0) const; + QString wordDate(const QDate &,int = 0) const; + +%If (Qt_DATASTREAM) + void load(QDataStream &); + void save(QDataStream &) const; +%End + + QChar separator() const; + Order shortOrder() const; + Order longOrder() const; +}; + +%End diff --git a/sip/qtpe/qpetoolbar.sip b/sip/qtpe/qpetoolbar.sip new file mode 100644 index 0000000..1d503ea --- /dev/null +++ b/sip/qtpe/qpetoolbar.sip @@ -0,0 +1,42 @@ +// This is the SIP interface definition for QPEToolBar. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +// The documentation is in the main documentation file because SIP isn't clever +// enough to handle the resulting %Timeline complexity. + + +%If (WS_QWS) + +class QPEToolBar : QToolBar +{ +%TypeHeaderCode +#include <qpe/qpetoolbar.h> +%End + +public: + QPEToolBar(QMainWindow * /TransferThis/ = 0,const char * = 0); + +protected: + virtual void childEvent(QChildEvent *); +}; + +%End diff --git a/sip/qtpe/qtpemod.sip b/sip/qtpe/qtpemod.sip new file mode 100644 index 0000000..3194a03 --- /dev/null +++ b/sip/qtpe/qtpemod.sip @@ -0,0 +1,94 @@ +// This is the SIP interface definition for the qtpe module of PyQt. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%Module qtpe 1 + +%Import qt/qtmod.sip + +%Include copying.sip + + +// QPE has it's own version numbering. +%Timeline {QtPE_1_5_0 QtPE_1_6_0} + + +%ModuleHeaderCode +#include <qpe/version.h> +%End + +const char *QPE_VERSION; + + +%Include qpeapplication.sip +%Include qpeapplnk.sip +%Include qpeconfig.sip +%Include qpefilemanager.sip +%Include qpefileselector.sip +%Include qpefontdatabase.sip +%Include qpeglobal.sip +%Include qpemenubar.sip +%Include qpemenubutton.sip +%Include qpeqcopenvelope.sip +%Include qpeqdawg.sip +%Include qperesource.sip +%Include qpetimestring.sip +%Include qpetoolbar.sip + + +// The build file template. + +%Makefile qtpe.pro.in +# The project file for the qtpe module. +# +# Copyright (c) 2007 +# Riverbank Computing Limited <[email protected]> +# +# This file is part of PyQt. +# +# This copy of PyQt is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# +# PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +TEMPLATE = lib +TARGET = @BLX_TARGET_LIB@ +DESTDIR = @PYQT_MODDIR@ +CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@ +INCLUDEPATH = @BLX_INCLUDEPATH@ +DEFINES = @BLX_DEFINES@ +LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@ -lqpe +macx:QMAKE_LFLAGS += -framework Python + +SOURCES = $B + +HEADERS = $H +%End diff --git a/sip/qtsql/copying.sip b/sip/qtsql/copying.sip new file mode 100644 index 0000000..463904b --- /dev/null +++ b/sip/qtsql/copying.sip @@ -0,0 +1,51 @@ +// This is the SIP file defining the PyQt license. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// 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 <[email protected]> + +This file is part of PyQt. + +This copy of PyQt is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%End + + +%OptionalInclude pyqt-internal.sip +%OptionalInclude pyqt-gpl.sip +%OptionalInclude pyqt-commercial.sip +%OptionalInclude pyqt-edu.sip +%OptionalInclude pyqt-eval.sip +%OptionalInclude pyqt-nc.sip +%OptionalInclude pyqt-tkc.sip diff --git a/sip/qtsql/qdatabrowser.sip b/sip/qtsql/qdatabrowser.sip new file mode 100644 index 0000000..ff2e4d8 --- /dev/null +++ b/sip/qtsql/qdatabrowser.sip @@ -0,0 +1,150 @@ +// This is the SIP interface definition for QDataBrowser. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QDataBrowser (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>virtual void <Function>del</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>delOnCursor</Literal> in Python. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QDataBrowser : QWidget +{ +%TypeHeaderCode +#include <qdatabrowser.h> +%End + +public: + QDataBrowser(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + + enum Boundary { + Unknown, + None, + BeforeBeginning, + Beginning, + End, + AfterEnd + }; + + Boundary boundary(); + void setBoundaryChecking(bool); + bool boundaryChecking() const; + + void setSort(const QSqlIndex &); + void setSort(const QStringList &); + QStringList sort() const; + void setFilter(const QString &); + QString filter() const; + + virtual void setSqlCursor(QSqlCursor * /GetWrapper/,bool = 0); +%MethodCode + Py_BEGIN_ALLOW_THREADS + sipSelfWasArg ? sipCpp->QDataBrowser::setSqlCursor(a0, a1) : sipCpp->setSqlCursor(a0, a1); + Py_END_ALLOW_THREADS + + // Transfer ownership of the cursor if the autoDelete flag is + // set. + if (a0 && a1) + sipTransferTo(a0Wrapper,sipSelf); +%End + + QSqlCursor* sqlCursor() const; + virtual void setForm(QSqlForm *); + QSqlForm* form(); + + virtual void setConfirmEdits(bool); + virtual void setConfirmInsert(bool); + virtual void setConfirmUpdate(bool); + virtual void setConfirmDelete(bool); + virtual void setConfirmCancels(bool); + bool confirmEdits() const; + bool confirmInsert() const; + bool confirmUpdate() const; + bool confirmDelete() const; + bool confirmCancels() const; + + virtual void setReadOnly(bool); + bool isReadOnly() const; + virtual void setAutoEdit(bool); + bool autoEdit() const; + + virtual bool seek(int,bool = 0) /ReleaseGIL/; + +signals: + void firstRecordAvailable(bool); + void lastRecordAvailable(bool); + void nextRecordAvailable(bool); + void prevRecordAvailable(bool); + + void currentChanged(const QSqlRecord *); + void primeInsert(QSqlRecord *); + void primeUpdate(QSqlRecord *); + void primeDelete(QSqlRecord *); + void beforeInsert(QSqlRecord *); + void beforeUpdate(QSqlRecord *); + void beforeDelete(QSqlRecord *); + void cursorChanged(QSqlCursor::Mode); + +public slots: + virtual void refresh(); + + virtual void insert() /ReleaseGIL/; + virtual void update() /ReleaseGIL/; + virtual void del() /PyName=delOnCursor, ReleaseGIL/; + + virtual void first() /ReleaseGIL/; + virtual void last() /ReleaseGIL/; + virtual void next() /ReleaseGIL/; + virtual void prev() /ReleaseGIL/; + + virtual void readFields(); + virtual void writeFields(); + virtual void clearValues(); + + void updateBoundary(); + +protected: + virtual bool insertCurrent() /ReleaseGIL/; + virtual bool updateCurrent() /ReleaseGIL/; + virtual bool deleteCurrent() /ReleaseGIL/; + virtual bool currentEdited(); + + virtual QSql::Confirm confirmEdit(QSql::Op) /ReleaseGIL/; + virtual QSql::Confirm confirmCancel(QSql::Op) /ReleaseGIL/; + + virtual void handleError(const QSqlError &) /ReleaseGIL/; + +private: +%If (Qt_3_1_0 -) + QDataBrowser(const QDataBrowser &); +%End +}; + +%End diff --git a/sip/qtsql/qdatatable.sip b/sip/qtsql/qdatatable.sip new file mode 100644 index 0000000..bcb0290 --- /dev/null +++ b/sip/qtsql/qdatatable.sip @@ -0,0 +1,201 @@ +// This is the SIP interface definition for QDataTable. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QDataTable (Qt v3+)</Title> +<Para> +<Literal>QDataTable</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QDataTable : QTable +{ +%TypeHeaderCode +#include <qdatatable.h> +%End + +public: + QDataTable(QWidget* /TransferThis/ = 0,const char * = 0); + QDataTable(QSqlCursor *,bool = 0,QWidget * /TransferThis/ = 0, + const char * = 0); + + virtual void addColumn(const QString &,const QString & = QString::null, + int = -1,const QIconSet & = QIconSet()); + virtual void removeColumn(uint); + virtual void setColumn(uint,const QString &, + const QString & = QString::null,int = -1, + const QIconSet & = QIconSet()); + + QString nullText() const; + QString trueText() const; + QString falseText() const; + DateFormat dateFormat() const; + bool confirmEdits() const; + bool confirmInsert() const; + bool confirmUpdate() const; + bool confirmDelete() const; + bool confirmCancels() const; + bool autoDelete() const; + bool autoEdit() const; + QString filter() const; + QStringList sort() const; + + virtual void setSqlCursor(QSqlCursor * /GetWrapper/ = 0,bool = 0,bool = 0); +%MethodCode + Py_BEGIN_ALLOW_THREADS + sipSelfWasArg ? sipCpp->QDataTable::setSqlCursor(a0, a1, a2) : sipCpp->setSqlCursor(a0, a1, a2); + Py_END_ALLOW_THREADS + + // Transfer ownership of the cursor if the autoDelete flag is + // set. + if (a0 && a2) + sipTransferTo(a0Wrapper,sipSelf); +%End + + QSqlCursor *sqlCursor() const; + + virtual void setNullText(const QString &); + virtual void setTrueText(const QString &); + virtual void setFalseText(const QString &); + virtual void setDateFormat(const DateFormat); + virtual void setConfirmEdits(bool); + virtual void setConfirmInsert(bool); + virtual void setConfirmUpdate(bool); + virtual void setConfirmDelete(bool); + virtual void setConfirmCancels(bool); + virtual void setAutoDelete(bool); + virtual void setAutoEdit(bool); + virtual void setFilter(const QString &); + virtual void setSort(const QStringList &); + virtual void setSort(const QSqlIndex &); + + enum Refresh { + RefreshData, + RefreshColumns, + RefreshAll + }; + + void refresh(Refresh); + void sortColumn(int,bool = 1,bool = 0); + QString text(int,int) const; + QVariant value(int,int) const; + QSqlRecord *currentRecord() const; + + void installEditorFactory(QSqlEditorFactory * /Transfer/); + void installPropertyMap(QSqlPropertyMap * /Transfer/); + + int numCols() const; + int numRows() const; + void setNumCols(int); + void setNumRows(int); + bool findBuffer(const QSqlIndex &,int = 0); + +%If (Qt_3_2_0 -) + void hideColumn(int); + void showColumn(int); +%End + +signals: + void currentChanged(QSqlRecord *); + void primeInsert(QSqlRecord *); + void primeUpdate(QSqlRecord *); + void primeDelete(QSqlRecord *); + void beforeInsert(QSqlRecord *); + void beforeUpdate(QSqlRecord *); + void beforeDelete(QSqlRecord *); + void cursorChanged(QSql::Op); + +public slots: + virtual void find(const QString &,bool,bool); + virtual void sortAscending(int); + virtual void sortDescending(int); + virtual void refresh(); + void setColumnWidth(int,int); +%If (Qt_3_0_5 -) + void adjustColumn(int); + void setColumnStretchable(int,bool); +%End +%If (Qt_3_1_0 -) + void swapColumns(int,int,bool = 0); +%End + +protected: + virtual bool insertCurrent(); + virtual bool updateCurrent(); + virtual bool deleteCurrent(); + + virtual QSql::Confirm confirmEdit(QSql::Op); + virtual QSql::Confirm confirmCancel(QSql::Op); + + virtual void handleError(const QSqlError &); + + virtual bool beginInsert(); + virtual QWidget *beginUpdate(int,int,bool); + + bool eventFilter(QObject *,QEvent *); +%If (Qt_3_2_0 -) + void keyPressEvent(QKeyEvent *); +%End + void resizeEvent(QResizeEvent *); + void contentsMousePressEvent(QMouseEvent *); + void contentsContextMenuEvent(QContextMenuEvent *); + void endEdit(int,int,bool,bool); + + // We don't specify /Factory/ for this because the returned QWidget + // will always have a parent which will own it. + QWidget *createEditor(int,int,bool) const; + + void activateNextCell(); + int indexOf(uint) const; + void reset(); + void setSize(QSqlCursor *); + void repaintCell(int,int); + void paintCell(QPainter *,int,int,const QRect &,bool, + const QColorGroup &); + virtual void paintField(QPainter *,const QSqlField *,const QRect &, + bool); +%If (Qt_3_1_0 -) + void drawContents(QPainter *,int,int,int,int); +%End + virtual int fieldAlignment(const QSqlField *); + void columnClicked(int); + void resizeData(int); + + QTableItem *item(int,int) const; + void setItem(int,int,QTableItem *); + void clearCell(int,int); + void setPixmap(int,int,const QPixmap &); + void takeItem(QTableItem *); + +private: + QWidget *beginEdit(int,int,bool); + +%If (Qt_3_1_0 -) + QDataTable(const QDataTable &); +%End +}; + +%End diff --git a/sip/qtsql/qdataview.sip b/sip/qtsql/qdataview.sip new file mode 100644 index 0000000..e6bb36e --- /dev/null +++ b/sip/qtsql/qdataview.sip @@ -0,0 +1,60 @@ +// This is the SIP interface definition for QDataView. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QDataView (Qt v3+)</Title> +<Para> +<Literal>QDataView</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QDataView : QWidget +{ +%TypeHeaderCode +#include <qdataview.h> +%End + +public: + QDataView(QWidget * /TransferThis/ = 0,const char * = 0,WFlags = 0); + + virtual void setForm(QSqlForm *); + QSqlForm *form(); + virtual void setRecord(QSqlRecord *); + QSqlRecord *record(); + +public slots: + virtual void refresh(QSqlRecord *); + virtual void readFields(); + virtual void writeFields(); + virtual void clearValues(); + +private: +%If (Qt_3_1_0 -) + QDataView(const QDataView &); +%End +}; + +%End diff --git a/sip/qtsql/qeditorfactory.sip b/sip/qtsql/qeditorfactory.sip new file mode 100644 index 0000000..49f932b --- /dev/null +++ b/sip/qtsql/qeditorfactory.sip @@ -0,0 +1,55 @@ +// This is the SIP interface definition for QEditorFactory. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QEditorFactory (Qt v3+)</Title> +<Para> +<Literal>QEditorFactory</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QEditorFactory : QObject +{ +%TypeHeaderCode +#include <qeditorfactory.h> +%End + +public: + QEditorFactory(QObject * /TransferThis/ = 0,const char * = 0); + + virtual QWidget *createEditor(QWidget * /TransferThis/, + const QVariant &) /Factory/; + + static QEditorFactory *defaultFactory(); + static void installDefaultFactory(QEditorFactory * /Transfer/); + +private: +%If (Qt_3_1_0 -) + QEditorFactory(const QEditorFactory &); +%End +}; + +%End diff --git a/sip/qtsql/qsql.sip b/sip/qtsql/qsql.sip new file mode 100644 index 0000000..f2df075 --- /dev/null +++ b/sip/qtsql/qsql.sip @@ -0,0 +1,80 @@ +// This is the SIP interface definition for QSql. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSql (Qt v3+)</Title> +<Para> +<Literal>QSql</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSql +{ +%TypeHeaderCode +#include <qsql.h> +%End + +public: + QSql(); + + enum Op { + None, + Insert, + Update, + Delete + }; + + enum Location { + BeforeFirst, + AfterLast + }; + + enum Confirm { + Cancel, + No, + Yes + }; + +%If (Qt_3_2_0 -) + enum ParameterType { + In, + Out, + InOut + }; + + enum TableType { + Tables, + SystemTables, + Views, + AllTables + }; +%End + +private: + QSql(const QSql &); +}; + +%End diff --git a/sip/qtsql/qsqlcursor.sip b/sip/qtsql/qsqlcursor.sip new file mode 100644 index 0000000..2e11c1b --- /dev/null +++ b/sip/qtsql/qsqlcursor.sip @@ -0,0 +1,148 @@ +// This is the SIP interface definition for QSqlCursor. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSqlCursor (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>virtual int <Function>del</Function></FuncDef> + <ParamDef>bool <Parameter>invalidate</Parameter> = TRUE</ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>delRecords</Literal> in Python. +</Para> + +<FuncSynopsis> + <FuncDef>virtual int <Function>del</Function></FuncDef> + <ParamDef>const QString &<Parameter>filter</Parameter></ParamDef> + <ParamDef>bool <Parameter>invalidate</Parameter> = TRUE</ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>delRecords</Literal> in Python. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>exec</Function></FuncDef> + <ParamDef>const QString &<Parameter>query</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>execQuery</Literal> in Python. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSqlCursor : QSqlRecord, QSqlQuery +{ +%TypeHeaderCode +#include <qsqlcursor.h> +%End + +public: + QSqlCursor(const QString & = QString::null,bool = 1,QSqlDatabase * = 0); + QSqlCursor(const QSqlCursor &); + + enum Mode { + ReadOnly, + Insert, + Update, + Delete, + Writable + }; + + QVariant value(int) const; + QVariant value(const QString &) const; +%If (Qt_3_1_0 -) + void setValue(int,const QVariant &); + void setValue(const QString &,const QVariant &); +%End + virtual QSqlIndex primaryIndex(bool = 1) const; + virtual QSqlIndex index(const QStringList &) const; + QSqlIndex index(const QString &) const; +// QSqlIndex index(const char *) const; + virtual void setPrimaryIndex(const QSqlIndex &); + + virtual void append(const QSqlFieldInfo &); + virtual void insert(int,const QSqlFieldInfo &); + void remove(int); + void clear(); + void setGenerated(const QString &,bool); + void setGenerated(int,bool); + + virtual QSqlRecord *editBuffer(bool = 0); + virtual QSqlRecord *primeInsert(); + virtual QSqlRecord *primeUpdate(); + virtual QSqlRecord *primeDelete(); + virtual int insert(bool = 1) /ReleaseGIL/; + virtual int update(bool = 1) /ReleaseGIL/; + virtual int del(bool = 1) /PyName=delRecords, ReleaseGIL/; + + virtual void setMode(int); + int mode() const; + virtual void setCalculated(const QString &,bool); + bool isCalculated(const QString &) const; + virtual void setTrimmed(const QString &,bool); + bool isTrimmed(const QString &) const; + + bool isReadOnly() const; + bool canInsert() const; + bool canUpdate() const; + bool canDelete() const; + + bool select() /ReleaseGIL/; + bool select(const QSqlIndex &) /ReleaseGIL/; + bool select(const QSqlIndex &,const QSqlIndex &) /ReleaseGIL/; + virtual bool select(const QString &,const QSqlIndex & = QSqlIndex()) /ReleaseGIL/; + + virtual void setSort(const QSqlIndex &); + QSqlIndex sort() const; + virtual void setFilter(const QString &); + QString filter() const; + virtual void setName(const QString &,bool = 1); + QString name() const; + QString toString(const QString & = QString::null, + const QString & = ",") const; + +%If (Qt_3_1_0 -) + bool isNull(int) const; + bool isNull(const QString &) const; +%End + +protected: + void afterSeek(); + bool exec(const QString &) /PyName=execQuery, ReleaseGIL/; + + virtual QVariant calculateField(const QString &); + virtual int update(const QString &,bool = 1); + virtual int del(const QString &,bool = 1) /PyName=delRecords, ReleaseGIL/; + + virtual QString toString(const QString &,QSqlField *, + const QString &) const; + virtual QString toString(QSqlRecord *,const QString &,const QString &, + const QString &) const; + virtual QString toString(const QSqlIndex &,QSqlRecord *, + const QString &,const QString &, + const QString &) const; +}; + +%End diff --git a/sip/qtsql/qsqldatabase.sip b/sip/qtsql/qsqldatabase.sip new file mode 100644 index 0000000..510499f --- /dev/null +++ b/sip/qtsql/qsqldatabase.sip @@ -0,0 +1,154 @@ +// This is the SIP interface definition for QSqlDatabase. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSqlDatabase (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>QSqlQuery <Function>exec</Function></FuncDef> + <ParamDef>const QString &<Parameter>query</Parameter> = QString::null</ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>execStatement</Literal> in Python. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSqlDatabase : QObject +{ +%TypeHeaderCode +#include <qsqldatabase.h> +%End + +public: +%ConvertToSubClassCode + static struct class_graph { + const char *name; + sipWrapperType **type; + int yes, no; + } graph[] = { + {sipName_QSqlDriver, &sipClass_QSqlDriver, -1, 1}, + {sipName_QEditorFactory, &sipClass_QEditorFactory, 7, 2}, + {sipName_QSqlDatabase, &sipClass_QSqlDatabase, -1, 3}, + {sipName_QSqlForm, &sipClass_QSqlForm, -1, 4}, + {sipName_QDataView, &sipClass_QDataView, -1, 5}, + {sipName_QDataTable, &sipClass_QDataTable, -1, 6}, + {sipName_QDataBrowser, &sipClass_QDataBrowser, -1, -1}, + {sipName_QSqlEditorFactory, &sipClass_QSqlEditorFactory, -1, -1}, + }; + + int i = 0; + + sipClass = NULL; + + do + { + struct class_graph *cg = &graph[i]; + + if (cg->name != NULL && sipCpp->inherits(cg->name)) + { + sipClass = *cg->type; + i = cg->yes; + } + else + i = cg->no; + } + while (i >= 0); +%End + + bool open() /ReleaseGIL/; + bool open(const QString &,const QString &) /ReleaseGIL/; + void close(); + bool isOpen() const; + bool isOpenError() const; + QStringList tables() const; +%If (Qt_3_2_0 -) + QStringList tables(QSql::TableType) const; +%End + QSqlIndex primaryIndex(const QString &) const; + QSqlRecord record(const QString &) const; + QSqlRecord record(const QSqlQuery &) const; + QSqlRecordInfo recordInfo(const QString &) const; + QSqlRecordInfo recordInfo(const QSqlQuery &) const; + QSqlQuery exec(const QString & = QString::null) const /PyName=execStatement, ReleaseGIL/; + QSqlError lastError() const; + + bool transaction(); + bool commit(); + bool rollback(); + + virtual void setDatabaseName(const QString &); + virtual void setUserName(const QString &); + virtual void setPassword(const QString &); + virtual void setHostName(const QString &); + virtual void setPort(int); +%If (Qt_3_2_0 -) + void setConnectOptions(const QString & = QString::null); +%End + QString databaseName() const; + QString userName() const; + QString password() const; + QString hostName() const; + QString driverName() const; + int port() const; +%If (Qt_3_2_0 -) + QString connectOptions() const; +%End + + QSqlDriver *driver() const; + + static QSqlDatabase *addDatabase(const QString &, + const QString & = QString(QSqlDatabase::defaultConnection)); +%If (Qt_3_2_0 -) + static QSqlDatabase *addDatabase(QSqlDriver *, + const QString & = QString(QSqlDatabase::defaultConnection)); +%End + static QSqlDatabase *database(const QString & = QString(QSqlDatabase::defaultConnection),bool = 1); + static void removeDatabase(const QString &); +%If (Qt_3_2_0 -) + static void removeDatabase(QSqlDatabase *); +%End + static bool contains(const QString & = QString(QSqlDatabase::defaultConnection)); + static QStringList drivers(); +// static void registerSqlDriver(const QString &, +// const QSqlDriverCreatorBase *); +%If (Qt_3_2_0 -) + static bool isDriverAvailable(const QString &); +%End + +protected: + QSqlDatabase(const QString &,const QString &, + QObject * /TransferThis/ = 0,const char * = 0); +%If (Qt_3_2_0 -) + QSqlDatabase(QSqlDriver *,QObject * /TransferThis/ = 0, + const char * = 0); +%End + +private: +%If (Qt_3_1_0 -) + QSqlDatabase(const QSqlDatabase &); +%End +}; + +%End diff --git a/sip/qtsql/qsqldriver.sip b/sip/qtsql/qsqldriver.sip new file mode 100644 index 0000000..3ebdaa9 --- /dev/null +++ b/sip/qtsql/qsqldriver.sip @@ -0,0 +1,93 @@ +// This is the SIP interface definition for QSqlDriver. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSqlDriver (Qt v3+)</Title> +<Para> +<Literal>QSqlDriver</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSqlDriver : QObject +{ +%TypeHeaderCode +#include <qsqldriver.h> +%End + +public: + enum DriverFeature { + Transactions, + QuerySize, + BLOB, +%If (Qt_3_1_0 -) + Unicode, + PreparedQueries, + NamedPlaceholders, + PositionalPlaceholders +%End + }; + + QSqlDriver(QObject * /TransferThis/ = 0,const char * = 0); + + bool isOpen() const; + bool isOpenError() const; + + virtual bool beginTransaction(); + virtual bool commitTransaction(); + virtual bool rollbackTransaction(); + virtual QStringList tables(const QString &) const; + virtual QSqlIndex primaryIndex(const QString &) const; + virtual QSqlRecord record(const QString &) const; + virtual QSqlRecord record(const QSqlQuery &) const; + virtual QSqlRecordInfo recordInfo(const QString &) const; + virtual QSqlRecordInfo recordInfo(const QSqlQuery &) const; + virtual QString nullText() const; + virtual QString formatValue(const QSqlField *,bool = 0) const; + QSqlError lastError() const; + + virtual bool hasFeature(DriverFeature) const = 0; + virtual bool open(const QString &,const QString & = QString::null, + const QString & = QString::null, + const QString & = QString::null, + int = -1) = 0 /ReleaseGIL/; + virtual void close() = 0; + virtual QSqlQuery createQuery() const = 0; + +%If (Qt_3_2_0 -) + bool open(const QString &,const QString &,const QString &, + const QString &,int,const QString &) /ReleaseGIL/; +%End + +protected: + virtual void setOpen(bool); + virtual void setOpenError(bool); + virtual void setLastError(const QSqlError &); + +private: + QSqlDriver(const QSqlDriver &); +}; + +%End diff --git a/sip/qtsql/qsqleditorfactory.sip b/sip/qtsql/qsqleditorfactory.sip new file mode 100644 index 0000000..af93bd4 --- /dev/null +++ b/sip/qtsql/qsqleditorfactory.sip @@ -0,0 +1,57 @@ +// This is the SIP interface definition for QSqlEditorFactory. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSqlEditorFactory (Qt v3+)</Title> +<Para> +<Literal>QSqlEditorFactory</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSqlEditorFactory : QEditorFactory +{ +%TypeHeaderCode +#include <qsqleditorfactory.h> +%End + +public: + QSqlEditorFactory(QObject * /TransferThis/ = 0,const char * = 0); + + virtual QWidget *createEditor(QWidget * /TransferThis/, + const QVariant &) /Factory/; + virtual QWidget *createEditor(QWidget * /TransferThis/, + const QSqlField *) /Factory/; + + static QSqlEditorFactory *defaultFactory(); + static void installDefaultFactory(QSqlEditorFactory * /Transfer/); + +private: +%If (Qt_3_1_0 -) + QSqlEditorFactory(const QSqlEditorFactory &); +%End +}; + +%End diff --git a/sip/qtsql/qsqlerror.sip b/sip/qtsql/qsqlerror.sip new file mode 100644 index 0000000..17f9504 --- /dev/null +++ b/sip/qtsql/qsqlerror.sip @@ -0,0 +1,68 @@ +// This is the SIP interface definition for QSqlError. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSqlError (Qt v3+)</Title> +<Para> +<Literal>QSqlError</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSqlError +{ +%TypeHeaderCode +#include <qsqlerror.h> +%End + +public: + enum Type { + None, + Connection, + Statement, + Transaction, + Unknown + }; + + QSqlError(const QString & = QString::null, + const QString & = QString::null,int = QSqlError::None, + int = -1); + QSqlError(const QSqlError &); + + QString driverText() const; + virtual void setDriverText(const QString &); + QString databaseText() const; + virtual void setDatabaseText(const QString &); + int type() const; + virtual void setType(int); + int number() const; + virtual void setNumber(int); +%If (Qt_3_2_0 -) + QString text() const; + void showMessage(const QString & = QString::null) const; +%End +}; + +%End diff --git a/sip/qtsql/qsqlfield.sip b/sip/qtsql/qsqlfield.sip new file mode 100644 index 0000000..39dc046 --- /dev/null +++ b/sip/qtsql/qsqlfield.sip @@ -0,0 +1,95 @@ +// This is the SIP interface definition for QSqlField and QSqlFieldInfo. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSqlField (Qt v3+)</Title> +<Para> +<Literal>QSqlField</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QSqlFieldInfo (Qt v3+)</Title> +<Para> +<Literal>QSqlFieldInfo</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSqlField +{ +%TypeHeaderCode +#include <qsqlfield.h> +%End + +public: + QSqlField(const QString & = QString::null, + QVariant::Type = QVariant::Invalid ); + QSqlField(const QSqlField &); + + virtual void setValue(const QVariant &); + virtual QVariant value() const; + virtual void setName(const QString &); + QString name() const; + virtual void setNull(); + bool isNull() const; + virtual void setReadOnly(bool); + bool isReadOnly() const; + void clear(bool = 1); + QVariant::Type type() const; +}; + + +class QSqlFieldInfo +{ +%TypeHeaderCode +#include <qsqlfield.h> +%End + +public: + QSqlFieldInfo(const QString & = QString::null, + QVariant::Type = QVariant::Invalid,int = -1,int = -1, + int = -1,const QVariant & = QVariant(),int = 0,bool = 1, + bool = 0,bool = 0); + QSqlFieldInfo(const QSqlFieldInfo &); + QSqlFieldInfo(const QSqlField &,bool = 1); + + QSqlField toField() const; + int isRequired() const; + QVariant::Type type() const; + int length() const; + int precision() const; + QVariant defaultValue() const; + QString name() const; + int typeID() const; + bool isGenerated() const; + bool isTrim() const; + bool isCalculated() const; + + virtual void setTrim(bool); + virtual void setGenerated(bool); + virtual void setCalculated(bool); +}; + +%End diff --git a/sip/qtsql/qsqlform.sip b/sip/qtsql/qsqlform.sip new file mode 100644 index 0000000..84e05b7 --- /dev/null +++ b/sip/qtsql/qsqlform.sip @@ -0,0 +1,74 @@ +// This is the SIP interface definition for QSqlForm. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSqlForm (Qt v3+)</Title> +<Para> +<Literal>QSqlForm</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSqlForm : QObject +{ +%TypeHeaderCode +#include <qsqlform.h> +%End + +public: + QSqlForm(QObject * /TransferThis/ = 0,const char * = 0); + + virtual void insert(QWidget *,const QString &); + virtual void remove(const QString &); + uint count() const; + + QWidget *widget(uint) const; + QSqlField *widgetToField(QWidget *) const; + QWidget *fieldToWidget(QSqlField *) const; + + void installPropertyMap(QSqlPropertyMap * /Transfer/); + + virtual void setRecord(QSqlRecord *); + +public slots: + virtual void readField(QWidget *); + virtual void writeField(QWidget *); + virtual void readFields(); + virtual void writeFields(); + + virtual void clear(); + virtual void clearValues(bool = 0); + +protected: + virtual void insert(QWidget *,QSqlField *); + virtual void remove(QWidget *); + +private: +%If (Qt_3_1_0 -) + QSqlForm(const QSqlForm &); +%End +}; + +%End diff --git a/sip/qtsql/qsqlindex.sip b/sip/qtsql/qsqlindex.sip new file mode 100644 index 0000000..af88129 --- /dev/null +++ b/sip/qtsql/qsqlindex.sip @@ -0,0 +1,64 @@ +// This is the SIP interface definition for QSqlIndex. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSqlIndex (Qt v3+)</Title> +<Para> +<Literal>QSqlIndex</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSqlIndex : QSqlRecord +{ +%TypeHeaderCode +#include <qsqlindex.h> +%End + +public: + QSqlIndex(const QString & = QString::null, + const QString & = QString::null); + QSqlIndex(const QSqlIndex &); + + virtual void setCursorName(const QString &); + QString cursorName() const; + virtual void setName(const QString &); + QString name() const; + + void append(const QSqlField &); + virtual void append(const QSqlField &,bool); + + bool isDescending(int) const; + virtual void setDescending(int,bool); + + QString toString(const QString & = QString::null,const QString & = ",", + bool = 1) const; + QStringList toStringList(const QString & = QString::null, + bool = 1) const; + + static QSqlIndex fromStringList(const QStringList &,const QSqlCursor *); +}; + +%End diff --git a/sip/qtsql/qsqlpropertymap.sip b/sip/qtsql/qsqlpropertymap.sip new file mode 100644 index 0000000..c2f8ae8 --- /dev/null +++ b/sip/qtsql/qsqlpropertymap.sip @@ -0,0 +1,63 @@ +// This is the SIP interface definition for QSqlPropertyMap. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSqlPropertyMap (Qt v3+)</Title> +<Para> +<Literal>QSqlPropertyMap</Literal> is fully implemented. However, because PyQt +does not allow new properties to be defined, it is not possible to implement +custom editor widgets in Python and add them to a property map. These will +simply be ignored. +</Para> + +<Para> +This problem may be addressed in a future release of PyQt. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSqlPropertyMap +{ +%TypeHeaderCode +#include <qsqlpropertymap.h> +%End + +public: + QSqlPropertyMap(); + + QVariant property(QWidget *); + virtual void setProperty(QWidget *,const QVariant &); + + void insert(const QString &,const QString &); + void remove(const QString &); + + static QSqlPropertyMap *defaultMap(); + static void installDefaultMap(QSqlPropertyMap * /Transfer/); + +private: + QSqlPropertyMap(const QSqlPropertyMap &); +}; + +%End diff --git a/sip/qtsql/qsqlquery.sip b/sip/qtsql/qsqlquery.sip new file mode 100644 index 0000000..a7284f1 --- /dev/null +++ b/sip/qtsql/qsqlquery.sip @@ -0,0 +1,115 @@ +// This is the SIP interface definition for QSqlQuery. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSqlQuery (Qt v3+)</Title> +<FuncSynopsis> + <FuncDef>QMap<QString,QVariant> <Function>boundValues</Function> const</FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v3.2.0+) +</Para> + +<FuncSynopsis> + <FuncDef>virtual bool <Function>exec</Function></FuncDef> + <ParamDef>const QString &<Parameter>query</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>execQuery</Literal> in Python. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>exec</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>execQuery</Literal> in Python. (Qt v3.1+) +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSqlQuery +{ +%TypeHeaderCode +#include <qsqlquery.h> +%End + +public: + QSqlQuery(QSqlResult *); + QSqlQuery(const QString & = QString::null,QSqlDatabase * = 0); +%If (Qt_3_2_0 -) + QSqlQuery(QSqlDatabase *); +%End + QSqlQuery(const QSqlQuery &); + + bool isValid() const; + bool isActive() const; + bool isNull(int) const; + int at() const; + QString lastQuery() const; + int numRowsAffected() const; + QSqlError lastError() const; + bool isSelect() const; + int size() const; + const QSqlDriver *driver() const; + const QSqlResult *result() const; +%If (Qt_3_1_0 -) + bool isForwardOnly() const; + void setForwardOnly(bool); +%End + + virtual bool exec(const QString &) /PyName=execQuery, ReleaseGIL/; + virtual QVariant value(int) const; + + virtual bool seek(int,bool = 0) /ReleaseGIL/; + virtual bool next() /ReleaseGIL/; + virtual bool prev() /ReleaseGIL/; + virtual bool first() /ReleaseGIL/; + virtual bool last() /ReleaseGIL/; + +%If (Qt_3_1_0 -) + bool exec() /PyName=execQuery, ReleaseGIL/; + bool prepare(const QString &); + void bindValue(const QString &,const QVariant &); + void bindValue(int,const QVariant &); + void addBindValue(const QVariant &); +%End +%If (Qt_3_2_0 -) + void bindValue(const QString &,const QVariant &,QSql::ParameterType); + void bindValue(int,const QVariant &,QSql::ParameterType); + void addBindValue(const QVariant &,QSql::ParameterType); + QVariant boundValue(const QString &) const; + QVariant boundValue(int) const; +// QMap<QString,QVariant> boundValues() const; + QString executedQuery() const; +%End + +protected: + virtual void beforeSeek(); + virtual void afterSeek(); +}; + +%End diff --git a/sip/qtsql/qsqlrecord.sip b/sip/qtsql/qsqlrecord.sip new file mode 100644 index 0000000..5676bcc --- /dev/null +++ b/sip/qtsql/qsqlrecord.sip @@ -0,0 +1,177 @@ +// This is the SIP interface definition for QSqlRecord and QSqlRecordInfo. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSqlRecord (Qt v3+)</Title> +<Para> +<Literal>QSqlRecord</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QSqlRecordInfo (Qt v3+)</Title> +<Para> +<Literal>QSqlRecordInfo</Literal> is implemented as a Python list of +<Literal>QSqlFieldInfo</Literal> instances. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSqlRecord +{ +%TypeHeaderCode +#include <qsqlrecord.h> +%End + +public: + QSqlRecord(); + QSqlRecord(const QSqlRecord &); + + virtual QVariant value(int) const; + virtual QVariant value(const QString &) const; + virtual void setValue(int,const QVariant &); + virtual void setValue(const QString &,const QVariant &); + bool isGenerated(int) const; + bool isGenerated(const QString &) const; + virtual void setGenerated(const QString &,bool); + virtual void setGenerated(int,bool); + virtual void setNull(int); + virtual void setNull(const QString &); + bool isNull(int); + bool isNull(const QString &); +%If (Qt_3_1_0 -) +// bool isNull(int) const; +// bool isNull(const QString &) const; +%End + + int position(const QString &) const; + QString fieldName(int) const; + QSqlField *field(int); + QSqlField *field(const QString &); +// const QSqlField *field(int) const; +// const QSqlField *field(const QString &) const; + + virtual void append(const QSqlField &); + virtual void insert(int,const QSqlField &); + virtual void remove(int); + + bool isEmpty() const; + bool contains(const QString &) const; + virtual void clear(); + virtual void clearValues(bool = 0); + uint count() const; + virtual QString toString(const QString & = QString::null, + const QString & = ",") const; + virtual QStringList toStringList(const QString & = QString::null) const; +}; + + +%MappedType QSqlRecordInfo +{ +%TypeHeaderCode +#include <qsqlrecord.h> +%End + +%ConvertFromTypeCode + // Convert to a Python list of QSqlFieldInfo instances. + + int i; + PyObject *l; + + // Create the list. + + if ((l = PyList_New(sipCpp -> count())) == NULL) + return NULL; + + // Get it. + + i = 0; + QValueListConstIterator<QSqlFieldInfo> it; + + for (it = sipCpp -> begin(); it != sipCpp -> end(); ++it) + { + PyObject *tmobj; + + if ((tmobj = sipConvertFromNewInstance(new QSqlFieldInfo(*it),sipClass_QSqlFieldInfo,sipTransferObj)) == NULL || PyList_SetItem(l,i,tmobj) < 0) + { + Py_XDECREF(tmobj); + Py_DECREF(l); + + return NULL; + } + + ++i; + } + + return l; +%End + + +%ConvertToTypeCode + // Convert a Python list of QSqlFieldInfo instances to a QSqlRecordInfo + // on the heap. + + if (sipIsErr == NULL) + { + if (!PyList_Check(sipPy)) + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QSqlFieldInfo,SIP_NOT_NONE)) + return 0; + + return 1; + } + + QSqlRecordInfo *qri = new QSqlRecordInfo; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + int iserr = 0, state; + + // We apply the transfer to the list itself, not the elements. + QSqlFieldInfo *itm = reinterpret_cast<QSqlFieldInfo *>(sipConvertToInstance(PyList_GET_ITEM(sipPy,i),sipClass_QSqlFieldInfo,0,SIP_NOT_NONE,&state,&iserr)); + + if (iserr) + { + sipReleaseInstance(itm,sipClass_QSqlFieldInfo,state); + + *sipIsErr = 1; + delete qri; + + return 0; + } + + qri -> append(*itm); + + sipReleaseInstance(itm,sipClass_QSqlFieldInfo,state); + } + + *sipCppPtr = qri; + + return sipGetState(sipTransferObj); +%End +}; + +%End diff --git a/sip/qtsql/qsqlresult.sip b/sip/qtsql/qsqlresult.sip new file mode 100644 index 0000000..f4fc7f6 --- /dev/null +++ b/sip/qtsql/qsqlresult.sip @@ -0,0 +1,73 @@ +// This is the SIP interface definition for QSqlResult. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSqlResult (Qt v3+)</Title> +<Para> +<Literal>QSqlResult</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QSqlResult +{ +%TypeHeaderCode +#include <qsqlresult.h> +%End + +protected: + QSqlResult(const QSqlDriver *); + + int at() const; + QString lastQuery() const; + QSqlError lastError() const; + bool isValid() const; + bool isActive() const; + bool isSelect() const; + bool isForwardOnly() const; + const QSqlDriver *driver() const; + virtual void setAt(int); + virtual void setActive(bool); + virtual void setLastError(const QSqlError &); + virtual void setQuery(const QString &); + virtual void setSelect(bool); + virtual void setForwardOnly(bool); + + virtual QVariant data(int) = 0; + virtual bool isNull(int) = 0; + virtual bool reset(const QString &) = 0; + virtual bool fetch(int) = 0; + virtual bool fetchNext(); + virtual bool fetchPrev(); + virtual bool fetchFirst() = 0; + virtual bool fetchLast() = 0; + virtual int size() = 0; + virtual int numRowsAffected() = 0; + +private: + QSqlResult(const QSqlResult &); +}; + +%End diff --git a/sip/qtsql/qsqlselectcursor.sip b/sip/qtsql/qsqlselectcursor.sip new file mode 100644 index 0000000..289cc42 --- /dev/null +++ b/sip/qtsql/qsqlselectcursor.sip @@ -0,0 +1,92 @@ +// This is the SIP interface definition for QSqlSelectCursor. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QSqlSelectCursor (Qt v3.2.0+)</Title> +<FuncSynopsis> + <FuncDef>int <Function>del</Function></FuncDef> + <ParamDef>bool <Parameter>invalidate</Parameter> = TRUE</ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>delRecords</Literal> in Python. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>exec</Function></FuncDef> + <ParamDef>const QString &<Parameter>query</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>execQuery</Literal> in Python. +</Para> +</Sect2> +%End + + +%If (Qt_3_2_0 -) + +class QSqlSelectCursor : QSqlCursor +{ +%TypeHeaderCode +#include <qsqlselectcursor.h> +%End + +public: + QSqlSelectCursor(const QString & = QString::null,QSqlDatabase * = 0); + QSqlSelectCursor(const QSqlSelectCursor &); + ~QSqlSelectCursor(); + + bool exec(const QString &) /PyName=execQuery, ReleaseGIL/; + bool select() /ReleaseGIL/; + +protected: + QSqlIndex primaryIndex(bool = 1) const; + QSqlIndex index(const QStringList &) const; + QSqlIndex index(const QString &) const; +// QSqlIndex index(const char *) const; + void setPrimaryIndex(const QSqlIndex &); + void append(const QSqlFieldInfo &); + void insert(int,const QSqlFieldInfo &); + void remove(int); + void clear(); + void setGenerated(const QString &,bool); + void setGenerated(int,bool); + QSqlRecord *editBuffer(bool = 0); + QSqlRecord *primeInsert(); + QSqlRecord *primeUpdate(); + QSqlRecord *primeDelete(); + int insert(bool = 1) /ReleaseGIL/; + int update(bool = 1) /ReleaseGIL/; + int del(bool = 1) /PyName=delRecords, ReleaseGIL/; + void setMode(int); + + void setSort(const QSqlIndex &); + QSqlIndex sort() const; + void setFilter(const QString &); + QString filter() const; + void setName(const QString &,bool = 1); + QString name() const; + QString toString(const QString & = QString::null, + const QString & = ",") const; + bool select(const QString &,const QSqlIndex & = QSqlIndex()) /ReleaseGIL/; +}; + +%End diff --git a/sip/qtsql/qtsqlmod.sip b/sip/qtsql/qtsqlmod.sip new file mode 100644 index 0000000..f780a9a --- /dev/null +++ b/sip/qtsql/qtsqlmod.sip @@ -0,0 +1,88 @@ +// This is the SIP interface definition for the qtsql module of PyQt. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%Module qtsql 1 + +%Import qt/qtmod.sip +%Import qttable/qttablemod.sip + +%Include copying.sip + + +%Include qdatabrowser.sip +%Include qdatatable.sip +%Include qdataview.sip +%Include qeditorfactory.sip +%Include qsql.sip +%Include qsqlcursor.sip +%Include qsqldatabase.sip +%Include qsqldriver.sip +%Include qsqleditorfactory.sip +%Include qsqlerror.sip +%Include qsqlfield.sip +%Include qsqlform.sip +%Include qsqlindex.sip +%Include qsqlpropertymap.sip +%Include qsqlquery.sip +%Include qsqlrecord.sip +%Include qsqlresult.sip +%Include qsqlselectcursor.sip + + +// The build file template. + +%Makefile qtsql.pro.in +# The project file for the qtsql module. +# +# Copyright (c) 2007 +# Riverbank Computing Limited <[email protected]> +# +# This file is part of PyQt. +# +# This copy of PyQt is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# +# PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +TEMPLATE = lib +TARGET = @BLX_TARGET_LIB@ +DESTDIR = @PYQT_MODDIR@ +CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@ +INCLUDEPATH = @BLX_INCLUDEPATH@ +DEFINES = @BLX_DEFINES@ +LIBS += @PYQT_QTTABLE_MODULE@ @BLX_LIBS@ +macx:QMAKE_LFLAGS += -framework Python + +SOURCES = $B + +HEADERS = $H +%End diff --git a/sip/qttable/copying.sip b/sip/qttable/copying.sip new file mode 100644 index 0000000..463904b --- /dev/null +++ b/sip/qttable/copying.sip @@ -0,0 +1,51 @@ +// This is the SIP file defining the PyQt license. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// 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 <[email protected]> + +This file is part of PyQt. + +This copy of PyQt is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%End + + +%OptionalInclude pyqt-internal.sip +%OptionalInclude pyqt-gpl.sip +%OptionalInclude pyqt-commercial.sip +%OptionalInclude pyqt-edu.sip +%OptionalInclude pyqt-eval.sip +%OptionalInclude pyqt-nc.sip +%OptionalInclude pyqt-tkc.sip diff --git a/sip/qttable/qtable.sip b/sip/qttable/qtable.sip new file mode 100644 index 0000000..87a0be3 --- /dev/null +++ b/sip/qttable/qtable.sip @@ -0,0 +1,532 @@ +// This is the SIP interface definition for QTable, QTableItem, +// QCheckTableItem, QComboTableItem and QTableSelection. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QTable (Qt v2.2+)</Title> +<Para> +<Literal>QTable</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTableItem (Qt v2.2+)</Title> +<Para> +<Literal>QTableItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCheckTableItem (Qt v3+)</Title> +<Para> +<Literal>QCheckTableItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QComboTableItem (Qt v3+)</Title> +<Para> +<Literal>QComboTableItem</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTableSelection (Qt v2.2+)</Title> +<Para> +<Literal>QTableSelection</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_TABLE) +%If (Qt_2_2_0 -) + +class QTableSelection +{ +%TypeHeaderCode +#include <qtable.h> +%End + +public: + QTableSelection(); +%If (Qt_3_1_0 -) + QTableSelection(int,int,int,int); +%End + + void init(int,int); + void expandTo(int,int); + + int topRow() const; + int bottomRow() const; + int leftCol() const; + int rightCol() const; + int anchorRow() const; + int anchorCol() const; +%If (Qt_3_2_0 -) + int numRows() const; + int numCols() const; +%End + + bool isActive() const; +%If (Qt_3_2_0 -) + bool isEmpty() const; +%End +}; + + +class QTableItem : Qt +{ +%TypeHeaderCode +#include <qtable.h> +%End + +public: + enum EditType { + Never, + OnTyping, + WhenCurrent, + Always + }; + + // Note that the Qt documentation is wrong. Ownership is only taken by + // QTable::setItem(). +%If (Qt_3_2_0 -) + QTableItem(QTable *,EditType); +%End + QTableItem(QTable *,EditType,const QString &); + QTableItem(QTable *,EditType,const QString &,const QPixmap &); + +%ConvertToSubClassCode + Py_BEGIN_ALLOW_THREADS + +#if QT_VERSION >= 0x030000 + int rtti = sipCpp -> rtti(); + + if (rtti == QCheckTableItem::RTTI) + sipClass = sipClass_QCheckTableItem; + else if (rtti == QComboTableItem::RTTI) + sipClass = sipClass_QComboTableItem; + else + sipClass = 0; +#else + sipClass = 0; +#endif + + Py_END_ALLOW_THREADS +%End + + virtual QPixmap pixmap() const; + virtual QString text() const; + virtual void setPixmap(const QPixmap &); + virtual void setText(const QString &); + QTable *table() const; + + virtual int alignment() const; + virtual void setWordWrap(bool); + bool wordWrap() const; + + EditType editType() const; + virtual QWidget *createEditor() const /Factory/; + virtual void setContentFromEditor(QWidget *); + virtual void setReplaceable(bool); + bool isReplaceable() const; + + virtual QString key() const; + virtual QSize sizeHint() const; + + virtual void setSpan(int,int); + int rowSpan() const; + int colSpan() const; + + virtual void setRow(int); + virtual void setCol(int); + int row() const; + int col() const; + + virtual void paint(QPainter *,const QColorGroup &,const QRect &,bool); + + void updateEditor(int,int); + +%If (Qt_3_0_0 -) + virtual void setEnabled(bool); + bool isEnabled() const; + + virtual int rtti() const; +%End + +protected: +%If (Qt_3_2_0 - Qt_3_3_0) + QString content() const; +%End +}; + + +%If (Qt_3_0_0 -) + +class QComboTableItem : QTableItem +{ +%TypeHeaderCode +#include <qtable.h> +%End + +public: + // Note that the Qt documentation is wrong. Ownership is only taken by + // QTable::setItem(). + QComboTableItem(QTable *,const QStringList &,bool = 0); + + virtual QWidget *createEditor() const /Factory/; + virtual void setContentFromEditor(QWidget *); + virtual void paint(QPainter *,const QColorGroup &,const QRect &,bool); + virtual void setCurrentItem(int); + virtual void setCurrentItem(const QString &); + int currentItem() const; + QString currentText() const; + int count() const; + QString text(int) const; + virtual void setEditable(bool); + bool isEditable() const; + virtual void setStringList(const QStringList &); + + int rtti() const; + +%If (Qt_3_0_6 -) + QSize sizeHint() const; +%End +}; + +%End + + +%If (Qt_3_0_0 -) + +class QCheckTableItem : QTableItem +{ +%TypeHeaderCode +#include <qtable.h> +%End + +public: + // Note that the Qt documentation is wrong. Ownership is only taken by + // QTable::setItem(). + QCheckTableItem(QTable *,const QString &); + +%If (Qt_3_2_0 -) + void setText(const QString &); +%End + virtual QWidget *createEditor() const /Factory/; + virtual void setContentFromEditor(QWidget *); + virtual void paint(QPainter *,const QColorGroup &,const QRect &,bool); + virtual void setChecked(bool); + bool isChecked() const; + + int rtti() const; + +%If (Qt_3_0_6 -) + QSize sizeHint() const; +%End +}; + +%End + + +class QTable : QScrollView +{ +%TypeHeaderCode +#include <qtable.h> +%End + +public: + QTable(QWidget * /TransferThis/ = 0,const char * = 0); + QTable(int,int,QWidget * /TransferThis/ = 0,const char * = 0); + +%ConvertToSubClassCode + sipClass = (sipCpp->inherits(sipName_QTable) ? sipClass_QTable : NULL); +%End + + QHeader *horizontalHeader() const; + QHeader *verticalHeader() const; + +%If (- Qt_3_0_0) + enum SelectionMode { + Single, + Multi, + NoSelection + }; +%End +%If (Qt_3_0_0 -) + enum SelectionMode { + Single, + Multi, + SingleRow, + MultiRow, + NoSelection + }; +%End + + virtual void setSelectionMode(SelectionMode); + SelectionMode selectionMode() const; + + virtual void setItem(int,int,QTableItem * /Transfer/); + virtual void setText(int,int,const QString &); + virtual void setPixmap(int,int,const QPixmap &); + virtual QTableItem *item(int,int) const; + virtual QString text(int,int) const; + virtual QPixmap pixmap(int,int) const; + virtual void clearCell(int,int); + + virtual QRect cellGeometry(int,int) const; + virtual int columnWidth(int) const; + virtual int rowHeight(int) const; + virtual int columnPos(int) const; + virtual int rowPos(int) const; + virtual int columnAt(int) const; + virtual int rowAt(int) const; + +%If (- Qt_3_0_0) + int numRows() const; + int numCols() const; +%End +%If (Qt_3_0_0 -) + virtual int numRows() const; + virtual int numCols() const; +%End + + void updateCell(int,int); + + bool eventFilter(QObject *,QEvent *); + + int currentRow() const; + int currentColumn() const; + void ensureCellVisible(int,int); + + bool isSelected(int,int) const; + bool isRowSelected(int,bool = 0) const; + bool isColumnSelected(int,bool = 0) const; + int numSelections() const; + QTableSelection selection(int) const; + virtual int addSelection(const QTableSelection &); + virtual void removeSelection(const QTableSelection &); + virtual void removeSelection(int); + virtual int currentSelection() const; + +%If (Qt_3_1_0 -) + void selectCells(int,int,int,int); + void selectRow(int); + void selectColumn(int); +%End + + bool showGrid() const; + + bool columnMovingEnabled() const; + bool rowMovingEnabled() const; + + virtual void sortColumn(int,bool = 1,bool = 0); + + bool sorting() const; + + virtual void takeItem(QTableItem * /TransferBack/); + + virtual void setCellWidget(int,int,QWidget * /Transfer/); + virtual QWidget *cellWidget(int,int) const; + virtual void clearCellWidget(int,int); + +%If (Qt_3_0_0 -) + virtual QRect cellRect(int,int) const; +%End + + virtual void paintCell(QPainter *,int,int,const QRect &,bool); +%If (Qt_3_0_0 -) + virtual void paintCell(QPainter *,int,int,const QRect &,bool, + const QColorGroup &); +%End + virtual void paintFocus(QPainter *,const QRect &); + QSize sizeHint() const; + +%If (Qt_3_0_0 -) + bool isReadOnly() const; + bool isRowReadOnly(int) const; + bool isColumnReadOnly(int) const; + + void setEnabled(bool); + + void repaintSelections(); + + enum FocusStyle { + FollowStyle, + SpreadSheet + }; + + virtual void setFocusStyle(FocusStyle); + FocusStyle focusStyle() const; +%End + +%If (Qt_3_1_0 -) + void updateHeaderStates(); +%End + +public slots: + virtual void setNumRows(int); + virtual void setNumCols(int); + virtual void setShowGrid(bool); + virtual void hideRow(int); + virtual void hideColumn(int); + virtual void showRow(int); + virtual void showColumn(int); +%If (Qt_3_3_0 -) + bool isRowHidden(int) const; + bool isColumnHidden(int) const; +%End + + virtual void setColumnWidth(int,int); + virtual void setRowHeight(int,int); + + virtual void adjustColumn(int); + virtual void adjustRow(int); + + virtual void setColumnStretchable(int,bool); + virtual void setRowStretchable(int,bool); + bool isColumnStretchable(int) const; + bool isRowStretchable(int) const; + virtual void setSorting(bool); +%If (- Qt_3_0_0) + virtual void swapRows(int,int); + virtual void swapColumns(int,int); +%End +%If (Qt_3_0_0 -) + virtual void swapRows(int,int,bool = 0); + virtual void swapColumns(int,int,bool = 0); +%End + virtual void swapCells(int,int,int,int); + + virtual void setLeftMargin(int); + virtual void setTopMargin(int); + virtual void setCurrentCell(int,int); + void clearSelection(bool = 1); + virtual void setColumnMovingEnabled(bool); + virtual void setRowMovingEnabled(bool); + +%If (Qt_3_0_0 -) + virtual void setReadOnly(bool); + virtual void setRowReadOnly(int,bool); + virtual void setColumnReadOnly(int,bool); + + virtual void setDragEnabled(bool); + bool dragEnabled() const; + + virtual void insertRows(int,int = 1); + virtual void insertColumns(int,int = 1); + virtual void removeRow(int); + virtual void removeRows(const QMemArray<int> &); + virtual void removeColumn(int); + virtual void removeColumns(const QMemArray<int> &); + + virtual void editCell(int,int,bool = 0); +%End + +%If (Qt_3_1_0 -) + void setRowLabels(const QStringList &); + void setColumnLabels(const QStringList &); +%End + +protected: +%If (Qt_3_0_0 -) + enum EditMode { + NotEditing, + Editing, + Replacing + }; +%End + + void drawContents(QPainter *,int,int,int,int); + void contentsMousePressEvent(QMouseEvent *); + void contentsMouseMoveEvent(QMouseEvent *); + void contentsMouseDoubleClickEvent(QMouseEvent *); + void contentsMouseReleaseEvent(QMouseEvent *); +%If (Qt_3_0_0 -) + void contentsContextMenuEvent(QContextMenuEvent *); +%End + void keyPressEvent(QKeyEvent *); + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); +%If (- Qt_3_0_0) + void resizeEvent(QResizeEvent *); +%End +%If (Qt_3_0_0 -) + void viewportResizeEvent(QResizeEvent *); +%End + void showEvent(QShowEvent *); +%If (Qt_3_1_0 -) + void paintEvent(QPaintEvent *); +%End +%If (Qt_3_0_0 -) + void setEditMode(EditMode,int,int); + virtual void contentsDragEnterEvent(QDragEnterEvent *); + virtual void contentsDragMoveEvent(QDragMoveEvent *); + virtual void contentsDragLeaveEvent(QDragLeaveEvent *); + virtual void contentsDropEvent(QDropEvent *); + virtual QDragObject *dragObject(); + virtual void startDrag(); +%End + + virtual void paintEmptyArea(QPainter *,int,int,int,int); + virtual void activateNextCell(); + virtual QWidget *createEditor(int,int,bool) const /Factory/; + virtual void setCellContentFromEditor(int,int); + virtual QWidget *beginEdit(int,int,bool); + virtual void endEdit(int,int,bool,bool); + + virtual void resizeData(int); + virtual void insertWidget(int,int,QWidget *); + int indexOf(int,int) const; + +%If (Qt_3_0_0 -) + void windowActivationChange(bool); + bool isEditing() const; + EditMode editMode() const; + int currEditRow() const; + int currEditCol() const; +%End + +protected slots: + virtual void columnWidthChanged(int); + virtual void rowHeightChanged(int); + virtual void columnIndexChanged(int,int,int); + virtual void rowIndexChanged(int,int,int); + virtual void columnClicked(int); + +signals: + void currentChanged(int,int); + void clicked(int,int,int,const QPoint &); + void doubleClicked(int,int,int,const QPoint &); + void pressed(int,int,int,const QPoint &); + void selectionChanged(); + void valueChanged(int,int); +%If (Qt_3_0_0 -) + void contextMenuRequested(int,int,const QPoint &); + void dropped(QDropEvent *); +%End + +private: +%If (Qt_3_1_0 -) + QTable(const QTable &); +%End +}; + +%End +%End diff --git a/sip/qttable/qttablemod.sip b/sip/qttable/qttablemod.sip new file mode 100644 index 0000000..d470d22 --- /dev/null +++ b/sip/qttable/qttablemod.sip @@ -0,0 +1,70 @@ +// This is the SIP interface definition for the qttable module of PyQt. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%Module qttable 1 + +%Import qt/qtmod.sip + +%Include copying.sip + + +%Include qtable.sip + + +// The build file template. + +%Makefile qttable.pro.in +# The project file for the qttable module. +# +# Copyright (c) 2007 +# Riverbank Computing Limited <[email protected]> +# +# This file is part of PyQt. +# +# This copy of PyQt is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# +# PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +TEMPLATE = lib +TARGET = @BLX_TARGET_LIB@ +DESTDIR = @PYQT_MODDIR@ +CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@ +INCLUDEPATH = @BLX_INCLUDEPATH@ +DEFINES = @BLX_DEFINES@ +LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@ +macx:QMAKE_LFLAGS += -framework Python + +SOURCES = $B + +HEADERS = $H +%End diff --git a/sip/qtui/copying.sip b/sip/qtui/copying.sip new file mode 100644 index 0000000..463904b --- /dev/null +++ b/sip/qtui/copying.sip @@ -0,0 +1,51 @@ +// This is the SIP file defining the PyQt license. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// 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 <[email protected]> + +This file is part of PyQt. + +This copy of PyQt is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%End + + +%OptionalInclude pyqt-internal.sip +%OptionalInclude pyqt-gpl.sip +%OptionalInclude pyqt-commercial.sip +%OptionalInclude pyqt-edu.sip +%OptionalInclude pyqt-eval.sip +%OptionalInclude pyqt-nc.sip +%OptionalInclude pyqt-tkc.sip diff --git a/sip/qtui/qtuimod.sip b/sip/qtui/qtuimod.sip new file mode 100644 index 0000000..f6616b0 --- /dev/null +++ b/sip/qtui/qtuimod.sip @@ -0,0 +1,71 @@ +// This is the SIP interface definition for the qtui module of PyQt. Thanks to +// Hans-Peter Jansen for the original work. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%Module qtui 1 + +%Import qt/qtmod.sip + +%Include copying.sip + + +%Include qwidgetfactory.sip + + +// The build file template. + +%Makefile qtui.pro.in +# The project file for the qtui module. +# +# Copyright (c) 2007 +# Riverbank Computing Limited <[email protected]> +# +# This file is part of PyQt. +# +# This copy of PyQt is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# +# PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +TEMPLATE = lib +TARGET = @BLX_TARGET_LIB@ +DESTDIR = @PYQT_MODDIR@ +CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@ +INCLUDEPATH = @BLX_INCLUDEPATH@ +DEFINES = @BLX_DEFINES@ +LIBS += @PYQT_QT_MODULE@ @PYQT_QUI_LIB@ @BLX_LIBS@ +macx:QMAKE_LFLAGS += -framework Python + +SOURCES = $B + +HEADERS = $H +%End diff --git a/sip/qtui/qwidgetfactory.sip b/sip/qtui/qwidgetfactory.sip new file mode 100644 index 0000000..b011658 --- /dev/null +++ b/sip/qtui/qwidgetfactory.sip @@ -0,0 +1,63 @@ +// This is the SIP interface definition for QWidgetFactory. Thanks to +// Hans-Peter Jansen for the original work. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QWidgetFactory (Qt v3+)</Title> +<Para> +<Literal>QWidgetFactory</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_3_0_0 -) + +class QWidgetFactory +{ +%TypeHeaderCode +#include <qwidgetfactory.h> +%End + +public: + QWidgetFactory(); + virtual ~QWidgetFactory(); + + static QWidget *create(const QString &,QObject * = 0, + QWidget * /TransferThis/ = 0, + const char * = 0) /Factory/; + static QWidget *create(QIODevice *,QObject * = 0, + QWidget * /TransferThis/ = 0, + const char * = 0) /Factory/; + static void addWidgetFactory(QWidgetFactory * /Transfer/); + static void loadImages(const QString &); + + virtual QWidget *createWidget(const QString &,QWidget * /TransferThis/, + const char *) const /Factory/; + +%If (Qt_3_1_0 -) + static QStringList widgets(); + static bool supportsWidget(const QString &); +%End +}; + +%End diff --git a/sip/qtxml/copying.sip b/sip/qtxml/copying.sip new file mode 100644 index 0000000..463904b --- /dev/null +++ b/sip/qtxml/copying.sip @@ -0,0 +1,51 @@ +// This is the SIP file defining the PyQt license. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// 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 <[email protected]> + +This file is part of PyQt. + +This copy of PyQt is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%End + + +%OptionalInclude pyqt-internal.sip +%OptionalInclude pyqt-gpl.sip +%OptionalInclude pyqt-commercial.sip +%OptionalInclude pyqt-edu.sip +%OptionalInclude pyqt-eval.sip +%OptionalInclude pyqt-nc.sip +%OptionalInclude pyqt-tkc.sip diff --git a/sip/qtxml/qdom.sip b/sip/qtxml/qdom.sip new file mode 100644 index 0000000..7a156d9 --- /dev/null +++ b/sip/qtxml/qdom.sip @@ -0,0 +1,874 @@ +// This is the SIP interface definition for the QDom classes. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QDomImplementation (Qt v2.2+)</Title> +<Para> +<Literal>QDomImplementation</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomNode (Qt v2.2+)</Title> +<Para> +<Literal>QDomNode</Literal> is fully implemented, including the Python +<Literal>==</Literal> and <Literal>!=</Literal> operators. +</Para> +</Sect2> + +<Sect2><Title>QDomNodeList (Qt v2.2+)</Title> +<Para> +<Literal>QDomNodeList</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomDocument (Qt v2.2+)</Title> +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QCString &<Parameter>buffer</Parameter></ParamDef> + <ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>buffer</Literal> and +<Literal>namespaceProcessing</Literal> parameters and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QByteArray &<Parameter>buffer</Parameter></ParamDef> + <ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>buffer</Literal> and +<Literal>namespaceProcessing</Literal> parameters and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QString &<Parameter>text</Parameter></ParamDef> + <ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>text</Literal> and +<Literal>namespaceProcessing</Literal> parameters and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QIODevice *<Parameter>dev</Parameter></ParamDef> + <ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>dev</Literal> and +<Literal>namespaceProcessing</Literal> parameters and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QCString &<Parameter>buffer</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>buffer</Literal> parameter only and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QByteArray &<Parameter>buffer</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>buffer</Literal> parameter only and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QString &<Parameter>text</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>text</Literal> parameter only and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>const QIODevice *<Parameter>dev</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>dev</Literal> parameter only and returns a tuple +containing the <Literal>bool</Literal> result and the +<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and +<Literal>errorColumn</Literal> values. (Qt v3+) +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setContent</Function></FuncDef> + <ParamDef>QXmlInputSource *<Parameter>source</Parameter></ParamDef> + <ParamDef>QXmlReader *<Parameter>reader</Parameter></ParamDef> + <ParamDef>QString *<Parameter>errorMsg</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef> + <ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +Not yet implemented. (Qt v3.2.0+) +</Para> +</Sect2> + +<Sect2><Title>QDomDocumentFragment (Qt v2.2+)</Title> +<Para> +<Literal>QDomDocumentFragment</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomDocumentType (Qt v2.2+)</Title> +<Para> +<Literal>QDomDocumentType</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomNamedNodeMap (Qt v2.2+)</Title> +<Para> +<Literal>QDomNamedNodeMap</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomCharacterData (Qt v2.2+)</Title> +<Para> +<Literal>QDomCharacterData</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomAttr (Qt v2.2+)</Title> +<Para> +<Literal>QDomAttr</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomElement (Qt v2.2+)</Title> +<Para> +<Literal>QDomElement</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomText (Qt v2.2+)</Title> +<Para> +<Literal>QDomText</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomComment (Qt v2.2+)</Title> +<Para> +<Literal>QDomComment</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomCDATASection (Qt v2.2+)</Title> +<Para> +<Literal>QDomCDATASection</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomNotation (Qt v2.2+)</Title> +<Para> +<Literal>QDomNotation</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomEntity (Qt v2.2+)</Title> +<Para> +<Literal>QDomEntity</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomEntityReference (Qt v2.2+)</Title> +<Para> +<Literal>QDomEntityReference</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDomProcessingInstruction (Qt v2.2+)</Title> +<Para> +<Literal>QDomProcessingInstruction</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%If (Qt_DOM) +%If (Qt_2_2_0 -) + +class QDomImplementation +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomImplementation(); + QDomImplementation(const QDomImplementation &); + + virtual bool hasFeature(const QString &,const QString &); +%If (Qt_3_0_0 -) + virtual QDomDocumentType createDocumentType(const QString &, + const QString &, + const QString &); + virtual QDomDocument createDocument(const QString &,const QString &, + const QDomDocumentType &); +%End + bool isNull(); +}; + + +class QDomNode +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + enum NodeType { + ElementNode, + AttributeNode, + TextNode, + CDATASectionNode, + EntityReferenceNode, + EntityNode, + ProcessingInstructionNode, + CommentNode, + DocumentNode, + DocumentTypeNode, + DocumentFragmentNode, + NotationNode, + BaseNode, + CharacterDataNode + }; + + QDomNode(); + QDomNode(const QDomNode &); + + bool operator==(const QDomNode &) const; + bool operator!=(const QDomNode &) const; + + virtual QDomNode insertBefore(const QDomNode &,const QDomNode &); + virtual QDomNode insertAfter(const QDomNode &,const QDomNode &); + virtual QDomNode replaceChild(const QDomNode &,const QDomNode &); + virtual QDomNode removeChild(const QDomNode &); + virtual QDomNode appendChild(const QDomNode &); +%If (Qt_3_0_0 -) + virtual bool hasChildNodes() const; +%End + virtual QDomNode cloneNode(bool = 1) const; +%If (Qt_3_0_0 -) + virtual void normalize(); + virtual bool isSupported(const QString &,const QString &) const; +%End + + virtual QString nodeName() const; + virtual NodeType nodeType() const; + virtual QDomNode parentNode() const; + virtual QDomNodeList childNodes() const; + virtual QDomNode firstChild() const; + virtual QDomNode lastChild() const; + virtual QDomNode previousSibling() const; + virtual QDomNode nextSibling() const; + virtual QDomNamedNodeMap attributes() const; + virtual QDomDocument ownerDocument() const; +%If (Qt_3_0_0 -) + virtual QString namespaceURI() const; + virtual QString localName() const; + virtual bool hasAttributes() const; +%End + + virtual QString nodeValue() const; + virtual void setNodeValue(const QString &); +%If (Qt_3_0_0 -) + virtual QString prefix() const; + virtual void setPrefix(const QString &); +%End + + virtual bool isAttr() const; + virtual bool isCDATASection() const; + virtual bool isDocumentFragment() const; + virtual bool isDocument() const; + virtual bool isDocumentType() const; + virtual bool isElement() const; + virtual bool isEntityReference() const; + virtual bool isText() const; + virtual bool isEntity() const; + virtual bool isNotation() const; + virtual bool isProcessingInstruction() const; + virtual bool isCharacterData() const; + virtual bool isComment() const; + + QDomNode namedItem(const QString &) const; + + bool isNull() const; + void clear(); + + QDomAttr toAttr(); + QDomCDATASection toCDATASection(); + QDomDocumentFragment toDocumentFragment(); + QDomDocument toDocument(); + QDomDocumentType toDocumentType(); + QDomElement toElement(); + QDomEntityReference toEntityReference(); + QDomText toText(); + QDomEntity toEntity(); + QDomNotation toNotation(); + QDomProcessingInstruction toProcessingInstruction(); + QDomCharacterData toCharacterData(); + QDomComment toComment(); + + void save(QTextStream &,int) const; +}; + + +class QDomNodeList +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomNodeList(); + QDomNodeList(const QDomNodeList &); + + virtual QDomNode item(int) const; + + virtual uint length() const; + uint count() const; +}; + + +class QDomDocumentType : QDomNode +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomDocumentType(); + QDomDocumentType(const QDomDocumentType &); + + virtual QString name() const; + virtual QDomNamedNodeMap entities() const; + virtual QDomNamedNodeMap notations() const; +%If (Qt_3_0_0 -) + virtual QString publicId() const; + virtual QString systemId() const; + virtual QString internalSubset() const; +%End + + QDomNode::NodeType nodeType() const; + bool isDocumentType() const; +}; + + +class QDomDocument : QDomNode +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomDocument(); + QDomDocument(const QString &); +%If (Qt_3_0_0 -) + QDomDocument(const QDomDocumentType &); +%End + QDomDocument(const QDomDocument &); + + QDomElement createElement(const QString &); + QDomDocumentFragment createDocumentFragment(); + QDomText createTextNode(const QString &); + QDomComment createComment(const QString &); + QDomCDATASection createCDATASection(const QString &); + QDomProcessingInstruction createProcessingInstruction(const QString &, + const QString &); + QDomAttr createAttribute(const QString &); + QDomEntityReference createEntityReference(const QString &); + QDomNodeList elementsByTagName(const QString &) const; +%If (Qt_3_0_0 -) + QDomElement elementById(const QString &); +%End + + QDomDocumentType doctype() const; + QDomImplementation implementation() const; + QDomElement documentElement() const; + +%If (- Qt_3_0_0) + bool setContent(const QCString &); + bool setContent(const QByteArray &); + bool setContent(const QString &); + bool setContent(QIODevice *); +%End +%If (Qt_3_0_0 -) + // Note that we need handwritten code for these because of the need to + // allocate storage for the error string. + SIP_PYTUPLE setContent(const QCString &,bool); +%MethodCode + bool res; + QString *emsg = new QString(); + int eline, ecol; + + Py_BEGIN_ALLOW_THREADS + res = sipCpp -> QDomDocument::setContent(*a0,a1,emsg,&eline,&ecol); + Py_END_ALLOW_THREADS + + sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg, + sipType_QString, (PyObject *)0, eline, ecol); +%End + + SIP_PYTUPLE setContent(const QByteArray &,bool); +%MethodCode + bool res; + QString *emsg = new QString(); + int eline, ecol; + + Py_BEGIN_ALLOW_THREADS + res = sipCpp -> QDomDocument::setContent(*a0,a1,emsg,&eline,&ecol); + Py_END_ALLOW_THREADS + + sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg, + sipType_QString, (PyObject *)0, eline, ecol); +%End + + SIP_PYTUPLE setContent(const QString &,bool); +%MethodCode + bool res; + QString *emsg = new QString(); + int eline, ecol; + + Py_BEGIN_ALLOW_THREADS + res = sipCpp -> QDomDocument::setContent(*a0,a1,emsg,&eline,&ecol); + Py_END_ALLOW_THREADS + + sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg, + sipType_QString, (PyObject *)0, eline, ecol); +%End + + SIP_PYTUPLE setContent(QIODevice *,bool); +%MethodCode + bool res; + QString *emsg = new QString(); + int eline, ecol; + + Py_BEGIN_ALLOW_THREADS + res = sipCpp -> QDomDocument::setContent(a0,a1,emsg,&eline,&ecol); + Py_END_ALLOW_THREADS + + sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg, + sipType_QString, (PyObject *)0, eline, ecol); +%End + + SIP_PYTUPLE setContent(const QCString &); +%MethodCode + bool res; + QString *emsg = new QString(); + int eline, ecol; + + Py_BEGIN_ALLOW_THREADS + res = sipCpp -> QDomDocument::setContent(*a0,emsg,&eline,&ecol); + Py_END_ALLOW_THREADS + + sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg, + sipType_QString, (PyObject *)0, eline, ecol); +%End + + SIP_PYTUPLE setContent(const QByteArray &); +%MethodCode + bool res; + QString *emsg = new QString(); + int eline, ecol; + + Py_BEGIN_ALLOW_THREADS + res = sipCpp -> QDomDocument::setContent(*a0,emsg,&eline,&ecol); + Py_END_ALLOW_THREADS + + sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg, + sipType_QString, (PyObject *)0, eline, ecol); +%End + + SIP_PYTUPLE setContent(const QString &); +%MethodCode + bool res; + QString *emsg = new QString(); + int eline, ecol; + + Py_BEGIN_ALLOW_THREADS + res = sipCpp -> QDomDocument::setContent(*a0,emsg,&eline,&ecol); + Py_END_ALLOW_THREADS + + sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg, + sipType_QString, (PyObject *)0, eline, ecol); +%End + + SIP_PYTUPLE setContent(QIODevice *); +%MethodCode + bool res; + QString *emsg = new QString(); + int eline, ecol; + + Py_BEGIN_ALLOW_THREADS + res = sipCpp -> QDomDocument::setContent(a0,emsg,&eline,&ecol); + Py_END_ALLOW_THREADS + + sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg, + sipType_QString, (PyObject *)0, eline, ecol); +%End + +%End + +%If (Qt_3_2_0 -) +// bool setContent(QXmlInputSource *,QXmlReader *,QString * = 0,int * = 0, +// int * = 0); +%End + + QDomNode::NodeType nodeType() const; + bool isDocument() const; + + QString toString() const; +%If (Qt_3_1_0 -) + QString toString(int) const; +%End + QCString toCString() const; +%If (Qt_3_1_0 -) + QCString toCString(int) const; +%End +}; + + +class QDomNamedNodeMap +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomNamedNodeMap(); + QDomNamedNodeMap(const QDomNamedNodeMap &); + + QDomNode namedItem(const QString &) const; + QDomNode setNamedItem(const QDomNode &); + QDomNode removeNamedItem(const QString &); + QDomNode item(int) const; +%If (Qt_3_0_0 -) + QDomNode namedItemNS(const QString &,const QString &) const; + QDomNode setNamedItemNS(const QDomNode &); + QDomNode removeNamedItemNS(const QString &,const QString &); +%End + + uint length() const; +%If (Qt_3_0_0 -) + uint count() const; +%End + + bool contains(const QString &) const; +}; + + +class QDomDocumentFragment : QDomNode +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomDocumentFragment(); + QDomDocumentFragment(const QDomDocumentFragment &); + + QDomNode::NodeType nodeType() const; + bool isDocumentFragment() const; +}; + + +class QDomCharacterData : QDomNode +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomCharacterData(); + QDomCharacterData(const QDomCharacterData &); + + virtual QString substringData(unsigned long,unsigned long); + virtual void appendData(const QString &); + virtual void insertData(unsigned long,const QString &); + virtual void deleteData(unsigned long,unsigned long); + virtual void replaceData(unsigned long,unsigned long,const QString &); + + virtual uint length() const; + + virtual QString data() const; + virtual void setData(const QString &); + + QDomNode::NodeType nodeType() const; + bool isCharacterData() const; +}; + + +class QDomAttr : QDomNode +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomAttr(); + QDomAttr(const QDomAttr&); + + virtual QString name() const; + virtual bool specified() const; +%If (Qt_3_0_0 -) + virtual QDomElement ownerElement() const; +%End + + virtual QString value() const; + virtual void setValue(const QString &); + + QDomNode::NodeType nodeType() const; + bool isAttr() const; +}; + + +class QDomElement : QDomNode +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomElement(); + QDomElement(const QDomElement &); + + QString attribute(const QString &, + const QString & = QString::null) const; + void setAttribute(const QString &,const QString &); + void setAttribute(const QString &,int /Constrained/); +// void setAttribute(const QString &,uint); +%If (Qt_3_2_0 -) +// void setAttribute(const QString &,long); +// void setAttribute(const QString &,ulong); +%End + void setAttribute(const QString &,double); + void removeAttribute(const QString &); + QDomAttr attributeNode(const QString &); + QDomAttr setAttributeNode(const QDomAttr &); + QDomAttr removeAttributeNode(const QDomAttr &); + virtual QDomNodeList elementsByTagName(const QString &) const; + bool hasAttribute(const QString &) const; +%If (- Qt_3_0_0) + void normalize(); +%End + +%If (Qt_3_0_0 -) + QString attributeNS(const QString,const QString &, + const QString &) const; + void setAttributeNS(const QString,const QString &,const QString &); + void setAttributeNS(const QString,const QString &,int /Constrained/); +// void setAttributeNS(const QString,const QString &,uint); +%If (Qt_3_2_0 -) +// void setAttributeNS(const QString &,const QString &,long); +// void setAttributeNS(const QString &,const QString &,ulong); +%End + void setAttributeNS(const QString,const QString &,double); + void removeAttributeNS(const QString &,const QString &); + QDomAttr attributeNodeNS(const QString &,const QString &); + QDomAttr setAttributeNodeNS(const QDomAttr &); + virtual QDomNodeList elementsByTagNameNS(const QString &, + const QString &) const; + bool hasAttributeNS(const QString &,const QString &) const; +%End + + QString tagName() const; + void setTagName(const QString &); + + QDomNamedNodeMap attributes() const; + QDomNode::NodeType nodeType() const; + bool isElement() const; + + QString text() const; +}; + + +class QDomText : QDomCharacterData +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomText(); + QDomText(const QDomText &); + + QDomText splitText(int); + + QDomNode::NodeType nodeType() const; + bool isText() const; +}; + + +class QDomComment : QDomCharacterData +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomComment(); + QDomComment(const QDomComment &); + + QDomNode::NodeType nodeType() const; + bool isComment() const; +}; + + +class QDomCDATASection : QDomText +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomCDATASection(); + QDomCDATASection(const QDomCDATASection&); + + QDomNode::NodeType nodeType() const; + bool isCDATASection() const; +}; + + +class QDomNotation : QDomNode +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomNotation(); + QDomNotation(const QDomNotation &); + + QString publicId() const; + QString systemId() const; + + QDomNode::NodeType nodeType() const; + bool isNotation() const; +}; + + +class QDomEntity : QDomNode +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomEntity(); + QDomEntity(const QDomEntity &); + + virtual QString publicId() const; + virtual QString systemId() const; + virtual QString notationName() const; + + QDomNode::NodeType nodeType() const; + bool isEntity() const; +}; + + +class QDomEntityReference : QDomNode +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomEntityReference(); + QDomEntityReference(const QDomEntityReference &); + + QDomNode::NodeType nodeType() const; + bool isEntityReference() const; +}; + + +class QDomProcessingInstruction : QDomNode +{ +%TypeHeaderCode +#include <qdom.h> +%End + +public: + QDomProcessingInstruction(); + QDomProcessingInstruction(const QDomProcessingInstruction &); + + virtual QString target() const; + + virtual QString data() const; + virtual void setData(const QString &); + + QDomNode::NodeType nodeType() const; + bool isProcessingInstruction() const; +}; + +%End +%End diff --git a/sip/qtxml/qtxmlmod.sip b/sip/qtxml/qtxmlmod.sip new file mode 100644 index 0000000..58eebf4 --- /dev/null +++ b/sip/qtxml/qtxmlmod.sip @@ -0,0 +1,80 @@ +// This is the SIP interface definition for the qtxml module of PyQt. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%Module qtxml 0 + +%Import qt/qtmod.sip + +%Include copying.sip + + +%Include qdom.sip + + +// This is only needed on Windows to make sure that the DLL containing the C++ +// code of the main qt module is loaded before we import our own C++ code which +// has been linked against it. All other modules inherit from a class in the +// qt module which sorts it out, but this module doesn't so we add a dummy. It +// is ignored by SIP v4.x and later. +%PrePythonCode +from qt import QObject +%End + + +// The build file template. + +%Makefile qtxml.pro.in +# The project file for the qtxml module. +# +# Copyright (c) 2007 +# Riverbank Computing Limited <[email protected]> +# +# This file is part of PyQt. +# +# This copy of PyQt is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# +# PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +TEMPLATE = lib +TARGET = @BLX_TARGET_LIB@ +DESTDIR = @PYQT_MODDIR@ +CONFIG += @BLX_CONFIG_LIB@ @PYQT_WARN@ +INCLUDEPATH = @BLX_INCLUDEPATH@ +DEFINES = @BLX_DEFINES@ +LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@ +macx:QMAKE_LFLAGS += -framework Python + +SOURCES = $B + +HEADERS = $H +%End |