NAME 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) 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 otherwords, use layout, its alot easier! :)