TABLE OF CONTENTS Family.mui/Family.mui Family.mui/MUIM_Family_AddHead Family.mui/MUIM_Family_AddTail Family.mui/MUIM_Family_Insert Family.mui/MUIM_Family_Remove Family.mui/MUIM_Family_Sort Family.mui/MUIM_Family_Transfer Family.mui/MUIA_Family_Child Family.mui/Family.mui Family class is the base class for objects that are able to handle a list of children. This is e.g. the case for MUIs Menustrip, Menu and Menuitem objects. Family class defines methods and attributes to add and remove children, sort children, and transfer children to other Family objects. Group class and application class should also be a subclass of Family class, but due to BOOPSI system limitations, this is currently impossible. If the future will allow more logical class trees, things might change, but everything will be done in a compatible manner. Family.mui/MUIM_Family_AddHead NAME MUIM_Family_AddHead (V8 ) SYNOPSIS DoMethod(obj,MUIM_Family_AddHead,Object *obj); FUNCTION Add an object as first object to the family. Subclasses of family class usually define which types of objects are possible within their family. INPUTS obj - the object to be added. SEE ALSO MUIM_Family_AddTail, MUIM_Family_Insert, MUIM_Family_Remove, MUIA_Family_Child Family.mui/MUIM_Family_AddTail NAME MUIM_Family_AddTail (V8 ) SYNOPSIS DoMethod(obj,MUIM_Family_AddTail,Object *obj); FUNCTION Add an object as last object to the family. Subclasses of family class usually define which types of objects are possible within their family. This method does the same as OM_ADDMEMBER. INPUTS obj - the object to be added. SEE ALSO MUIM_Family_AddHead, MUIM_Family_Insert, MUIM_Family_Remove, MUIA_Family_Child Family.mui/MUIM_Family_Insert NAME MUIM_Family_Insert (V8 ) SYNOPSIS DoMethod(obj,MUIM_Family_Insert,Object *obj, Object *pred); FUNCTION Add an object after another object to the family. Subclasses of family class usually define which types of objects are possible within their family. INPUTS obj - the object to be added. pred - the new object is inserted *after* this object. pred must of course be a member of the family. SEE ALSO MUIM_Family_AddTail, MUIM_Family_AddHead, MUIM_Family_Remove, MUIA_Family_Child Family.mui/MUIM_Family_Remove NAME MUIM_Family_Remove (V8 ) SYNOPSIS DoMethod(obj,MUIM_Family_Remove,Object *obj); FUNCTION Remove an object from a family. This method does the same as OM_REMMEMBER. INPUTS obj - the object to be removed. SEE ALSO MUIM_Family_AddTail, MUIM_Family_Insert, MUIM_Family_AddHead, MUIA_Family_Child Family.mui/MUIM_Family_Sort NAME MUIM_Family_Sort (V8 ) SYNOPSIS DoMethod(obj,MUIM_Family_Sort,Object *obj[1]); FUNCTION Sort the children of a family. INPUTS child - array that contains *all* the children of the family in the desired order. The array must be terminated with a NULL entry. SEE ALSO MUIA_Family_Child Family.mui/MUIM_Family_Transfer NAME MUIM_Family_Transfer (V8 ) SYNOPSIS DoMethod(obj,MUIM_Family_Transfer,Object *family); FUNCTION All the children of the family are removed and added to another family in the same order. INPUTS family - the destination family. SEE ALSO MUIA_Family_Child Family.mui/MUIA_Family_Child NAME MUIA_Family_Child -- (V8 ) [I..], Object * FUNCTION You supply a pointer to a previously created MUI object here. This object will be added to family at family creation time. Of course you can specify any number of child objects, limited only by available memory. Normally, the value for a MUIA_Family_Child tag is a direct call to another MUI_NewObject(), children are generated "on the fly". When a family is disposed, all of its children will also get deleted. If you supply a NULL pointer as child, the family object will fail and previously dispose all valid children found in the taglist. This behaviour makes it possible to generate a complete family within one single (but long) MUI_NewObject() call. Error checking is not necessary since every error, even if it occurs in a very deep nesting level, will cause the complete call to fail without leaving back any previously created object. NOTES As a special case, MUIA_Group_Child is also recognized and treated as MUIA_Family_Child. SEE ALSO MUIM_Family_AddTail, MUIM_Family_Insert, MUIM_Family_AddHead, MUIA_Family_Remove .