Upgrade to ExtJS 3.2.0 - Released 03/30/2010
[extjs.git] / docs / output / Ext.util.Observable.html
index b4c5cac..9117c70 100644 (file)
@@ -1,4 +1,4 @@
-<div xmlns:ext="http://www.extjs.com" class="body-wrap"><h1>Class <a href="source/Observable-more.html#cls-Ext.util.Observable">Ext.util.Observable</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext.util</td></tr><tr><td class="label">Defined In:</td><td class="hd-info">Observable-more.js,&#13;Observable.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/Observable-more.html#cls-Ext.util.Observable">Observable</a></td></tr><tr><td class="label">Subclasses:</td><td class="hd-info"><a href="output/Ext.Component.html" ext:cls="Ext.Component">Component</a>,&#13;<a href="output/Ext.Direct.html" ext:cls="Ext.Direct">Direct</a>,&#13;<a href="output/Ext.History.html" ext:cls="Ext.History">History</a>,&#13;<a href="output/Ext.Resizable.html" ext:cls="Ext.Resizable">Resizable</a>,&#13;<a href="output/Ext.SplitBar.html" ext:cls="Ext.SplitBar">SplitBar</a>,&#13;<a href="output/Ext.Updater.html" ext:cls="Ext.Updater">Updater</a>,&#13;<a href="output/Ext.data.Connection.html" ext:cls="Ext.data.Connection">Connection</a>,&#13;<a href="output/Ext.data.DataProxy.html" ext:cls="Ext.data.DataProxy">DataProxy</a>,&#13;<a href="output/Ext.data.Node.html" ext:cls="Ext.data.Node">Node</a>,&#13;<a href="output/Ext.data.Store.html" ext:cls="Ext.data.Store">Store</a>,&#13;<a href="output/Ext.data.Tree.html" ext:cls="Ext.data.Tree">Tree</a>,&#13;<a href="output/Ext.dd.DragTracker.html" ext:cls="Ext.dd.DragTracker">DragTracker</a>,&#13;<a href="output/Ext.direct.Provider.html" ext:cls="Ext.direct.Provider">Provider</a>,&#13;<a href="output/Ext.form.BasicForm.html" ext:cls="Ext.form.BasicForm">BasicForm</a>,&#13;<a href="output/Ext.grid.AbstractSelectionModel.html" ext:cls="Ext.grid.AbstractSelectionModel">AbstractSelectionModel</a>,&#13;<a href="output/Ext.grid.ColumnModel.html" ext:cls="Ext.grid.ColumnModel">ColumnModel</a>,&#13;<a href="output/Ext.grid.GridView.html" ext:cls="Ext.grid.GridView">GridView</a>,&#13;<a href="output/Ext.grid.PropertyStore.html" ext:cls="Ext.grid.PropertyStore">PropertyStore</a>,&#13;<a href="output/Ext.list.ColumnResizer.html" ext:cls="Ext.list.ColumnResizer">ColumnResizer</a>,&#13;<a href="output/Ext.list.Sorter.html" ext:cls="Ext.list.Sorter">Sorter</a>,&#13;<a href="output/Ext.tree.DefaultSelectionModel.html" ext:cls="Ext.tree.DefaultSelectionModel">DefaultSelectionModel</a>,&#13;<a href="output/Ext.tree.MultiSelectionModel.html" ext:cls="Ext.tree.MultiSelectionModel">MultiSelectionModel</a>,&#13;<a href="output/Ext.tree.TreeLoader.html" ext:cls="Ext.tree.TreeLoader">TreeLoader</a>,&#13;<a href="output/Ext.util.ClickRepeater.html" ext:cls="Ext.util.ClickRepeater">ClickRepeater</a>,&#13;<a href="output/Ext.util.MixedCollection.html" ext:cls="Ext.util.MixedCollection">MixedCollection</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info">Object</td></tr></table><div class="description">Base class that provides a common interface for publishing events. Subclasses are expected to
+<div class="body-wrap" xmlns:ext="http://www.extjs.com"><div class="top-tools"><a class="inner-link" href="#Ext.util.Observable-props"><img src="../resources/images/default/s.gif" class="item-icon icon-prop">Properties</a>&#13;<a class="inner-link" href="#Ext.util.Observable-methods"><img src="../resources/images/default/s.gif" class="item-icon icon-method">Methods</a>&#13;<a class="inner-link" href="#Ext.util.Observable-events"><img src="../resources/images/default/s.gif" class="item-icon icon-event">Events</a>&#13;<a class="inner-link" href="#Ext.util.Observable-configs"><img src="../resources/images/default/s.gif" class="item-icon icon-config">Config Options</a>&#13;<a class="bookmark" href="../docs/?class=Ext.util.Observable"><img src="../resources/images/default/s.gif" class="item-icon icon-fav">Direct Link</a>&#13;</div><h1>Class <a href="source/Observable.html#cls-Ext.util.Observable">Ext.util.Observable</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext.util</td></tr><tr><td class="label">Defined In:</td><td class="hd-info"><a href="source/Observable.html#cls-Ext.util.Observable">Observable.js</a></td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/Observable.html#cls-Ext.util.Observable">Observable</a></td></tr><tr><td class="label">Subclasses:</td><td class="hd-info"><a href="output/Ext.Component.html" ext:cls="Ext.Component">Component</a>,&#13;<a href="output/Ext.Direct.html" ext:cls="Ext.Direct">Direct</a>,&#13;<a href="output/Ext.History.html" ext:cls="Ext.History">History</a>,&#13;<a href="output/Ext.Resizable.html" ext:cls="Ext.Resizable">Resizable</a>,&#13;<a href="output/Ext.SplitBar.html" ext:cls="Ext.SplitBar">SplitBar</a>,&#13;<a href="output/Ext.Updater.html" ext:cls="Ext.Updater">Updater</a>,&#13;<a href="output/Ext.data.Connection.html" ext:cls="Ext.data.Connection">Connection</a>,&#13;<a href="output/Ext.data.DataProxy.html" ext:cls="Ext.data.DataProxy">DataProxy</a>,&#13;<a href="output/Ext.data.Node.html" ext:cls="Ext.data.Node">Node</a>,&#13;<a href="output/Ext.data.Store.html" ext:cls="Ext.data.Store">Store</a>,&#13;<a href="output/Ext.data.Tree.html" ext:cls="Ext.data.Tree">Tree</a>,&#13;<a href="output/Ext.dd.DragTracker.html" ext:cls="Ext.dd.DragTracker">DragTracker</a>,&#13;<a href="output/Ext.direct.Provider.html" ext:cls="Ext.direct.Provider">Provider</a>,&#13;<a href="output/Ext.form.BasicForm.html" ext:cls="Ext.form.BasicForm">BasicForm</a>,&#13;<a href="output/Ext.grid.AbstractSelectionModel.html" ext:cls="Ext.grid.AbstractSelectionModel">AbstractSelectionModel</a>,&#13;<a href="output/Ext.grid.ColumnModel.html" ext:cls="Ext.grid.ColumnModel">ColumnModel</a>,&#13;<a href="output/Ext.grid.GridView.html" ext:cls="Ext.grid.GridView">GridView</a>,&#13;<a href="output/Ext.grid.PropertyStore.html" ext:cls="Ext.grid.PropertyStore">PropertyStore</a>,&#13;<a href="output/Ext.list.ColumnResizer.html" ext:cls="Ext.list.ColumnResizer">ColumnResizer</a>,&#13;<a href="output/Ext.list.Sorter.html" ext:cls="Ext.list.Sorter">Sorter</a>,&#13;<a href="output/Ext.tree.DefaultSelectionModel.html" ext:cls="Ext.tree.DefaultSelectionModel">DefaultSelectionModel</a>,&#13;<a href="output/Ext.tree.MultiSelectionModel.html" ext:cls="Ext.tree.MultiSelectionModel">MultiSelectionModel</a>,&#13;<a href="output/Ext.tree.TreeLoader.html" ext:cls="Ext.tree.TreeLoader">TreeLoader</a>,&#13;<a href="output/Ext.util.ClickRepeater.html" ext:cls="Ext.util.ClickRepeater">ClickRepeater</a>,&#13;<a href="output/Ext.util.MixedCollection.html" ext:cls="Ext.util.MixedCollection">MixedCollection</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info">Object</td></tr></table><div class="description">Base class that provides a common interface for publishing events. Subclasses are expected to
 to have a property "events" with all the events defined, and, optionally, a property "listeners"
 with configured listeners defined.<br>
 For example:
