IN_EXCLUDE
IN_EXCLUDE [id]
{
[Common flags]
[NUM_FLAGS n;]
[INIT_STATE s;]
[IMAGE_n_ON|OFF id;]
[ACCEPT idlist;]
[REFUSE idlist;]
}
Represents
InExcludeData
objects in a container, rendered as a drop area for objects.
Specify what kinds of nodes are accepted and/or refused for this field with
ACCEPT
and/or
REFUSE
.
Optionally the dropped objects get up to 32 icons next to them, each with an on/off state.
Further specify what objects are accepted by listening for MSG_DESCRIPTION_CHECKDRAGANDDROP in NodeData::Message() and returning true of false depending on the DescriptionCheckDragAndDrop data:
SplineRailObject::Message(GeListNode *node, Int32 type, void *data) { ... if (type== MSG_DESCRIPTION_CHECKDRAGANDDROP ) { DescriptionCheckDragAndDrop *dcu = static_cast< DescriptionCheckDragAndDrop * > (data); switch (dcu->id[0].id) { case SPLINERAILOBJECT_SPLINE1 : case SPLINERAILOBJECT_SPLINE2 : case SPLINERAILOBJECT_SPLINE3 : case SPLINERAILOBJECT_SPLINE4 : dcu->result = dcu->element->GetInfo() & OBJECT_SPLINE; return true ; } } }
| NUM_FLAGS n; | The number of icons, between 0 and 32 . |
| INIT_STATE s; | The initial state of the icons: icon(n) == s & (1 << (n-1)) . |
| IMAGE_n_ON|OFF id; | The icon IDs for each flag's icons. |
| ACCEPT idlist; | The node types to accept, separated with semi-colons. |
| REFUSE idlist; | The node types to refuse, separated with semi-colons. |
IN_EXCLUDE MY_INEXCLUDE_LIST
{
NUM_FLAGS 4;
INIT_STATE 8;
// IMAGE_04 ON, the rest OFF
IMAGE_01_ON 1009313;
IMAGE_02_ON 1009314;
IMAGE_03_ON 1009315;
IMAGE_04_ON 1009316;
IMAGE_01_OFF 1009317;
IMAGE_02_OFF 1009318;
IMAGE_03_OFF 1009319;
IMAGE_04_OFF 1009320;
ACCEPT {
Obase
; };
}