diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-29 00:31:00 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-29 00:31:00 -0600 |
commit | b388516ca2691303a076a0764fd40bf7116fe43d (patch) | |
tree | 6f1615d1f12b325f4d1cd9c25d1519303794001a /sip/qt/qevent.sip | |
download | pytqt-b388516ca2691303a076a0764fd40bf7116fe43d.tar.gz pytqt-b388516ca2691303a076a0764fd40bf7116fe43d.zip |
Initial import of python-qt3
Diffstat (limited to 'sip/qt/qevent.sip')
-rw-r--r-- | sip/qt/qevent.sip | 1235 |
1 files changed, 1235 insertions, 0 deletions
diff --git a/sip/qt/qevent.sip b/sip/qt/qevent.sip new file mode 100644 index 0000000..d4db705 --- /dev/null +++ b/sip/qt/qevent.sip @@ -0,0 +1,1235 @@ +// This is the SIP interface definition for QEvent, QChildEvent, QCloseEvent, +// QIconDragEvent, QContextMenuEvent, QCustomEvent, QDragEnterEvent, +// QDragLeaveEvent, QDragMoveEvent, QDropEvent, QFocusEvent, QHideEvent, +// QIMEvent, QIMComposeEvent, QKeyEvent, QMouseEvent, QMoveEvent, QPaintEvent, +// QResizeEvent, QShowEvent, QTabletEvent, QTimerEvent, QWheelEvent. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <info@riverbankcomputing.co.uk> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QEvent</Title> +<Para> +<Literal>QEvent</Literal> is fully implemented. +</Para> +<Para> +Instances of <Literal>QEvent</Literal>s are automatically converted to the +correct sub-class. +</Para> +</Sect2> + +<Sect2><Title>QChildEvent</Title> +<Para> +<Literal>QChildEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCloseEvent</Title> +<Para> +<Literal>QCloseEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QIconDragEvent (Qt v3.3+)</Title> +<Para> +<Literal>QIconDragEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QContextMenuEvent (Qt v3+)</Title> +<Para> +<Literal>QContextMenuEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QCustomEvent</Title> +<Para> +<Literal>QCustomEvent</Literal> is fully implemented. Any Python object can be +passed as the event data and its reference count is increased. +</Para> +</Sect2> + +<Sect2><Title>QDragEnterEvent</Title> +<Para> +<Literal>QDragEnterEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDragLeaveEvent</Title> +<Para> +<Literal>QDragLeaveEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDragMoveEvent</Title> +<Para> +<Literal>QDragMoveEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QDropEvent</Title> +<Para> +<Literal>QDropEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QFocusEvent</Title> +<Para> +<Literal>QFocusEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QHideEvent</Title> +<Para> +<Literal>QHideEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QIMComposeEvent (Qt v3.1+)</Title> +<Para> +<Literal>QIMComposeEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QIMEvent (Qt v3+)</Title> +<Para> +<Literal>QIMEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QKeyEvent</Title> +<Para> +<Literal>QKeyEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QMouseEvent</Title> +<Para> +<Literal>QMouseEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QMoveEvent</Title> +<Para> +<Literal>QMoveEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QPaintEvent</Title> +<Para> +<Literal>QPaintEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QResizeEvent</Title> +<Para> +<Literal>QResizeEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QShowEvent</Title> +<Para> +<Literal>QShowEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTabletEvent (Qt v3+)</Title> +<Para> +<Literal>QTabletEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QTimerEvent</Title> +<Para> +<Literal>QTimerEvent</Literal> is fully implemented. +</Para> +</Sect2> + +<Sect2><Title>QWheelEvent (Qt v2+)</Title> +<Para> +<Literal>QWheelEvent</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%ModuleHeaderCode +#include <qevent.h> +%End + + +%If (- Qt_2_00) + +const int Event_None; +const int Event_Timer; +const int Event_MouseButtonPress; +const int Event_MouseButtonRelease; +const int Event_MouseButtonDblClick; +const int Event_MouseMove; +const int Event_KeyPress; +const int Event_KeyRelease; +const int Event_FocusIn; +const int Event_FocusOut; +const int Event_Enter; +const int Event_Leave; +const int Event_Paint; +const int Event_Move; +const int Event_Resize; +const int Event_Create; +const int Event_Destroy; +const int Event_Show; +const int Event_Hide; +const int Event_Close; +const int Event_Quit; +const int Event_Accel; +const int Event_Clipboard; +const int Event_SockAct; +const int Event_DragEnter; +const int Event_DragMove; +const int Event_DragLeave; +const int Event_Drop; +const int Event_DragResponse; +const int Event_ChildInserted; +const int Event_ChildRemoved; +const int Event_LayoutHint; +const int Event_ActivateControl; +const int Event_DeactivateControl; +const int Event_User; + + +enum ButtonState { + NoButton = 0x00, + LeftButton = 0x01, + RightButton = 0x02, + MidButton = 0x04, + MouseButtonMask = 0x07, + ShiftButton = 0x08, + ControlButton = 0x10, + AltButton = 0x20, + KeyButtonMask = 0x38 +}; + + +class QEvent +{ +%TypeHeaderCode +#include <qevent.h> +%End + +public: + QEvent(int); + QEvent(QEvent&); + + int type() const; + +%ConvertToSubClassCode + switch (sipCpp -> type()) + { + case Event_Timer: + sipClass = sipClass_QTimerEvent; + break; + + case Event_MouseButtonPress: + case Event_MouseButtonRelease: + case Event_MouseButtonDblClick: + case Event_MouseMove: + sipClass = sipClass_QMouseEvent; + break; + + case Event_KeyPress: + case Event_KeyRelease: + sipClass = sipClass_QKeyEvent; + break; + + case Event_FocusIn: + case Event_FocusOut: + sipClass = sipClass_QFocusEvent; + break; + + case Event_Paint: + sipClass = sipClass_QPaintEvent; + break; + + case Event_Move: + sipClass = sipClass_QMoveEvent; + break; + + case Event_Resize: + sipClass = sipClass_QResizeEvent; + break; + + case Event_Close: + sipClass = sipClass_QCloseEvent; + break; + + case Event_Show: + sipClass = sipClass_QShowEvent; + break; + + case Event_Hide: + sipClass = sipClass_QHideEvent; + break; + + case Event_DragMove: + sipClass = sipClass_QDragMoveEvent; + break; + + case Event_DragEnter: + sipClass = sipClass_QDragEnterEvent; + break; + + case Event_DragLeave: + sipClass = sipClass_QDragLeaveEvent; + break; + + case Event_Drop: + sipClass = sipClass_QDropEvent; + break; + + case Event_ChildInserted: + case Event_ChildRemoved: + sipClass = sipClass_QChildEvent; + break; + + default: + sipClass = NULL; + } +%End +}; + +%End + +%If (Qt_2_00 -) + +class QEvent : Qt +{ +%TypeHeaderCode +#include <qevent.h> +%End + +public: + enum Type + { + None, + Timer, + MouseButtonPress, + MouseButtonRelease, + MouseButtonDblClick, + MouseMove, + KeyPress, + KeyRelease, + FocusIn, + FocusOut, + Enter, + Leave, + Paint, + Move, + Resize, + Create, + Destroy, + Show, + Hide, + Close, + Quit, +%If (Qt_2_1_0 -) + Reparent, + ShowMinimized, + ShowNormal, + WindowActivate, + WindowDeactivate, + ShowToParent, + HideToParent, + ShowMaximized, +%End +%If (Qt_3_0_0 -) + ShowFullScreen, +%End + Accel, + Wheel, + AccelAvailable, +%If (Qt_2_1_0 -) + CaptionChange, + IconChange, + ParentFontChange, + ApplicationFontChange, + ParentPaletteChange, + ApplicationPaletteChange, +%End +%If (Qt_3_0_0 -) + PaletteChange, +%End + Clipboard, +%If (Qt_2_2_0 -) + Speech, +%End + SockAct, +%If (Qt_2_2_0 -) + AccelOverride, +%End +%If (Qt_3_0_0 -) + DeferredDelete, +%End + DragEnter, + DragMove, + DragLeave, + Drop, + DragResponse, + ChildInserted, + ChildRemoved, + LayoutHint, +%If (Qt_2_2_0 -) + ShowWindowRequest, +%End +%If (Qt_3_3_0 -) + WindowBlocked, + WindowUnblocked, +%End + ActivateControl, + DeactivateControl, +%If (Qt_2_1_0 - Qt_2_2_0) + Configure, + ConfigureLayout, +%End +%If (Qt_3_0_0 -) + ContextMenu, + IMStart, + IMCompose, + IMEnd, + Accessibility, +%End +%If (Qt_3_0_0 - Qt_3_1_0) + Tablet, +%End +%If (Qt_3_1_0 -) + TabletMove, + LocaleChange, + LanguageChange, + LayoutDirectionChange, + Style, + TabletPress, + TabletRelease, +%End +%If (Qt_3_3_0 -) + OkRequest, + HelpRequest, + IconDrag, + WindowStateChange, +%End + User, +%If (Qt_3_0_0 -) + MaxUser, +%End + }; + + QEvent(Type); + QEvent(QEvent&); + virtual ~QEvent(); + + Type type() const; +%If (Qt_3_0_0 -) + bool spontaneous() const; +%End + +%ConvertToSubClassCode + switch (sipCpp -> type()) + { + case QEvent::Timer: + sipClass = sipClass_QTimerEvent; + break; + + case QEvent::MouseButtonPress: + case QEvent::MouseButtonRelease: + case QEvent::MouseButtonDblClick: + case QEvent::MouseMove: + sipClass = sipClass_QMouseEvent; + break; + + case QEvent::Accel: +#if QT_VERSION >= 220 + case QEvent::AccelOverride: +#endif + case QEvent::KeyPress: + case QEvent::KeyRelease: + sipClass = sipClass_QKeyEvent; + break; + + case QEvent::FocusIn: + case QEvent::FocusOut: + sipClass = sipClass_QFocusEvent; + break; + + case QEvent::Paint: + sipClass = sipClass_QPaintEvent; + break; + + case QEvent::Move: + sipClass = sipClass_QMoveEvent; + break; + + case QEvent::Resize: + sipClass = sipClass_QResizeEvent; + break; + + case QEvent::Close: + sipClass = sipClass_QCloseEvent; + break; + +#if QT_VERSION >= 0x030300 + case QEvent::IconDrag: + sipClass = sipClass_QIconDragEvent; + break; +#endif + + case QEvent::Wheel: + sipClass = sipClass_QWheelEvent; + break; + + case QEvent::Show: + sipClass = sipClass_QShowEvent; + break; + + case QEvent::Hide: + sipClass = sipClass_QHideEvent; + break; + +#if defined(SIP_FEATURE_Qt_DRAGANDDROP) + case QEvent::DragMove: + sipClass = sipClass_QDragMoveEvent; + break; + + case QEvent::DragEnter: + sipClass = sipClass_QDragEnterEvent; + break; + + case QEvent::DragLeave: + sipClass = sipClass_QDragLeaveEvent; + break; + + case QEvent::Drop: + sipClass = sipClass_QDropEvent; + break; +#endif + + case QEvent::ChildInserted: + case QEvent::ChildRemoved: + sipClass = sipClass_QChildEvent; + break; + +#if QT_VERSION >= 0x030000 + case QEvent::ContextMenu: + sipClass = sipClass_QContextMenuEvent; + break; + + case QEvent::IMStart: + case QEvent::IMEnd: + sipClass = sipClass_QIMEvent; + break; +#endif + +#if QT_VERSION >= 0x030000 && QT_VERSION < 0x030100 + case QEvent::IMCompose: + sipClass = sipClass_QIMEvent; + break; + + case QEvent::Tablet: + sipClass = sipClass_QTabletEvent; + break; +#endif + +#if QT_VERSION >= 0x030100 + case QEvent::IMCompose: + sipClass = sipClass_QIMComposeEvent; + break; + + case QEvent::TabletMove: + case QEvent::TabletPress: + case QEvent::TabletRelease: + sipClass = sipClass_QTabletEvent; + break; +#endif + + default: + sipClass = (sipCpp -> type() < QEvent::User ? + sipClass_QEvent : + sipClass_QCustomEvent); + } +%End +}; + +%End + + +class QTimerEvent : QEvent +{ +%TypeHeaderCode +#include <qevent.h> +%End + +public: + QTimerEvent(int); + + int timerId() const; +}; + + +class QMouseEvent : QEvent +{ +%TypeHeaderCode +#include <qevent.h> +%End + +public: +%If (- Qt_2_00) + QMouseEvent(int,const QPoint &,int,int); + QMouseEvent(int,const QPoint &,const QPoint &,int,int); +%End +%If (Qt_2_00 -) + QMouseEvent(Type,const QPoint &,int,int); + QMouseEvent(Type,const QPoint &,const QPoint &,int,int); +%End + + const QPoint &pos() const; + const QPoint &globalPos() const; + int x() const; + int y() const; + int globalX() const; + int globalY() const; +%If (- Qt_2_00) + int button() const; + int state() const; +%End +%If (Qt_2_00 -) + ButtonState button() const; + ButtonState state() const; + ButtonState stateAfter() const; +%End +%If (Qt_3_0_0 -) + bool isAccepted() const; + void accept(); + void ignore(); +%End +}; + + +%If (Qt_2_00 -) + +class QWheelEvent : QEvent +{ +%TypeHeaderCode +#include <qevent.h> +%End + +public: +%If (- Qt_3_0_0) + QWheelEvent(const QPoint &,int,int); + QWheelEvent(const QPoint &,const QPoint &,int,int); +%End +%If (Qt_3_0_0 -) + QWheelEvent(const QPoint &,int,int,Orientation = Vertical); + QWheelEvent(const QPoint &,const QPoint &,int,int, + Orientation = Vertical); +%End + + int delta() const; + const QPoint &pos() const; + const QPoint &globalPos() const; + int x() const; + int y() const; + int globalX() const; + int globalY() const; + ButtonState state() const; +%If (Qt_3_0_0 -) + Orientation orientation() const; +%End + bool isAccepted() const; + void accept(); + void ignore(); +}; + +%End + + +%If (Qt_3_0_0 -) + +class QTabletEvent : QEvent +{ +%TypeHeaderCode +#include <qevent.h> +%End + +public: + enum TabletDevice { + NoDevice, + Puck, + Stylus, + Eraser + }; + +%If (- Qt_3_1_0) + QTabletEvent(const QPoint &,int,int,int,int,const QPair<int,int> &); +%End +%If (Qt_3_1_0 -) + QTabletEvent(Type,const QPoint &,const QPoint &,int,int,int,int, + const QPair<int,int> &); +%End + QTabletEvent(const QPoint &,const QPoint &,int,int,int,int, + const QPair<int,int> &); + + int pressure() const; + int xTilt() const; + int yTilt() const; + const QPoint &pos() const; + const QPoint &globalPos() const; + int x() const; + int y() const; + int globalX() const; + int globalY() const; + TabletDevice device() const; + int isAccepted() const; + void accept(); + void ignore(); + QPair<int,int> uniqueId(); +}; + +%End + + +class QKeyEvent : QEvent +{ +%TypeHeaderCode +#include <qevent.h> +%End + +public: +%If (- Qt_2_00) + QKeyEvent(int,int,int,int); +%End +%If (Qt_2_00 -) + QKeyEvent(Type,int,int,int,const QString & = QString::null,bool = 0, + ushort = 1); +%End + + int key() const; + int ascii() const; + bool isAccepted() const; + void accept(); + void ignore(); + +%If (- Qt_2_00) + int state() const; +%End + +%If (Qt_2_00 -) + ButtonState state() const; + ButtonState stateAfter() const; + QString text() const; + bool isAutoRepeat() const; + int count() const; +%End +}; + + +class QFocusEvent : QEvent +{ +%TypeHeaderCode +#include <qevent.h> +%End + +public: +%If (- Qt_2_00) + QFocusEvent(int); +%End +%If (Qt_2_00 -) + QFocusEvent(Type); +%End + + bool gotFocus() const; + bool lostFocus() const; + +%If (Qt_2_1_0 -) +%If (- Qt_3_0_0) + enum Reason { + Mouse, + Tab, + ActiveWindow, + Popup, + Shortcut, + Other + }; +%End +%If (Qt_3_0_0 -) + enum Reason { + Mouse, + Tab, + Backtab, + ActiveWindow, + Popup, + Shortcut, + Other + }; +%End + + static Reason reason(); + static void setReason(Reason); + static void resetReason(); +%End +}; + + +class QPaintEvent : QEvent +{ +%TypeHeaderCode +#include <qevent.h> +%End + +public: +%If (- Qt_2_00) + QPaintEvent(const QRect &); +%End +%If (Qt_2_00 -) + QPaintEvent(const QRegion &,bool = 1); + QPaintEvent(const QRect &,bool = 1); +%End +%If (Qt_3_3_0 -) + QPaintEvent(const QRegion &,const QRect &,bool = 1); +%End + + const QRect &rect() const; +%If (Qt_2_00 -) + const QRegion ®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 +}; |