-});</code></pre> </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Component" ext:member="#labelStyle" href="output/Ext.Component.html#labelStyle">Component</a></td>\r
- </tr>\r
- <tr class="config-row alt">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-lines"></a>\r
- <b>lines</b> : Boolean <div class="mdesc">\r
- false to disable tree lines (defaults to true) </div>\r
- </td>\r
- <td class="msource">TreePanel</td>\r
- </tr>\r
- <tr class="config-row inherited expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-listeners"></a>\r
- <b>listeners</b> : Object <div class="mdesc">\r
- <div class="short">(optional) A config object containing one or more event handlers to be added to this object during initialization. Th...</div>\r
- <div class="long">\r
- (optional) A config object containing one or more event handlers to be added to this object during initialization. This should be a valid listeners config object as specified in the <a ext:cls="Ext.util.Observable" ext:member="addListener" href="output/Ext.util.Observable.html#addListener">addListener</a> example for attaching multiple handlers at once. </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.util.Observable" ext:member="#listeners" href="output/Ext.util.Observable.html#listeners">Observable</a></td>\r
- </tr>\r
- <tr class="config-row alt">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-loader"></a>\r
- <b>loader</b> : Ext.tree.TreeLoader <div class="mdesc">\r
- A <a ext:cls="Ext.tree.TreeLoader" href="output/Ext.tree.TreeLoader.html">Ext.tree.TreeLoader</a> for use with this TreePanel </div>\r
- </td>\r
- <td class="msource">TreePanel</td>\r
- </tr>\r
- <tr class="config-row inherited expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-maskDisabled"></a>\r
- <b>maskDisabled</b> : Boolean <div class="mdesc">\r
- <div class="short">True to mask the panel when it is disabled, false to not mask it (defaults to true). Either way, the panel will alway...</div>\r
- <div class="long">\r
- True to mask the panel when it is disabled, false to not mask it (defaults to true). Either way, the panel will always tell its contained elements to disable themselves when it is disabled, but masking the panel can provide an additional visual cue that the panel is disabled. </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Panel" ext:member="#maskDisabled" href="output/Ext.Panel.html#maskDisabled">Panel</a></td>\r
- </tr>\r
- <tr class="config-row inherited alt">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-minButtonWidth"></a>\r
- <b>minButtonWidth</b> : Number <div class="mdesc">\r
- Minimum width in pixels of all buttons in this panel (defaults to 75) </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Panel" ext:member="#minButtonWidth" href="output/Ext.Panel.html#minButtonWidth">Panel</a></td>\r
- </tr>\r
- <tr class="config-row inherited expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-overCls"></a>\r
- <b>overCls</b> : String <div class="mdesc">\r
- <div class="short">An optional extra CSS class that will be added to this component's Element when the mouse moves over the Element, and...</div>\r
- <div class="long">\r
- An optional extra CSS class that will be added to this component's Element when the mouse moves over the Element, and removed when the mouse moves out. (defaults to ''). This can be useful for adding customized "active" or "hover" styles to the component or any of its children using standard CSS rules. </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Component" ext:member="#overCls" href="output/Ext.Component.html#overCls">Component</a></td>\r
- </tr>\r
- <tr class="config-row inherited alt">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-pageX"></a>\r
- <b>pageX</b> : Number <div class="mdesc">\r
- The page level x coordinate for this component if contained within a positioning container. </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.BoxComponent" ext:member="#pageX" href="output/Ext.BoxComponent.html#pageX">BoxComponent</a></td>\r
- </tr>\r
- <tr class="config-row inherited">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-pageY"></a>\r
- <b>pageY</b> : Number <div class="mdesc">\r
- The page level y coordinate for this component if contained within a positioning container. </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.BoxComponent" ext:member="#pageY" href="output/Ext.BoxComponent.html#pageY">BoxComponent</a></td>\r
- </tr>\r
- <tr class="config-row alt">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-pathSeparator"></a>\r
- <b>pathSeparator</b> : String <div class="mdesc">\r
- The token used to separate sub-paths in path strings (defaults to '/') </div>\r
- </td>\r
- <td class="msource">TreePanel</td>\r
- </tr>\r
- <tr class="config-row inherited expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-plugins"></a>\r
- <b>plugins</b> : Object/Array <div class="mdesc">\r
- <div class="short">An object or array of objects that will provide custom functionality for this component. The only requirement for a v...</div>\r
- <div class="long">\r
- An object or array of objects that will provide custom functionality for this component. The only requirement for a valid plugin is that it contain an init method that accepts a reference of type Ext.Component. When a component is created, if any plugins are available, the component will call the init method on each plugin, passing a reference to itself. Each plugin can then call methods or respond to events on the component as needed to provide its functionality. </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Component" ext:member="#plugins" href="output/Ext.Component.html#plugins">Component</a></td>\r
- </tr>\r
- <tr class="config-row inherited alt expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-renderTo"></a>\r
- <b>renderTo</b> : Mixed <div class="mdesc">\r
- <div class="short">The id of the node, a DOM node or an existing Element that will be the container to render this component into. Using...</div>\r
- <div class="long">\r
- The id of the node, a DOM node or an existing Element that will be the container to render this component into. Using this config, a call to render() is not required. </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Component" ext:member="#renderTo" href="output/Ext.Component.html#renderTo">Component</a></td>\r
- </tr>\r
- <tr class="config-row">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-root"></a>\r
- <b>root</b> : Ext.tree.TreeNode <div class="mdesc">\r
- The root node for the tree. </div>\r
- </td>\r
- <td class="msource">TreePanel</td>\r
- </tr>\r
- <tr class="config-row alt">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-rootVisible"></a>\r
- <b>rootVisible</b> : Boolean <div class="mdesc">\r
- false to hide the root node (defaults to true) </div>\r
- </td>\r
- <td class="msource">TreePanel</td>\r
- </tr>\r
- <tr class="config-row">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-selModel"></a>\r
- <b>selModel</b> : Boolean <div class="mdesc">\r
- A tree selection model to use with this TreePanel (defaults to a <a ext:cls="Ext.tree.DefaultSelectionModel" href="output/Ext.tree.DefaultSelectionModel.html">Ext.tree.DefaultSelectionModel</a>) </div>\r
- </td>\r
- <td class="msource">TreePanel</td>\r
- </tr>\r
- <tr class="config-row inherited alt expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-shadow"></a>\r
- <b>shadow</b> : Boolean/String <div class="mdesc">\r
- <div class="short">True (or a valid Ext.Shadow Ext.Shadow.mode value) to display a shadow behind the panel, false to display no shadow (...</div>\r
- <div class="long">\r
- True (or a valid Ext.Shadow <a ext:cls="Ext.Shadow" ext:member="mode" href="output/Ext.Shadow.html#mode">Ext.Shadow.mode</a> value) to display a shadow behind the panel, false to display no shadow (defaults to 'sides'). Note that this option only applies when floating = true. </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Panel" ext:member="#shadow" href="output/Ext.Panel.html#shadow">Panel</a></td>\r
- </tr>\r
- <tr class="config-row inherited expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-shadowOffset"></a>\r
- <b>shadowOffset</b> : Number <div class="mdesc">\r
- <div class="short">The number of pixels to offset the shadow if displayed (defaults to 4). Note that this option only applies when float...</div>\r
- <div class="long">\r
- The number of pixels to offset the shadow if displayed (defaults to 4). Note that this option only applies when floating = true. </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Panel" ext:member="#shadowOffset" href="output/Ext.Panel.html#shadowOffset">Panel</a></td>\r
- </tr>\r
- <tr class="config-row inherited alt expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-shim"></a>\r
- <b>shim</b> : Boolean <div class="mdesc">\r
- <div class="short">False to disable the iframe shim in browsers which need one (defaults to true). Note that this option only applies wh...</div>\r
- <div class="long">\r
- False to disable the iframe shim in browsers which need one (defaults to true). Note that this option only applies when floating = true. </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Panel" ext:member="#shim" href="output/Ext.Panel.html#shim">Panel</a></td>\r
- </tr>\r
- <tr class="config-row">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-singleExpand"></a>\r
- <b>singleExpand</b> : Boolean <div class="mdesc">\r
- true if only 1 node per branch may be expanded </div>\r
- </td>\r
- <td class="msource">TreePanel</td>\r
- </tr>\r
- <tr class="config-row inherited alt expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-stateEvents"></a>\r
- <b>stateEvents</b> : Array <div class="mdesc">\r
- <div class="short">An array of events that, when fired, should trigger this component to save its state (defaults to none). These can be...</div>\r
- <div class="long">\r
- An array of events that, when fired, should trigger this component to save its state (defaults to none). These can be any types of events supported by this component, including browser or custom events (e.g., ['click', 'customerchange']). <p>See <a ext:cls="Ext.Component" ext:member="stateful" href="output/Ext.Component.html#stateful">stateful</a> for an explanation of saving and restoring Component state.</p> </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Component" ext:member="#stateEvents" href="output/Ext.Component.html#stateEvents">Component</a></td>\r
- </tr>\r
- <tr class="config-row inherited expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-stateId"></a>\r
- <b>stateId</b> : String <div class="mdesc">\r
- <div class="short">The unique id for this component to use for state management purposes (defaults to the component id if one was set, o...</div>\r
- <div class="long">\r
- The unique id for this component to use for state management purposes (defaults to the component id if one was set, otherwise null if the component is using a generated id). <p>See <a ext:cls="Ext.Component" ext:member="stateful" href="output/Ext.Component.html#stateful">stateful</a> for an explanation of saving and restoring Component state.</p> </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Component" ext:member="#stateId" href="output/Ext.Component.html#stateId">Component</a></td>\r
- </tr>\r
- <tr class="config-row inherited alt expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-stateful"></a>\r
- <b>stateful</b> : Boolean <div class="mdesc">\r
- <div class="short">A flag which causes the Component to attempt to restore the state of internal properties from a saved state on startu...</div>\r
- <div class="long">\r
- <p>A flag which causes the Component to attempt to restore the state of internal properties from a saved state on startup. The component must have either a <a ext:cls="Ext.Component" ext:member="stateId" href="output/Ext.Component.html#stateId">stateId</a> or <a ext:cls="Ext.Component" ext:member="id" href="output/Ext.Component.html#id">id</a> assigned for state to be managed. Auto-generated ids are not guaranteed to be stable across page loads and cannot be relied upon to save and restore the same state for a component.<p> For state saving to work, the state manager's provider must have been set to an implementation of <a ext:cls="Ext.state.Provider" href="output/Ext.state.Provider.html">Ext.state.Provider</a> which overrides the <a ext:cls="Ext.state.Provider" ext:member="set" href="output/Ext.state.Provider.html#set">set</a> and <a ext:cls="Ext.state.Provider" ext:member="get" href="output/Ext.state.Provider.html#get">get</a> methods to save and recall name/value pairs. A built-in implementation, <a ext:cls="Ext.state.CookieProvider" href="output/Ext.state.CookieProvider.html">Ext.state.CookieProvider</a> is available.</p> <p>To set the state provider for the current page:</p> <pre><code>Ext.state.Manager.setProvider(<b>new</b> Ext.state.CookieProvider());</code></pre> <p>Components attempt to save state when one of the events listed in the <a ext:cls="Ext.Component" ext:member="stateEvents" href="output/Ext.Component.html#stateEvents">stateEvents</a> configuration fires.</p> <p>You can perform extra processing on state save and restore by attaching handlers to the <a ext:cls="Ext.Component" ext:member="beforestaterestore" href="output/Ext.Component.html#beforestaterestore">beforestaterestore</a>, <a ext:cls="Ext.Component" ext:member="staterestore" href="output/Ext.Component.html#staterestore">staterestore</a>, <a ext:cls="Ext.Component" ext:member="beforestatesave" href="output/Ext.Component.html#beforestatesave">beforestatesave</a> and <a ext:cls="Ext.Component" ext:member="statesave" href="output/Ext.Component.html#statesave">statesave</a> events</p> </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Component" ext:member="#stateful" href="output/Ext.Component.html#stateful">Component</a></td>\r
- </tr>\r
- <tr class="config-row inherited expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-style"></a>\r
- <b>style</b> : String <div class="mdesc">\r
- <div class="short">A custom style specification to be applied to this component's Element. Should be a valid argument to Ext.Element.app...</div>\r
- <div class="long">\r
- A custom style specification to be applied to this component's Element. Should be a valid argument to <a ext:cls="Ext.Element" ext:member="applyStyles" href="output/Ext.Element.html#applyStyles">Ext.Element.applyStyles</a>. </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Component" ext:member="#style" href="output/Ext.Component.html#style">Component</a></td>\r
- </tr>\r
- <tr class="config-row inherited alt expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-tabTip"></a>\r
- <b>tabTip</b> : String <div class="mdesc">\r
- <div class="short">Adds a tooltip when mousing over the tab of a Ext.Panel which is an item of a Ext.TabPanel. Ext.QuickTips.init() must...</div>\r
- <div class="long">\r
- Adds a tooltip when mousing over the tab of a Ext.Panel which is an item of a Ext.TabPanel. Ext.QuickTips.init() must be called in order for the tips to render. </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Panel" ext:member="#tabTip" href="output/Ext.Panel.html#tabTip">Panel</a></td>\r
- </tr>\r
- <tr class="config-row inherited expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-tbar"></a>\r
- <b>tbar</b> : Object/Array <div class="mdesc">\r
- <div class="short">The top toolbar of the panel. This can be either an Ext.Toolbar object or an array of buttons/button configs to be ad...</div>\r
- <div class="long">\r
- The top toolbar of the panel. This can be either an <a ext:cls="Ext.Toolbar" href="output/Ext.Toolbar.html">Ext.Toolbar</a> object or an array of buttons/button configs to be added to the toolbar. Note that this is not available as a property after render. To access the top toolbar after render, use <a ext:cls="Ext.Panel" ext:member="getTopToolbar" href="output/Ext.Panel.html#getTopToolbar">getTopToolbar</a>. </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Panel" ext:member="#tbar" href="output/Ext.Panel.html#tbar">Panel</a></td>\r
- </tr>\r
- <tr class="config-row inherited alt expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-title"></a>\r
- <b>title</b> : String <div class="mdesc">\r
- <div class="short">The title text to display in the panel header (defaults to ''). When a title is specified the header element will aut...</div>\r
- <div class="long">\r
- The title text to display in the panel header (defaults to ''). When a title is specified the header element will automatically be created and displayed unless <a ext:cls="Ext.Panel" ext:member="header" href="output/Ext.Panel.html#header">header</a> is explicitly set to false. If you don't want to specify a title at config time, but you may want one later, you must either specify a non-empty title (a blank space ' ' will do) or header:true so that the container element will get created. </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Panel" ext:member="#title" href="output/Ext.Panel.html#title">Panel</a></td>\r
- </tr>\r
- <tr class="config-row inherited expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-titleCollapse"></a>\r
- <b>titleCollapse</b> : Boolean <div class="mdesc">\r
- <div class="short">True to allow expanding and collapsing the panel (when collapsible = true) by clicking anywhere in the header bar, fa...</div>\r
- <div class="long">\r
- True to allow expanding and collapsing the panel (when <a ext:cls="Ext.Panel" ext:member="collapsible" href="output/Ext.Panel.html#collapsible">collapsible</a> = true) by clicking anywhere in the header bar, false to allow it only by clicking to tool button (defaults to false). </div>\r
- </div>\r
- </td>\r
- <td class="msource"><a ext:cls="Ext.Panel" ext:member="#titleCollapse" href="output/Ext.Panel.html#titleCollapse">Panel</a></td>\r
- </tr>\r
- <tr class="config-row inherited alt expandable">\r
- <td class="micon"><a class="exi" href="#expand"> </a></td>\r
- <td class="sig">\r
- <a id="Ext.tree.TreePanel-tools"></a>\r
- <b>tools</b> : Array <div class="mdesc">\r
- <div class="short">An array of tool button configs to be added to the header tool area. When rendered, each tool is stored as an Element...</div>\r
- <div class="long">\r
- An array of tool button configs to be added to the header tool area. When rendered, each tool is stored as an <a ext:cls="Ext.Element" href="output/Ext.Element.html">Element</a> referenced by a public property called <tt><b></b>tools.<i><tool-type></i></tt> <p>Each tool config may contain the following properties: <div class="mdetail-params"><ul> <li><b>id</b> : String<div class="sub-desc"><b>Required.</b> The type of tool to create. Values may be<ul> <li><tt>toggle</tt> (Created by default when <a ext:cls="Ext.Panel" ext:member="collapsible" href="output/Ext.Panel.html#collapsible">collapsible</a> is <tt>true</tt>)</li> <li><tt>close</tt></li> <li><tt>minimize</tt></li> <li><tt>maximize</tt></li> <li><tt>restore</tt></li> <li><tt>gear</tt></li> <li><tt>pin</tt></li> <li><tt>unpin</tt></li> <li><tt>right</tt></li> <li><tt>left</tt></li> <li><tt>up</tt></li> <li><tt>down</tt></li> <li><tt>refresh</tt></li> <li><tt>minus</tt></li> <li><tt>plus</tt></li> <li><tt>help</tt></li> <li><tt>search</tt></li> <li><tt>save</tt></li> <li><tt>print</tt></li> </ul></div></li> <li><b>handler</b> : Function<div class="sub-desc"><b>Required.</b> The function to call when clicked. Arguments passed are:<ul> <li><b>event</b> : Ext.EventObject<div class="sub-desc">The click event.</div></li> <li><b>toolEl</b> : Ext.Element<div class="sub-desc">The tool Element.</div></li> <li><b>Panel</b> : Ext.Panel<div class="sub-desc">The host Panel</div></li> </ul></div></li> <li><b>scope</b> : Object<div class="sub-desc">The scope in which to call the handler.</div></li> <li><b>qtip</b> : String/Object<div class="sub-desc">A tip string, or a config argument to <a ext:cls="Ext.QuickTip" ext:member="register" href="output/Ext.QuickTip.html#register">Ext.QuickTip.register</a></div></li> <li><b>hidden</b> : Boolean<div class="sub-desc">True to initially render hidden.</div></li> <li><b>on</b> : Object<div class="sub-desc">A listener config object specifiying event listeners in the format of an argument to <a ext:cls="Ext.Panel" ext:member="addListener" href="output/Ext.Panel.html#addListener">addListener</a></div></li> </ul></div> Example usage: <pre><code>tools:[{
+});</code></pre></div></div></td><td class="msource"><a href="output/Ext.Component.html#labelStyle" ext:member="#labelStyle" ext:cls="Ext.Component">Component</a></td></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.tree.TreePanel-lines"></a><b><a href="source/TreePanel.html#cfg-Ext.tree.TreePanel-lines">lines</a></b> : Boolean<div class="mdesc"><tt>false</tt> to disable tree lines (defaults to <tt>true</tt>)</div></td><td class="msource">TreePanel</td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-listeners"></a><b><a href="source/Observable.html#cfg-Ext.util.Observable-listeners">listeners</a></b> : Object<div class="mdesc"><div class="short">A config object containing one or more event handlers to be added to this
+object during initialization. This should ...</div><div class="long"><p>A config object containing one or more event handlers to be added to this
+object during initialization. This should be a valid listeners config object as specified in the
+<a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> example for attaching multiple handlers at once.</p>
+<br><p><b><u>DOM events from ExtJs <a href="output/Ext.Component.html" ext:cls="Ext.Component">Components</a></u></b></p>
+<br><p>While <i>some</i> ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this
+is usually only done when extra value can be added. For example the <a href="output/Ext.DataView.html" ext:cls="Ext.DataView">DataView</a>'s
+<b><code><a href="output/Ext.DataView.html#Ext.DataView-click" ext:member="click" ext:cls="Ext.DataView">click</a></code></b> event passing the node clicked on. To access DOM
+events directly from a Component's HTMLElement, listeners must be added to the <i><a href="output/Ext.Component.html#Ext.Component-getEl" ext:member="getEl" ext:cls="Ext.Component">Element</a></i> after the Component
+has been rendered. A plugin can simplify this step:<pre><code><i>// Plugin is configured <b>with</b> a listeners config object.</i>
+<i>// The Component is appended to the argument list of all handler functions.</i>
+Ext.DomObserver = Ext.extend(Object, {
+ constructor: <b>function</b>(config) {
+ this.listeners = config.listeners ? config.listeners : config;
+ },
+
+ <i>// Component passes itself into plugin's init method</i>
+ init: <b>function</b>(c) {
+ <b>var</b> p, l = this.listeners;
+ <b>for</b> (p <b>in</b> l) {
+ <b>if</b> (Ext.isFunction(l[p])) {
+ l[p] = this.createHandler(l[p], c);
+ } <b>else</b> {
+ l[p].fn = this.createHandler(l[p].fn, c);
+ }
+ }
+
+ <i>// Add the listeners to the Element immediately following the render call</i>
+ c.render = c.render.<a href="output/Function.html#Function-createSequence" ext:member="createSequence" ext:cls="Function">createSequence</a>(<b>function</b>() {
+ <b>var</b> e = c.getEl();
+ <b>if</b> (e) {
+ e.on(l);
+ }
+ });
+ },
+
+ createHandler: <b>function</b>(fn, c) {
+ <b>return</b> <b>function</b>(e) {
+ fn.call(this, e, c);
+ };
+ }
+});
+
+<b>var</b> combo = <b>new</b> Ext.form.ComboBox({
+
+ <i>// Collapse combo when its element is clicked on</i>
+ plugins: [ <b>new</b> Ext.DomObserver({
+ click: <b>function</b>(evt, comp) {
+ comp.collapse();
+ }
+ })],
+ store: myStore,
+ typeAhead: true,
+ mode: <em>'local'</em>,
+ triggerAction: <em>'all'</em>
+});</code></pre></p></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#listeners" ext:member="#listeners" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.tree.TreePanel-loader"></a><b><a href="source/TreePanel.html#cfg-Ext.tree.TreePanel-loader">loader</a></b> : Ext.tree.TreeLoader<div class="mdesc">A <a href="output/Ext.tree.TreeLoader.html" ext:cls="Ext.tree.TreeLoader">Ext.tree.TreeLoader</a> for use with this TreePanel</div></td><td class="msource">TreePanel</td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.BoxComponent-margins"></a><b><a href="source/BoxComponent.html#cfg-Ext.BoxComponent-margins">margins</a></b> : Object<div class="mdesc"><div class="short">Note: this config is only used when this BoxComponent is rendered
+by a Container which has been configured to use the...</div><div class="long"><p><b>Note</b>: this config is only used when this BoxComponent is rendered
+by a Container which has been configured to use the <b><a href="output/Ext.layout.BorderLayout.html" ext:cls="Ext.layout.BorderLayout">BorderLayout</a></b>
+or one of the two <b><a href="output/Ext.layout.BoxLayout.html" ext:cls="Ext.layout.BoxLayout">BoxLayout</a> subclasses.</b></p>
+<p>An object containing margins to apply to this BoxComponent in the
+format:</p><pre><code>{
+ top: (top margin),
+ right: (right margin),
+ bottom: (bottom margin),
+ left: (left margin)
+}</code></pre>
+<p>May also be a string containing space-separated, numeric margin values. The order of the
+sides associated with each value matches the way CSS processes margin values:</p>
+<p><div class="mdetail-params"><ul>
+<li>If there is only one value, it applies to all sides.</li>
+<li>If there are two values, the top and bottom borders are set to the first value and the
+right and left are set to the second.</li>
+<li>If there are three values, the top is set to the first value, the left and right are set
+to the second, and the bottom is set to the third.</li>
+<li>If there are four values, they apply to the top, right, bottom, and left, respectively.</li>
+</ul></div></p>
+<p>Defaults to:</p><pre><code>{top:0, right:0, bottom:0, left:0}</code></pre></div></div></td><td class="msource"><a href="output/Ext.BoxComponent.html#margins" ext:member="#margins" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Panel-maskDisabled"></a><b><a href="source/Panel.html#cfg-Ext.Panel-maskDisabled">maskDisabled</a></b> : Boolean<div class="mdesc"><div class="short">true to mask the panel when it is disabled, false to not mask it (defaults
+to true). Either way, the panel will alwa...</div><div class="long"><code>true</code> to mask the panel when it is <a href="output/Ext.Panel.html#Ext.Panel-disabled" ext:member="disabled" ext:cls="Ext.Panel">disabled</a>, <code>false</code> to not mask it (defaults
+to <code>true</code>). Either way, the panel will always tell its contained elements to disable themselves
+when it is disabled, but masking the panel can provide an additional visual cue that the panel is
+disabled.</div></div></td><td class="msource"><a href="output/Ext.Panel.html#maskDisabled" ext:member="#maskDisabled" ext:cls="Ext.Panel">Panel</a></td></tr><tr class="config-row inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Panel-minButtonWidth"></a><b><a href="source/Panel.html#cfg-Ext.Panel-minButtonWidth">minButtonWidth</a></b> : Number<div class="mdesc">Minimum width in pixels of all <a href="output/Ext.Panel.html#Ext.Panel-buttons" ext:member="buttons" ext:cls="Ext.Panel">buttons</a> in this panel (defaults to <code>75</code>)</div></td><td class="msource"><a href="output/Ext.Panel.html#minButtonWidth" ext:member="#minButtonWidth" ext:cls="Ext.Panel">Panel</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Component-overCls"></a><b><a href="source/Component.html#cfg-Ext.Component-overCls">overCls</a></b> : String<div class="mdesc"><div class="short">An optional extra CSS class that will be added to this component's Element when the mouse moves
+over the Element, and...</div><div class="long">An optional extra CSS class that will be added to this component's Element when the mouse moves
+over the Element, and removed when the mouse moves out. (defaults to ''). This can be
+useful for adding customized 'active' or 'hover' styles to the component or any of its children using standard CSS rules.</div></div></td><td class="msource"><a href="output/Ext.Component.html#overCls" ext:member="#overCls" ext:cls="Ext.Component">Component</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Panel-padding"></a><b><a href="source/Panel.html#cfg-Ext.Panel-padding">padding</a></b> : Number/String<div class="mdesc"><div class="short">A shortcut for setting a padding style on the body element. The value can either be
+a number to be applied to all sid...</div><div class="long">A shortcut for setting a padding style on the body element. The value can either be
+a number to be applied to all sides, or a normal css string describing padding.
+Defaults to <tt>undefined</tt>.</div></div></td><td class="msource"><a href="output/Ext.Panel.html#padding" ext:member="#padding" ext:cls="Ext.Panel">Panel</a></td></tr><tr class="config-row inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.BoxComponent-pageX"></a><b><a href="source/BoxComponent.html#cfg-Ext.BoxComponent-pageX">pageX</a></b> : Number<div class="mdesc">The page level x coordinate for this component if contained within a positioning container.</div></td><td class="msource"><a href="output/Ext.BoxComponent.html#pageX" ext:member="#pageX" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="config-row inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.BoxComponent-pageY"></a><b><a href="source/BoxComponent.html#cfg-Ext.BoxComponent-pageY">pageY</a></b> : Number<div class="mdesc">The page level y coordinate for this component if contained within a positioning container.</div></td><td class="msource"><a href="output/Ext.BoxComponent.html#pageY" ext:member="#pageY" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.tree.TreePanel-pathSeparator"></a><b><a href="source/TreePanel.html#cfg-Ext.tree.TreePanel-pathSeparator">pathSeparator</a></b> : String<div class="mdesc">The token used to separate sub-paths in path strings (defaults to <tt>'/'</tt>)</div></td><td class="msource">TreePanel</td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Component-plugins"></a><b><a href="source/Component.html#cfg-Ext.Component-plugins">plugins</a></b> : Object/Array<div class="mdesc"><div class="short">An object or array of objects that will provide custom functionality for this component. The only
+requirement for a ...</div><div class="long">An object or array of objects that will provide custom functionality for this component. The only
+requirement for a valid plugin is that it contain an init method that accepts a reference of type Ext.Component.
+When a component is created, if any plugins are available, the component will call the init method on each
+plugin, passing a reference to itself. Each plugin can then call methods or respond to events on the
+component as needed to provide its functionality.</div></div></td><td class="msource"><a href="output/Ext.Component.html#plugins" ext:member="#plugins" ext:cls="Ext.Component">Component</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Component-ptype"></a><b><a href="source/Component.html#cfg-Ext.Component-ptype">ptype</a></b> : String<div class="mdesc"><div class="short">The registered ptype to create. This config option is not used when passing
+a config object into a constructor. This ...</div><div class="long">The registered <tt>ptype</tt> to create. This config option is not used when passing
+a config object into a constructor. This config option is used only when
+lazy instantiation is being used, and a Plugin is being
+specified not as a fully instantiated Component, but as a <i>Component config
+object</i>. The <tt>ptype</tt> will be looked up at render time up to determine what
+type of Plugin to create.<br><br>
+If you create your own Plugins, you may register them using
+<a href="output/Ext.ComponentMgr.html#Ext.ComponentMgr-registerPlugin" ext:member="registerPlugin" ext:cls="Ext.ComponentMgr">Ext.ComponentMgr.registerPlugin</a> in order to be able to
+take advantage of lazy instantiation and rendering.</div></div></td><td class="msource"><a href="output/Ext.Component.html#ptype" ext:member="#ptype" ext:cls="Ext.Component">Component</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Component-ref"></a><b><a href="source/Component.html#cfg-Ext.Component-ref">ref</a></b> : String<div class="mdesc"><div class="short">A path specification, relative to the Component's ownerCt
+specifying into which ancestor Container to place a named r...</div><div class="long"><p>A path specification, relative to the Component's <code><a href="output/Ext.Component.html#Ext.Component-ownerCt" ext:member="ownerCt" ext:cls="Ext.Component">ownerCt</a></code>
+specifying into which ancestor Container to place a named reference to this Component.</p>
+<p>The ancestor axis can be traversed by using '/' characters in the path.
+For example, to put a reference to a Toolbar Button into <i>the Panel which owns the Toolbar</i>:</p><pre><code><b>var</b> myGrid = <b>new</b> Ext.grid.EditorGridPanel({
+ title: <em>'My EditorGridPanel'</em>,
+ store: myStore,
+ colModel: myColModel,
+ tbar: [{
+ text: <em>'Save'</em>,
+ handler: saveChanges,
+ disabled: true,
+ ref: <em>'../saveButton'</em>
+ }],
+ listeners: {
+ afteredit: <b>function</b>() {
+<i>// The button reference is <b>in</b> the GridPanel</i>
+ myGrid.saveButton.enable();
+ }
+ }
+});</code></pre>
+<p>In the code above, if the <code>ref</code> had been <code><em>'saveButton'</em></code>
+the reference would have been placed into the Toolbar. Each '/' in the <code>ref</code>
+moves up one level from the Component's <code><a href="output/Ext.Component.html#Ext.Component-ownerCt" ext:member="ownerCt" ext:cls="Ext.Component">ownerCt</a></code>.</p>
+<p>Also see the <code><a href="output/Ext.Component.html#Ext.Component-added" ext:member="added" ext:cls="Ext.Component">added</a></code> and <code><a href="output/Ext.Component.html#Ext.Component-removed" ext:member="removed" ext:cls="Ext.Component">removed</a></code> events.</p></div></div></td><td class="msource"><a href="output/Ext.Component.html#ref" ext:member="#ref" ext:cls="Ext.Component">Component</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.BoxComponent-region"></a><b><a href="source/BoxComponent.html#cfg-Ext.BoxComponent-region">region</a></b> : String<div class="mdesc"><div class="short">Note: this config is only used when this BoxComponent is rendered
+by a Container which has been configured to use the...</div><div class="long"><p><b>Note</b>: this config is only used when this BoxComponent is rendered
+by a Container which has been configured to use the <b><a href="output/Ext.layout.BorderLayout.html" ext:cls="Ext.layout.BorderLayout">BorderLayout</a></b>
+layout manager (e.g. specifying <tt>layout:'border'</tt>).</p><br>
+<p>See <a href="output/Ext.layout.BorderLayout.html" ext:cls="Ext.layout.BorderLayout">Ext.layout.BorderLayout</a> also.</p></div></div></td><td class="msource"><a href="output/Ext.BoxComponent.html#region" ext:member="#region" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Component-renderTo"></a><b><a href="source/Component.html#cfg-Ext.Component-renderTo">renderTo</a></b> : Mixed<div class="mdesc"><div class="short">Specify the id of the element, a DOM element or an existing Element that this component
+will be rendered into.
+Notes ...</div><div class="long"><p>Specify the id of the element, a DOM element or an existing Element that this component
+will be rendered into.</p><div><ul>
+<li><b>Notes</b> : <ul>
+<div class="sub-desc">Do <u>not</u> use this option if the Component is to be a child item of
+a <a href="output/Ext.Container.html" ext:cls="Ext.Container">Container</a>. It is the responsibility of the
+<a href="output/Ext.Container.html" ext:cls="Ext.Container">Container</a>'s <a href="output/Ext.Container.html#Ext.Container-layout" ext:member="layout" ext:cls="Ext.Container">layout manager</a>
+to render and manage its child items.</div>
+<div class="sub-desc">When using this config, a call to render() is not required.</div>
+</ul></li>
+</ul></div>
+<p>See <tt><a href="output/Ext.Component.html#Ext.Component-render" ext:member="render" ext:cls="Ext.Component">render</a></tt> also.</p></div></div></td><td class="msource"><a href="output/Ext.Component.html#renderTo" ext:member="#renderTo" ext:cls="Ext.Component">Component</a></td></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.tree.TreePanel-requestMethod"></a><b><a href="source/TreePanel.html#cfg-Ext.tree.TreePanel-requestMethod">requestMethod</a></b> : String<div class="mdesc">The HTTP request method for loading data (defaults to the value of <a href="output/Ext.Ajax.html#Ext.Ajax-method" ext:member="method" ext:cls="Ext.Ajax">Ext.Ajax.method</a>).</div></td><td class="msource">TreePanel</td></tr><tr class="config-row inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Panel-resizeEvent"></a><b><a href="source/Panel.html#cfg-Ext.Panel-resizeEvent">resizeEvent</a></b> : String<div class="mdesc">The event to listen to for resizing in layouts. Defaults to <tt>'bodyresize'</tt>.</div></td><td class="msource"><a href="output/Ext.Panel.html#resizeEvent" ext:member="#resizeEvent" ext:cls="Ext.Panel">Panel</a></td></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.tree.TreePanel-root"></a><b><a href="source/TreePanel.html#cfg-Ext.tree.TreePanel-root">root</a></b> : Ext.tree.TreeNode<div class="mdesc">The root node for the tree.</div></td><td class="msource">TreePanel</td></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.tree.TreePanel-rootVisible"></a><b><a href="source/TreePanel.html#cfg-Ext.tree.TreePanel-rootVisible">rootVisible</a></b> : Boolean<div class="mdesc"><tt>false</tt> to hide the root node (defaults to <tt>true</tt>)</div></td><td class="msource">TreePanel</td></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.tree.TreePanel-selModel"></a><b><a href="source/TreePanel.html#cfg-Ext.tree.TreePanel-selModel">selModel</a></b> : Object<div class="mdesc">A tree selection model to use with this TreePanel (defaults to an <a href="output/Ext.tree.DefaultSelectionModel.html" ext:cls="Ext.tree.DefaultSelectionModel">Ext.tree.DefaultSelectionModel</a>)</div></td><td class="msource">TreePanel</td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Panel-shadow"></a><b><a href="source/Panel.html#cfg-Ext.Panel-shadow">shadow</a></b> : Boolean/String<div class="mdesc"><div class="short">true (or a valid Ext.Shadow Ext.Shadow.mode value) to display a shadow behind the
+panel, false to display no shadow (...</div><div class="long"><code>true</code> (or a valid Ext.Shadow <a href="output/Ext.Shadow.html#Ext.Shadow-mode" ext:member="mode" ext:cls="Ext.Shadow">Ext.Shadow.mode</a> value) to display a shadow behind the
+panel, <code>false</code> to display no shadow (defaults to <code><em>'sides'</em></code>). Note that this option
+only applies when <code><a href="output/Ext.Panel.html#Ext.Panel-floating" ext:member="floating" ext:cls="Ext.Panel">floating</a> = true</code>.</div></div></td><td class="msource"><a href="output/Ext.Panel.html#shadow" ext:member="#shadow" ext:cls="Ext.Panel">Panel</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Panel-shadowOffset"></a><b><a href="source/Panel.html#cfg-Ext.Panel-shadowOffset">shadowOffset</a></b> : Number<div class="mdesc"><div class="short">The number of pixels to offset the shadow if displayed (defaults to 4). Note that this
+option only applies when float...</div><div class="long">The number of pixels to offset the shadow if displayed (defaults to <code>4</code>). Note that this
+option only applies when <code><a href="output/Ext.Panel.html#Ext.Panel-floating" ext:member="floating" ext:cls="Ext.Panel">floating</a> = true</code>.</div></div></td><td class="msource"><a href="output/Ext.Panel.html#shadowOffset" ext:member="#shadowOffset" ext:cls="Ext.Panel">Panel</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Panel-shim"></a><b><a href="source/Panel.html#cfg-Ext.Panel-shim">shim</a></b> : Boolean<div class="mdesc"><div class="short">false to disable the iframe shim in browsers which need one (defaults to true).
+Note that this option only applies wh...</div><div class="long"><code>false</code> to disable the iframe shim in browsers which need one (defaults to <code>true</code>).
+Note that this option only applies when <code><a href="output/Ext.Panel.html#Ext.Panel-floating" ext:member="floating" ext:cls="Ext.Panel">floating</a> = true</code>.</div></div></td><td class="msource"><a href="output/Ext.Panel.html#shim" ext:member="#shim" ext:cls="Ext.Panel">Panel</a></td></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.tree.TreePanel-singleExpand"></a><b><a href="source/TreePanel.html#cfg-Ext.tree.TreePanel-singleExpand">singleExpand</a></b> : Boolean<div class="mdesc"><tt>true</tt> if only 1 node per branch may be expanded</div></td><td class="msource">TreePanel</td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Component-stateEvents"></a><b><a href="source/Component.html#cfg-Ext.Component-stateEvents">stateEvents</a></b> : Array<div class="mdesc"><div class="short">An array of events that, when fired, should trigger this component to
+save its state (defaults to none). stateEvents ...</div><div class="long"><p>An array of events that, when fired, should trigger this component to
+save its state (defaults to none). <code>stateEvents</code> may be any type
+of event supported by this component, including browser or custom events
+(e.g., <tt>['click', 'customerchange']</tt>).</p>
+<p>See <code><a href="output/Ext.Component.html#Ext.Component-stateful" ext:member="stateful" ext:cls="Ext.Component">stateful</a></code> for an explanation of saving and
+restoring Component state.</p></div></div></td><td class="msource"><a href="output/Ext.Component.html#stateEvents" ext:member="#stateEvents" ext:cls="Ext.Component">Component</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Component-stateId"></a><b><a href="source/Component.html#cfg-Ext.Component-stateId">stateId</a></b> : String<div class="mdesc"><div class="short">The unique id for this component to use for state management purposes
+(defaults to the component id if one was set, o...</div><div class="long">The unique id for this component to use for state management purposes
+(defaults to the component id if one was set, otherwise null if the
+component is using a generated id).
+<p>See <code><a href="output/Ext.Component.html#Ext.Component-stateful" ext:member="stateful" ext:cls="Ext.Component">stateful</a></code> for an explanation of saving and
+restoring Component state.</p></div></div></td><td class="msource"><a href="output/Ext.Component.html#stateId" ext:member="#stateId" ext:cls="Ext.Component">Component</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Component-stateful"></a><b><a href="source/Component.html#cfg-Ext.Component-stateful">stateful</a></b> : Boolean<div class="mdesc"><div class="short">A flag which causes the Component to attempt to restore the state of
+internal properties from a saved state on startu...</div><div class="long"><p>A flag which causes the Component to attempt to restore the state of
+internal properties from a saved state on startup. The component must have
+either a <code><a href="output/Ext.Component.html#Ext.Component-stateId" ext:member="stateId" ext:cls="Ext.Component">stateId</a></code> or <code><a href="output/Ext.Component.html#Ext.Component-id" ext:member="id" ext:cls="Ext.Component">id</a></code> assigned
+for state to be managed. Auto-generated ids are not guaranteed to be stable
+across page loads and cannot be relied upon to save and restore the same
+state for a component.<p>
+<p>For state saving to work, the state manager's provider must have been
+set to an implementation of <a href="output/Ext.state.Provider.html" ext:cls="Ext.state.Provider">Ext.state.Provider</a> which overrides the
+<a href="output/Ext.state.Provider.html#Ext.state.Provider-set" ext:member="set" ext:cls="Ext.state.Provider">set</a> and <a href="output/Ext.state.Provider.html#Ext.state.Provider-get" ext:member="get" ext:cls="Ext.state.Provider">get</a>
+methods to save and recall name/value pairs. A built-in implementation,
+<a href="output/Ext.state.CookieProvider.html" ext:cls="Ext.state.CookieProvider">Ext.state.CookieProvider</a> is available.</p>
+<p>To set the state provider for the current page:</p>
+<pre><code>Ext.state.Manager.setProvider(<b>new</b> Ext.state.CookieProvider({
+ expires: <b>new</b> Date(<b>new</b> Date().getTime()+(1000*60*60*24*7)), <i>//7 days from now</i>
+}));</code></pre>
+<p>A stateful Component attempts to save state when one of the events
+listed in the <code><a href="output/Ext.Component.html#Ext.Component-stateEvents" ext:member="stateEvents" ext:cls="Ext.Component">stateEvents</a></code> configuration fires.</p>
+<p>To save state, a stateful Component first serializes its state by
+calling <b><code>getState</code></b>. By default, this function does
+nothing. The developer must provide an implementation which returns an
+object hash which represents the Component's restorable state.</p>
+<p>The value yielded by getState is passed to <a href="output/Ext.state.Manager.html#Ext.state.Manager-set" ext:member="set" ext:cls="Ext.state.Manager">Ext.state.Manager.set</a>
+which uses the configured <a href="output/Ext.state.Provider.html" ext:cls="Ext.state.Provider">Ext.state.Provider</a> to save the object
+keyed by the Component's <code><a href="output/stateId.html" ext:cls="stateId">stateId</a></code>, or, if that is not
+specified, its <code><a href="output/Ext.Component.html#Ext.Component-id" ext:member="id" ext:cls="Ext.Component">id</a></code>.</p>
+<p>During construction, a stateful Component attempts to <i>restore</i>
+its state by calling <a href="output/Ext.state.Manager.html#Ext.state.Manager-get" ext:member="get" ext:cls="Ext.state.Manager">Ext.state.Manager.get</a> passing the
+<code><a href="output/Ext.Component.html#Ext.Component-stateId" ext:member="stateId" ext:cls="Ext.Component">stateId</a></code>, or, if that is not specified, the
+<code><a href="output/Ext.Component.html#Ext.Component-id" ext:member="id" ext:cls="Ext.Component">id</a></code>.</p>
+<p>The resulting object is passed to <b><code>applyState</code></b>.
+The default implementation of <code>applyState</code> simply copies
+properties into the object, but a developer may override this to support
+more behaviour.</p>
+<p>You can perform extra processing on state save and restore by attaching
+handlers to the <a href="output/Ext.Component.html#Ext.Component-beforestaterestore" ext:member="beforestaterestore" ext:cls="Ext.Component">beforestaterestore</a>, <a href="output/Ext.Component.html#Ext.Component-staterestore" ext:member="staterestore" ext:cls="Ext.Component">staterestore</a>,
+<a href="output/Ext.Component.html#Ext.Component-beforestatesave" ext:member="beforestatesave" ext:cls="Ext.Component">beforestatesave</a> and <a href="output/Ext.Component.html#Ext.Component-statesave" ext:member="statesave" ext:cls="Ext.Component">statesave</a> events.</p></div></div></td><td class="msource"><a href="output/Ext.Component.html#stateful" ext:member="#stateful" ext:cls="Ext.Component">Component</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Component-style"></a><b><a href="source/Component.html#cfg-Ext.Component-style">style</a></b> : String<div class="mdesc"><div class="short">A custom style specification to be applied to this component's Element. Should be a valid argument to
+Ext.Element.ap...</div><div class="long">A custom style specification to be applied to this component's Element. Should be a valid argument to
+<a href="output/Ext.Element.html#Ext.Element-applyStyles" ext:member="applyStyles" ext:cls="Ext.Element">Ext.Element.applyStyles</a>.
+<pre><code><b>new</b> Ext.Panel({
+ title: <em>'Some Title'</em>,
+ renderTo: Ext.getBody(),
+ width: 400, height: 300,
+ layout: <em>'form'</em>,
+ items: [{
+ xtype: <em>'textarea'</em>,
+ style: {
+ width: <em>'95%'</em>,
+ marginBottom: <em>'10px'</em>
+ }
+ },
+ <b>new</b> Ext.Button({
+ text: <em>'Send'</em>,
+ minWidth: <em>'100'</em>,
+ style: {
+ marginBottom: <em>'10px'</em>
+ }
+ })
+ ]
+});</code></pre></div></div></td><td class="msource"><a href="output/Ext.Component.html#style" ext:member="#style" ext:cls="Ext.Component">Component</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.BoxComponent-tabTip"></a><b><a href="source/BoxComponent.html#cfg-Ext.BoxComponent-tabTip">tabTip</a></b> : String<div class="mdesc"><div class="short">Note: this config is only used when this BoxComponent is a child item of a TabPanel.
+A string to be used as innerHTML...</div><div class="long"><p><b>Note</b>: this config is only used when this BoxComponent is a child item of a TabPanel.</p>
+A string to be used as innerHTML (html tags are accepted) to show in a tooltip when mousing over
+the associated tab selector element. <a href="output/Ext.QuickTips.html" ext:cls="Ext.QuickTips">Ext.QuickTips</a>.init()
+must be called in order for the tips to render.</div></div></td><td class="msource"><a href="output/Ext.BoxComponent.html#tabTip" ext:member="#tabTip" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Panel-tbar"></a><b><a href="source/Panel.html#cfg-Ext.Panel-tbar">tbar</a></b> : Object/Array<div class="mdesc"><div class="short">The top toolbar of the panel. This can be a Ext.Toolbar object, a toolbar config, or an array of
+buttons/button confi...</div><div class="long"><p>The top toolbar of the panel. This can be a <a href="output/Ext.Toolbar.html" ext:cls="Ext.Toolbar">Ext.Toolbar</a> object, a toolbar config, or an array of
+buttons/button configs to be added to the toolbar. Note that this is not available as a property after render.
+To access the top toolbar after render, use <a href="output/Ext.Panel.html#Ext.Panel-getTopToolbar" ext:member="getTopToolbar" ext:cls="Ext.Panel">getTopToolbar</a>.</p>
+<p><b>Note:</b> Although a Toolbar may contain Field components, these will <b>not</b> be updated by a load
+of an ancestor FormPanel. A Panel's toolbars are not part of the standard Container->Component hierarchy, and
+so are not scanned to collect form items. However, the values <b>will</b> be submitted because form
+submission parameters are collected from the DOM tree.</p></div></div></td><td class="msource"><a href="output/Ext.Panel.html#tbar" ext:member="#tbar" ext:cls="Ext.Panel">Panel</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Panel-tbarCfg"></a><b><a href="source/Panel.html#cfg-Ext.Panel-tbarCfg">tbarCfg</a></b> : Object<div class="mdesc"><div class="short">A DomHelper element specification object specifying the element structure
+of this Panel's tbar Element. See bodyCfg ...</div><div class="long"><p>A <a href="output/Ext.DomHelper.html" ext:cls="Ext.DomHelper">DomHelper</a> element specification object specifying the element structure
+of this Panel's <a href="output/Ext.Panel.html#Ext.Panel-tbar" ext:member="tbar" ext:cls="Ext.Panel">tbar</a> Element. See <code><a href="output/Ext.Panel.html#Ext.Panel-bodyCfg" ext:member="bodyCfg" ext:cls="Ext.Panel">bodyCfg</a></code> also.</p></div></div></td><td class="msource"><a href="output/Ext.Panel.html#tbarCfg" ext:member="#tbarCfg" ext:cls="Ext.Panel">Panel</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Panel-title"></a><b><a href="source/Panel.html#cfg-Ext.Panel-title">title</a></b> : String<div class="mdesc"><div class="short">The title text to be used as innerHTML (html tags are accepted) to display in the panel
+header (defaults to ''). When...</div><div class="long">The title text to be used as innerHTML (html tags are accepted) to display in the panel
+<code><a href="output/Ext.Panel.html#Ext.Panel-header" ext:member="header" ext:cls="Ext.Panel">header</a></code> (defaults to ''). When a <code>title</code> is specified the
+<code><a href="output/Ext.Panel.html#Ext.Panel-header" ext:member="header" ext:cls="Ext.Panel">header</a></code> element will automatically be created and displayed unless
+<a href="output/Ext.Panel.html#Ext.Panel-header" ext:member="header" ext:cls="Ext.Panel">header</a> is explicitly set to <code>false</code>. If you do not want to specify a
+<code>title</code> at config time, but you may want one later, you must either specify a non-empty
+<code>title</code> (a blank space ' ' will do) or <code>header:true</code> so that the container
+element will get created.</div></div></td><td class="msource"><a href="output/Ext.Panel.html#title" ext:member="#title" ext:cls="Ext.Panel">Panel</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Panel-titleCollapse"></a><b><a href="source/Panel.html#cfg-Ext.Panel-titleCollapse">titleCollapse</a></b> : Boolean<div class="mdesc"><div class="short">true to allow expanding and collapsing the panel (when collapsible = true)
+by clicking anywhere in the header bar, fa...</div><div class="long"><code>true</code> to allow expanding and collapsing the panel (when <code><a href="output/Ext.Panel.html#Ext.Panel-collapsible" ext:member="collapsible" ext:cls="Ext.Panel">collapsible</a> = true</code>)
+by clicking anywhere in the header bar, <code>false</code>) to allow it only by clicking to tool button
+(defaults to <code>false</code>)). If this panel is a child item of a border layout also see the
+<a href="output/Ext.layout.BorderLayout.Region.html" ext:cls="Ext.layout.BorderLayout.Region">BorderLayout.Region</a>
+<code><a href="output/Ext.layout.BorderLayout.Region.html#Ext.layout.BorderLayout.Region-floatable" ext:member="floatable" ext:cls="Ext.layout.BorderLayout.Region">floatable</a></code> config option.</div></div></td><td class="msource"><a href="output/Ext.Panel.html#titleCollapse" ext:member="#titleCollapse" ext:cls="Ext.Panel">Panel</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Panel-toolTemplate"></a><b><a href="source/Panel.html#cfg-Ext.Panel-toolTemplate">toolTemplate</a></b> : Ext.Template/Ext.XTemplate<div class="mdesc"><div class="short">A Template used to create tools in the header Element. Defaults to:new Ext.Template('&lt;div class="x-tool x-tool-{id...</div><div class="long"><p>A Template used to create <a href="output/Ext.Panel.html#Ext.Panel-tools" ext:member="tools" ext:cls="Ext.Panel">tools</a> in the <a href="output/Ext.Panel.html#Ext.Panel-header" ext:member="header" ext:cls="Ext.Panel">header</a> Element. Defaults to:</p><pre><code><b>new</b> Ext.Template(<em>'<div class=<em>"x-tool x-tool-{id}"</em>>&#160;</div>'</em>)</code></pre>
+<p>This may may be overridden to provide a custom DOM structure for tools based upon a more
+complex XTemplate. The template's data is a single tool configuration object (Not the entire Array)
+as specified in <a href="output/Ext.Panel.html#Ext.Panel-tools" ext:member="tools" ext:cls="Ext.Panel">tools</a>. In the following example an <a> tag is used to provide a
+visual indication when hovering over the tool:</p><pre><code><b>var</b> win = <b>new</b> Ext.Window({
+ tools: [{
+ id: <em>'download'</em>,
+ href: <em>'/MyPdfDoc.pdf'</em>
+ }],
+ toolTemplate: <b>new</b> Ext.XTemplate(
+ <em>'<tpl <b>if</b>=<em>"id==\'</em>download\<em>'"</em>>'</em>,
+ <em>'<a class=<em>"x-tool x-tool-pdf"</em> href=<em>"{href}"</em>></a>'</em>,
+ <em>'</tpl>'</em>,
+ <em>'<tpl <b>if</b>=<em>"id!=\'</em>download\<em>'"</em>>'</em>,
+ <em>'<div class=<em>"x-tool x-tool-{id}"</em>>&#160;</div>'</em>,
+ <em>'</tpl>'</em>
+ ),
+ width:500,
+ height:300,
+ closeAction:<em>'hide'</em>
+});</code></pre>
+<p>Note that the CSS class 'x-tool-pdf' should have an associated style rule which provides an
+appropriate background image, something like:</p>
+ <pre><code>a.x-tool-pdf {background-image: url(../shared/extjs/images/pdf.gif)!important;}</code></pre></div></div></td><td class="msource"><a href="output/Ext.Panel.html#toolTemplate" ext:member="#toolTemplate" ext:cls="Ext.Panel">Panel</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Panel-tools"></a><b><a href="source/Panel.html#cfg-Ext.Panel-tools">tools</a></b> : Array<div class="mdesc"><div class="short">An array of tool button configs to be added to the header tool area. When rendered, each tool is
+stored as an Element...</div><div class="long">An array of tool button configs to be added to the header tool area. When rendered, each tool is
+stored as an <a href="output/Ext.Element.html" ext:cls="Ext.Element">Element</a> referenced by a public property called <code><b></b>tools.<i><tool-type></i></code>
+<p>Each tool config may contain the following properties:
+<div class="mdetail-params"><ul>
+<li><b>id</b> : String<div class="sub-desc"><b>Required.</b> The type
+of tool to create. By default, this assigns a CSS class of the form <code>x-tool-<i><tool-type></i></code> to the
+resulting tool Element. Ext provides CSS rules, and an icon sprite containing images for the tool types listed below.
+The developer may implement custom tools by supplying alternate CSS rules and background images:
+<ul>
+<div class="x-tool x-tool-toggle" style="float:left; margin-right:5;"> </div><div><code>toggle</code> (Created by default when <a href="output/Ext.Panel.html#Ext.Panel-collapsible" ext:member="collapsible" ext:cls="Ext.Panel">collapsible</a> is <code>true</code>)</div>
+<div class="x-tool x-tool-close" style="float:left; margin-right:5;"> </div><div><code>close</code></div>
+<div class="x-tool x-tool-minimize" style="float:left; margin-right:5;"> </div><div><code>minimize</code></div>
+<div class="x-tool x-tool-maximize" style="float:left; margin-right:5;"> </div><div><code>maximize</code></div>
+<div class="x-tool x-tool-restore" style="float:left; margin-right:5;"> </div><div><code>restore</code></div>
+<div class="x-tool x-tool-gear" style="float:left; margin-right:5;"> </div><div><code>gear</code></div>
+<div class="x-tool x-tool-pin" style="float:left; margin-right:5;"> </div><div><code>pin</code></div>
+<div class="x-tool x-tool-unpin" style="float:left; margin-right:5;"> </div><div><code>unpin</code></div>
+<div class="x-tool x-tool-right" style="float:left; margin-right:5;"> </div><div><code>right</code></div>
+<div class="x-tool x-tool-left" style="float:left; margin-right:5;"> </div><div><code>left</code></div>
+<div class="x-tool x-tool-up" style="float:left; margin-right:5;"> </div><div><code>up</code></div>
+<div class="x-tool x-tool-down" style="float:left; margin-right:5;"> </div><div><code>down</code></div>
+<div class="x-tool x-tool-refresh" style="float:left; margin-right:5;"> </div><div><code>refresh</code></div>
+<div class="x-tool x-tool-minus" style="float:left; margin-right:5;"> </div><div><code>minus</code></div>
+<div class="x-tool x-tool-plus" style="float:left; margin-right:5;"> </div><div><code>plus</code></div>
+<div class="x-tool x-tool-help" style="float:left; margin-right:5;"> </div><div><code>help</code></div>
+<div class="x-tool x-tool-search" style="float:left; margin-right:5;"> </div><div><code>search</code></div>
+<div class="x-tool x-tool-save" style="float:left; margin-right:5;"> </div><div><code>save</code></div>
+<div class="x-tool x-tool-print" style="float:left; margin-right:5;"> </div><div><code>print</code></div>
+</ul></div></li>
+<li><b>handler</b> : Function<div class="sub-desc"><b>Required.</b> The function to
+call when clicked. Arguments passed are:<ul>
+<li><b>event</b> : Ext.EventObject<div class="sub-desc">The click event.</div></li>
+<li><b>toolEl</b> : Ext.Element<div class="sub-desc">The tool Element.</div></li>
+<li><b>panel</b> : Ext.Panel<div class="sub-desc">The host Panel</div></li>
+<li><b>tc</b> : Object<div class="sub-desc">The tool configuration object</div></li>
+</ul></div></li>
+<li><b>stopEvent</b> : Boolean<div class="sub-desc">Defaults to true. Specify as false to allow click event to propagate.</div></li>
+<li><b>scope</b> : Object<div class="sub-desc">The scope in which to call the handler.</div></li>
+<li><b>qtip</b> : String/Object<div class="sub-desc">A tip string, or
+a config argument to <a href="output/Ext.QuickTip.html#Ext.QuickTip-register" ext:member="register" ext:cls="Ext.QuickTip">Ext.QuickTip.register</a></div></li>
+<li><b>hidden</b> : Boolean<div class="sub-desc">True to initially render hidden.</div></li>
+<li><b>on</b> : Object<div class="sub-desc">A listener config object specifiying
+event listeners in the format of an argument to <a href="output/Ext.Panel.html#Ext.Panel-addListener" ext:member="addListener" ext:cls="Ext.Panel">addListener</a></div></li>
+</ul></div>
+<p>Note that, apart from the toggle tool which is provided when a panel is collapsible, these
+tools only provide the visual button. Any required functionality must be provided by adding
+handlers that implement the necessary behavior.</p>
+<p>Example usage:</p>
+<pre><code>tools:[{