radio.gadget Reference¶
Comprehensive function reference for radio.gadget, synthesised from the AmigaOS NDK 3.2 Release 4 (Autodocs/radio).
This page documents 6 functions of radio.gadget. Each function entry follows the canonical autodoc format. struct Name, union Name, enum Name are clickable links to the type definition in the types reference.
Function index¶
radiobutton_gc()AllocRadioButtonNodeA()FreeRadioButtonNode()GetRadioButtonNodeAttrsA()RADIOBUTTON_GetClass()SetRadioButtonNodeAttrsA()
radiobutton_gc()¶
**radiobutton_gc -- create radiobutton BOOPSI objects
SUPERCLASS
gadgetclass
REQUIRES
bevel.image, glyph.image
DESCRIPTION
The radiobutton gadget class is used to create a mutually exclusive
(MX) selection button group. Selection of an associated option is
denoted by the depressed/filled button. Unlike GadTools, GA_Width and
GA_Height to not specify the size of a single radio button. Instead
it marks the entire domain of the gadget which allows for easier
group layout. When used outside of a layout group you must be
sure to provide enough space for the gadget to completly render
all radio buttons and labels. However, within a layout group such
as ReAction's own layout.gadget this is automatic and of no
concern to the application programmer.
Advantages that this class provides over the standard gadtools
radiobutton (MX_KIND) are:
> Strumming of the radio buttons with the mouse.
> Aspect correct scaled buttons with any screen resolution or font.
> Works under OS 2.0 or greater.
METHODS
OM_NEW -- Passed to superclass first, defaults set, then OM_SET.
OM_SET -- Passed to superclass first, then custom tags set.
OM_GET -- Returns requested setting or passed to superclass
OM_DISPOSE -- Passed to superclass.
GM_GOACTIVE -- Passed to superclass first, then radio activated.
GM_GOINACTIVE -- Passed to superclass first, then radio deactivated.
GM_HANDLEINPUT -- Handles button selection/strum. Overrides
superclass.
GM_HITTEST -- Overrides superclass, returns GMR_HITTEST.
GM_RENDER -- Renders radio button(s).
GM_DOMAIN -- Returns GDOMAIN_MINIMUM and GDOMAIN_MAXIMUM dimensions.
GM_KEYACTIVE -- Activates button via keyboard. Advances selection
to the next item (down), if SHIFT is pressed, it selects
the previous item (up). Invoked by window.class only.
GM_KEYINACTIVE -- Deactivates gadget. Invoked by window.class only.
All other methods are passed to the superclass.
ATTRIBUTES
GA_ID (WORD)
Applicability is (OM_NEW, OM_SET, OM_UPDATE, OM_NOTIFY)
GA_TextAttr (struct TextAttr *)
Used to set the text font to render the radiobutton labels.
Defaults to RPort->Font, which is often the screen or
window font.
Applicability is (OM_NEW, OM_SET, OM_UPDATE)
GA_Text (STRPTR *)
A NULL terminated array of strings to use as labels. v45.1.
Defaults to NULL.
Applicability is (OM_NEW, OM_SET, OM_UPDATE)
RADIOBUTTON_Labels (struct List *)
Used to set the text labels for the radiobutton group.
Defaults to NULL.
Applicability is (OM_NEW, OM_SET, OM_UPDATE)
RADIOBUTTON_Spacing (WORD)
Spacing between the radio buttons.
Defaults to 1.
Applicability is (OM_NEW, OM_SET, OM_UPDATE, OM_NOTIFY)
RADIOBUTTON_Selected (WORD)
Currently selected radio button number.
Defaults to 0.
Applicability is (OM_NEW, OM_SET, OM_UPDATE)
RADIOBUTTON_LabelPlace (WORD)
Location of radiobutton text labels. Supports:
PLACETEXT_RIGHT
Defaults to PLACETEXT_RIGHT.
Applicability is (OM_NEW, OM_SET, OM_UPDATE)**
Notes
GA_Height and GA_Width DO NOT specify the actual button size, but
rather the entire "hit box" area which includes the text label.
When being used with layout.gadget it will domain to a proper
size to hold the number of buttons and largest text labels.
Take care when designing interfaces with out layout to set
a proper height and width to hold the radiobutton imagery.
This may be done via sending a BOOPSI GM_DOMAIN GDOMAIN_MINIMUM
method message to the object with DoGadgetMethod(), or computing
a minimum size based on font height and length. In other words,
use layout, it's a lot easier! :-)
AllocRadioButtonNodeA()¶
AllocRadioButtonNodeA -- Allocate a RadioButton node.
Synopsis
struct Node * AllocRadioButtonNode(UWORD pri, Tag, ...)
node = AllocRadioButtonNode(pri, Tag, ...)
struct Node * AllocRadioButtonNodeA(UWORD pri, struct TagItem *)
node = AllocRadioButtonNodeA(pri, taglist)
Function
Allocates a node that can be added to the Exec linked list of
labels in the radiobutton. This is the only way to allocate a
node for this list, you cannot allocate nodes yourself because
the RadioButton class uses a private node structure.
Inputs
pri - the priority of the node (node->ln_Pri).
taglist - Attributes for the node, passed onto
SetRadioButtonNodeAttrsA().
RESULT
node - A node that can be added into the Exec list of labels for
a RadioButton gadget.
See also
FreeRadioButtonNode(), SetRadioButtonNodeAttrsA()
FreeRadioButtonNode()¶
FreeRadioButtonNode -- Free a RadioButton node.
Synopsis
VOID FreeRadioButtonNode(struct Node *)
FreeRadioButtonNode(node)
Function
Frees a RadioButtonNode allocated with AllocRadioButtonNodeA().
Inputs
node - The node to free.
See also
AllocRadioButtonNodeA()
GetRadioButtonNodeAttrsA()¶
GetRadioButtonNodeAttrsA -- Get attributes about a RadioButton node.
Synopsis
VOID GetRadioButtonNodeAttrs(struct Node *, Tag, ...)
GetRadioButtonNodeAttrs(node, firsttag, ...)
VOID GetRadioButtonNodeAttrsA(struct Node *, struct TagItem *)
GetRadioButtonNodeAttrsA(node, taglist)
Function
The RadioButton uses a private node structure and all attributes
are hidden, and must therefore be accessed with this function.
Inputs
node - The RadioButton node to get the information on.
taglist - A tag list of attributes to get. ti_Tag is the attribute
to get and ti_Data is a pointer to a location to copy the result
to.
See also
SetRadioButtonNodeAttrsA()
RADIOBUTTON_GetClass()¶
RADIOBUTTON_GetClass -- Gets the pointer to the radiobutton class.
Synopsis
radiobutton_class = RADIOBUTTON_GetClass();
D0
Class * RADIOBUTTON_GetClass(VOID);
Function
Obtains the pointer to the RadioButton gadget class for use with
NewObject(). This function always returns a valid pointer so
you do not need to check it. The reason is that if the library
opens fine, then the pointer returned is already setup. (Of course
this implies that if opening the library fails, you shouldn't be
calling this.)
Note that this function does not create the class, that is done
when the class library is opened.
Inputs
Nothing.
RESULT
radiobutton_class - Pointer to the RadioButton gadget class.
SetRadioButtonNodeAttrsA()¶
SetRadioButtonNodeAttrsA -- Set attributes of a RadioButton node.
Synopsis
VOID SetRadioButtonNodeAttrs(struct Node *, Tag, ...)
SetRadioButtonNodeAttrs(node, firsttag, ...)
VOID SetRadioButtonNodeAttrsA(struct Node *, struct TagItem *)
SetRadioButtonNodeAttrsA(node, taglist)
Function
Changes attributes for a RadioButton node. Since the RadioButton
class uses a private node structure, this is the only way to change
node attributes.
You may NOT change node attributes when the node is in a list
attached to a RadioButton gadget. You must first detach the list
with RADIOBUTTON_Labels, ~0 before you can change attributes, and
then re-attach the list.
TAGS
RBNA_Label (STRPTR)
Inputs
node - Node whose attributes you are changing.
taglist - Tag list of attributes to change.
See also
GetRadioButtonNodeAttrsA()