diff options
| author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-07-10 15:17:53 -0500 | 
|---|---|---|
| committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-07-10 15:17:53 -0500 | 
| commit | dda8474928bd7276e1fad8fb7a601e7c83ff2bc2 (patch) | |
| tree | 7f83910598b33b12730035f086df20b5a53ab99c /tqtinterface/qt4/src/kernel/tqevent.cpp | |
| parent | 6260b6178868c03aab1644bf93b0ef043654bdb0 (diff) | |
| download | experimental-dda8474928bd7276e1fad8fb7a601e7c83ff2bc2.tar.gz experimental-dda8474928bd7276e1fad8fb7a601e7c83ff2bc2.zip | |
Added TQt4 HEAD
Diffstat (limited to 'tqtinterface/qt4/src/kernel/tqevent.cpp')
| -rw-r--r-- | tqtinterface/qt4/src/kernel/tqevent.cpp | 2708 | 
1 files changed, 2708 insertions, 0 deletions
| diff --git a/tqtinterface/qt4/src/kernel/tqevent.cpp b/tqtinterface/qt4/src/kernel/tqevent.cpp new file mode 100644 index 0000000..b34f38d --- /dev/null +++ b/tqtinterface/qt4/src/kernel/tqevent.cpp @@ -0,0 +1,2708 @@ +/**************************************************************************** +** +** Implementation of event classes +** +** Created : 931029 +** +** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA. +** +** This file is part of the kernel module of the TQt GUI Toolkit. +** +** This file may be used under the terms of the GNU General +** Public License versions 2.0 or 3.0 as published by the Free +** Software Foundation and appearing in the files LICENSE.GPL2 +** and LICENSE.GPL3 included in the packaging of this file. +** Alternatively you may (at your option) use any later version +** of the GNU General Public License if such license has been +** publicly approved by Trolltech ASA (or its successors, if any) +** and the KDE Free TQt Foundation. +** +** Please review the following information to ensure GNU General +** Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/. +** If you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** This file may be used under the terms of the Q Public License as +** defined by Trolltech ASA and appearing in the file LICENSE.TQPL +** included in the packaging of this file.  Licensees holding valid TQt +** Commercial licenses may use this file in accordance with the TQt +** Commercial License Agreement provided with the Software. +** +** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, +** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted +** herein. +** +**********************************************************************/ + +#include <tqtglobaldefines.h> +#ifdef USE_QT4 +// Nasty, nasty horrid HACK to get access to QFont's private members +// This is TERRIBLE and I wish there was a way around it +// See also QRect +#define private protected +#include <Qt/qevent.h> +#undef private +#endif // USE_QT4 + +#include "tqevent.h" +#include "tqcursor.h" +#include "tqapplication.h" + +#ifdef USE_QT4 + +// TQFocusEvent::Reason TQFocusEvent::prev_reason = TQFocusEvent::Other; + +/*! +    Sets the reason for all future focus events to \a reason. + +    \sa reason(), resetReason() + */ +void TQFocusEvent::setReason( Qt::FocusReason reason ) +{ +    prev_reason = m_reason; +    m_reason = reason; +} + +/*! +    Resets the reason for all future focus events to the value before +    the last setReason() call. + +    \sa reason(), setReason() + */ +void TQFocusEvent::resetReason() +{ +    m_reason = prev_reason; +} + +TQt::ButtonState TQContextMenuEvent::state() const { +	return TQt::ButtonState(int(QApplication::keyboardModifiers())|QApplication::mouseButtons()); +} + +/*! +    \class TQCustomEvent tqevent.h +    \brief The TQCustomEvent class provides support for custom events. + +    \ingroup events + +    TQCustomEvent is a generic event class for user-defined events. +    User defined events can be sent to widgets or other TQObject +    instances using TQApplication::postEvent() or +    TQApplication::sendEvent(). Subclasses of TQObject can easily +    receive custom events by implementing the TQObject::customEvent() +    event handler function. + +    TQCustomEvent objects should be created with a type ID that +    uniquely identifies the event type. To avoid clashes with the +    TQt-defined events types, the value should be at least as large as +    the value of the "User" entry in the TQEvent::Type enum. + +    TQCustomEvent tqcontains a generic void* data member that may be used +    for transferring event-specific data to the receiver. Note that +    since events are normally delivered asynchronously, the data +    pointer, if used, must remain valid until the event has been +    received and processed. + +    TQCustomEvent can be used as-is for simple user-defined event +    types, but normally you will want to make a subclass of it for +    your event types. In a subclass, you can add data members that are +    suitable for your event type. + +    Example: +    \code +    class ColorChangeEvent : public TQCustomEvent +    { +    public: +	ColorChangeEvent( TQColor color ) +	    : TQCustomEvent( 65432 ), c( color ) {} +	TQColor color() const { return c; } +    private: +	TQColor c; +    }; + +    // To send an event of this custom event type: + +    ColorChangeEvent* ce = new ColorChangeEvent( blue ); +    TQApplication::postEvent( receiver, ce );  // TQt will delete it when done + +    // To receive an event of this custom event type: + +    void MyWidget::customEvent( TQCustomEvent * e ) +    { +	if ( e->type() == 65432 ) {  // It must be a ColorChangeEvent +	    ColorChangeEvent* ce = (ColorChangeEvent*)e; +	    newColor = ce->color(); +	} +    } +    \endcode + +    \sa TQWidget::customEvent(), TQApplication::notify() +*/ + + +/*! +    Constructs a custom event object with event type \a type. The +    value of \a type must be at least as large as TQEvent::User. The +    data pointer is set to 0. +*/ + +TQCustomEvent::TQCustomEvent( int type ) +    : TQEvent( (TQEvent::Type)type ), d( 0 ) +{ +} + + +/*! +    \fn TQCustomEvent::TQCustomEvent( Type type, void *data ) + +    Constructs a custom event object with the event type \a type and a +    pointer to \a data. (Note that any int value may safely be cast to +    TQEvent::Type). +*/ + + +/*! +    \fn void TQCustomEvent::setData( void* data ) + +    Sets the generic data pointer to \a data. + +    \sa data() +*/ + +/*! +    \fn void *TQCustomEvent::data() const + +    Returns a pointer to the generic event data. + +    \sa setData() +*/ + +#else // USE_QT4 + +/*! +    \class TQEvent tqevent.h +    \brief The TQEvent class is the base class of all +    event classes. Event objects contain event parameters. + +    \ingroup events +    \ingroup environment + +    TQt's main event loop (TQApplication::exec()) fetches native window +    system events from the event queue, translates them into TQEvents +    and sends the translated events to TQObjects. + +    In general, events come from the underlying window system +    (spontaneous() returns TRUE) but it is also possible to manually +    send events using TQApplication::sendEvent() and +    TQApplication::postEvent() (spontaneous() returns FALSE). + +    TQObjects receive events by having their TQObject::event() function +    called. The function can be reimplemented in subclasses to +    customize event handling and add additional event types; +    TQWidget::event() is a notable example. By default, events are +    dispatched to event handlers like TQObject::timerEvent() and +    TQWidget::mouseMoveEvent(). TQObject::installEventFilter() allows an +    object to intercept events destined for another object. + +    The basic TQEvent tqcontains only an event type parameter. +    Subclasses of TQEvent contain additional parameters that describe +    the particular event. + +    \sa TQObject::event() TQObject::installEventFilter() +    TQWidget::event() TQApplication::sendEvent() +    TQApplication::postEvent() TQApplication::processEvents() +*/ + + +/*! +    \enum TQt::ButtonState + +    This enum type describes the state of the mouse and the modifier +    buttons. + +    \value NoButton  used when the button state does not refer to any +    button (see TQMouseEvent::button()). +    \value LeftButton  set if the left button is pressed, or if this +    event refers to the left button. (The left button may be +    the right button on left-handed mice.) +    \value RightButton  the right button. +    \value MidButton  the middle button. +    \value ShiftButton  a Shift key on the keyboard is also pressed. +    \value ControlButton  a Ctrl key on the keyboard is also pressed. +    \value AltButton  an Alt key on the keyboard is also pressed. +    \value MetaButton a Meta key on the keyboard is also pressed. +    \value Keypad  a keypad button is pressed. +    \value KeyButtonMask a tqmask for ShiftButton, ControlButton, +    AltButton and MetaButton. +    \value MouseButtonMask a tqmask for LeftButton, RightButton and MidButton. +*/ + +/*! +    \enum TQEvent::Type + +    This enum type defines the valid event types in TQt. The event +    types and the specialized classes for each type are these: + +    \value None  Not an event. +    \value Accessibility  Accessibility information is requested +    \value Timer  Regular timer events, \l{TQTimerEvent}. +    \value MouseButtonPress  Mouse press, \l{TQMouseEvent}. +    \value MouseButtonRelease  Mouse release, \l{TQMouseEvent}. +    \value MouseButtonDblClick  Mouse press again, \l{TQMouseEvent}. +    \value MouseMove  Mouse move, \l{TQMouseEvent}. +    \value KeyPress  Key press (including Shift, for example), \l{TQKeyEvent}. +    \value KeyRelease  Key release, \l{TQKeyEvent}. +    \value IMStart  The start of input method composition, \l{TQIMEvent}. +    \value IMCompose  Input method composition is taking place, \l{TQIMEvent}. +    \value IMEnd  The end of input method composition, \l{TQIMEvent}. +    \value FocusIn  Widget gains keyboard focus, \l{TQFocusEvent}. +    \value FocusOut  Widget loses keyboard focus, \l{TQFocusEvent}. +    \value Enter  Mouse enters widget's boundaries. +    \value Leave  Mouse leaves widget's boundaries. +    \value Paint  Screen update necessary, \l{TQPaintEvent}. +    \value Move  Widget's position changed, \l{TQMoveEvent}. +    \value Resize  Widget's size changed, \l{TQResizeEvent}. +    \value Show  Widget was shown on screen, \l{TQShowEvent}. +    \value Hide  Widget was hidden, \l{TQHideEvent}. +    \value ShowToParent  A child widget has been shown. +    \value HideToParent  A child widget has been hidden. +    \value Close  Widget was closed (permanently), \l{TQCloseEvent}. +    \value ShowNormal  Widget should be shown normally (obsolete). +    \value ShowMaximized  Widget should be shown maximized (obsolete). +    \value ShowMinimized  Widget should be shown minimized (obsolete). +    \value ShowFullScreen  Widget should be shown full-screen (obsolete). +    \value ShowWindowRequest  Widget's window should be shown (obsolete). +    \value DeferredDelete  The object will be deleted after it has +    cleaned up. +    \value Accel  Key press in child for shortcut key handling, \l{TQKeyEvent}. +    \value Wheel  Mouse wheel rolled, \l{TQWheelEvent}. +    \value ContextMenu  Context popup menu, \l{TQContextMenuEvent} +    \value AccelOverride  Key press in child, for overriding shortcut key handling, \l{TQKeyEvent}. +    \value AccelAvailable internal. +    \value WindowActivate  Window was activated. +    \value WindowDeactivate  Window was deactivated. +    \value CaptionChange  Widget's caption changed. +    \value IconChange  Widget's icon changed. +    \value ParentFontChange  Font of the tqparent widget changed. +    \value ApplicationFontChange  Default application font changed. +    \value PaletteChange  Palette of the widget changed. +    \value ParentPaletteChange  Palette of the tqparent widget changed. +    \value ApplicationPaletteChange  Default application palette changed. +    \value Clipboard  Clipboard contents have changed. +    \value SockAct  Socket activated, used to implement \l{TQSocketNotifier}. +    \value DragEnter  A drag-and-drop enters widget, \l{TQDragEnterEvent}. +    \value DragMove  A drag-and-drop is in progress, \l{TQDragMoveEvent}. +    \value DragLeave  A drag-and-drop leaves widget, \l{TQDragLeaveEvent}. +    \value Drop  A drag-and-drop is completed, \l{TQDropEvent}. +    \value DragResponse  Internal event used by TQt on some platforms. +    \value ChildInserted  Object gets a child, \l{TQChildEvent}. +    \value ChildRemoved  Object loses a child, \l{TQChildEvent}. +    \value LayoutHint  Widget child has changed tqlayout properties. +    \value ActivateControl  Internal event used by TQt on some platforms. +    \value DeactivateControl  Internal event used by TQt on some platforms. +    \value LanguageChange  The application translation changed, \l{TQTranslator} +    \value LayoutDirectionChange  The direction of layouts changed +    \value LocaleChange  The system locale changed +    \value Quit  Reserved. +    \value Create  Reserved. +    \value Destroy  Reserved. +    \value Retqparent  Reserved. +    \value Speech  Reserved for speech input. +    \value TabletMove  A Wacom Tablet Move Event. +    \value Style  Internal use only +    \value TabletPress  A Wacom Tablet Press Event +    \value TabletRelease  A Wacom Tablet Release Event +    \value OkRequest  Internal event used by TQt on some platforms. +    \value HelpRequest  Internal event used by TQt on some platforms. +    \value IconDrag     Internal event used by TQt on some platforms when proxy icon is dragged. +    \value WindowStateChange The window's state, i.e. minimized, +    maximized or full-screen, has changed. See \l{TQWidget::windowState()}. +    \value WindowBlocked The window is modally blocked +    \value WindowUnblocked The window leaves modal blocking + +    \value User  User defined event. +    \value MaxUser  Last user event id. + +    User events should have values between User and MaxUser inclusive. +*/ +/*! +    \fn TQEvent::TQEvent( Type type ) + +    Contructs an event object of type \a type. +*/ + +/*! +    \fn TQEvent::Type TQEvent::type() const + +    Returns the event type. +*/ + +/*! +    \fn bool TQEvent::spontaneous() const + +    Returns TRUE if the event originated outside the application, i.e. +    it is a system event; otherwise returns FALSE. +*/ + + +/*! +    \class TQTimerEvent tqevent.h +    \brief The TQTimerEvent class tqcontains parameters that describe a +    timer event. + +    \ingroup events + +    Timer events are sent at regular intervals to objects that have +    started one or more timers. Each timer has a unique identifier. A +    timer is started with TQObject::startTimer(). + +    The TQTimer class provides a high-level programming interface that +    uses Q_SIGNALS instead of events. It also provides one-shot timers. + +    The event handler TQObject::timerEvent() receives timer events. + +    \sa TQTimer, TQObject::timerEvent(), TQObject::startTimer(), +    TQObject::killTimer(), TQObject::killTimers() +*/ + +/*! +    \fn TQTimerEvent::TQTimerEvent( int timerId ) + +    Constructs a timer event object with the timer identifier set to +    \a timerId. +*/ + +/*! +    \fn int TQTimerEvent::timerId() const + +    Returns the unique timer identifier, which is the same identifier +    as returned from TQObject::startTimer(). +*/ + + +/*! +    \class TQMouseEvent tqevent.h +    \ingroup events + +    \brief The TQMouseEvent class tqcontains parameters that describe a mouse event. + +    Mouse events occur when a mouse button is pressed or released +    inside a widget or when the mouse cursor is moved. + +    Mouse move events will occur only when a mouse button is pressed +    down, unless mouse tracking has been enabled with +    TQWidget::setMouseTracking(). + +    TQt automatically grabs the mouse when a mouse button is pressed +    inside a widget; the widget will continue to receive mouse events +    until the last mouse button is released. + +    A mouse event tqcontains a special accept flag that indicates +    whether the receiver wants the event. You should call +    TQMouseEvent::ignore() if the mouse event is not handled by your +    widget. A mouse event is propagated up the tqparent widget chain +    until a widget accepts it with TQMouseEvent::accept() or an event +    filter consumes it. + +    The functions pos(), x() and y() give the cursor position relative +    to the widget that receives the mouse event. If you move the +    widget as a result of the mouse event, use the global position +    returned by globalPos() to avoid a shaking motion. + +    The TQWidget::setEnabled() function can be used to enable or +    disable mouse and keyboard events for a widget. + +    The event handlers TQWidget::mousePressEvent(), +    TQWidget::mouseReleaseEvent(), TQWidget::mouseDoubleClickEvent() and +    TQWidget::mouseMoveEvent() receive mouse events. + +    \sa TQWidget::setMouseTracking(), TQWidget::grabMouse(), +    TQCursor::pos() +*/ + +/*! +    \fn TQMouseEvent::TQMouseEvent( Type type, const TQPoint &pos, int button, int state ) + +    Constructs a mouse event object. + +    The \a type parameter must be one of \c TQEvent::MouseButtonPress, +    \c TQEvent::MouseButtonRelease, \c TQEvent::MouseButtonDblClick or +    \c TQEvent::MouseMove. + +    The \a pos parameter specifies the position relative to the +    receiving widget. \a button specifies the \link TQt::ButtonState +    button\endlink that caused the event, which should be \c +    TQt::NoButton (0), if \a type is \c MouseMove. \a state is the +    \link TQt::ButtonState ButtonState\endlink at the time of the +    event. + +    The globalPos() is initialized to TQCursor::pos(), which may not be +    appropriate. Use the other constructor to specify the global +    position explicitly. +*/ + +TQMouseEvent::TQMouseEvent( Type type, const TQPoint &pos, int button, int state ) +    : TQEvent(type), p(pos), b(button),s((ushort)state), accpt(TRUE){ +	g = TQCursor::pos(); +} + + +/*! +    \fn TQMouseEvent::TQMouseEvent( Type type, const TQPoint &pos, const TQPoint &globalPos,  int button, int state ) + +    Constructs a mouse event object. + +    The \a type parameter must be \c TQEvent::MouseButtonPress, \c +    TQEvent::MouseButtonRelease, \c TQEvent::MouseButtonDblClick or \c +    TQEvent::MouseMove. + +    The \a pos parameter specifies the position relative to the +    receiving widget. \a globalPos is the position in absolute +    coordinates. \a button specifies the \link TQt::ButtonState +    button\endlink that caused the event, which should be \c +    TQt::NoButton (0), if \a type is \c MouseMove. \a state is the +    \link TQt::ButtonState ButtonState\endlink at the time of the +    event. + +*/ + +/*! +    \fn const TQPoint &TQMouseEvent::pos() const + +    Returns the position of the mouse pointer relative to the widget +    that received the event. + +    If you move the widget as a result of the mouse event, use the +    global position returned by globalPos() to avoid a shaking motion. + +    \sa x(), y(), globalPos() +*/ + +/*! +    \fn const TQPoint &TQMouseEvent::globalPos() const + +    Returns the global position of the mouse pointer \e{at the time +    of the event}. This is important on asynchronous window systems +    like X11. Whenever you move your widgets around in response to +    mouse events, globalPos() may differ a lot from the current +    pointer position TQCursor::pos(), and from TQWidget::mapToGlobal( +    pos() ). + +    \sa globalX(), globalY() +*/ + +/*! +    \fn int TQMouseEvent::x() const + +    Returns the x-position of the mouse pointer, relative to the +    widget that received the event. + +    \sa y(), pos() +*/ + +/*! +    \fn int TQMouseEvent::y() const + +    Returns the y-position of the mouse pointer, relative to the +    widget that received the event. + +    \sa x(), pos() +*/ + +/*! +    \fn int TQMouseEvent::globalX() const + +    Returns the global x-position of the mouse pointer at the time of +    the event. + +    \sa globalY(), globalPos() +*/ + +/*! +    \fn int TQMouseEvent::globalY() const + +    Returns the global y-position of the mouse pointer at the time of +    the event. + +    \sa globalX(), globalPos() +*/ + +/*! +    \fn ButtonState TQMouseEvent::button() const + +    Returns the button that caused the event. + +    Possible return values are \c LeftButton, \c RightButton, \c +    MidButton and \c NoButton. + +    Note that the returned value is always \c NoButton for mouse move +    events. + +    \sa state() TQt::ButtonState +*/ + + +/*! +    \fn ButtonState TQMouseEvent::state() const + +    Returns the button state (a combination of mouse buttons and +    keyboard modifiers), i.e. what buttons and keys were being pressed +    immediately before the event was generated. + +    This means that if you have a \c TQEvent::MouseButtonPress or a \c +    TQEvent::MouseButtonDblClick state() will \e not include the mouse +    button that's pressed. But once the mouse button has been +    released, the \c TQEvent::MouseButtonRelease event will have the +    button() that was pressed. + +    This value is mainly interesting for \c TQEvent::MouseMove; for the +    other cases, button() is more useful. + +    The returned value is \c LeftButton, \c RightButton, \c MidButton, +    \c ShiftButton, \c ControlButton and \c AltButton OR'ed together. + +    \sa button() stateAfter() TQt::ButtonState +*/ + +/*! +    \fn ButtonState TQMouseEvent::stateAfter() const + +    Returns the state of buttons after the event. + +    \sa state() TQt::ButtonState +*/ +TQt::ButtonState TQMouseEvent::stateAfter() const +{ +    return TQt::ButtonState(state()^button()); +} + + + +/*! +    \fn bool TQMouseEvent::isAccepted() const + +    Returns TRUE if the receiver of the event wants to keep the key; +    otherwise returns FALSE. +*/ + +/*! +    \fn void TQMouseEvent::accept() + +    Sets the accept flag of the mouse event object. + +    Setting the accept parameter indicates that the receiver of the +    event wants the mouse event. Unwanted mouse events are sent to the +    tqparent widget. + +    The accept flag is set by default. + +    \sa ignore() +*/ + + +/*! +    \fn void TQMouseEvent::ignore() + +    Clears the accept flag parameter of the mouse event object. + +    Clearing the accept parameter indicates that the event receiver +    does not want the mouse event. Unwanted mouse events are sent to +    the tqparent widget. + +    The accept flag is set by default. + +    \sa accept() +*/ + + +/*! +    \class TQWheelEvent tqevent.h +    \brief The TQWheelEvent class tqcontains parameters that describe a wheel event. + +    \ingroup events + +    Wheel events are sent to the widget under the mouse, and if that widget +    does not handle the event they are sent to the focus widget. The rotation +    distance is provided by delta(). The functions pos() and globalPos() return +    the mouse pointer location at the time of the event. + +    A wheel event tqcontains a special accept flag that indicates +    whether the receiver wants the event. You should call +    TQWheelEvent::accept() if you handle the wheel event; otherwise it +    will be sent to the tqparent widget. + +    The TQWidget::setEnable() function can be used to enable or disable +    mouse and keyboard events for a widget. + +    The event handler TQWidget::wheelEvent() receives wheel events. + +    \sa TQMouseEvent, TQWidget::grabMouse() +*/ + +/*! +    \fn Orientation TQWheelEvent::orientation() const + +    Returns the wheel's orientation. +*/ + +/*! +    \fn TQWheelEvent::TQWheelEvent( const TQPoint &pos, int delta, int state, Orientation orient = Vertical ); + +    Constructs a wheel event object. + +    The globalPos() is initialized to TQCursor::pos(), i.e. \a pos, +    which is usually (but not always) right. Use the other constructor +    if you need to specify the global position explicitly. \a delta +    tqcontains the rotation distance, \a state holds the keyboard +    modifier flags at the time of the event and \a orient holds the +    wheel's orientation. + +    \sa pos(), delta(), state() +*/ +#ifndef TQT_NO_WHEELEVENT +TQWheelEvent::TQWheelEvent( const TQPoint &pos, int delta, int state, Orientation orient ) +    : TQEvent(Wheel), p(pos), d(delta), s((ushort)state), +      accpt(TRUE), o(orient) +{ +    g = TQCursor::pos(); +} +#endif +/*! +    \fn TQWheelEvent::TQWheelEvent( const TQPoint &pos, const TQPoint& globalPos, int delta, int state, Orientation orient = Vertical  ) + +    Constructs a wheel event object. The position when the event +    occurred is given in \a pos and \a globalPos. \a delta tqcontains +    the rotation distance, \a state holds the keyboard modifier flags +    at the time of the event and \a orient holds the wheel's +    orientation. + +    \sa pos(), globalPos(), delta(), state() +*/ + +/*! +    \fn int TQWheelEvent::delta() const + +    Returns the distance that the wheel is rotated expressed in +    multiples or divisions of the \e{wheel delta}, which is currently +    defined to be 120. A positive value indicates that the wheel was +    rotated forwards away from the user; a negative value indicates +    that the wheel was rotated backwards toward the user. + +    The \e{wheel delta} constant was defined to be 120 by wheel mouse +    vendors to allow building finer-resolution wheels in the future, +    including perhaps a freely rotating wheel with no notches. The +    expectation is that such a tqdevice would send more messages per +    rotation but with a smaller value in each message. +*/ + +/*! +    \fn const TQPoint &TQWheelEvent::pos() const + +    Returns the position of the mouse pointer, relative to the widget +    that received the event. + +    If you move your widgets around in response to mouse +    events, use globalPos() instead of this function. + +    \sa x(), y(), globalPos() +*/ + +/*! +    \fn int TQWheelEvent::x() const + +    Returns the x-position of the mouse pointer, relative to the +    widget that received the event. + +    \sa y(), pos() +*/ + +/*! +    \fn int TQWheelEvent::y() const + +    Returns the y-position of the mouse pointer, relative to the +    widget that received the event. + +    \sa x(), pos() +*/ + + +/*! +    \fn const TQPoint &TQWheelEvent::globalPos() const + +    Returns the global position of the mouse pointer \e{at the time +    of the event}. This is important on asynchronous window systems +    such as X11; whenever you move your widgets around in response to +    mouse events, globalPos() can differ a lot from the current +    pointer position TQCursor::pos(). + +    \sa globalX(), globalY() +*/ + +/*! +    \fn int TQWheelEvent::globalX() const + +    Returns the global x-position of the mouse pointer at the time of +    the event. + +    \sa globalY(), globalPos() +*/ + +/*! +    \fn int TQWheelEvent::globalY() const + +    Returns the global y-position of the mouse pointer at the time of +    the event. + +    \sa globalX(), globalPos() +*/ + + +/*! +    \fn ButtonState TQWheelEvent::state() const + +    Returns the keyboard modifier flags of the event. + +    The returned value is \c ShiftButton, \c ControlButton, and \c +    AltButton OR'ed together. +*/ + +/*! +    \fn bool TQWheelEvent::isAccepted() const + +    Returns TRUE if the receiver of the event handles the wheel event; +    otherwise returns FALSE. +*/ + +/*! +    \fn void TQWheelEvent::accept() + +    Sets the accept flag of the wheel event object. + +    Setting the accept parameter indicates that the receiver of the +    event wants the wheel event. Unwanted wheel events are sent to the +    tqparent widget. + +    The accept flag is set by default. + +    \sa ignore() +*/ + +/*! +    \fn void TQWheelEvent::ignore() + +    Clears the accept flag parameter of the wheel event object. + +    Clearing the accept parameter indicates that the event receiver +    does not want the wheel event. Unwanted wheel events are sent to +    the tqparent widget. The accept flag is set by default. + +    \sa accept() +*/ + + +/*! +    \enum TQt::Modifier + +    This enum type describes the keyboard modifier keys supported by +    TQt. + +    \value SHIFT the Shift keys provided on all standard keyboards. +    \value META the Meta keys. +    \value CTRL the Ctrl keys. +    \value ALT the normal Alt keys, but not e.g. AltGr. +    \value MODIFIER_MASK is a tqmask of Shift, Ctrl, Alt and Meta. +    \value UNICODE_ACCEL the accelerator is specified as a Unicode code +    point, not as a TQt Key. +*/ + +/*! +    \class TQKeyEvent tqevent.h +    \brief The TQKeyEvent class tqcontains describes a key event. + +    \ingroup events + +    Key events occur when a key is pressed or released when a widget +    has keyboard input focus. + +  A key event tqcontains a special accept flag that indicates whether the +  receiver wants the key event.  You should call TQKeyEvent::ignore() if the +  key press or release event is not handled by your widget. A key event is +  propagated up the tqparent widget chain until a widget accepts it with +  TQKeyEvent::accept() or an event filter consumes it. +  Key events for multi media keys are ignored by default. You should call +  TQKeyEvent::accept() if your widget handles those events. + +    The TQWidget::setEnable() function can be used to enable or disable +    mouse and keyboard events for a widget. + +    The event handlers TQWidget::keyPressEvent() and +    TQWidget::keyReleaseEvent() receive key events. + +    \sa TQFocusEvent, TQWidget::grabKeyboard() +*/ + +/*! +    \fn TQKeyEvent::TQKeyEvent( Type type, int key, int ascii, int state, +			      const TQString& text, bool autorep, ushort count ) + +    Constructs a key event object. + +    The \a type parameter must be \c TQEvent::KeyPress or \c +    TQEvent::KeyRelease. If \a key is 0 the event is not a result of a +    known key (e.g. it may be the result of a compose sequence or +    keyboard macro). \a ascii is the ASCII code of the key that was +    pressed or released. \a state holds the keyboard modifiers. \a +    text is the Unicode text that the key generated. If \a autorep is +    TRUE, isAutoRepeat() will be TRUE. \a count is the number of +    single keys. + +    The accept flag is set to TRUE. +*/ + +/*! +    \fn int TQKeyEvent::key() const + +    Returns the code of the key that was pressed or released. + +    See \l TQt::Key for the list of keyboard codes. These codes are +    independent of the underlying window system. + +    A value of either 0 or Key_unknown means that the event is not +    the result of a known key (e.g. it may be the result of a compose +    sequence or a keyboard macro, or due to key event compression). + +    \sa TQWidget::setKeyCompression() +*/ + +/*! +    \fn int TQKeyEvent::ascii() const + +    Returns the ASCII code of the key that was pressed or released. We +    recommend using text() instead. + +    \sa text() +*/ + +/*! +    \fn TQString TQKeyEvent::text() const + +    Returns the Unicode text that this key generated. The text returned +    migth be empty, which is the case when pressing or +    releasing modifying keys as Shift, Control, Alt and Meta. In these +    cases key() will contain a valid value. + +    \sa TQWidget::setKeyCompression() +*/ + +/*! +    \fn ButtonState TQKeyEvent::state() const + +    Returns the keyboard modifier flags that existed immediately +    before the event occurred. + +    The returned value is \c ShiftButton, \c ControlButton, \c AltButton +    and \c MetaButton OR'ed together. + +    \sa stateAfter() +*/ + +/*! +    \fn ButtonState TQKeyEvent::stateAfter() const + +    Returns the keyboard modifier flags that existed immediately after +    the event occurred. + +    \warning This function cannot be trusted. + +    \sa state() +*/ +//###### We must check with XGetModifierMapping +TQt::ButtonState TQKeyEvent::stateAfter() const +{ +    if ( key() == Key_Shift ) +	return TQt::ButtonState(state()^ShiftButton); +    if ( key() == Key_Control ) +	return TQt::ButtonState(state()^ControlButton); +    if ( key() == Key_Alt ) +	return TQt::ButtonState(state()^AltButton); +    if ( key() == Key_Meta ) +	return TQt::ButtonState(state()^MetaButton); +    return state(); +} + +/*! +    \fn bool TQKeyEvent::isAccepted() const + +    Returns TRUE if the receiver of the event wants to keep the key; +    otherwise returns FALSE +*/ + +/*! +    \fn void TQKeyEvent::accept() + +    Sets the accept flag of the key event object. + +    Setting the accept parameter indicates that the receiver of the +    event wants the key event. Unwanted key events are sent to the +    tqparent widget. + +    The accept flag is set by default. + +    \sa ignore() +*/ + +/*! +    \fn bool TQKeyEvent::isAutoRepeat() const + +    Returns TRUE if this event comes from an auto-repeating key and +    FALSE if it comes from an initial key press. + +    Note that if the event is a multiple-key compressed event that is +    partly due to auto-repeat, this function could return either TRUE +    or FALSE indeterminately. +*/ + +/*! +    \fn int TQKeyEvent::count() const + +    Returns the number of single keys for this event. If text() is not +    empty, this is simply the length of the string. + +    \sa TQWidget::setKeyCompression() +*/ + +/*! +    \fn void TQKeyEvent::ignore() + +    Clears the accept flag parameter of the key event object. + +    Clearing the accept parameter indicates that the event receiver +    does not want the key event. Unwanted key events are sent to the +    tqparent widget. + +    The accept flag is set by default. + +    \sa accept() +*/ + +/*! +    \enum TQt::Key + +    The key names used by TQt. + +    \value Key_Escape +    \value Key_Tab +    \value Key_Backtab +    \value Key_Backspace +    \value Key_Return +    \value Key_Enter +    \value Key_Insert +    \value Key_Delete +    \value Key_Pause +    \value Key_Print +    \value Key_SysReq +    \value Key_Home +    \value Key_End +    \value Key_Left +    \value Key_Up +    \value Key_Right +    \value Key_Down +    \value Key_Prior +    \value Key_Next +    \value Key_Shift +    \value Key_Control +    \value Key_Meta +    \value Key_Alt +    \value Key_CapsLock +    \value Key_NumLock +    \value Key_ScrollLock +    \value Key_Clear +    \value Key_F1 +    \value Key_F2 +    \value Key_F3 +    \value Key_F4 +    \value Key_F5 +    \value Key_F6 +    \value Key_F7 +    \value Key_F8 +    \value Key_F9 +    \value Key_F10 +    \value Key_F11 +    \value Key_F12 +    \value Key_F13 +    \value Key_F14 +    \value Key_F15 +    \value Key_F16 +    \value Key_F17 +    \value Key_F18 +    \value Key_F19 +    \value Key_F20 +    \value Key_F21 +    \value Key_F22 +    \value Key_F23 +    \value Key_F24 +    \value Key_F25 +    \value Key_F26 +    \value Key_F27 +    \value Key_F28 +    \value Key_F29 +    \value Key_F30 +    \value Key_F31 +    \value Key_F32 +    \value Key_F33 +    \value Key_F34 +    \value Key_F35 +    \value Key_Super_L +    \value Key_Super_R +    \value Key_Menu +    \value Key_Hyper_L +    \value Key_Hyper_R +    \value Key_Help +    \value Key_Space +    \value Key_Any +    \value Key_Exclam +    \value Key_QuoteDbl +    \value Key_NumberSign +    \value Key_Dollar +    \value Key_Percent +    \value Key_Ampersand +    \value Key_Apostrophe +    \value Key_ParenLeft +    \value Key_ParenRight +    \value Key_Asterisk +    \value Key_Plus +    \value Key_Comma +    \value Key_Minus +    \value Key_Period +    \value Key_Slash +    \value Key_0 +    \value Key_1 +    \value Key_2 +    \value Key_3 +    \value Key_4 +    \value Key_5 +    \value Key_6 +    \value Key_7 +    \value Key_8 +    \value Key_9 +    \value Key_Colon +    \value Key_Semicolon +    \value Key_Less +    \value Key_Equal +    \value Key_Greater +    \value Key_Question +    \value Key_At +    \value Key_A +    \value Key_B +    \value Key_C +    \value Key_D +    \value Key_E +    \value Key_F +    \value Key_G +    \value Key_H +    \value Key_I +    \value Key_J +    \value Key_K +    \value Key_L +    \value Key_M +    \value Key_N +    \value Key_O +    \value Key_P +    \value Key_Q +    \value Key_R +    \value Key_S +    \value Key_T +    \value Key_U +    \value Key_V +    \value Key_W +    \value Key_X +    \value Key_Y +    \value Key_Z +    \value Key_BracketLeft +    \value Key_Backslash +    \value Key_BracketRight +    \value Key_AsciiCircum +    \value Key_Underscore +    \value Key_QuoteLeft +    \value Key_BraceLeft +    \value Key_Bar +    \value Key_BraceRight +    \value Key_AsciiTilde + +    \value Key_nobreakspace +    \value Key_exclamdown +    \value Key_cent +    \value Key_sterling +    \value Key_currency +    \value Key_yen +    \value Key_brokenbar +    \value Key_section +    \value Key_diaeresis +    \value Key_copyright +    \value Key_ordfeminine +    \value Key_guillemotleft +    \value Key_notsign +    \value Key_hyphen +    \value Key_registered +    \value Key_macron +    \value Key_degree +    \value Key_plusminus +    \value Key_twosuperior +    \value Key_threesuperior +    \value Key_acute +    \value Key_mu +    \value Key_paragraph +    \value Key_periodcentered +    \value Key_cedilla +    \value Key_onesuperior +    \value Key_masculine +    \value Key_guillemotright +    \value Key_onequarter +    \value Key_onehalf +    \value Key_threequarters +    \value Key_questiondown +    \value Key_Agrave +    \value Key_Aacute +    \value Key_Acircumflex +    \value Key_Atilde +    \value Key_Adiaeresis +    \value Key_Aring +    \value Key_AE +    \value Key_Ccedilla +    \value Key_Egrave +    \value Key_Eacute +    \value Key_Ecircumflex +    \value Key_Ediaeresis +    \value Key_Igrave +    \value Key_Iacute +    \value Key_Icircumflex +    \value Key_Idiaeresis +    \value Key_ETH +    \value Key_Ntilde +    \value Key_Ograve +    \value Key_Oacute +    \value Key_Ocircumflex +    \value Key_Otilde +    \value Key_Odiaeresis +    \value Key_multiply +    \value Key_Ooblique +    \value Key_Ugrave +    \value Key_Uacute +    \value Key_Ucircumflex +    \value Key_Udiaeresis +    \value Key_Yacute +    \value Key_THORN +    \value Key_ssharp +    \value Key_agrave +    \value Key_aacute +    \value Key_acircumflex +    \value Key_atilde +    \value Key_adiaeresis +    \value Key_aring +    \value Key_ae +    \value Key_ccedilla +    \value Key_egrave +    \value Key_eacute +    \value Key_ecircumflex +    \value Key_ediaeresis +    \value Key_igrave +    \value Key_iacute +    \value Key_icircumflex +    \value Key_idiaeresis +    \value Key_eth +    \value Key_ntilde +    \value Key_ograve +    \value Key_oacute +    \value Key_ocircumflex +    \value Key_otilde +    \value Key_odiaeresis +    \value Key_division +    \value Key_oslash +    \value Key_ugrave +    \value Key_uacute +    \value Key_ucircumflex +    \value Key_udiaeresis +    \value Key_yacute +    \value Key_thorn +    \value Key_ydiaeresis + +    Multimedia keys + +    \value Key_Back +    \value Key_Forward +    \value Key_Stop +    \value Key_Refresh + +    \value Key_VolumeDown +    \value Key_VolumeMute +    \value Key_VolumeUp +    \value Key_BassBoost +    \value Key_BassUp +    \value Key_BassDown +    \value Key_TrebleUp +    \value Key_TrebleDown + +    \value Key_MediaPlay +    \value Key_MediaStop +    \value Key_MediaPrev +    \value Key_MediaNext +    \value Key_MediaRecord + +    \value Key_HomePage +    \value Key_Favorites +    \value Key_Search +    \value Key_Standby +    \value Key_OpenUrl + +    \value Key_LaunchMail +    \value Key_LaunchMedia +    \value Key_Launch0 +    \value Key_Launch1 +    \value Key_Launch2 +    \value Key_Launch3 +    \value Key_Launch4 +    \value Key_Launch5 +    \value Key_Launch6 +    \value Key_Launch7 +    \value Key_Launch8 +    \value Key_Launch9 +    \value Key_LaunchA +    \value Key_LaunchB +    \value Key_LaunchC +    \value Key_LaunchD +    \value Key_LaunchE +    \value Key_LaunchF + +    \value Key_MediaLast + +    \value Key_unknown + +    \value Key_Direction_L internal use only +    \value Key_Direction_R internal use only + +*/ + + +/*! +    \class TQFocusEvent tqevent.h +    \brief The TQFocusEvent class tqcontains event parameters for widget focus +    events. + +    \ingroup events + +    Focus events are sent to widgets when the keyboard input focus +    changes. Focus events occur due to mouse actions, keypresses (e.g. +    Tab or Backtab), the window system, popup menus, keyboard +    shortcuts or other application specific reasons. The reason for a +    particular focus event is returned by reason() in the appropriate +    event handler. + +    The event handlers TQWidget::focusInEvent() and +    TQWidget::focusOutEvent() receive focus events. + +    Use setReason() to set the reason for all focus events, and +    resetReason() to set the reason for all focus events to the reason +    in force before the last setReason() call. + +    \sa TQWidget::setFocus(), TQWidget::setFocusPolicy() +*/ + +/*! +    \fn TQFocusEvent::TQFocusEvent( Type type ) + +    Constructs a focus event object. + +    The \a type parameter must be either \c TQEvent::FocusIn or \c +    TQEvent::FocusOut. +*/ + + + +TQFocusEvent::Reason TQFocusEvent::m_reason = TQFocusEvent::Other; +TQFocusEvent::Reason TQFocusEvent::prev_reason = TQFocusEvent::Other; + + +/*! +    \enum TQFocusEvent::Reason + +    This enum specifies why the focus changed. + +    \value Mouse  because of a mouse action. +    \value Tab  because of a Tab press. +    \value Backtab  because of a Backtab press +	    (possibly including Shift/Control, e.g. Shift+Tab). +    \value ActiveWindow  because the window system made this window (in)active. +    \value Popup  because the application opened/closed a popup that grabbed/released focus. +    \value Shortcut  because of a keyboard shortcut. +    \value Other  any other reason, usually application-specific. + +    See the \link focus.html keyboard focus overview\endlink for more +    about focus. +*/ + +/*! +    Returns the reason for this focus event. + +    \sa setReason() + */ +TQFocusEvent::Reason TQFocusEvent::reason() +{ +    return m_reason; +} + +/*! +    Sets the reason for all future focus events to \a reason. + +    \sa reason(), resetReason() + */ +void TQFocusEvent::setReason( Reason reason ) +{ +    prev_reason = m_reason; +    m_reason = reason; +} + +/*! +    Resets the reason for all future focus events to the value before +    the last setReason() call. + +    \sa reason(), setReason() + */ +void TQFocusEvent::resetReason() +{ +    m_reason = prev_reason; +} + +/*! +    \fn bool TQFocusEvent::gotFocus() const + +    Returns TRUE if the widget received the text input focus; +    otherwise returns FALSE. +*/ + +/*! +    \fn bool TQFocusEvent::lostFocus() const + +    Returns TRUE if the widget lost the text input focus; otherwise +    returns FALSE. +*/ + + +/*! +    \class TQPaintEvent tqevent.h +    \brief The TQPaintEvent class tqcontains event parameters for paint events. + +    \ingroup events + +    Paint events are sent to widgets that need to update themselves, +    for instance when part of a widget is exposed because a covering +    widget is moved. + +    The event tqcontains a region() that needs to be updated, and a +    rect() that is the bounding rectangle of that region. Both are +    provided because many widgets can't make much use of region(), and +    rect() can be much faster than region().boundingRect(). Painting +    is clipped to region() during processing of a paint event. + +    The erased() function returns TRUE if the region() has been +    cleared to the widget's background (see +    TQWidget::backgroundMode()), and FALSE if the region's contents are +    arbitrary. + +    \sa TQPainter TQWidget::update() TQWidget::tqrepaint() +    TQWidget::paintEvent() TQWidget::backgroundMode() TQRegion +*/ + +/*! +    \fn TQPaintEvent::TQPaintEvent( const TQRegion &paintRegion, bool erased=TRUE ) + +    Constructs a paint event object with the region that should be +    updated. The region is given by \a paintRegion. If \a erased is +    TRUE the region will be cleared before repainting. +*/ + +/*! +    \fn TQPaintEvent::TQPaintEvent( const TQRect &paintRect, bool erased=TRUE ) + +    Constructs a paint event object with the rectangle that should be +    updated. The region is also given by \a paintRect. If \a erased is +    TRUE the region will be cleared before repainting. +*/ + +/*! +    \fn TQPaintEvent::TQPaintEvent( const TQRegion &paintRegion, const TQRect &paintRect, bool erased=TRUE ) + +    Constructs a paint event object with the rectangle \a paintRect +    that should be updated. The region is given by \a paintRegion. If +    \a erased is TRUE the region will be cleared before repainting. +*/ + +/*! +    \fn const TQRect &TQPaintEvent::rect() const + +    Returns the rectangle that should be updated. + +    \sa region(), TQPainter::setClipRect() +*/ + +/*! +    \fn const TQRegion &TQPaintEvent::region() const + +    Returns the region that should be updated. + +    \sa rect(), TQPainter::setClipRegion() +*/ + +/*! +    \fn bool TQPaintEvent::erased() const + +    Returns TRUE if the paint event region (or rectangle) has been +    erased with the widget's background; otherwise returns FALSE. +*/ + +/*! +    \class TQMoveEvent tqevent.h +    \brief The TQMoveEvent class tqcontains event parameters for move events. + +    \ingroup events + +    Move events are sent to widgets that have been moved to a new position +    relative to their tqparent. + +    The event handler TQWidget::moveEvent() receives move events. + +    \sa TQWidget::move(), TQWidget::setGeometry() +*/ + +/*! +    \fn TQMoveEvent::TQMoveEvent( const TQPoint &pos, const TQPoint &oldPos ) + +    Constructs a move event with the new and old widget positions, \a +    pos and \a oldPos respectively. +*/ + +/*! +    \fn const TQPoint &TQMoveEvent::pos() const + +    Returns the new position of the widget. This excludes the window +    frame for top level widgets. +*/ + +/*! +    \fn const TQPoint &TQMoveEvent::oldPos() const + +    Returns the old position of the widget. +*/ + + +/*! +    \class TQResizeEvent tqevent.h +    \brief The TQResizeEvent class tqcontains event parameters for resize events. + +    \ingroup events + +    Resize events are sent to widgets that have been resized. + +    The event handler TQWidget::resizeEvent() receives resize events. + +    \sa TQWidget::resize(), TQWidget::setGeometry() +*/ + +/*! +    \fn TQResizeEvent::TQResizeEvent( const TQSize &size, const TQSize &oldSize ) + +    Constructs a resize event with the new and old widget sizes, \a +    size and \a oldSize respectively. +*/ + +/*! +    \fn const TQSize &TQResizeEvent::size() const + +    Returns the new size of the widget, which is the same as +    TQWidget::size(). +*/ + +/*! +    \fn const TQSize &TQResizeEvent::oldSize() const + +    Returns the old size of the widget. +*/ + + +/*! +    \class TQCloseEvent tqevent.h +    \brief The TQCloseEvent class tqcontains parameters that describe a close event. + +    \ingroup events + +    Close events are sent to widgets that the user wants to close, +    usually by choosing "Close" from the window menu, or by clicking +    the `X' titlebar button. They are also sent when you call +    TQWidget::close() to close a widget programmatically. + +    Close events contain a flag that indicates whether the receiver +    wants the widget to be closed or not. When a widget accepts the +    close event, it is hidden (and destroyed if it was created with +    the \c WDestructiveClose flag). If it refuses to accept the close +    event nothing happens. (Under X11 it is possible that the window +    manager will forcibly close the window; but at the time of writing +    we are not aware of any window manager that does this.) + +    The application's main widget -- TQApplication::mainWidget() -- +    is a special case. When it accepts the close event, TQt leaves the +    main event loop and the application is immediately terminated +    (i.e. it returns from the call to TQApplication::exec() in the +    main() function). + +    The event handler TQWidget::closeEvent() receives close events. The +    default implementation of this event handler accepts the close +    event. If you do not want your widget to be hidden, or want some +    special handing, you should reimplement the event handler. + +    The \link simple-application.html#closeEvent closeEvent() in the +    Application Walkthrough\endlink shows a close event handler that +    asks whether to save a document before closing. + +    If you want the widget to be deleted when it is closed, create it +    with the \c WDestructiveClose widget flag. This is very useful for +    independent top-level windows in a multi-window application. + +    \l{TQObject}s emits the \link TQObject::destroyed() +    destroyed()\endlink signal when they are deleted. + +    If the last top-level window is closed, the +    TQApplication::lastWindowClosed() signal is emitted. + +    The isAccepted() function returns TRUE if the event's receiver has +    agreed to close the widget; call accept() to agree to close the +    widget and call ignore() if the receiver of this event does not +    want the widget to be closed. + +    \sa TQWidget::close(), TQWidget::hide(), TQObject::destroyed(), +    TQApplication::setMainWidget(), TQApplication::lastWindowClosed(), +    TQApplication::exec(), TQApplication::quit() +*/ + +/*! +    \fn TQCloseEvent::TQCloseEvent() + +    Constructs a close event object with the accept parameter flag set +    to FALSE. + +    \sa accept() +*/ + +/*! +    \fn bool TQCloseEvent::isAccepted() const + +    Returns TRUE if the receiver of the event has agreed to close the +    widget; otherwise returns FALSE. + +    \sa accept(), ignore() +*/ + +/*! +    \fn void TQCloseEvent::accept() + +    Sets the accept flag of the close event object. + +    Setting the accept flag indicates that the receiver of this event +    agrees to close the widget. + +    The accept flag is \e not set by default. + +    If you choose to accept in TQWidget::closeEvent(), the widget will +    be hidden. If the widget's \c WDestructiveClose flag is set, it +    will also be destroyed. + +    \sa ignore(), TQWidget::hide() +*/ + +/*! +    \fn void TQCloseEvent::ignore() + +    Clears the accept flag of the close event object. + +    Clearing the accept flag indicates that the receiver of this event +    does not want the widget to be closed. + +    The close event is constructed with the accept flag cleared. + +    \sa accept() +*/ + +/*! +   \class TQIconDragEvent tqevent.h +   \brief The TQIconDragEvent class Q_SIGNALS that a main icon drag has begun. + +    \ingroup events + +    Icon drag events are sent to widgets when the main icon of a window has been dragged away. +    On Mac OS X this is fired when the proxy icon of a window is dragged off titlebar, in response to +    this event is is normal to begin using drag and drop. +*/ + +/*! +    \fn TQIconDragEvent::TQIconDragEvent() + +    Constructs an icon drag event object with the accept parameter +    flag set to FALSE. + +    \sa accept() +*/ + +/*! +    \fn bool TQIconDragEvent::isAccepted() const + +    Returns TRUE if the receiver of the event has started a drag and +    drop operation; otherwise returns FALSE. + +    \sa accept(), ignore() +*/ + +/*! +    \fn void TQIconDragEvent::accept() + +    Sets the accept flag of the icon drag event object. + +    Setting the accept flag indicates that the receiver of this event +    has started a drag and drop oeration. + +    The accept flag is \e not set by default. + +    \sa ignore(), TQWidget::hide() +*/ + +/*! +    \fn void TQIconDragEvent::ignore() + +    Clears the accept flag of the icon drag object. + +    Clearing the accept flag indicates that the receiver of this event +    has not handled the icon drag as a result other events can be sent. + +    The icon drag event is constructed with the accept flag cleared. + +    \sa accept() +*/ + +/*! +    \class TQContextMenuEvent tqevent.h +    \brief The TQContextMenuEvent class tqcontains parameters that describe a context menu event. + +    \ingroup events + +    Context menu events are sent to widgets when a user triggers a +    context menu. What triggers this is platform dependent. For +    example, on Windows, pressing the menu button or releasing the +    right mouse button will cause this event to be sent. + +    When this event occurs it is customary to show a TQPopupMenu with a +    context menu, if this is relevant to the context. + +    Context menu events contain a special accept flag that indicates +    whether the receiver accepted the event. If the event handler does +    not accept the event, then whatever triggered the event will be +    handled as a regular input event if possible. + +    \sa TQPopupMenu +*/ + +/*! +    \fn TQContextMenuEvent::TQContextMenuEvent( Reason reason, const TQPoint &pos, const TQPoint &globalPos, int state ) + +    Constructs a context menu event object with the accept parameter +    flag set to FALSE. + +    The \a reason parameter must be \c TQContextMenuEvent::Mouse or \c +    TQContextMenuEvent::Keyboard. + +    The \a pos parameter specifies the mouse position relative to the +    receiving widget. \a globalPos is the mouse position in absolute +    coordinates. \a state is the ButtonState at the time of the event. +*/ + + +/*! +    \fn TQContextMenuEvent::TQContextMenuEvent( Reason reason, const TQPoint &pos, int state ) + +    Constructs a context menu event object with the accept parameter +    flag set to FALSE. + +    The \a reason parameter must be \c TQContextMenuEvent::Mouse or \c +    TQContextMenuEvent::Keyboard. + +    The \a pos parameter specifies the mouse position relative to the +    receiving widget. \a state is the ButtonState at the time of the +    event. + +    The globalPos() is initialized to TQCursor::pos(), which may not be +    appropriate. Use the other constructor to specify the global +    position explicitly. +*/ + +TQContextMenuEvent::TQContextMenuEvent( Reason reason, const TQPoint &pos, int state ) +    : TQEvent( ContextMenu ), p( pos ), accpt(TRUE), consum(TRUE), +    reas( reason ), s((ushort)state) +{ +    gp = TQCursor::pos(); +} + +/*! +    \fn const TQPoint &TQContextMenuEvent::pos() const + +    Returns the position of the mouse pointer relative to the widget +    that received the event. + +    \sa x(), y(), globalPos() +*/ + +/*! +    \fn int TQContextMenuEvent::x() const + +    Returns the x-position of the mouse pointer, relative to the +    widget that received the event. + +    \sa y(), pos() +*/ + +/*! +    \fn int TQContextMenuEvent::y() const + +    Returns the y-position of the mouse pointer, relative to the +    widget that received the event. + +    \sa x(), pos() +*/ + +/*! +    \fn const TQPoint &TQContextMenuEvent::globalPos() const + +    Returns the global position of the mouse pointer at the time of +    the event. + +    \sa x(), y(), pos() +*/ + +/*! +    \fn int TQContextMenuEvent::globalX() const + +    Returns the global x-position of the mouse pointer at the time of +    the event. + +    \sa globalY(), globalPos() +*/ + +/*! +    \fn int TQContextMenuEvent::globalY() const + +    Returns the global y-position of the mouse pointer at the time of +    the event. + +    \sa globalX(), globalPos() +*/ + +/*! +    \fn ButtonState TQContextMenuEvent::state() const + +    Returns the button state (a combination of mouse buttons and +    keyboard modifiers), i.e. what buttons and keys were being +    pressed immediately before the event was generated. + +    The returned value is \c LeftButton, \c RightButton, \c MidButton, +    \c ShiftButton, \c ControlButton and \c AltButton OR'ed together. +*/ + +/*! +    \fn bool TQContextMenuEvent::isConsumed() const + +    Returns TRUE (which stops propagation of the event) if the +    receiver has blocked the event; otherwise returns FALSE. + +    \sa accept(), ignore(), consume() +*/ + +/*! +    \fn void TQContextMenuEvent::consume() + +    Sets the consume flag of the context event object. + +    Setting the consume flag indicates that the receiver of this event +    does not want the event to be propagated further (i.e. not sent to +    tqparent classes.) + +    The consumed flag is not set by default. + +    \sa ignore() accept() +*/ + +/*! +    \fn bool TQContextMenuEvent::isAccepted() const + +    Returns TRUE if the receiver has processed the event; otherwise +    returns FALSE. + +    \sa accept(), ignore(), consume() +*/ + +/*! +    \fn void TQContextMenuEvent::accept() + +    Sets the accept flag of the context event object. + +    Setting the accept flag indicates that the receiver of this event +    has processed the event. Processing the event means you did +    something with it and it will be implicitly consumed. + +    The accept flag is not set by default. + +    \sa ignore() consume() +*/ + +/*! +    \fn void TQContextMenuEvent::ignore() + +    Clears the accept flag of the context event object. + +    Clearing the accept flag indicates that the receiver of this event +    does not need to show a context menu. This will implicitly remove +    the consumed flag as well. + +    The accept flag is not set by default. + +    \sa accept() consume() +*/ + +/*! +    \enum TQContextMenuEvent::Reason + +    This enum describes the reason the ContextMenuEvent was sent. The +    values are: + +    \value Mouse The mouse caused the event to be sent. Normally this +    means the right mouse button was clicked, but this is platform +    specific. + +    \value Keyboard The keyboard caused this event to be sent. On +    Windows this means the menu button was pressed. + +    \value Other The event was sent by some other means (i.e. not by +    the mouse or keyboard). +*/ + + +/*! +    \fn TQContextMenuEvent::Reason TQContextMenuEvent::reason() const + +    Returns the reason for this context event. +*/ + + +/*! +    \class TQIMEvent tqevent.h +    \brief The TQIMEvent class provides parameters for input method events. + +    \ingroup events + +    Input method events are sent to widgets when an input method is +    used to enter text into a widget. Input methods are widely used to +    enter text in Asian and other complex languages. + +    The events are of interest to widgets that accept keyboard input +    and want to be able to correctly handle complex languages. Text +    input in such languages is usually a three step process. + +    \list 1 +    \i <b>Starting to Compose</b><br> +    When the user presses the first key on a keyboard an input context +    is created. This input context will contain a string with the +    typed characters. + +    \i <b>Composing</b><br> +    With every new key pressed, the input method will try to create a +    matching string for the text typed so far. While the input context +    is active, the user can only move the cursor inside the string +    belonging to this input context. + +    \i <b>Completing</b><br> +    At some point, e.g. when the user presses the Spacebar, they get +    to this stage, where they can choose from a number of strings that +    match the text they have typed so far. The user can press Enter to +    confirm their choice or Escape to cancel the input; in either case +    the input context will be closed. +    \endlist + +    Note that the particular key presses used for a given input +    context may differ from those we've mentioned here, i.e. they may +    not be Spacebar, Enter and Escape. + +    These three stages are represented by three different types of +    events. The IMStartEvent, IMComposeEvent and IMEndEvent. When a +    new input context is created, an IMStartEvent will be sent to the +    widget and delivered to the \l TQWidget::imStartEvent() function. +    The widget can then update internal data structures to reflect +    this. + +    After this, an IMComposeEvent will be sent to the widget for +    every key the user presses. It will contain the current +    composition string the widget has to show and the current cursor +    position within the composition string. This string is temporary +    and can change with every key the user types, so the widget will +    need to store the state before the composition started (the state +    it had when it received the IMStartEvent). IMComposeEvents will be +    delivered to the \l TQWidget::imComposeEvent() function. + +    Usually, widgets try to mark the part of the text that is part of +    the current composition in a way that is visible to the user. A +    commonly used visual cue is to use a dotted underline. + +    After the user has selected the final string, an IMEndEvent will +    be sent to the widget. The event tqcontains the final string the +    user selected, and could be empty if they canceled the +    composition. This string should be accepted as the final text the +    user entered, and the intermediate composition string should be +    cleared. These events are delivered to \l TQWidget::imEndEvent(). + +    If the user clicks another widget, taking the focus out of the +    widget where the composition is taking place the IMEndEvent will +    be sent and the string it holds will be the result of the +    composition up to that point (which may be an empty string). +*/ + +/*! +    \fn  TQIMEvent::TQIMEvent( Type type, const TQString &text, int cursorPosition ) + +    Constructs a new TQIMEvent with the accept flag set to FALSE. \a +    type can be one of TQEvent::IMStartEvent, TQEvent::IMComposeEvent +    or TQEvent::IMEndEvent. \a text tqcontains the current compostion +    string and \a cursorPosition the current position of the cursor +    inside \a text. +*/ + +/*! +    \fn const TQString &TQIMEvent::text() const + +    Returns the composition text. This is a null string for an +    IMStartEvent, and tqcontains the final accepted string (which may be +    empty) in the IMEndEvent. +*/ + +/*! +    \fn int TQIMEvent::cursorPos() const + +    Returns the current cursor position inside the composition string. +    Will return -1 for IMStartEvent and IMEndEvent. +*/ + +/*! +    \fn int TQIMEvent::selectionLength() const + +    Returns the number of characters in the composition string ( +    starting at cursorPos() ) that should be marked as selected by the +    input widget receiving the event. +    Will return 0 for IMStartEvent and IMEndEvent. +*/ + +/*! +    \fn bool TQIMEvent::isAccepted() const + +    Returns TRUE if the receiver of the event processed the event; +    otherwise returns FALSE. +*/ + +/*! +    \fn void TQIMEvent::accept() + +    Sets the accept flag of the input method event object. + +    Setting the accept parameter indicates that the receiver of the +    event processed the input method event. + +    The accept flag is not set by default. + +    \sa ignore() +*/ + + +/*! +    \fn void TQIMEvent::ignore() + +    Clears the accept flag parameter of the input method event object. + +    Clearing the accept parameter indicates that the event receiver +    does not want the input method event. + +    The accept flag is cleared by default. + +    \sa accept() +*/ + +/*! +    \class TQTabletEvent tqevent.h +    \brief The TQTabletEvent class tqcontains parameters that describe a Tablet +    event. + +    \ingroup events + +    Tablet Events are generated from a Wacom© tablet. Most of +    the time you will want to deal with events from the tablet as if +    they were events from a mouse, for example retrieving the position +    with x(), y(), pos(), globalX(), globalY() and globalPos(). In +    some situations you may wish to retrieve the extra information +    provided by the tablet tqdevice driver, for example, you might want +    to adjust color brightness based on pressure. TQTabletEvent allows +    you to get the pressure(), the xTilt() and yTilt(), as well as the +    type of tqdevice being used with tqdevice() (see \l{TabletDevice}). + +    A tablet event tqcontains a special accept flag that indicates +    whether the receiver wants the event. You should call +    TQTabletEvent::accept() if you handle the tablet event; otherwise +    it will be sent to the tqparent widget. + +    The TQWidget::setEnabled() function can be used to enable or +    disable mouse and keyboard events for a widget. + +  The event handler TQWidget::tabletEvent() receives all three types of tablet +  events.  TQt will first send a tabletEvent and then, if it is not accepted, +  it will send a mouse event.  This allows applications that don't utilize +  tablets to use a tablet like a mouse while also enabling those who want to +  use both tablets and mouses differently. + +*/ + +/*! +    \enum TQTabletEvent::TabletDevice + +    This enum defines what type of tqdevice is generating the event. + +    \value NoDevice    No tqdevice, or an unknown tqdevice. +    \value Puck    A Puck (a tqdevice that is similar to a flat mouse with +    a transtqparent circle with cross-hairs). +    \value Stylus  A Stylus (the narrow end of the pen). +    \value Eraser  An Eraser (the broad end of the pen). +    \omit +    \value Menu  A menu button was pressed (currently unimplemented). +*/ + +/*! +  \fn TQTabletEvent::TQTabletEvent( Type t, const TQPoint &pos, +                                  const TQPoint &globalPos, int tqdevice, +                                  int pressure, int xTilt, int yTilt, +				  const TQPair<int,int> &uId ) +  Construct a tablet event of type \a t.  The position of when the event occurred is given +  int \a pos and \a globalPos.  \a tqdevice tqcontains the \link TabletDevice tqdevice type\endlink, +  \a pressure tqcontains the pressure exerted on the \a tqdevice, \a xTilt and \a yTilt contain +  \a tqdevice's degree of tilt from the X and Y axis respectively.  The \a uId tqcontains an +  event id. + +  On Irix, \a globalPos will contain the high-resolution coordinates received from the +  tablet tqdevice driver, instead of from the windowing system. + +  \sa pos(), globalPos(), tqdevice(), pressure(), xTilt(), yTilt() +*/ + +TQTabletEvent::TQTabletEvent( Type t, const TQPoint &pos, const TQPoint &globalPos, int tqdevice, +			    int pressure, int xTilt, int yTilt, +			    const TQPair<int, int> &uId ) +    : TQEvent( t ), +      mPos( pos ), +      mGPos( globalPos ), +      mDev( tqdevice ), +      mPress( pressure ), +      mXT( xTilt ), +      mYT( yTilt ), +      mType( uId.first ), +      mPhy( uId.second ), +      mbAcc(TRUE) +{} + +/*! +  \obsolete +  \fn TQTabletEvent::TQTabletEvent( const TQPoint &pos, const TQPoint &globalPos, int tqdevice, int pressure, int xTilt, int yTilt, const TQPair<int,int> &uId ) + +    Constructs a tablet event object. The position when the event +    occurred is is given in \a pos and \a globalPos. \a tqdevice +    tqcontains the \link TabletDevice tqdevice type\endlink, \a pressure +    tqcontains the pressure exerted on the \a tqdevice, \a xTilt and \a +    yTilt contain the \a tqdevice's degrees of tilt from the X and Y +    axis respectively. The \a uId tqcontains an event id. + +    On Irix, \a globalPos will contain the high-resolution coordinates +    received from the tablet tqdevice driver, instead of from the +    windowing system. + +  \sa pos(), globalPos(), tqdevice(), pressure(), xTilt(), yTilt() +*/ + +/*! +    \fn TabletDevices TQTabletEvent::tqdevice() const + +    Returns the type of tqdevice that generated the event. Useful if you +    want one end of the pen to do something different than the other. + +    \sa TabletDevice +*/ + +/*! +    \fn int TQTabletEvent::pressure() const + +    Returns the pressure that is exerted on the tqdevice. This number is +    a value from 0 (no pressure) to 255 (maximum pressure). The +    pressure is always scaled to be within this range no matter how +    many pressure levels the underlying hardware supports. +*/ + +/*! +    \fn int TQTabletEvent::xTilt() const + +    Returns the difference from the perpendicular in the X Axis. +    Positive values are towards the tablet's physical right. The angle +    is in the range -60 to +60 degrees. + +    \sa yTilt() +*/ + +/*! +    \fn int TQTabletEvent::yTilt() const + +    Returns the difference from the perpendicular in the Y Axis. +    Positive values are towards the bottom of the tablet. The angle is +    within the range -60 to +60 degrees. + +    \sa xTilt() +*/ + +/*! +    \fn const TQPoint &TQTabletEvent::pos() const + +    Returns the position of the tqdevice, relative to the widget that +    received the event. + +    If you move widgets around in response to mouse events, use +    globalPos() instead of this function. + +    \sa x(), y(), globalPos() +*/ + +/*! +    \fn int TQTabletEvent::x() const + +    Returns the x-position of the tqdevice, relative to the widget that +    received the event. + +    \sa y(), pos() +*/ + +/*! +    \fn int TQTabletEvent::y() const + +    Returns the y-position of the tqdevice, relative to the widget that +    received the event. + +    \sa x(), pos() +*/ + +/*! +    \fn const TQPoint &TQTabletEvent::globalPos() const + +    Returns the global position of the tqdevice \e{at the time of the +    event}. This is important on asynchronous windows systems like X11; +    whenever you move your widgets around in response to mouse events, +    globalPos() can differ significantly from the current position +    TQCursor::pos(). + +    \sa globalX(), globalY() +*/ + +/*! +    \fn int TQTabletEvent::globalX() const + +    Returns the global x-position of the mouse pointer at the time of +    the event. + +    \sa globalY(), globalPos() +*/ + +/*! +    \fn int TQTabletEvent::globalY() const + +    Returns the global y-position of the mouse pointer at the time of +    the event. + +    \sa globalX(), globalPos() +*/ + +/*! +    \fn bool TQTabletEvent::isAccepted() const + +    Returns TRUE if the receiver of the event handles the tablet +    event; otherwise returns FALSE. +*/ + +/*! +    \fn void TQTabletEvent::accept() + +    Sets the accept flag of the tablet event object. + +    Setting the accept flag indicates that the receiver of the event +    wants the tablet event. Unwanted tablet events are sent to the +    tqparent widget. + +    The accept flag is set by default. + +    \sa ignore() +*/ + +/*! +    \fn void TQTabletEvent::ignore() + +    Clears the accept flag parameter of the tablet event object. + +    Clearing the accept flag indicates that the event receiver does +    not want the tablet event. Unwanted tablet events are sent to the +    tqparent widget. + +    The accept flag is set by default. + +    \sa accept() +*/ + +/*! +    \fn TQPair<int, int> TQTabletEvent::uniqueId() + +    Returns a unique ID for the current tqdevice. It is possible to +    generate a unique ID for any Wacom© tqdevice. This makes it +    possible to differentiate between multiple tqdevices being used at +    the same time on the tablet. The \c first member tqcontains a value +    for the type, the \c second member tqcontains a physical ID obtained +    from the tqdevice. Each combination of these values is unique. Note: +    for different platforms, the \c first value is different due to +    different driver implementations. +*/ + +/*! +    \class TQChildEvent tqevent.h +    \brief The TQChildEvent class tqcontains event parameters for child object +    events. + +    \ingroup events + +    Child events are sent to objects when tqchildren are inserted or +    removed. + +    A \c ChildRemoved event is sent immediately, but a \c +    ChildInserted event is \e posted (with TQApplication::postEvent()). + +    Note that if a child is removed immediately after it is inserted, +    the \c ChildInserted event may be suppressed, but the \c +    ChildRemoved event will always be sent. In this case there will be +    a \c ChildRemoved event without a corresponding \c ChildInserted +    event. + +    The handler for these events is TQObject::childEvent(). +*/ + +/*! +    \fn TQChildEvent::TQChildEvent( Type type, TQObject *child ) + +    Constructs a child event object. The \a child is the object that +    is to be removed or inserted. + +    The \a type parameter must be either \c TQEvent::ChildInserted or +    \c TQEvent::ChildRemoved. +*/ + +/*! +    \fn TQObject *TQChildEvent::child() const + +    Returns the child widget that was inserted or removed. +*/ + +/*! +    \fn bool TQChildEvent::inserted() const + +    Returns TRUE if the widget received a new child; otherwise returns +    FALSE. +*/ + +/*! +    \fn bool TQChildEvent::removed() const + +    Returns TRUE if the object lost a child; otherwise returns FALSE. +*/ + + + + +/*! +    \class TQCustomEvent tqevent.h +    \brief The TQCustomEvent class provides support for custom events. + +    \ingroup events + +    TQCustomEvent is a generic event class for user-defined events. +    User defined events can be sent to widgets or other TQObject +    instances using TQApplication::postEvent() or +    TQApplication::sendEvent(). Subclasses of TQObject can easily +    receive custom events by implementing the TQObject::customEvent() +    event handler function. + +    TQCustomEvent objects should be created with a type ID that +    uniquely identifies the event type. To avoid clashes with the +    TQt-defined events types, the value should be at least as large as +    the value of the "User" entry in the TQEvent::Type enum. + +    TQCustomEvent tqcontains a generic void* data member that may be used +    for transferring event-specific data to the receiver. Note that +    since events are normally delivered asynchronously, the data +    pointer, if used, must remain valid until the event has been +    received and processed. + +    TQCustomEvent can be used as-is for simple user-defined event +    types, but normally you will want to make a subclass of it for +    your event types. In a subclass, you can add data members that are +    suitable for your event type. + +    Example: +    \code +    class ColorChangeEvent : public TQCustomEvent +    { +    public: +	ColorChangeEvent( TQColor color ) +	    : TQCustomEvent( 65432 ), c( color ) {} +	TQColor color() const { return c; } +    private: +	TQColor c; +    }; + +    // To send an event of this custom event type: + +    ColorChangeEvent* ce = new ColorChangeEvent( blue ); +    TQApplication::postEvent( receiver, ce );  // TQt will delete it when done + +    // To receive an event of this custom event type: + +    void MyWidget::customEvent( TQCustomEvent * e ) +    { +	if ( e->type() == 65432 ) {  // It must be a ColorChangeEvent +	    ColorChangeEvent* ce = (ColorChangeEvent*)e; +	    newColor = ce->color(); +	} +    } +    \endcode + +    \sa TQWidget::customEvent(), TQApplication::notify() +*/ + + +/*! +    Constructs a custom event object with event type \a type. The +    value of \a type must be at least as large as TQEvent::User. The +    data pointer is set to 0. +*/ + +TQCustomEvent::TQCustomEvent( int type ) +    : TQEvent( (TQEvent::Type)type ), d( 0 ) +{ +} + + +/*! +    \fn TQCustomEvent::TQCustomEvent( Type type, void *data ) + +    Constructs a custom event object with the event type \a type and a +    pointer to \a data. (Note that any int value may safely be cast to +    TQEvent::Type). +*/ + + +/*! +    \fn void TQCustomEvent::setData( void* data ) + +    Sets the generic data pointer to \a data. + +    \sa data() +*/ + +/*! +    \fn void *TQCustomEvent::data() const + +    Returns a pointer to the generic event data. + +    \sa setData() +*/ + + + +/*! +    \fn TQDragMoveEvent::TQDragMoveEvent( const TQPoint& pos, Type type ) + +    Creates a TQDragMoveEvent for which the mouse is at point \a pos, +    and the event is of type \a type. + +    \warning Do not create a TQDragMoveEvent yourself since these +    objects rely on TQt's internal state. +*/ + +/*! +    \fn void TQDragMoveEvent::accept( const TQRect & r ) + +    The same as accept(), but also notifies that future moves will +    also be acceptable if they remain within the rectangle \a r on the +    widget: this can improve performance, but may also be ignored by +    the underlying system. + +    If the rectangle is \link TQRect::isEmpty() empty\endlink, then +    drag move events will be sent continuously. This is useful if the +    source is scrolling in a timer event. +*/ + +/*! +    \fn void TQDragMoveEvent::ignore( const TQRect & r) + +    The opposite of accept(const TQRect&), i.e. says that moves within +    rectangle \a r are not acceptable (will be ignored). +*/ + +/*! +    \fn TQRect TQDragMoveEvent::answerRect() const + +    Returns the rectangle for which the acceptance of the move event +    applies. +*/ + + + +/*! +    \fn const TQPoint& TQDropEvent::pos() const + +    Returns the position where the drop was made. +*/ + +/*! +    \fn bool TQDropEvent::isAccepted () const + +    Returns TRUE if the drop target accepts the event; otherwise +    returns FALSE. +*/ + +/*! +    \fn void TQDropEvent::accept(bool y=TRUE) + +    Call this function to indicate whether the event provided data +    which your widget processed. Set \a y to TRUE (the default) if +    your widget could process the data, otherwise set \a y to FALSE. +    To get the data, use tqencodedData(), or preferably, the decode() +    methods of existing TQDragObject subclasses, such as +    TQTextDrag::decode(), or your own subclasses. + +    \sa acceptAction() +*/ + +/*! +    \fn void TQDropEvent::acceptAction(bool y=TRUE) + +    Call this to indicate that the action described by action() is +    accepted (i.e. if \a y is TRUE, which is the default), not merely +    the default copy action. If you call acceptAction(TRUE), there is +    no need to also call accept(TRUE). +*/ + +/*! +  \fn void TQDragMoveEvent::accept( bool y ) +  \reimp +  \internal +  Remove in 3.0 +*/ + +/*! +  \fn void TQDragMoveEvent::ignore() +  \reimp +  \internal +  Remove in 3.0 +*/ + + +/*! +    \enum TQDropEvent::Action + +    This enum describes the action which a source requests that a +    target perform with dropped data. + +    \value Copy The default action. The source simply uses the data +		provided in the operation. +    \value Link The source should somehow create a link to the +		location specified by the data. +    \value Move The source should somehow move the object from the +		location specified by the data to a new location. +    \value Private  The target has special knowledge of the MIME type, +		which the source should respond to in a similar way to +		a Copy. +    \value UserAction  The source and target can co-operate using +		special actions. This feature is not currently +		supported. + +    The Link and Move actions only makes sense if the data is a +    reference, for example, text/uri-list file lists (see TQUriDrag). +*/ + +/*! +    \fn void TQDropEvent::setAction( Action a ) + +    Sets the action to \a a. This is used internally, you should not +    need to call this in your code: the \e source decides the action, +    not the target. +*/ + +/*! +    \fn Action TQDropEvent::action() const + +    Returns the Action which the target is requesting to be performed +    with the data. If your application understands the action and can +    process the supplied data, call acceptAction(); if your +    application can process the supplied data but can only perform the +    Copy action, call accept(). +*/ + +/*! +    \fn void TQDropEvent::ignore() + +    The opposite of accept(), i.e. you have ignored the drop event. +*/ + +/*! +    \fn bool TQDropEvent::isActionAccepted () const + +    Returns TRUE if the drop action was accepted by the drop site; +    otherwise returns FALSE. +*/ + + +/*! +    \fn void TQDropEvent::setPoint (const TQPoint & np) + +    Sets the drop to happen at point \a np. You do not normally need +    to use this as it will be set internally before your widget +    receives the drop event. +*/ // ### here too - what coordinate system? + + +/*! +    \class TQDragEnterEvent tqevent.h +    \brief The TQDragEnterEvent class provides an event which is sent to the widget when a drag and drop first drags onto the widget. + +    \ingroup events +    \ingroup draganddrop + +    This event is always immediately followed by a TQDragMoveEvent, so +    you only need to respond to one or the other event. This class +    inherits most of its functionality from TQDragMoveEvent, which in +    turn inherits most of its functionality from TQDropEvent. + +    \sa TQDragLeaveEvent, TQDragMoveEvent, TQDropEvent +*/ + +/*! +    \fn TQDragEnterEvent::TQDragEnterEvent (const TQPoint & pos) + +    Constructs a TQDragEnterEvent entering at the given point, \a pos. + +    \warning Do not create a TQDragEnterEvent yourself since these +    objects rely on TQt's internal state. +*/ + +/*! +    \class TQDragLeaveEvent tqevent.h +    \brief The TQDragLeaveEvent class provides an event which is sent to the widget when a drag and drop leaves the widget. + +    \ingroup events +    \ingroup draganddrop + +    This event is always preceded by a TQDragEnterEvent and a series of +    \l{TQDragMoveEvent}s. It is not sent if a TQDropEvent is sent +    instead. + +    \sa TQDragEnterEvent, TQDragMoveEvent, TQDropEvent +*/ + +/*! +    \fn TQDragLeaveEvent::TQDragLeaveEvent() + +    Constructs a TQDragLeaveEvent. + +    \warning Do not create a TQDragLeaveEvent yourself since these +    objects rely on TQt's internal state. +*/ + +/*! +    \class TQHideEvent tqevent.h +    \brief The TQHideEvent class provides an event which is sent after a widget is hidden. + +    \ingroup events + +    This event is sent just before TQWidget::hide() returns, and also +    when a top-level window has been hidden (iconified) by the user. + +    If spontaneous() is TRUE the event originated outside the +    application, i.e. the user hid the window using the window manager +    controls, either by iconifying the window or by switching to +    another virtual desktop where the window isn't visible. The window +    will become hidden but not withdrawn. If the window was iconified, +    TQWidget::isMinimized() returns TRUE. + +    \sa TQShowEvent +*/ + +/*! +    \fn TQHideEvent::TQHideEvent() + +    Constructs a TQHideEvent. +*/ + +/*! +    \class TQShowEvent tqevent.h +    \brief The TQShowEvent class provides an event which is sent when a widget is shown. + +    \ingroup events + +    There are two kinds of show events: show events caused by the +    window system (spontaneous) and internal show events. Spontaneous +    show events are sent just after the window system shows the +    window, including after a top-level window has been shown +    (un-iconified) by the user. Internal show events are delivered +    just before the widget becomes visible. + +    \sa TQHideEvent +*/ + +/*! +    \fn TQShowEvent::TQShowEvent() + +    Constructs a TQShowEvent. +*/ + + +/*! +  \fn TQByteArray TQDropEvent::data(const char* f) const + +  \obsolete + +  Use TQDropEvent::tqencodedData(). +*/ + + +/*! +  Destroys the event. If it was \link +  TQApplication::postEvent() posted \endlink, +  it will be removed from the list of events to be posted. +*/ + +TQEvent::~TQEvent() +{ +    if ( posted && tqApp ) +	TQApplication::removePostedEvent( this ); +} + +#endif // USE_QT4
\ No newline at end of file | 
