This is the verbatim text of the qevent.h include file. It is is provided only for illustration; the copyright remains with Troll Tech.


/****************************************************************************
** $Id: qevent.h,v 1.16 1995/06/27 16:15:41 agulbra Exp $
**
** Definition of event classes
**
** Author  : Haavard Nord
** Created : 931029
**
** Copyright (C) 1993,1995 by Troll Tech AS.  All rights reserved.
**
*****************************************************************************/

#ifndef QEVENT_H
#define QEVENT_H

#include "qwindefs.h"
#include "qrect.h"


#define Event_None                  0           // invalid event
#define Event_Timer                 1           // timer event
#define Event_MouseButtonPress      2           // mouse button pressed
#define Event_MouseButtonRelease    3           // mouse button released
#define Event_MouseButtonDblClick   4           // mouse button double click
#define Event_MouseMove             5           // mouse move
#define Event_KeyPress              6           // key pressed
#define Event_KeyRelease            7           // key released
#define Event_FocusIn               8           // keyboard focus received
#define Event_FocusOut              9           // keyboard focus lost
#define Event_Enter                10           // mouse enters widget
#define Event_Leave                11           // mouse leaves widget
#define Event_Paint                12           // paint widget
#define Event_Move                 13           // move widget
#define Event_Resize               14           // resize widget
#define Event_Create               15           // after object creation
#define Event_Destroy              16           // during object destruction
#define Event_Close                19           // request to close widget
#define Event_Quit                 20           // request to quit application
#define Event_AccelInserted        50           // internal
#define Event_User               1000           // first user event id


class QEvent                                    // event base class
{
public:
    QEvent( int type )          { t=type; posted=FALSE; }
   ~QEvent()                    { if ( posted ) peErrMsg(); }
    int   type()        const   { return t; }   // event type
protected:
    int   t;
    bool  posted;
private:
    void  peErrMsg();
};


class QTimerEvent : public QEvent               // timer event
{
public:
    QTimerEvent( int timerId )
        : QEvent(Event_Timer)   { id=timerId; }
    int   timerId()     const   { return id; }  // timer identifier
protected:
    int   id;
};

#define Q_TIMER_EVENT(x)        ((QTimerEvent*)x)


enum ButtonState {                              // mouse/keyboard state values
    NoButton       = 0x00,
    LeftButton     = 0x01,
    RightButton    = 0x02,
    MidButton      = 0x04,
    ShiftButton    = 0x08,
    ControlButton  = 0x10,
    AltButton      = 0x20
};

class QMouseEvent : public QEvent               // mouse event
{
public:
    QMouseEvent( int type, const QPoint &pos, int button, int state )
        : QEvent(type)          { p=pos; b=button; st=(ushort)state; }
    QPoint &pos()               { return p; }   // mouse position
    int    button()     const   { return b; }   // button which caused event
    int    state()      const   { return st; }  // button state (OR'ed)
protected:
    QPoint p;
    int    b;
    ushort st;
};

#define Q_MOUSE_EVENT(x)        ((QMouseEvent*)x)


class QKeyEvent : public QEvent                 // keyboard event
{
public:
    QKeyEvent( int type, int kc, char ac, int state )
        : QEvent(type)          { k=(ushort)kc; a=ac; st=(ushort)state;
                                  accpt=TRUE; accel=0; }
    int    key()        const   { return k; }   // key code (Key_Code)
    unsigned char ascii() const { return a; }   // ascii value
    int    state()      const   { return st; }  // keyboard status
    bool   isAccepted() const   { return accpt; }
    void   accept()             { accpt = TRUE; }
    void   ignore()             { accpt = FALSE; }
protected:
    ushort k, st, a;
    char   accpt, accel;
};

#define Q_KEY_EVENT(x)          ((QKeyEvent*)x)


class QFocusEvent : public QEvent               // widget focus event
{
public:
    QFocusEvent( int type )
        : QEvent(type)          {}
};

#define Q_FOCUS_EVENT(x)        ((QFocusEvent*)x)


class QPaintEvent : public QEvent               // widget paint event
{
public:
    QPaintEvent( const QRect &paintRect )
        : QEvent(Event_Paint)   { r=paintRect; }
    QRect &rect()               { return r; }   // rectangle to be painted
protected:
    QRect r;
};

#define Q_PAINT_EVENT(x)        ((QPaintEvent*)x)


class QMoveEvent : public QEvent                // widget move event
{
public:
    QMoveEvent( const QPoint &pos )
        : QEvent(Event_Move)    { p=pos; }
    QPoint &pos()               { return p; }   // widget position
protected:
    QPoint p;
};

#define Q_MOVE_EVENT(x)         ((QMoveEvent*)x)


class QResizeEvent : public QEvent              // widget resize event
{
public:
    QResizeEvent( const QSize &size )
        : QEvent(Event_Resize)  { s=size; }
    QSize &size()               { return s; }   // widget size
protected:
    QSize s;
};

#define Q_RESIZE_EVENT(x)       ((QResizeEvent*)x)


class QCloseEvent : public QEvent               // widget close event
{
public:
    QCloseEvent()
        : QEvent(Event_Close)   { accpt = TRUE; }
    bool   isAccepted() const   { return accpt; }
    void   accept()             { accpt = TRUE; }
    void   ignore()             { accpt = FALSE; }
protected:
    bool   accpt;
};

#define Q_CLOSE_EVENT(x)        ((QCloseEvent*)x)


#endif // QEVENT_H


Generated at 16:17, 1995/06/30 by the webmaster at Troll Tech