Generic UI Controllers: 6 GenToolGroupClass

Up: GEOS SDK TechDocs | Up | Prev: 5 GenToolControlClass | Next: 7 Other Controllers

The GenToolGroup object is used to group tools for an individual controller. It is highly unlikely you will ever need to subclass or interact directly with GenToolGroupClass , though you will often use GenToolControl objects.

GenToolGroupClass is subclassed from GenInteractionClass because its primary functions are grouping and geometry management. Each GenControl object in your application should have exactly one GenToolGroup associated with it, and all the GenToolGroups should appear in the Tool Group List of the GenToolControl.

GenToolGroupClass has one instance data field in addition to those inherited from GenInteractionClass :

@instance optr			 GTGI_controller;
    @default GI_states = (@default & ~GS_ENABLED);

This field contains the optr of the GenControl object whose tools are managed by this GenToolGroup. This field is nearly always set in your .goc file.

The GenToolGroup also has a temporary vardata field that indicates the color in which the tool group should be highlighted; this allows the user to better see which set of tools is being "discussed" (e.g. which set is currently being manipulated by the GenToolControl).

@vardata Color  TEMP_TOOL_GROUP_HIGHLIGHT;

To set the highlight type, GenToolGroupClass has a single message. MSG_GEN_TOOL_GROUP_SET_HIGHLIGHT sets the color of the group's highlight; if the group should not be highlighted, the color should be set to -1.

MSG_GEN_TOOL_GROUP_SET_HIGHLIGHT
void	MSG_GEN_TOOL_GROUP_SET_HIGHLIGHT(
        ToolGroupHighlightType			hlType);

This message sets the highlight color of the tool group. This is used almost exclusively by the GenToolControl.

Source: GenToolControl object; can also be sent by others.

Destination: The GenToolGroup whose highlight color is to be set.

Parameters: hlType The new highlight type to be used by the tool group. The values are TGHT_INACTIVE_HIGHLIGHT, TGHT_ACTIVE_HIGHLIGHT, and TGHT_NO_HIGHLIGHT.

Return: Nothing.

Interception: Should not be intercepted.


Up: GEOS SDK TechDocs | Up | Prev: 5 GenToolControlClass | Next: 7 Other Controllers