VisComp: 2 VisCompClass Instance Data

Up: GEOS SDK TechDocs | Up | Down | Prev: 1 VisCompClass Features | Next: 3 Using VisCompClass

As stated above, VisCompClass inherits all the instance data fields from VisClass . All of those fields may be set and reset as they could be for an object of that class. Composite objects also have four other instance fields, shown in VisCompClass Instance Fields .

Code Display 16-1 VisCompClass Instance Fields

/* The VisCompClass instance data fields are shown below and are discussed in
 * detail throughout the chapter. */
	/* VCI_comp
	 * VCI_comp contains the link to the composite object's first child. */
    @instance @composite				 VCI_comp = VI_link;
	/* VCI_gadgetExcl
	 * VCI_gadgetExcl is an optr to the object that currently has the gadget
	 * exclusive. This field is rarely used directly by applications. */
    @instance optr				 VCI_gadgetExcl;
	/* VCI_window
	 * VCI_window contains the window handle of the graphics window associated
	 * with this object. This field is rarely accessed directly by
	 * applications; it is set by the visual update mechanism. */
    @instance WindowHandle				 VCI_window = NullHandle;
	/* VCI_geoAttrs
	 * VCI_geoAttrs is a record that defines some of the geometry management
	 * information for the composite. None of its values are set by default;
	 * the possible flags in this record are shown after the definition. */
    @instance VisCompGeoAttrs				 VCI_geoAttrs = 0;
	/* Possible flags:
	 *	VCGA_ORIENT_CHILDREN_VERTICALLY					0x80
	 *	VCGA_INCLUDE_ENDS_IN_CHILD_SPACING					0x40
	 *	VCGA_ALLOW_CHILDREN_TO_WRAP					0x20
	 *	VCGA_ONE_PASS_OPTIMIZATION					0x10
	 *	VCGA_CUSTOM_MANAGE_CHILDREN					0x08
	 *	VCGA_HAS_MINIMUM_SIZE					0x04
	 *	VCGA_WRAP_AFTER_CHILD_COUNT					0x02
	 *	VCGA_ONLY_DRAWS_IN_MARGINS 					0x01
	 */
	/* VCI_geoDimensionAttrs
	 * VCI_geoDimensionAttrs is a record that contains additional information
	 * about the composite's geometry. This field contains two two-bit fields
	 * among its other flags. The default settings are shown in the definition;
	 * all possible flags and settings are shown following. */
    @instance  VisCompGeoDimensionAttrs					 VCI_geoDimensionAttrs = 0;
	/* Possible flags:
	  * Width Justification flags (mutually exclusive):
	 * VCGDA_WIDTH_JUSTIFICATION						0xc0
	 *	WJ_LEFT_JUSTIFY_CHILDREN					0x00
	 *	WJ_RIGHT_JUSTIFY_CHILDREN					0x40
	 *	WJ_CENTER_CHILDREN_HORIZONTALLY					0x80
	 *	WJ_FULL_JUSTIFY_CHILDREN_HORIZONTALLY					0xc0
	 *
	 * Height Justification flags (mutually exclusive):
	 * VCGDA_HEIGHT_JUSTIFICATION 						0x0c
	 *	HJ_TOP_JUSTIFY_CHILDREN					0x00
	 *	HJ_BOTTOM_JUSTIFY_CHILDREN,					0x04
	 *	HJ_CENTER_CHILDREN_VERTICALLY					0x08
	 *	HJ_FULL_JUSTIFY_CHILDREN_VERTICALLY					0x0c
	 *
	 * Other flags:
	 *	VCGDA_EXPAND_WIDTH_TO_FIT_PARENT					0x20
	 *	VCGDA_DIVIDE_WIDTH_EQUALLY					0x10
	 *	VCGDA_EXPAND_HEIGHT_TO_FIT_PARENT					0x02
	 *	VCGDA_DIVIDE_HEIGHT_EQUALLY					0x01
	 */
    @default  VI_typeFlags = VTF_IS_COMPOSITE;

Up: GEOS SDK TechDocs | Up | Down | Prev: 1 VisCompClass Features | Next: 3 Using VisCompClass