-<!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
- * <p>Provides a container for arranging a group of related Buttons in a tabular manner.</p>
- * Example usage:
- * {@img Ext.container.ButtonGroup/Ext.container.ButtonGroup.png Ext.container.ButtonGroup component}
- * <pre><code>
- 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'
- }]
- }]
- });
- * </code></pre>
- * @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 <tt>columns</tt> 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 <tt>'x-btn-group'</tt>. 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 <tt>'table'</tt>. See {@link Ext.container.Container#layout}.
*/
layout: {
defaultType: 'button',
-<span id='Ext-container.ButtonGroup-cfg-frame'> /**
+<span id='Ext-container-ButtonGroup-cfg-frame'> /**
</span> * @cfg {Boolean} frame Defaults to <tt>true</tt>. See {@link Ext.panel.Panel#frame}.
*/
frame: true,
-
+
frameHeader: false,
-
+
internalDefaults: {removeMode: 'container', hideParent: true},
initComponent : function(){
afterLayout: function() {
var me = this;
-
+
me.callParent(arguments);
// Pugly hack for a pugly browser:
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 : '&nbsp;',
flex : 1
});
+ me.suspendLayout = false;
}
-
+
me.callParent(arguments);
},
-
+
// private
onBeforeAdd: function(component) {
if (component.is('button')) {
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>