Upgrade to ExtJS 3.2.0 - Released 03/30/2010
[extjs.git] / src / widgets / ButtonGroup.js
index e3a474e..1c3bb8b 100644 (file)
 /*!
 /*!
- * Ext JS Library 3.0.3
- * Copyright(c) 2006-2009 Ext JS, LLC
+ * Ext JS Library 3.2.0
+ * Copyright(c) 2006-2010 Ext JS, Inc.
  * licensing@extjs.com
  * http://www.extjs.com/license
  */
  * licensing@extjs.com
  * http://www.extjs.com/license
  */
-/**\r
- * @class Ext.ButtonGroup\r
- * @extends Ext.Panel\r
- * Container for a group of buttons. Example usage:\r
- * <pre><code>\r
-var p = new Ext.Panel({\r
-    title: 'Panel with Button Group',\r
-    width: 300,\r
-    height:200,\r
-    renderTo: document.body,\r
-    html: 'whatever',\r
-    tbar: [{\r
-        xtype: 'buttongroup',\r
-        {@link #columns}: 3,\r
-        title: 'Clipboard',\r
-        items: [{\r
-            text: 'Paste',\r
-            scale: 'large',\r
-            rowspan: 3, iconCls: 'add',\r
-            iconAlign: 'top',\r
-            cls: 'x-btn-as-arrow'\r
-        },{\r
-            xtype:'splitbutton',\r
-            text: 'Menu Button',\r
-            scale: 'large',\r
-            rowspan: 3,\r
-            iconCls: 'add',\r
-            iconAlign: 'top',\r
-            arrowAlign:'bottom',\r
-            menu: [{text: 'Menu Item 1'}]\r
-        },{\r
-            xtype:'splitbutton', text: 'Cut', iconCls: 'add16', menu: [{text: 'Cut Menu Item'}]\r
-        },{\r
-            text: 'Copy', iconCls: 'add16'\r
-        },{\r
-            text: 'Format', iconCls: 'add16'\r
-        }]\r
-    }]\r
-});\r
- * </code></pre>\r
- * @xtype buttongroup\r
- */\r
-Ext.ButtonGroup = Ext.extend(Ext.Panel, {\r
-    /**\r
-     * @cfg {Number} columns The <tt>columns</tt> configuration property passed to the\r
-     * {@link #layout configured layout manager}. See {@link Ext.layout.TableLayout#columns}.\r
-     */\r
-    /**\r
-     * @cfg {String} baseCls  Defaults to <tt>'x-btn-group'</tt>.  See {@link Ext.Panel#baseCls}.\r
-     */\r
-    baseCls: 'x-btn-group',\r
-    /**\r
-     * @cfg {String} layout  Defaults to <tt>'table'</tt>.  See {@link Ext.Container#layout}.\r
-     */\r
-    layout:'table',\r
-    defaultType: 'button',\r
-    /**\r
-     * @cfg {Boolean} frame  Defaults to <tt>true</tt>.  See {@link Ext.Panel#frame}.\r
-     */\r
-    frame: true,\r
-    internalDefaults: {removeMode: 'container', hideParent: true},\r
-\r
-    initComponent : function(){\r
-        this.layoutConfig = this.layoutConfig || {};\r
-        Ext.applyIf(this.layoutConfig, {\r
-            columns : this.columns\r
-        });\r
-        if(!this.title){\r
-            this.addClass('x-btn-group-notitle');\r
-        }\r
-        this.on('afterlayout', this.onAfterLayout, this);\r
-        Ext.ButtonGroup.superclass.initComponent.call(this);\r
-    },\r
-\r
-    applyDefaults : function(c){\r
-        c = Ext.ButtonGroup.superclass.applyDefaults.call(this, c);\r
-        var d = this.internalDefaults;\r
-        if(c.events){\r
-            Ext.applyIf(c.initialConfig, d);\r
-            Ext.apply(c, d);\r
-        }else{\r
-            Ext.applyIf(c, d);\r
-        }\r
-        return c;\r
-    },\r
-\r
-    onAfterLayout : function(){\r
-        var bodyWidth = this.body.getFrameWidth('lr') + this.body.dom.firstChild.offsetWidth;\r
-        this.body.setWidth(bodyWidth);\r
-        this.el.setWidth(bodyWidth + this.getFrameWidth());\r
-    }\r
-    /**\r
-     * @cfg {Array} tools  @hide\r
-     */\r
-});\r
-\r
-Ext.reg('buttongroup', Ext.ButtonGroup);\r
+/**
+ * @class Ext.ButtonGroup
+ * @extends Ext.Panel
+ * Container for a group of buttons. Example usage:
+ * <pre><code>
+var p = new Ext.Panel({
+    title: 'Panel with Button Group',
+    width: 300,
+    height:200,
+    renderTo: document.body,
+    html: 'whatever',
+    tbar: [{
+        xtype: 'buttongroup',
+        {@link #columns}: 3,
+        title: 'Clipboard',
+        items: [{
+            text: 'Paste',
+            scale: 'large',
+            rowspan: 3, iconCls: 'add',
+            iconAlign: 'top',
+            cls: 'x-btn-as-arrow'
+        },{
+            xtype:'splitbutton',
+            text: 'Menu Button',
+            scale: 'large',
+            rowspan: 3,
+            iconCls: 'add',
+            iconAlign: 'top',
+            arrowAlign:'bottom',
+            menu: [{text: 'Menu Item 1'}]
+        },{
+            xtype:'splitbutton', text: 'Cut', iconCls: 'add16', menu: [{text: 'Cut Menu Item'}]
+        },{
+            text: 'Copy', iconCls: 'add16'
+        },{
+            text: 'Format', iconCls: 'add16'
+        }]
+    }]
+});
+ * </code></pre>
+ * @constructor
+ * Create a new ButtonGroup.
+ * @param {Object} config The config object
+ * @xtype buttongroup
+ */
+Ext.ButtonGroup = Ext.extend(Ext.Panel, {
+    /**
+     * @cfg {Number} columns The <tt>columns</tt> configuration property passed to the
+     * {@link #layout configured layout manager}. See {@link Ext.layout.TableLayout#columns}.
+     */
+    /**
+     * @cfg {String} baseCls  Defaults to <tt>'x-btn-group'</tt>.  See {@link Ext.Panel#baseCls}.
+     */
+    baseCls: 'x-btn-group',
+    /**
+     * @cfg {String} layout  Defaults to <tt>'table'</tt>.  See {@link Ext.Container#layout}.
+     */
+    layout:'table',
+    defaultType: 'button',
+    /**
+     * @cfg {Boolean} frame  Defaults to <tt>true</tt>.  See {@link Ext.Panel#frame}.
+     */
+    frame: true,
+    internalDefaults: {removeMode: 'container', hideParent: true},
+
+    initComponent : function(){
+        this.layoutConfig = this.layoutConfig || {};
+        Ext.applyIf(this.layoutConfig, {
+            columns : this.columns
+        });
+        if(!this.title){
+            this.addClass('x-btn-group-notitle');
+        }
+        this.on('afterlayout', this.onAfterLayout, this);
+        Ext.ButtonGroup.superclass.initComponent.call(this);
+    },
+
+    applyDefaults : function(c){
+        c = Ext.ButtonGroup.superclass.applyDefaults.call(this, c);
+        var d = this.internalDefaults;
+        if(c.events){
+            Ext.applyIf(c.initialConfig, d);
+            Ext.apply(c, d);
+        }else{
+            Ext.applyIf(c, d);
+        }
+        return c;
+    },
+
+    onAfterLayout : function(){
+        var bodyWidth = this.body.getFrameWidth('lr') + this.body.dom.firstChild.offsetWidth;
+        this.body.setWidth(bodyWidth);
+        this.el.setWidth(bodyWidth + this.getFrameWidth());
+    }
+    /**
+     * @cfg {Array} tools  @hide
+     */
+});
+
+Ext.reg('buttongroup', Ext.ButtonGroup);