Class: RadioGroup

Properties  Events  Methods    Index of Classes

Groups multiple Radio objects in a visible group object, providing selection of no more than one at a time, and navigation among the objects

Hierarchy

cObject
---cUIObject
------DfBaseObject
---------DfBaseWindow
------------DfBaseUIWindow
---------------DfBaseContainer
------------------DfBaseGroup
---------------------Group
------------------------RadioGroup
---------------------------dbRadioGroupDS
---------------------------RadioContainer

Library: Windows Application Class Library

Package: Windows.pkg

Mixins: DfRadio_Group_Mixin

Description

RadioGroup is used to group multiple Radio objects in a visible group object, providing selection of no more than one at a time, and navigation among the objects by the use of arrow keys and into and out of the object by the use of Tab and Shift+Tab, as well by the mouse. Only objects of the radio class should be placed inside of RadioGroup objects.

The dbRadioGroup class is a data-aware class similar to the RadioGroup class.

Sample

Object oOutputRadio is a RadioGroup
    Set Label to "Output Order"
    Set Size to 57 121
    Set Location to 10 8
    Set Status_Help to "Choose order to print report"
 
    Object R1 is a Radio
        Set Label to "Order Number"
        Set Location to 10 10
    End_Object
 
    Object R2 is a Radio
        Set Label to "Customer ID Order"
        Set Location to 25 10
    End_Object
 
    Object R3 is a Radio
        Set Label to "Customer Name Order"
        Set Location to 40 10
    End_Object
 
End_Object
 
Function OutputOrder returns Integer
    Integer iOrder
    Get Current_Radio of oOutputRadio to iOrder
    Function_Return iOrder // 0 - order id, 1 - cust id, 2 - cust name
End_Function


Syntax

Use Windows.pkg
 
Object oObjectName is a RadioGroup
    Set Location to vertical horizontal
    Set Size to height width
    Set Label to text
    Set Enabled_State to true|false
    Set Status_Help to text
 
    Procedure Notify_Select_State integer toItem integer fromItem
        : //for augmentation
    End_procedure
 
    Object oObjectName is a Radio
        Set Location to Row Column
        Set Label to text
    End_Object
    :
    Object oObjectName is a Radio
        Set Location to Row Column
        Set Label to text
    End_Object
 
End_Object


Note

Objects of this class cannot be used without one or more child objects of Class Radio. Class RadioContainer has the same functionality as this class, but is not visible. Objects of this class are not data-aware and do not automatically connect to the database. The classes dbRadioGroup and dbRadioContainer provide this functionality.

The Radio Item and Radio Objects

A radio group will contain a number of radio child objects. When a radio object is created, it automatically registers itself with its parent. The radio object is then assigned an item number. The radio-grouping object supports an item-style interface. Usually this is the simplest way to program radio objects. In addition, methods are provided to convert radio item numbers to object IDs and vice-versa. This means that child radio objects may be addressed by either their object ID (number or name) or by the assigned radio item number.

The Current Radio

Only one radio button within a group may be selected at any one time. The message get current_radio may be used to find that current radio. It returns the item number. The message set current_radio is used to set the current radio item. Users may also select a radio through the keyboard or the mouse. When a new radio item is selected, the notification message notify_select_state is sent passing the new and old radio item numbers. This message is intended for augmentation.

Shadowing

Shadowing refers to the process of making an object or an item unavailable for data entry. Usually the appearance of a shadowed object is changed in some way to indicate its unavailability. This class supports object shadowing. Accordingly, objects of this class will be shadowed whenever an ancestor object is shadowed. The Enabled_State property is supported, as well as the entire public interface for shadowing. When an object of this class is shadowed all child radio objects will also be affected. Individual radio objects within a group can be enabled or disabled by setting Enabled_State of that object.