+ (id) groupWithColumns:(ULONG)cols objects:(MUIObject *)child, ... ;
+ (id) groupWithObjects:(MUIObject *)child, ... ;
+ (id) groupWithPages:(MUIObject *)child, ... ;
+ (id) groupWithRows:(ULONG)rows objects:(MUIObject *)child, ... ;
+ (id) horizontalGroupWithObjects:(MUIObject *)child, ... ;
- (LONG) activePage

Set (or get) the active page of a page group. Only this active page is displayed, all others are hidden.

The value may range from 0 (for the first child) to numchildren-1 (for the last child). Children are adressed in the order of creation:

PageGroup, Child, Page_0_Object, Child, Page_1_Object, Child, Page_2_Object, Child, Page_3_Object, End;

Note: You may *never* supply an incorrect page value!

- (ULONG) childCount

Number of child objects excluding floating members, etc

- (void) exitChange

Terminates MUIM_Group_InitChange state.

- (void) exitChange2:(ULONG)flags
- (id) fistChild

Returns a child (member) object excluding floating objects

- (LONG) horizCenter

When a group layouts its children and a child is smaller than the actual space the group wants it to fill, this tag indicates wether to

0 - left align 1 - center (this is the default) 2 - right align

- (LONG) horizSpacing

Number of pixels to be inserted between horizontal elements of a group.

Please use this tag wisely, you will override the user's prefered default setting!

- (void) initChange

Prepares a group for dynamic adding/removing of objects. MUI 3 offers the possibility to dynamically add/remove children from groups, even when the window that contains these objects is currently open. To be able to do this, you must first put the group into a special "exchange" state by using this method. Then, you can add/remove children at will. If you're done, use MUIM_Group_ExitChange to make MUI recalculate the display.

RESULT returns NULL on failure.

- (id) initHorizontalWithObjects:(MUIObject *)child, ... ;
- (id) initWithColumns:(ULONG)cols objects:(MUIObject *)child, ... ;
- (id) initWithPages:(MUIObject *)child, ... ;
- (id) initWithRows:(ULONG)rows objects:(MUIObject *)child, ... ;
- (id) lastChild
- (id) nextChild:(id)member

Returns a child object relative to given child, excluding floating objects

- (void) noNotifySetActivePage:(LONG)activepage
- (void) noNotifySetColumns:(LONG)columns
- (void) noNotifySetForwardDepth:(BOOL)forwarddepth
- (void) noNotifySetHorizCenter:(LONG)horizcenter
- (void) noNotifySetHorizSpacing:(LONG)horizspacing
- (void) noNotifySetRows:(LONG)rows
- (void) noNotifySetSpacing:(LONG)spacing
- (void) noNotifySetVertCenter:(LONG)vertcenter
- (void) noNotifySetVertSpacing:(LONG)vertspacing
- (id) previousChild:(id)member
- (void) setActivePage:(LONG)activepage
- (void) setColumns:(LONG)columns

Indicate number of columns in a two dimensional group. If you use this tag, the total number of children must be dividable by the number of columns.

The children will be positioned in a two dimensional array, e.g. allowing easy creation of button fields (maybe for calculator).

The children in your taglist are always read line by line.

When MUI layouts two-dimensional groups, it does actually two layout calculations, one for the rows and one the columns. Parameters like weights and dimensions are handled this way:

- the minimum width of a column/row is the maximum minimum width of all objects in this column/row.

- the maximum width of a column/row is the minimum maximum width of all objects in this column/row.

- the weight of a column/row is the sum of all objects in this column/row.

Actually, there is no difference if you use MUIA_Group_Columns or MUIA_Group_Rows.

- (void) setForwardDepth:(BOOL)forwarddepth
- (void) setHoriz:(BOOL)horiz

CAUTION: this is an initializer attribute, meaning it cannot be changed after the underlying MUI object is instantiated

- (void) setHorizCenter:(LONG)horizcenter
- (void) setHorizSpacing:(LONG)horizspacing
- (void) setLayoutHook:(struct Hook *)layouthook

CAUTION: this is an initializer attribute, meaning it cannot be changed after the underlying MUI object is instantiated

- (void) setPageMode:(BOOL)pagemode

CAUTION: this is an initializer attribute, meaning it cannot be changed after the underlying MUI object is instantiated

- (void) setRows:(LONG)rows

Indicate number of rows in a two dimensional group. If you use this tag, the total number of children must be dividable by the number of rows.

The children will be positioned in a two dimensional array, e.g. allowing easy creation of button fields (maybe for calculator).

The children in your taglist are always read line by line.

When MUI layouts two-dimensional groups, it does actually two layout calculations, one for the rows and one the columns. Parameters like weights and dimensions are handled this way:

- the minimum width of a column/row is the maximum minimum width of all objects in this column/row.

- the maximum width of a column/row is the minimum maximum width of all objects in this column/row.

- the weight of a column/row is the sum of all objects in this column/row.

Actually, there is no difference if you use MUIA_Group_Columns or MUIA_Group_Rows.

- (void) setSameHeight:(BOOL)sameheight

CAUTION: this is an initializer attribute, meaning it cannot be changed after the underlying MUI object is instantiated

- (void) setSameSize:(BOOL)samesize

CAUTION: this is an initializer attribute, meaning it cannot be changed after the underlying MUI object is instantiated

- (void) setSameWidth:(BOOL)samewidth

CAUTION: this is an initializer attribute, meaning it cannot be changed after the underlying MUI object is instantiated

- (void) setSpacing:(LONG)spacing

This is a shorthand for MUIA_Group_HorizSpacing and MUIA_Group_VertSpacing, it sets both of these attributes at once.

Using MUIA_Group_Spacing, you won't need to think if your group is horizontal or vertical, both cases are handled automatically.

Note that setting a spacing value for a group overrides the user's default settings. Please use it only if you have a good reason.

- (void) setVertCenter:(LONG)vertcenter
- (void) setVertSpacing:(LONG)vertspacing
- (LONG) vertCenter

When a group layouts its children and a child is smaller than the actual space the group wants it to fill, this tag indicates wether to

0 - top align 1 - center (this is the default) 2 - bottom align

- (LONG) vertSpacing

Number of pixels to be inserted between vertical elements of a group.

Please use this tag wisely, you will override the user's prefered default setting!