VisComp: 2.2 VisCompClass Instance Data: VCI_gadgetExcl

Up: GEOS SDK TechDocs | Up | Prev: 2.1 VCI_comp | Next: 2.3 VCI_window

Since the composite object must manage several other objects, it must also keep track of certain hierarchies used by the UI; the gadget exclusive is one of these. Within each branch of the visible object tree, only one visible object may have the gadget exclusive at a time. The gadget exclusive is kept track of via a path of pointers from the top of the tree down to the object having the exclusive.

The VCI_gadgetExcl field determines which child of the composite has the gadget exclusive. The child indicated in this field may or may not actually have the gadget exclusive for the entire visible tree; if the branch does not have the exclusive, neither will the child object. The gadget exclusive is similar to the other hierarchies of the input manager and acts the same way.

Applications never access the VCI_gadgetExcl field of a composite directly. Instead, this field may be set with the following three VisClass messages:

MSG_VIS_TAKE_GADGET_EXCL
This message causes a visible object to set itself as having the gadget exclusive. The object's parent composite will set its VCI_gadgetExcl field appropriately.
MSG_VIS_RELEASE_GADGET_EXCL
This message causes a visible object to relinquish its hold on the gadget exclusive. The object's parent composite will set its VCI_gadgetExcl field appropriately.
MSG_VIS_LOST_GADGET_EXCL
This message is sent to the object having the gadget exclusive for that branch when it has lost the exclusive.

The above messages are detailed in the VisClass chapter.


Up: GEOS SDK TechDocs | Up | Prev: 2.1 VCI_comp | Next: 2.3 VCI_window