+ (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!