1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
<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>
</head>
<body onload="prettyPrint();">
<pre class="prettyprint lang-js">/*!
* Ext JS Library 3.4.0
* Copyright(c) 2006-2011 Sencha Inc.
* licensing@sencha.com
* http://www.sencha.com/license
*/
<div id="cls-Ext.ButtonGroup"></div>/**
* @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, {
<div id="cfg-Ext.ButtonGroup-columns"></div>/**
* @cfg {Number} columns The <tt>columns</tt> configuration property passed to the
* {@link #layout configured layout manager}. See {@link Ext.layout.TableLayout#columns}.
*/
<div id="cfg-Ext.ButtonGroup-baseCls"></div>/**
* @cfg {String} baseCls Defaults to <tt>'x-btn-group'</tt>. See {@link Ext.Panel#baseCls}.
*/
baseCls: 'x-btn-group',
<div id="cfg-Ext.ButtonGroup-layout"></div>/**
* @cfg {String} layout Defaults to <tt>'table'</tt>. See {@link Ext.Container#layout}.
*/
layout:'table',
defaultType: 'button',
<div id="cfg-Ext.ButtonGroup-frame"></div>/**
* @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());
}
<div id="cfg-Ext.ButtonGroup-tools"></div>/**
* @cfg {Array} tools @hide
*/
});
Ext.reg('buttongroup', Ext.ButtonGroup);
</pre>
</body>
</html>
|