home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 5
/
FreshFish_July-August1994.bin
/
bbs
/
gnu
/
aplusplus-1.01-src.lha
/
src
/
amiga
/
aplusplus-1.01
/
include
/
aplusplus
/
intuition
/
IntuiMessageC.h
< prev
next >
Wrap
C/C++ Source or Header
|
1994-05-04
|
3KB
|
83 lines
#ifndef APP_IntuiMessageC_H
#define APP_IntuiMessageC_H
/******************************************************************************
**
** C++ Class Library for the Amiga© system software.
**
** Copyright (C) 1994 by Armin Vogt ** EMail: armin@uni-paderborn.de
** All Rights Reserved.
**
** $VER: apphome:APlusPlus/intuition/IntuiMessageC.h 1.04 (04.05.94) $
**
******************************************************************************/
extern "C" {
#include <intuition/intuition.h>
}
/** The IDCMPClass defines a type for all IntuiMessage Classes that makes it impossible to
** give a false Class value as parameter where an IntuiMessage Class is requested.
**/
enum IDCMPClass {
CLASS_SIZEVERIFY = IDCMP_SIZEVERIFY ,
CLASS_NEWSIZE = IDCMP_NEWSIZE ,
CLASS_REFRESHWINDOW = IDCMP_REFRESHWINDOW ,
CLASS_MOUSEBUTTONS = IDCMP_MOUSEBUTTONS,
CLASS_MOUSEMOVE = IDCMP_MOUSEMOVE ,
CLASS_GADGETDOWN = IDCMP_GADGETDOWN ,
CLASS_GADGETUP = IDCMP_GADGETUP ,
CLASS_REQSET = IDCMP_REQSET ,
CLASS_MENUPICK = IDCMP_MENUPICK ,
CLASS_CLOSEWINDOW = IDCMP_CLOSEWINDOW,
CLASS_RAWKEY = IDCMP_RAWKEY ,
CLASS_REQVERIFY = IDCMP_REQVERIFY ,
CLASS_REQCLEAR = IDCMP_REQCLEAR ,
CLASS_MENUVERIFY = IDCMP_MENUVERIFY ,
CLASS_NEWPREFS = IDCMP_NEWPREFS ,
CLASS_DISKINSERTED = IDCMP_DISKINSERTED ,
CLASS_DISKREMOVED = IDCMP_DISKREMOVED ,
CLASS_WBENCHMESSAGE = IDCMP_WBENCHMESSAGE ,
CLASS_ACTIVEWINDOW = IDCMP_ACTIVEWINDOW ,
CLASS_INACTIVEWINDOW = IDCMP_INACTIVEWINDOW ,
CLASS_DELTAMOVE = IDCMP_DELTAMOVE ,
CLASS_VANILLAKEY = IDCMP_VANILLAKEY ,
CLASS_INTUITICKS = IDCMP_INTUITICKS ,
CLASS_IDCMPUPDATE = IDCMP_IDCMPUPDATE ,
CLASS_MENUHELP = IDCMP_MENUHELP ,
CLASS_CHANGEWINDOW = IDCMP_CHANGEWINDOW ,
CLASS_LONELYMESSAGE = IDCMP_LONELYMESSAGE
};
/******************************************************************************************
» IntuiMessageC class «
enhances the IntuiMessages structure with useful methods. The IntuiMessage is inherited
publically, therefore access is permitted to all structure members, but not recommended.
The provided methods should handle all necessary access in a safe manner.
******************************************************************************************/
class WindowCV;
class GadgetCV;
class GWindow;
class IntuiMessageC : public IntuiMessage
{
friend GWindow;
private:
IntuiMessageC(IDCMPClass);
public:
IDCMPClass getClass() const { return (IDCMPClass)Class; }
APTR getIAddress() const { return (APTR)IAddress; }
BOOL isFakeMsg() const; // returns TRUE on GADGETUP/DOWN msg. that was created from GWindow
/* The following decode methods transfer Intuition objects into APlusPlus IntuiObjects.
** They may return NULL if it was not possible to gain the encapsulating object.
*/
WindowCV *decodeWindowCV() const; // get the message emanating window (safe on all messages)
GadgetCV *decodeGadgetCV() const; // get the sending GadgetCV object (safe)
};
#endif