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