#define MXDISABLEGADG 0x0001 /* gadget forces disable of exclude group */ #define MXENABLEGADG 0x0002 /* gadget forces enable of exclude group */ #define MXGADGONOFF 0x0004 /* gadget is enabled/disabled by the flags MXENABLEGADG/MXDISABLEGADG */ #define MXSELECT 0x0008 /* Gadget is SELECTED (but disabled) */ #define GadgFlagSet(x,y) ((x->Flags & (y)) == (y)) #define GadgFlagNotSet(x,y) (GadgFlagSet(x,y) == 0) #define MxFlagSet(x,y) (((int)(x->UserData) & (y)) == (y)) #define MxFlagNotSet(x,y) (MxFlagSet(x,y) == 0) #define SetGadgFlag(x,y) (x->Flags |= (y)) #define ClearGadgFlag(x,y) (x->Flags &= ~(y)) #define SetMxFlag(x,y) (x->UserData = (APTR) ((int)(x->UserData) | (y))) #define ClearMxFlag(x,y) (x->UserData = (APTR) ((int)(x->UserData) & ~(y))) #define isSelected(x) (GadgFlagSet(x,SELECTED)) #define isMxSelected(x) (MxFlagSet(x,MXSELECT)) #define isAnySelected(x) (GadgFlagSet(x,SELECTED) || MxFlagSet(x,MXSELECT)) #define isNotSelected(x) (isSelected(x) == 0) #define isDisabled(x) (GadgFlagSet(x,GADGDISABLED)) #define isNotDisabled(x) (isDisabled(x) == 0) #define isMxGadget(x) (x->MutualExclude != 0) #define isReqGadg(x) ((x->GadgetType & REQGADGET) == REQGADGET) #define isNotReqGadg(x) (isReqGadg(x) == 0) #define MxAddGadget AddGadget #define MxRemoveGadget RemoveGadget #define MxRefreshGadgets RefreshGadgets struct MxGadgetMasks { LONG DisableMask; /* stores the Disable mask for the window */ LONG EnableMask; /* stores the Enable mask for the window */ BYTE *UserData; /* allows more user extensions */ };