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()

**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()