/**
* @class Ext.container.ButtonGroup
* @extends Ext.panel.Panel
* Container for a group of buttons. Example usage:
*
var p = new Ext.panel.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'
}]
}]
});
*
* @constructor
* Create a new ButtonGroup.
* @param {Object} config The config object
* @xtype buttongroup
*/
Ext.define('Ext.container.ButtonGroup', {
extend: 'Ext.panel.Panel',
alias: 'widget.buttongroup',
alternateClassName: 'Ext.ButtonGroup',
/**
* @cfg {Number} columns The columns configuration property passed to the
* {@link #layout configured layout manager}. See {@link Ext.layout.TableLayout#columns}.
*/
/**
* @cfg {String} baseCls Defaults to 'x-btn-group'. See {@link Ext.panel.Panel#baseCls}.
*/
baseCls: Ext.baseCSSPrefix + 'btn-group',
/**
* @cfg {Object} layout Defaults to 'table'. See {@link Ext.container.Container#layout}.
*/
layout: {
type: 'table'
},
defaultType: 'button',
/**
* @cfg {Boolean} frame Defaults to true. See {@link Ext.panel.Panel#frame}.
*/
frame: true,
internalDefaults: {removeMode: 'container', hideParent: true},
initComponent : function(){
// Copy the component's columns config to the layout if specified
var me = this,
cols = me.columns;
me.noTitleCls = me.baseCls + '-notitle';
if (cols) {
me.layout = Ext.apply({}, {columns: cols}, me.layout);
}
if(!me.title){
me.addCls(me.noTitleCls);
}
this.callParent(arguments);
},
applyDefaults : function(c){
c = Ext.container.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;
}
/**
* @cfg {Array} tools @hide
*/
});