# RadioGroup.js

    /**
     * @class Ext.form.RadioGroup
     * @extends Ext.form.CheckboxGroup
     * A grouping container for {@link Ext.form.Radio} controls.
     * @constructor
     * Creates a new RadioGroup
     * @param {Object} config Configuration options
     */
    Ext.form.RadioGroup = Ext.extend(Ext.form.CheckboxGroup, {
        /**
         * @cfg {Boolean} allowBlank True to allow every item in the group to be blank (defaults to false). If allowBlank =
         * false and no items are selected at validation time, {@link @blankText} will be used as the error text.
         */
        allowBlank : true,
        /**
         * @cfg {String} blankText Error text to display if the {@link #allowBlank} validation fails (defaults to "You must
         * select one item in this group")
         */
        blankText : "You must select one item in this group",

        // private
        defaultType : 'radio',

        // private
        groupCls: 'x-form-radio-group',

        // private
        initComponent: function(){
            this.addEvents(
                /**
                 * @event change
                 * Fires when the state of a child radio changes.
                 * @param {Ext.form.RadioGroup} this
                 * @param {Ext.form.Radio} checked The checked radio
                 */
                'change'
            );
            Ext.form.RadioGroup.superclass.initComponent.call(this);
        },

        // private
        fireChecked: function(){
            if(!this.checkTask){
                this.checkTask = new Ext.util.DelayedTask(this.bufferChecked, this);
            }
            this.checkTask.delay(10);
        },

        // private
        bufferChecked: function(){
            var out = null;
            this.items.each(function(item){
                if(item.checked){
                    out = item;
                    return false;
                }
            });
            this.fireEvent('change', this, out);
        },

        onDestroy: function(){
            if(this.checkTask){
                this.checkTask.cancel();
                this.checkTask = null;
            }
            Ext.form.RadioGroup.superclass.onDestroy.call(this);
        }
    });

    Ext.reg('radiogroup', Ext.form.RadioGroup);

Ext - Copyright © 2006-2007 Ext JS, LLC
All rights reserved.