@@ -15,7 +15,7 @@ For example:
         this.listeners = config.listeners;
 
         <i>// Call our superclass constructor to complete construction process.</i>
-        Employee.superclass.constructor.call(config)
+        Employee.superclass.constructor.call(this, config)
     }
 });</code></pre>
 This could then be used like this:<pre><code><b>var</b> newEmployee = <b>new</b> Employee({
@@ -83,19 +83,19 @@ Ext.DomObserver = Ext.extend(Object, {
     triggerAction: <em>'all'</em>
 });</code></pre></p></div></div></td><td class="msource">Observable</td></tr></tbody></table><a id="Ext.util.Observable-props"></a><h2>Public Properties</h2><div class="no-members">This class has no public properties.</div><a id="Ext.util.Observable-methods"></a><h2>Public Methods</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Method</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-Observable.capture"></a><b><a href="source/Observable-more.html#method-Ext.util.Observable-Observable.capture">Observable.capture</a></b>(&nbsp;<code>Observable&nbsp;o</code>,&nbsp;<code>Function&nbsp;fn</code>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;scope</code>]</span>&nbsp;)
     :
-                                        void<div class="mdesc"><div class="short">&lt;static&gt;&nbsp;Starts capture on the specified Observable. All events will be passed&#13;
-to the supplied function with the event name +...</div><div class="long">&lt;static&gt;&nbsp;Starts capture on the specified Observable. All events will be passed\r
-to the supplied function with the event name + standard signature of the event\r
-<b>before</b> the event is fired. If the supplied function returns false,\r
+                                        void<div class="mdesc"><div class="short">&lt;static&gt;&nbsp;Starts capture on the specified Observable. All events will be passed
+to the supplied function with the event name + ...</div><div class="long">&lt;static&gt;&nbsp;Starts capture on the specified Observable. All events will be passed
+to the supplied function with the event name + standard signature of the event
+<b>before</b> the event is fired. If the supplied function returns false,
 the event will not fire.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>o</code> : Observable<div class="sub-desc">The Observable to capture events from.</div></li><li><code>fn</code> : Function<div class="sub-desc">The function to call when an event is fired.</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to the Observable firing the event.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Observable</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-Observable.observeClass"></a><b><a href="source/Observable-more.html#method-Ext.util.Observable-Observable.observeClass">Observable.observeClass</a></b>(&nbsp;<code>Function&nbsp;c</code>,&nbsp;<code>Object&nbsp;listeners</code>&nbsp;)
     :
-                                        void<div class="mdesc"><div class="short">&lt;static&gt;&nbsp;Sets observability on the passed class constructor.&#13;
-This makes any event fired on any instance of the passed class a...</div><div class="long">&lt;static&gt;&nbsp;Sets observability on the passed class constructor.<p>\r
-<p>This makes any event fired on any instance of the passed class also fire a single event through\r
-the <i>class</i> allowing for central handling of events on many instances at once.</p>\r
-<p>Usage:</p><pre><code>Ext.util.Observable.observeClass(Ext.data.Connection);\r
-Ext.data.Connection.on(<em>'beforerequest'</em>, <b>function</b>(con, options) {\r
-    console.log(<em>'Ajax request made to '</em> + options.url);\r
+                                        void<div class="mdesc"><div class="short">&lt;static&gt;&nbsp;Sets observability on the passed class constructor.
+This makes any event fired on any instance of the passed class al...</div><div class="long">&lt;static&gt;&nbsp;Sets observability on the passed class constructor.<p>
+<p>This makes any event fired on any instance of the passed class also fire a single event through
+the <i>class</i> allowing for central handling of events on many instances at once.</p>
+<p>Usage:</p><pre><code>Ext.util.Observable.observeClass(Ext.data.Connection);
+Ext.data.Connection.on(<em>'beforerequest'</em>, <b>function</b>(con, options) {
+    console.log(<em>'Ajax request made to '</em> + options.url);
 });</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>c</code> : Function<div class="sub-desc">The class constructor to make observable.</div></li><li><code>listeners</code> : Object<div class="sub-desc">An object containing a series of listeners to add. See <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a>.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Observable</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-Observable.releaseCapture"></a><b><a href="source/Observable.html#method-Ext.util.Observable-Observable.releaseCapture">Observable.releaseCapture</a></b>(&nbsp;<code>Observable&nbsp;o</code>&nbsp;)
     :
                                         void<div class="mdesc"><div class="short">&lt;static&gt;&nbsp;Removes all added captures from the Observable.</div><div class="long">&lt;static&gt;&nbsp;Removes <b>all</b> added captures from the Observable.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>o</code> : Observable<div class="sub-desc">The Observable to release</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Observable</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-addEvents"></a><b><a href="source/Observable.html#method-Ext.util.Observable-addEvents">addEvents</a></b>(&nbsp;<code>Object|String&nbsp;o</code>,&nbsp;<code>string&nbsp;Optional.</code>&nbsp;)
@@ -155,38 +155,38 @@ Or a shorthand syntax:<br>
  scope: this
 });</code></pre></div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Observable</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-enableBubble"></a><b><a href="source/Observable-more.html#method-Ext.util.Observable-enableBubble">enableBubble</a></b>(&nbsp;<code>String/Array&nbsp;events</code>&nbsp;)
     :
-                                        void<div class="mdesc"><div class="short">Enables events fired by this Observable to bubble up an owner hierarchy by calling&#13;
-this.getBubbleTarget() if present...</div><div class="long"><p>Enables events fired by this Observable to bubble up an owner hierarchy by calling\r
-<code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>\r
-<p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href="output/Ext.Component.getBubbleTarget.html" ext:cls="Ext.Component.getBubbleTarget">Ext.Component.getBubbleTarget</a>. The default\r
-implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to\r
-access the required target more quickly.</p>\r
-<p>Example:</p><pre><code>Ext.override(Ext.form.Field, {\r
-    <i>//  Add functionality to Field&#39;s initComponent to enable the change event to bubble\r</i>
-    initComponent : Ext.form.Field.prototype.initComponent.createSequence(<b>function</b>() {\r
-        this.enableBubble(<em>'change'</em>);\r
-    }),\r
-\r
-    <i>//  We know that we want Field&#39;s events to bubble directly to the FormPanel.\r</i>
-    getBubbleTarget : <b>function</b>() {\r
-        <b>if</b> (!this.formPanel) {\r
-            this.formPanel = this.findParentByType(<em>'form'</em>);\r
-        }\r
-        <b>return</b> this.formPanel;\r
-    }\r
-});\r
-\r
-<b>var</b> myForm = <b>new</b> Ext.formPanel({\r
-    title: <em>'User Details'</em>,\r
-    items: [{\r
-        ...\r
-    }],\r
-    listeners: {\r
-        change: <b>function</b>() {\r
-            <i>// Title goes red <b>if</b> form has been modified.\r</i>
-            myForm.header.setStyle(<em>'color'</em>, <em>'red'</em>);\r
-        }\r
-    }\r
+                                        void<div class="mdesc"><div class="short">Enables events fired by this Observable to bubble up an owner hierarchy by calling
+this.getBubbleTarget() if present....</div><div class="long"><p>Enables events fired by this Observable to bubble up an owner hierarchy by calling
+<code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>
+<p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href="output/Ext.Component.getBubbleTarget.html" ext:cls="Ext.Component.getBubbleTarget">Ext.Component.getBubbleTarget</a>. The default
+implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to
+access the required target more quickly.</p>
+<p>Example:</p><pre><code>Ext.override(Ext.form.Field, {
+    <i>//  Add functionality to Field&#39;s initComponent to enable the change event to bubble</i>
+    initComponent : Ext.form.Field.prototype.initComponent.createSequence(<b>function</b>() {
+        this.enableBubble(<em>'change'</em>);
+    }),
+
+    <i>//  We know that we want Field&#39;s events to bubble directly to the FormPanel.</i>
+    getBubbleTarget : <b>function</b>() {
+        <b>if</b> (!this.formPanel) {
+            this.formPanel = this.findParentByType(<em>'form'</em>);
+        }
+        <b>return</b> this.formPanel;
+    }
+});
+
+<b>var</b> myForm = <b>new</b> Ext.formPanel({
+    title: <em>'User Details'</em>,
+    items: [{
+        ...
+    }],
+    listeners: {
+        change: <b>function</b>() {
+            <i>// Title goes red <b>if</b> form has been modified.</i>
+            myForm.header.setStyle(<em>'color'</em>, <em>'red'</em>);
+        }
+    }
 });</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>events</code> : String/Array<div class="sub-desc">The event name to bubble, or an Array of event names.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Observable</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-fireEvent"></a><b><a href="source/Observable.html#method-Ext.util.Observable-fireEvent">fireEvent</a></b>(&nbsp;<code>String&nbsp;eventName</code>,&nbsp;<code>Object...&nbsp;args</code>&nbsp;)
     :
                                         Boolean<div class="mdesc"><div class="short">Fires the specified event with the passed parameters (minus the event name).