Upgrade to ExtJS 4.0.7 - Released 10/19/2011
[extjs.git] / docs / source / ButtonGroup.html
index 3717ee4..998ea5f 100644 (file)
@@ -1,67 +1,78 @@
-<!DOCTYPE html><html><head><title>Sencha Documentation Project</title><link rel="stylesheet" href="../reset.css" type="text/css"><link rel="stylesheet" href="../prettify.css" type="text/css"><link rel="stylesheet" href="../prettify_sa.css" type="text/css"><script type="text/javascript" src="../prettify.js"></script></head><body onload="prettyPrint()"><pre class="prettyprint"><pre><span id='Ext-container.ButtonGroup-method-constructor'><span id='Ext-container.ButtonGroup'>/**
-</span></span> * @class Ext.container.ButtonGroup
- * @extends Ext.panel.Panel
- * &lt;p&gt;Provides a container for arranging a group of related Buttons in a tabular manner.&lt;/p&gt;
- * Example usage:
- * {@img Ext.container.ButtonGroup/Ext.container.ButtonGroup.png Ext.container.ButtonGroup component}
- * &lt;pre&gt;&lt;code&gt;
-    Ext.create('Ext.panel.Panel', {
-        title: 'Panel with ButtonGroup',
-        width: 300,
-        height:200,
-        renderTo: document.body,
-        html: 'HTML Panel Content',
-        tbar: [{
-            xtype: 'buttongroup',
-            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'
-            }]
-        }]
-    });
- * &lt;/code&gt;&lt;/pre&gt;
- * @constructor
- * Create a new ButtonGroup.
- * @param {Object} config The config object
- * @xtype buttongroup
+<!DOCTYPE html>
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <title>The source code</title>
+  <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
+  <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
+  <style type="text/css">
+    .highlight { display: block; background-color: #ddd; }
+  </style>
+  <script type="text/javascript">
+    function highlight() {
+      document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
+    }
+  </script>
+</head>
+<body onload="prettyPrint(); highlight();">
+  <pre class="prettyprint lang-js"><span id='Ext-container-ButtonGroup'>/**
+</span> * Provides a container for arranging a group of related Buttons in a tabular manner.
+ *
+ *     @example
+ *     Ext.create('Ext.panel.Panel', {
+ *         title: 'Panel with ButtonGroup',
+ *         width: 300,
+ *         height:200,
+ *         renderTo: document.body,
+ *         bodyPadding: 10,
+ *         html: 'HTML Panel Content',
+ *         tbar: [{
+ *             xtype: 'buttongroup',
+ *             columns: 3,
+ *             title: 'Clipboard',
+ *             items: [{
+ *                 text: 'Paste',
+ *                 scale: 'large',
+ *                 rowspan: 3,
+ *                 iconCls: 'add',
+ *                 iconAlign: 'top',
+ *                 cls: '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'
+ *             }]
+ *         }]
+ *     });
+ *
  */
 Ext.define('Ext.container.ButtonGroup', {
     extend: 'Ext.panel.Panel',
     alias: 'widget.buttongroup',
     alternateClassName: 'Ext.ButtonGroup',
 
-<span id='Ext-container.ButtonGroup-cfg-columns'>    /**
-</span>     * @cfg {Number} columns The &lt;tt&gt;columns&lt;/tt&gt; configuration property passed to the
+<span id='Ext-container-ButtonGroup-cfg-columns'>    /**
+</span>     * @cfg {Number} columns The `columns` configuration property passed to the
      * {@link #layout configured layout manager}. See {@link Ext.layout.container.Table#columns}.
      */
 
-<span id='Ext-container.ButtonGroup-cfg-baseCls'>    /**
+<span id='Ext-container-ButtonGroup-cfg-baseCls'>    /**
 </span>     * @cfg {String} baseCls  Defaults to &lt;tt&gt;'x-btn-group'&lt;/tt&gt;.  See {@link Ext.panel.Panel#baseCls}.
      */
     baseCls: Ext.baseCSSPrefix + 'btn-group',
 
-<span id='Ext-container.ButtonGroup-cfg-layout'>    /**
+<span id='Ext-container-ButtonGroup-cfg-layout'>    /**
 </span>     * @cfg {Object} layout  Defaults to &lt;tt&gt;'table'&lt;/tt&gt;.  See {@link Ext.container.Container#layout}.
      */
     layout: {
@@ -70,13 +81,13 @@ Ext.define('Ext.container.ButtonGroup', {
 
     defaultType: 'button',
 
-<span id='Ext-container.ButtonGroup-cfg-frame'>    /**
+<span id='Ext-container-ButtonGroup-cfg-frame'>    /**
 </span>     * @cfg {Boolean} frame  Defaults to &lt;tt&gt;true&lt;/tt&gt;.  See {@link Ext.panel.Panel#frame}.
      */
     frame: true,
-    
+
     frameHeader: false,
-    
+
     internalDefaults: {removeMode: 'container', hideParent: true},
 
     initComponent : function(){
@@ -97,7 +108,7 @@ Ext.define('Ext.container.ButtonGroup', {
 
     afterLayout: function() {
         var me = this;
-        
+
         me.callParent(arguments);
 
         // Pugly hack for a pugly browser:
@@ -110,20 +121,30 @@ Ext.define('Ext.container.ButtonGroup', {
 
     afterRender: function() {
         var me = this;
-        
+
         //we need to add an addition item in here so the ButtonGroup title is centered
         if (me.header) {
+            // Header text cannot flex, but must be natural size if it's being centered
+            delete me.header.items.items[0].flex;
+
+            // For Centering, surround the text with two flex:1 spacers.
+            me.suspendLayout = true;
+            me.header.insert(1, {
+                xtype: 'component',
+                ui   : me.ui,
+                flex : 1
+            });
             me.header.insert(0, {
                 xtype: 'component',
                 ui   : me.ui,
-                html : '&amp;nbsp;',
                 flex : 1
             });
+            me.suspendLayout = false;
         }
-        
+
         me.callParent(arguments);
     },
-    
+
     // private
     onBeforeAdd: function(component) {
         if (component.is('button')) {
@@ -147,20 +168,22 @@ Ext.define('Ext.container.ButtonGroup', {
         return c;
     }
 
-<span id='Ext-container.ButtonGroup-cfg-tools'>    /**
+<span id='Ext-container-ButtonGroup-cfg-tools'>    /**
 </span>     * @cfg {Array} tools  @hide
      */
-<span id='Ext-container.ButtonGroup-cfg-collapsible'>    /**
+<span id='Ext-container-ButtonGroup-cfg-collapsible'>    /**
 </span>     * @cfg {Boolean} collapsible  @hide
      */
-<span id='Ext-container.ButtonGroup-cfg-collapseMode'>    /**
+<span id='Ext-container-ButtonGroup-cfg-collapseMode'>    /**
 </span>     * @cfg {Boolean} collapseMode  @hide
      */
-<span id='Ext-container.ButtonGroup-cfg-animCollapse'>    /**
+<span id='Ext-container-ButtonGroup-cfg-animCollapse'>    /**
 </span>     * @cfg {Boolean} animCollapse  @hide
      */
-<span id='Ext-container.ButtonGroup-cfg-closable'>    /**
+<span id='Ext-container-ButtonGroup-cfg-closable'>    /**
 </span>     * @cfg {Boolean} closable  @hide
      */
 });
-</pre></pre></body></html>
\ No newline at end of file
+</pre>
+</body>
+</html>