X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6746dc89c47ed01b165cc1152533605f97eb8e8d..HEAD:/src/container/ButtonGroup.js diff --git a/src/container/ButtonGroup.js b/src/container/ButtonGroup.js index 1ebbce60..05738ec1 100644 --- a/src/container/ButtonGroup.js +++ b/src/container/ButtonGroup.js @@ -13,48 +13,46 @@ If you are unsure which license is appropriate for your use, please contact the */ /** - * @class Ext.container.ButtonGroup - * @extends Ext.panel.Panel - *
Provides a container for arranging a group of related Buttons in a tabular manner.
- * Example usage: - * {@img Ext.container.ButtonGroup/Ext.container.ButtonGroup.png Ext.container.ButtonGroup component} - *
- 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'
- }]
- }]
- });
- *
+ * 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',
@@ -62,7 +60,7 @@ Ext.define('Ext.container.ButtonGroup', {
alternateClassName: 'Ext.ButtonGroup',
/**
- * @cfg {Number} columns The columns configuration property passed to the
+ * @cfg {Number} columns The `columns` configuration property passed to the
* {@link #layout configured layout manager}. See {@link Ext.layout.container.Table#columns}.
*/
@@ -84,9 +82,9 @@ Ext.define('Ext.container.ButtonGroup', {
* @cfg {Boolean} frame Defaults to true. See {@link Ext.panel.Panel#frame}.
*/
frame: true,
-
+
frameHeader: false,
-
+
internalDefaults: {removeMode: 'container', hideParent: true},
initComponent : function(){
@@ -107,7 +105,7 @@ Ext.define('Ext.container.ButtonGroup', {
afterLayout: function() {
var me = this;
-
+
me.callParent(arguments);
// Pugly hack for a pugly browser:
@@ -116,11 +114,16 @@ Ext.define('Ext.container.ButtonGroup', {
var t = me.getTargetEl();
t.setWidth(me.layout.table.offsetWidth + t.getPadding('lr'));
}
+
+ // IE7 needs a forced repaint to make the top framing div expand to full width
+ if (Ext.isIE7) {
+ me.el.repaint();
+ }
},
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
@@ -140,10 +143,10 @@ Ext.define('Ext.container.ButtonGroup', {
});
me.suspendLayout = false;
}
-
+
me.callParent(arguments);
},
-
+
// private
onBeforeAdd: function(component) {
if (component.is('button')) {