Upgrade to ExtJS 4.0.1 - Released 05/18/2011
[extjs.git] / docs / output / Ext.FocusManager.js
1 Ext.data.JsonP.Ext_FocusManager({
2   "tagname": "class",
3   "name": "Ext.FocusManager",
4   "doc": "<p>The FocusManager is responsible for globally:</p>\n\n<ol>\n<li>Managing component focus</li>\n<li>Providing basic keyboard navigation</li>\n<li>(optional) Provide a visual cue for focused components, in the form of a focus ring/frame.</li>\n</ol>\n\n\n<p>To activate the FocusManager, simply call <a href=\"#/api/Ext.FocusManager-event-enable\" rel=\"Ext.FocusManager-event-enable\" class=\"docClass\">&lt;code&gt;Ext.FocusManager.enable();&lt;/code&gt;</a>. In turn, you may\ndeactivate the FocusManager by subsequently calling <a href=\"#/api/Ext.FocusManager-event-disable\" rel=\"Ext.FocusManager-event-disable\" class=\"docClass\">&lt;code&gt;Ext.FocusManager.disable();&lt;/code&gt;</a>.  The\nFocusManager is disabled by default.</p>\n\n<p>To enable the optional focus frame, pass <code>true</code> or <code>{focusFrame: true}</code> to <a href=\"#/api/Ext.FocusManager-event-enable\" rel=\"Ext.FocusManager-event-enable\" class=\"docClass\">enable</a>.</p>\n\n<p>Another feature of the FocusManager is to provide basic keyboard focus navigation scoped to any <a href=\"#/api/Ext.container.Container\" rel=\"Ext.container.Container\" class=\"docClass\">Ext.container.Container</a>\nthat would like to have navigation between its child <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Ext.Component</a>'s. The <a href=\"#/api/Ext.container.Container\" rel=\"Ext.container.Container\" class=\"docClass\">Ext.container.Container</a> can simply\ncall <a href=\"#/api/Ext.FocusManager-method-subscribe\" rel=\"Ext.FocusManager-method-subscribe\" class=\"docClass\">Ext.FocusManager.subscribe</a> to take advantage of this feature, and can at any time call\n<a href=\"#/api/Ext.FocusManager-method-unsubscribe\" rel=\"Ext.FocusManager-method-unsubscribe\" class=\"docClass\">Ext.FocusManager.unsubscribe</a> to turn the navigation off.</p>\n",
5   "extends": null,
6   "mixins": [
7     "Ext.util.Observable"
8   ],
9   "alternateClassNames": [
10     "Ext.FocusMgr"
11   ],
12   "xtype": null,
13   "author": "Jarred Nicholls <jarred@sencha.com>",
14   "docauthor": "Jarred Nicholls <jarred@sencha.com>",
15   "singleton": true,
16   "private": false,
17   "cfg": [
18     {
19       "tagname": "cfg",
20       "name": "listeners",
21       "member": "Ext.util.Observable",
22       "type": "Object",
23       "doc": "<p>(optional) <p>A config object containing one or more event handlers to be added to this\nobject during initialization.  This should be a valid listeners config object as specified in the\n<a href=\"#/api/Ext.FocusManager-method-addListener\" rel=\"Ext.FocusManager-method-addListener\" class=\"docClass\">addListener</a> example for attaching multiple handlers at once.</p></p>\n\n<br><p><b><u>DOM events from ExtJs <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a></u></b></p>\n\n\n<br><p>While <i>some</i> ExtJs Component classes export selected DOM events (e.g. \"click\", \"mouseover\" etc), this\n\n\n<p>is usually only done when extra value can be added. For example the <a href=\"#/api/Ext.view.View\" rel=\"Ext.view.View\" class=\"docClass\">DataView</a>'s\n<b><code><a href=\"#/api/Ext.view.View--click\" rel=\"Ext.view.View--click\" class=\"docClass\">click</a></code></b> event passing the node clicked on. To access DOM\nevents directly from a child element of a Component, we need to specify the <code>element</code> option to\nidentify the Component property to add a DOM listener to:</p>\n\n<pre><code>new Ext.panel.Panel({\n    width: 400,\n    height: 200,\n    dockedItems: [{\n        xtype: 'toolbar'\n    }],\n    listeners: {\n        click: {\n            element: 'el', //bind to the underlying el property on the panel\n            fn: function(){ console.log('click el'); }\n        },\n        dblclick: {\n            element: 'body', //bind to the underlying body property on the panel\n            fn: function(){ console.log('dblclick body'); }\n        }\n    }\n});\n</code></pre>\n\n\n<p></p></p>\n",
24       "private": false,
25       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
26       "linenr": 103,
27       "html_filename": "Observable.html",
28       "href": "Observable.html#Ext-util-Observable-cfg-listeners",
29       "shortDoc": "(optional) A config object containing one or more event handlers to be added to this\nobject during initialization.  T..."
30     }
31   ],
32   "method": [
33     {
34       "tagname": "method",
35       "name": "addEvents",
36       "member": "Ext.util.Observable",
37       "doc": "<p>Adds the specified events to the list of events which this Observable may fire.</p>\n",
38       "params": [
39         {
40           "type": "Object/String",
41           "name": "o",
42           "doc": "<p>Either an object with event names as properties with a value of <code>true</code>\nor the first event name string if multiple event names are being passed as separate parameters.</p>\n",
43           "optional": false
44         },
45         {
46           "type": "String",
47           "name": "",
48           "doc": "<p>[additional] Optional additional event names if multiple event names are being passed as separate parameters.\nUsage:</p>\n\n<pre><code>this.addEvents('storeloaded', 'storecleared');\n</code></pre>\n\n",
49           "optional": false
50         }
51       ],
52       "return": {
53         "type": "void",
54         "doc": "\n"
55       },
56       "private": false,
57       "static": false,
58       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
59       "linenr": 452,
60       "html_filename": "Observable.html",
61       "href": "Observable.html#Ext-util-Observable-method-addEvents",
62       "shortDoc": "<p>Adds the specified events to the list of events which this Observable may fire.</p>\n"
63     },
64     {
65       "tagname": "method",
66       "name": "addListener",
67       "member": "Ext.util.Observable",
68       "doc": "<p>Appends an event handler to this object.</p>\n",
69       "params": [
70         {
71           "type": "String",
72           "name": "eventName",
73           "doc": "<p>The name of the event to listen for. May also be an object who's property names are event names. See</p>\n",
74           "optional": false
75         },
76         {
77           "type": "Function",
78           "name": "handler",
79           "doc": "<p>The method the event invokes.</p>\n",
80           "optional": false
81         },
82         {
83           "type": "Object",
84           "name": "scope",
85           "doc": "<p>(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.\n<b>If omitted, defaults to the object which fired the event.</b></p>\n",
86           "optional": true
87         },
88         {
89           "type": "Object",
90           "name": "options",
91           "doc": "<p>(optional) An object containing handler configuration.\nproperties. This may contain any of the following properties:<ul>\n<li><b>scope</b> : Object<div class=\"sub-desc\">The scope (<code><b>this</b></code> reference) in which the handler function is executed.\n<b>If omitted, defaults to the object which fired the event.</b></div></li>\n<li><b>delay</b> : Number<div class=\"sub-desc\">The number of milliseconds to delay the invocation of the handler after the event fires.</div></li>\n<li><b>single</b> : Boolean<div class=\"sub-desc\">True to add a handler to handle just the next firing of the event, and then remove itself.</div></li>\n<li><b>buffer</b> : Number<div class=\"sub-desc\">Causes the handler to be scheduled to run in an <a href=\"#/api/Ext.util.DelayedTask\" rel=\"Ext.util.DelayedTask\" class=\"docClass\">Ext.util.DelayedTask</a> delayed\nby the specified number of milliseconds. If the event fires again within that time, the original\nhandler is <em>not</em> invoked, but the new handler is scheduled in its place.</div></li>\n<li><b>target</b> : Observable<div class=\"sub-desc\">Only call the handler if the event was fired on the target Observable, <i>not</i>\nif the event was bubbled up from a child Observable.</div></li>\n<li><b>element</b> : String<div class=\"sub-desc\"><b>This option is only valid for listeners bound to <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a>.</b>\nThe name of a Component property which references an element to add a listener to.</p>\n\n<p>This option is useful during Component construction to add DOM event listeners to elements of <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a> which\nwill exist only after the Component is rendered. For example, to add a click listener to a Panel's body:\n<pre><code>new Ext.panel.Panel({\n    title: 'The title',\n    listeners: {\n        click: this.handlePanelClick,\n        element: 'body'\n    }\n});\n</code></pre></p>\n\n\n<p>When added in this way, the options available are the options applicable to <a href=\"#/api/Ext.core.Element-method-addListener\" rel=\"Ext.core.Element-method-addListener\" class=\"docClass\">Ext.core.Element.addListener</a></p>\n\n\n<p></div></li>\n</ul><br></p>\n\n<p>\n<b>Combining Options</b><br>\nUsing the options argument, it is possible to combine different types of listeners:<br>\n<br>\nA delayed, one-time listener.\n<pre><code>myPanel.on('hide', this.handleClick, this, {\nsingle: true,\ndelay: 100\n});</code></pre>\n<p>\n<b>Attaching multiple handlers in 1 call</b><br>\nThe method also allows for a single argument to be passed which is a config object containing properties\nwhich specify multiple events. For example:\n<pre><code>myGridPanel.on({\n    cellClick: this.onCellClick,\n    mouseover: this.onMouseOver,\n    mouseout: this.onMouseOut,\n    scope: this // Important. Ensure \"this\" is correct during handler execution\n});\n</code></pre>.\n<p>\n\n",
92           "optional": true
93         }
94       ],
95       "return": {
96         "type": "void",
97         "doc": "\n"
98       },
99       "private": false,
100       "static": false,
101       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
102       "linenr": 271,
103       "html_filename": "Observable.html",
104       "href": "Observable.html#Ext-util-Observable-method-addListener",
105       "shortDoc": "<p>Appends an event handler to this object.</p>\n"
106     },
107     {
108       "tagname": "method",
109       "name": "addManagedListener",
110       "member": "Ext.util.Observable",
111       "doc": "<p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component\nis destroyed.\n\n",
112       "params": [
113         {
114           "type": "Observable/Element",
115           "name": "item",
116           "doc": "<p>The item to which to add a listener/listeners.</p>\n",
117           "optional": false
118         },
119         {
120           "type": "Object/String",
121           "name": "ename",
122           "doc": "<p>The event name, or an object containing event name properties.</p>\n",
123           "optional": false
124         },
125         {
126           "type": "Function",
127           "name": "fn",
128           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the handler function.</p>\n",
129           "optional": false
130         },
131         {
132           "type": "Object",
133           "name": "scope",
134           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the scope (<code>this</code> reference) in which the handler function is executed.</p>\n",
135           "optional": false
136         },
137         {
138           "type": "Object",
139           "name": "opt",
140           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the <a href=\"#/api/Ext.util.Observable-method-addListener\" rel=\"Ext.util.Observable-method-addListener\" class=\"docClass\">addListener</a> options.</p>\n",
141           "optional": false
142         }
143       ],
144       "return": {
145         "type": "void",
146         "doc": "\n"
147       },
148       "private": false,
149       "static": false,
150       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
151       "linenr": 155,
152       "html_filename": "Observable.html",
153       "href": "Observable.html#Ext-util-Observable-method-addManagedListener",
154       "shortDoc": "<p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component\nis destroyed.\n\n"
155     },
156     {
157       "tagname": "method",
158       "name": "addXTypeToWhitelist",
159       "member": "Ext.FocusManager",
160       "doc": "<p>Adds the specified xtype to the <a href=\"#/api/Ext.FocusManager-property-whitelist\" rel=\"Ext.FocusManager-property-whitelist\" class=\"docClass\">whitelist</a>.</p>\n",
161       "params": [
162         {
163           "type": "String/Array",
164           "name": "xtype",
165           "doc": "<p>Adds the xtype(s) to the <a href=\"#/api/Ext.FocusManager-property-whitelist\" rel=\"Ext.FocusManager-property-whitelist\" class=\"docClass\">whitelist</a>.</p>\n",
166           "optional": false
167         }
168       ],
169       "return": {
170         "type": "void",
171         "doc": "\n"
172       },
173       "private": false,
174       "static": false,
175       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
176       "linenr": 229,
177       "html_filename": "FocusManager.html",
178       "href": "FocusManager.html#Ext-FocusManager-method-addXTypeToWhitelist",
179       "shortDoc": "<p>Adds the specified xtype to the <a href=\"#/api/Ext.FocusManager-property-whitelist\" rel=\"Ext.FocusManager-property-whitelist\" class=\"docClass\">whitelist</a>.</p>\n"
180     },
181     {
182       "tagname": "method",
183       "name": "capture",
184       "member": "Ext.util.Observable",
185       "doc": "<p>Starts capture on the specified Observable. All events will be passed\nto the supplied function with the event name + standard signature of the event\n<b>before</b> the event is fired. If the supplied function returns false,\nthe event will not fire.</p>\n",
186       "params": [
187         {
188           "type": "Observable",
189           "name": "o",
190           "doc": "<p>The Observable to capture events from.</p>\n",
191           "optional": false
192         },
193         {
194           "type": "Function",
195           "name": "fn",
196           "doc": "<p>The function to call when an event is fired.</p>\n",
197           "optional": false
198         },
199         {
200           "type": "Object",
201           "name": "scope",
202           "doc": "<p>(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to the Observable firing the event.</p>\n",
203           "optional": true
204         }
205       ],
206       "return": {
207         "type": "void",
208         "doc": "\n"
209       },
210       "private": false,
211       "static": true,
212       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
213       "linenr": 55,
214       "html_filename": "Observable.html",
215       "href": "Observable.html#Ext-util-Observable-method-capture",
216       "shortDoc": "Starts capture on the specified Observable. All events will be passed\nto the supplied function with the event name + ..."
217     },
218     {
219       "tagname": "method",
220       "name": "clearListeners",
221       "member": "Ext.util.Observable",
222       "doc": "<p>Removes all listeners for this object including the managed listeners</p>\n",
223       "params": [
224
225       ],
226       "return": {
227         "type": "void",
228         "doc": "\n"
229       },
230       "private": false,
231       "static": false,
232       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
233       "linenr": 383,
234       "html_filename": "Observable.html",
235       "href": "Observable.html#Ext-util-Observable-method-clearListeners",
236       "shortDoc": "<p>Removes all listeners for this object including the managed listeners</p>\n"
237     },
238     {
239       "tagname": "method",
240       "name": "clearManagedListeners",
241       "member": "Ext.util.Observable",
242       "doc": "<p>Removes all managed listeners for this object.</p>\n",
243       "params": [
244
245       ],
246       "return": {
247         "type": "void",
248         "doc": "\n"
249       },
250       "private": false,
251       "static": false,
252       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
253       "linenr": 412,
254       "html_filename": "Observable.html",
255       "href": "Observable.html#Ext-util-Observable-method-clearManagedListeners",
256       "shortDoc": "<p>Removes all managed listeners for this object.</p>\n"
257     },
258     {
259       "tagname": "method",
260       "name": "disable",
261       "member": "Ext.FocusManager",
262       "doc": "<p>Disables the FocusManager by turning of all automatic focus management and keyboard navigation</p>\n",
263       "params": [
264
265       ],
266       "return": {
267         "type": "void",
268         "doc": "\n"
269       },
270       "private": false,
271       "static": false,
272       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
273       "linenr": 253,
274       "html_filename": "FocusManager.html",
275       "href": "FocusManager.html#Ext-FocusManager-method-disable",
276       "shortDoc": "<p>Disables the FocusManager by turning of all automatic focus management and keyboard navigation</p>\n"
277     },
278     {
279       "tagname": "method",
280       "name": "enable",
281       "member": "Ext.FocusManager",
282       "doc": "<p>Enables the FocusManager by turning on all automatic focus management and keyboard navigation</p>\n",
283       "params": [
284         {
285           "type": "Boolean/Object",
286           "name": "options",
287           "doc": "<p>Either <code>true</code>/<code>false</code> to turn on the focus frame, or an object of the following options:</p>\n\n<pre><code>    - focusFrame : Boolean\n        `true` to show the focus frame around a component when it is focused. Defaults to `false`.\n</code></pre>\n",
288           "optional": false
289         }
290       ],
291       "return": {
292         "type": "void",
293         "doc": "\n"
294       },
295       "private": false,
296       "static": false,
297       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
298       "linenr": 279,
299       "html_filename": "FocusManager.html",
300       "href": "FocusManager.html#Ext-FocusManager-method-enable",
301       "shortDoc": "<p>Enables the FocusManager by turning on all automatic focus management and keyboard navigation</p>\n"
302     },
303     {
304       "tagname": "method",
305       "name": "enableBubble",
306       "member": "Ext.util.Observable",
307       "doc": "<p>Enables events fired by this Observable to bubble up an owner hierarchy by calling\n<code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>\n\n\n<p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href=\"#/api/Ext.Component-method-getBubbleTarget\" rel=\"Ext.Component-method-getBubbleTarget\" class=\"docClass\">Ext.Component.getBubbleTarget</a>. The default\nimplementation in <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Ext.Component</a> returns the Component's immediate owner. But if a known target is required, this can be overridden to\naccess the required target more quickly.</p>\n\n\n<p>Example:</p>\n\n\n<pre><code>Ext.override(Ext.form.field.Base, {\n//  Add functionality to Field&#39;s initComponent to enable the change event to bubble\ninitComponent : Ext.Function.createSequence(Ext.form.field.Base.prototype.initComponent, function() {\n    this.enableBubble('change');\n}),\n\n//  We know that we want Field&#39;s events to bubble directly to the FormPanel.\ngetBubbleTarget : function() {\n    if (!this.formPanel) {\n        this.formPanel = this.findParentByType('form');\n    }\n    return this.formPanel;\n}\n});\n\nvar myForm = new Ext.formPanel({\ntitle: 'User Details',\nitems: [{\n    ...\n}],\nlisteners: {\n    change: function() {\n        // Title goes red if form has been modified.\n        myForm.header.setStyle('color', 'red');\n    }\n}\n});\n</code></pre>\n\n",
308       "params": [
309         {
310           "type": "String/Array",
311           "name": "events",
312           "doc": "<p>The event name to bubble, or an Array of event names.</p>\n",
313           "optional": false
314         }
315       ],
316       "return": {
317         "type": "void",
318         "doc": "\n"
319       },
320       "private": false,
321       "static": false,
322       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
323       "linenr": 554,
324       "html_filename": "Observable.html",
325       "href": "Observable.html#Ext-util-Observable-method-enableBubble",
326       "shortDoc": "Enables events fired by this Observable to bubble up an owner hierarchy by calling\nthis.getBubbleTarget() if present...."
327     },
328     {
329       "tagname": "method",
330       "name": "fireEvent",
331       "member": "Ext.util.Observable",
332       "doc": "<p>Fires the specified event with the passed parameters (minus the event name).</p>\n\n\n<p>An event may be set to bubble up an Observable parent hierarchy (See <a href=\"#/api/Ext.Component-method-getBubbleTarget\" rel=\"Ext.Component-method-getBubbleTarget\" class=\"docClass\">Ext.Component.getBubbleTarget</a>)\nby calling <a href=\"#/api/Ext.FocusManager-method-enableBubble\" rel=\"Ext.FocusManager-method-enableBubble\" class=\"docClass\">enableBubble</a>.</p>\n\n",
333       "params": [
334         {
335           "type": "String",
336           "name": "eventName",
337           "doc": "<p>The name of the event to fire.</p>\n",
338           "optional": false
339         },
340         {
341           "type": "Object...",
342           "name": "args",
343           "doc": "<p>Variable number of parameters are passed to handlers.</p>\n",
344           "optional": false
345         }
346       ],
347       "return": {
348         "type": "Boolean",
349         "doc": "<p>returns false if any of the handlers return false otherwise it returns true.</p>\n"
350       },
351       "private": false,
352       "static": false,
353       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
354       "linenr": 232,
355       "html_filename": "Observable.html",
356       "href": "Observable.html#Ext-util-Observable-method-fireEvent",
357       "shortDoc": "Fires the specified event with the passed parameters (minus the event name).\n\n\nAn event may be set to bubble up an Ob..."
358     },
359     {
360       "tagname": "method",
361       "name": "hasListener",
362       "member": "Ext.util.Observable",
363       "doc": "<p>Checks to see if this object has any listeners for a specified event</p>\n",
364       "params": [
365         {
366           "type": "String",
367           "name": "eventName",
368           "doc": "<p>The name of the event to check for</p>\n",
369           "optional": false
370         }
371       ],
372       "return": {
373         "type": "Boolean",
374         "doc": "<p>True if the event is being listened for, else false</p>\n"
375       },
376       "private": false,
377       "static": false,
378       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
379       "linenr": 480,
380       "html_filename": "Observable.html",
381       "href": "Observable.html#Ext-util-Observable-method-hasListener",
382       "shortDoc": "<p>Checks to see if this object has any listeners for a specified event</p>\n"
383     },
384     {
385       "tagname": "method",
386       "name": "observe",
387       "member": "Ext.util.Observable",
388       "doc": "<p>Sets observability on the passed class constructor.</p>\n\n<p>This makes any event fired on any instance of the passed class also fire a single event through\nthe <strong>class</strong> allowing for central handling of events on many instances at once.</p>\n\n<p>Usage:</p>\n\n<pre><code>Ext.util.Observable.observe(Ext.data.Connection);\nExt.data.Connection.on('beforerequest', function(con, options) {\n    console.log('Ajax request made to ' + options.url);\n});\n</code></pre>\n",
389       "params": [
390         {
391           "type": "Function",
392           "name": "c",
393           "doc": "<p>The class constructor to make observable.</p>\n",
394           "optional": false
395         },
396         {
397           "type": "Object",
398           "name": "listeners",
399           "doc": "<p>An object containing a series of listeners to add. See <a href=\"#/api/Ext.FocusManager-method-addListener\" rel=\"Ext.FocusManager-method-addListener\" class=\"docClass\">addListener</a>.</p>\n",
400           "optional": false
401         }
402       ],
403       "return": {
404         "type": "void",
405         "doc": "\n"
406       },
407       "private": false,
408       "static": true,
409       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
410       "linenr": 69,
411       "html_filename": "Observable.html",
412       "href": "Observable.html#Ext-util-Observable-method-observe",
413       "shortDoc": "Sets observability on the passed class constructor.\n\nThis makes any event fired on any instance of the passed class a..."
414     },
415     {
416       "tagname": "method",
417       "name": "on",
418       "member": "Ext.util.Observable",
419       "doc": "<p>Appends an event handler to this object (shorthand for <a href=\"#/api/Ext.FocusManager-method-addListener\" rel=\"Ext.FocusManager-method-addListener\" class=\"docClass\">addListener</a>.)</p>\n",
420       "params": [
421         {
422           "type": "String",
423           "name": "eventName",
424           "doc": "<p>The type of event to listen for</p>\n",
425           "optional": false
426         },
427         {
428           "type": "Function",
429           "name": "handler",
430           "doc": "<p>The method the event invokes</p>\n",
431           "optional": false
432         },
433         {
434           "type": "Object",
435           "name": "scope",
436           "doc": "<p>(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.\n<b>If omitted, defaults to the object which fired the event.</b></p>\n",
437           "optional": true
438         },
439         {
440           "type": "Object",
441           "name": "options",
442           "doc": "<p>(optional) An object containing handler configuration.</p>\n",
443           "optional": true
444         }
445       ],
446       "return": {
447         "type": "void",
448         "doc": "\n"
449       },
450       "private": false,
451       "static": false,
452       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
453       "linenr": 616,
454       "html_filename": "Observable.html",
455       "href": "Observable.html#Ext-util-Observable-method-on",
456       "shortDoc": "<p>Appends an event handler to this object (shorthand for <a href=\"#/api/Ext.FocusManager-method-addListener\" rel=\"Ext.FocusManager-method-addListener\" class=\"docClass\">addListener</a>.)</p>\n"
457     },
458     {
459       "tagname": "method",
460       "name": "relayEvents",
461       "member": "Ext.util.Observable",
462       "doc": "<p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>\n",
463       "params": [
464         {
465           "type": "Object",
466           "name": "origin",
467           "doc": "<p>The Observable whose events this object is to relay.</p>\n",
468           "optional": false
469         },
470         {
471           "type": "Array",
472           "name": "events",
473           "doc": "<p>Array of event names to relay.</p>\n",
474           "optional": false
475         },
476         {
477           "type": "Object",
478           "name": "prefix",
479           "doc": "\n",
480           "optional": false
481         }
482       ],
483       "return": {
484         "type": "void",
485         "doc": "\n"
486       },
487       "private": false,
488       "static": false,
489       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
490       "linenr": 520,
491       "html_filename": "Observable.html",
492       "href": "Observable.html#Ext-util-Observable-method-relayEvents",
493       "shortDoc": "<p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>\n"
494     },
495     {
496       "tagname": "method",
497       "name": "releaseCapture",
498       "member": "Ext.util.Observable",
499       "doc": "<p>Removes <b>all</b> added captures from the Observable.</p>\n",
500       "params": [
501         {
502           "type": "Observable",
503           "name": "o",
504           "doc": "<p>The Observable to release</p>\n",
505           "optional": false
506         }
507       ],
508       "return": {
509         "type": "void",
510         "doc": "\n"
511       },
512       "private": false,
513       "static": true,
514       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
515       "linenr": 46,
516       "html_filename": "Observable.html",
517       "href": "Observable.html#Ext-util-Observable-method-releaseCapture",
518       "shortDoc": "<p>Removes <b>all</b> added captures from the Observable.</p>\n"
519     },
520     {
521       "tagname": "method",
522       "name": "removeListener",
523       "member": "Ext.util.Observable",
524       "doc": "<p>Removes an event handler.</p>\n",
525       "params": [
526         {
527           "type": "String",
528           "name": "eventName",
529           "doc": "<p>The type of event the handler was associated with.</p>\n",
530           "optional": false
531         },
532         {
533           "type": "Function",
534           "name": "handler",
535           "doc": "<p>The handler to remove. <b>This must be a reference to the function passed into the <a href=\"#/api/Ext.FocusManager-method-addListener\" rel=\"Ext.FocusManager-method-addListener\" class=\"docClass\">addListener</a> call.</b></p>\n",
536           "optional": false
537         },
538         {
539           "type": "Object",
540           "name": "scope",
541           "doc": "<p>(optional) The scope originally specified for the handler.</p>\n",
542           "optional": true
543         }
544       ],
545       "return": {
546         "type": "void",
547         "doc": "\n"
548       },
549       "private": false,
550       "static": false,
551       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
552       "linenr": 352,
553       "html_filename": "Observable.html",
554       "href": "Observable.html#Ext-util-Observable-method-removeListener",
555       "shortDoc": "<p>Removes an event handler.</p>\n"
556     },
557     {
558       "tagname": "method",
559       "name": "removeManagedListener",
560       "member": "Ext.util.Observable",
561       "doc": "<p>Removes listeners that were added by the <a href=\"#/api/Ext.FocusManager--mon\" rel=\"Ext.FocusManager--mon\" class=\"docClass\">mon</a> method.</p>\n",
562       "params": [
563         {
564           "type": "Observable|Element",
565           "name": "item",
566           "doc": "<p>The item from which to remove a listener/listeners.</p>\n",
567           "optional": false
568         },
569         {
570           "type": "Object|String",
571           "name": "ename",
572           "doc": "<p>The event name, or an object containing event name properties.</p>\n",
573           "optional": false
574         },
575         {
576           "type": "Function",
577           "name": "fn",
578           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the handler function.</p>\n",
579           "optional": false
580         },
581         {
582           "type": "Object",
583           "name": "scope",
584           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the scope (<code>this</code> reference) in which the handler function is executed.</p>\n",
585           "optional": false
586         }
587       ],
588       "return": {
589         "type": "void",
590         "doc": "\n"
591       },
592       "private": false,
593       "static": false,
594       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
595       "linenr": 196,
596       "html_filename": "Observable.html",
597       "href": "Observable.html#Ext-util-Observable-method-removeManagedListener",
598       "shortDoc": "<p>Removes listeners that were added by the <a href=\"#/api/Ext.FocusManager--mon\" rel=\"Ext.FocusManager--mon\" class=\"docClass\">mon</a> method.</p>\n"
599     },
600     {
601       "tagname": "method",
602       "name": "removeXTypeFromWhitelist",
603       "member": "Ext.FocusManager",
604       "doc": "<p>Removes the specified xtype from the <a href=\"#/api/Ext.FocusManager-property-whitelist\" rel=\"Ext.FocusManager-property-whitelist\" class=\"docClass\">whitelist</a>.</p>\n",
605       "params": [
606         {
607           "type": "String/Array",
608           "name": "xtype",
609           "doc": "<p>Removes the xtype(s) from the <a href=\"#/api/Ext.FocusManager-property-whitelist\" rel=\"Ext.FocusManager-property-whitelist\" class=\"docClass\">whitelist</a>.</p>\n",
610           "optional": false
611         }
612       ],
613       "return": {
614         "type": "void",
615         "doc": "\n"
616       },
617       "private": false,
618       "static": false,
619       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
620       "linenr": 600,
621       "html_filename": "FocusManager.html",
622       "href": "FocusManager.html#Ext-FocusManager-method-removeXTypeFromWhitelist",
623       "shortDoc": "<p>Removes the specified xtype from the <a href=\"#/api/Ext.FocusManager-property-whitelist\" rel=\"Ext.FocusManager-property-whitelist\" class=\"docClass\">whitelist</a>.</p>\n"
624     },
625     {
626       "tagname": "method",
627       "name": "resumeEvents",
628       "member": "Ext.util.Observable",
629       "doc": "<p>Resume firing events. (see <a href=\"#/api/Ext.FocusManager-method-suspendEvents\" rel=\"Ext.FocusManager-method-suspendEvents\" class=\"docClass\">suspendEvents</a>)\nIf events were suspended using the <code><b>queueSuspended</b></code> parameter, then all\nevents fired during event suspension will be sent to any listeners now.</p>\n",
630       "params": [
631
632       ],
633       "return": {
634         "type": "void",
635         "doc": "\n"
636       },
637       "private": false,
638       "static": false,
639       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
640       "linenr": 502,
641       "html_filename": "Observable.html",
642       "href": "Observable.html#Ext-util-Observable-method-resumeEvents",
643       "shortDoc": "Resume firing events. (see suspendEvents)\nIf events were suspended using the queueSuspended parameter, then all\nevent..."
644     },
645     {
646       "tagname": "method",
647       "name": "subscribe",
648       "member": "Ext.FocusManager",
649       "doc": "<p>Subscribes an <a href=\"#/api/Ext.container.Container\" rel=\"Ext.container.Container\" class=\"docClass\">Ext.container.Container</a> to provide basic keyboard focus navigation between its child <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Ext.Component</a>'s.</p>\n",
650       "params": [
651         {
652           "type": "Ext.container.Container",
653           "name": "container",
654           "doc": "<p>A reference to the <a href=\"#/api/Ext.container.Container\" rel=\"Ext.container.Container\" class=\"docClass\">Ext.container.Container</a> on which to enable keyboard functionality and focus management.</p>\n",
655           "optional": false
656         },
657         {
658           "type": "Boolean/Object",
659           "name": "options",
660           "doc": "<p>An object of the following options:</p>\n\n<pre><code>    - keys : Array/Object\n        An array containing the string names of navigation keys to be supported. The allowed values are:\n\n        - 'left'\n        - 'right'\n        - 'up'\n        - 'down'\n\n        Or, an object containing those key names as keys with `true` or a callback function as their value. A scope may also be passed. E.g.:\n\n            {\n                left: this.onLeftKey,\n                right: this.onRightKey,\n                scope: this\n            }\n\n    - focusFrame : Boolean (optional)\n        `true` to show the focus frame around a component when it is focused. Defaults to `false`.\n</code></pre>\n",
661           "optional": true
662         }
663       ],
664       "return": {
665         "type": "void",
666         "doc": "\n"
667       },
668       "private": false,
669       "static": false,
670       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
671       "linenr": 749,
672       "html_filename": "FocusManager.html",
673       "href": "FocusManager.html#Ext-FocusManager-method-subscribe",
674       "shortDoc": "<p>Subscribes an <a href=\"#/api/Ext.container.Container\" rel=\"Ext.container.Container\" class=\"docClass\">Ext.container.Container</a> to provide basic keyboard focus navigation between its child <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Ext.Component</a>'s.</p>\n"
675     },
676     {
677       "tagname": "method",
678       "name": "suspendEvents",
679       "member": "Ext.util.Observable",
680       "doc": "<p>Suspend the firing of all events. (see <a href=\"#/api/Ext.FocusManager-method-resumeEvents\" rel=\"Ext.FocusManager-method-resumeEvents\" class=\"docClass\">resumeEvents</a>)</p>\n",
681       "params": [
682         {
683           "type": "Boolean",
684           "name": "queueSuspended",
685           "doc": "<p>Pass as true to queue up suspended events to be fired\nafter the <a href=\"#/api/Ext.FocusManager-method-resumeEvents\" rel=\"Ext.FocusManager-method-resumeEvents\" class=\"docClass\">resumeEvents</a> call instead of discarding all suspended events;</p>\n",
686           "optional": false
687         }
688       ],
689       "return": {
690         "type": "void",
691         "doc": "\n"
692       },
693       "private": false,
694       "static": false,
695       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
696       "linenr": 490,
697       "html_filename": "Observable.html",
698       "href": "Observable.html#Ext-util-Observable-method-suspendEvents",
699       "shortDoc": "<p>Suspend the firing of all events. (see <a href=\"#/api/Ext.FocusManager-method-resumeEvents\" rel=\"Ext.FocusManager-method-resumeEvents\" class=\"docClass\">resumeEvents</a>)</p>\n"
700     },
701     {
702       "tagname": "method",
703       "name": "un",
704       "member": "Ext.util.Observable",
705       "doc": "<p>Removes an event handler (shorthand for <a href=\"#/api/Ext.FocusManager-method-removeListener\" rel=\"Ext.FocusManager-method-removeListener\" class=\"docClass\">removeListener</a>.)</p>\n",
706       "params": [
707         {
708           "type": "String",
709           "name": "eventName",
710           "doc": "<p>The type of event the handler was associated with.</p>\n",
711           "optional": false
712         },
713         {
714           "type": "Function",
715           "name": "handler",
716           "doc": "<p>The handler to remove. <b>This must be a reference to the function passed into the <a href=\"#/api/Ext.FocusManager-method-addListener\" rel=\"Ext.FocusManager-method-addListener\" class=\"docClass\">addListener</a> call.</b></p>\n",
717           "optional": false
718         },
719         {
720           "type": "Object",
721           "name": "scope",
722           "doc": "<p>(optional) The scope originally specified for the handler.</p>\n",
723           "optional": true
724         }
725       ],
726       "return": {
727         "type": "void",
728         "doc": "\n"
729       },
730       "private": false,
731       "static": false,
732       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
733       "linenr": 608,
734       "html_filename": "Observable.html",
735       "href": "Observable.html#Ext-util-Observable-method-un",
736       "shortDoc": "<p>Removes an event handler (shorthand for <a href=\"#/api/Ext.FocusManager-method-removeListener\" rel=\"Ext.FocusManager-method-removeListener\" class=\"docClass\">removeListener</a>.)</p>\n"
737     },
738     {
739       "tagname": "method",
740       "name": "unsubscribe",
741       "member": "Ext.FocusManager",
742       "doc": "<p>Unsubscribes an <a href=\"#/api/Ext.container.Container\" rel=\"Ext.container.Container\" class=\"docClass\">Ext.container.Container</a> from keyboard focus management.</p>\n",
743       "params": [
744         {
745           "type": "Ext.container.Container",
746           "name": "container",
747           "doc": "<p>A reference to the <a href=\"#/api/Ext.container.Container\" rel=\"Ext.container.Container\" class=\"docClass\">Ext.container.Container</a> to unsubscribe from the FocusManager.</p>\n",
748           "optional": false
749         }
750       ],
751       "return": {
752         "type": "void",
753         "doc": "\n"
754       },
755       "private": false,
756       "static": false,
757       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
758       "linenr": 824,
759       "html_filename": "FocusManager.html",
760       "href": "FocusManager.html#Ext-FocusManager-method-unsubscribe",
761       "shortDoc": "<p>Unsubscribes an <a href=\"#/api/Ext.container.Container\" rel=\"Ext.container.Container\" class=\"docClass\">Ext.container.Container</a> from keyboard focus management.</p>\n"
762     }
763   ],
764   "property": [
765     {
766       "tagname": "property",
767       "name": "enabled",
768       "member": "Ext.FocusManager",
769       "type": "Boolean",
770       "doc": "<p>Whether or not the FocusManager is currently enabled</p>\n",
771       "private": false,
772       "static": false,
773       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
774       "linenr": 41,
775       "html_filename": "FocusManager.html",
776       "href": "FocusManager.html#Ext-FocusManager-property-enabled"
777     },
778     {
779       "tagname": "property",
780       "name": "focusedCmp",
781       "member": "Ext.FocusManager",
782       "type": "Ext.Component",
783       "doc": "<p>The currently focused component. Defaults to <code>undefined</code>.</p>\n",
784       "private": false,
785       "static": false,
786       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
787       "linenr": 47,
788       "html_filename": "FocusManager.html",
789       "href": "FocusManager.html#Ext-FocusManager-property-focusedCmp"
790     },
791     {
792       "tagname": "property",
793       "name": "whitelist",
794       "member": "Ext.FocusManager",
795       "type": "Array",
796       "doc": "<p>A list of xtypes that should ignore certain navigation input keys and\nallow for the default browser event/behavior. These input keys include:</p>\n\n<ol>\n<li>Backspace</li>\n<li>Delete</li>\n<li>Left</li>\n<li>Right</li>\n<li>Up</li>\n<li>Down</li>\n</ol>\n\n\n<p>The FocusManager will not attempt to navigate when a component is an xtype (or descendents thereof)\nthat belongs to this whitelist. E.g., an <a href=\"#/api/Ext.form.field.Text\" rel=\"Ext.form.field.Text\" class=\"docClass\">Ext.form.field.Text</a> should allow\nthe user to move the input cursor left and right, and to delete characters, etc.</p>\n\n<p>This whitelist currently defaults to <code>['textfield']</code>.</p>\n",
797       "private": false,
798       "static": false,
799       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
800       "linenr": 57,
801       "html_filename": "FocusManager.html",
802       "href": "FocusManager.html#Ext-FocusManager-property-whitelist",
803       "shortDoc": "A list of xtypes that should ignore certain navigation input keys and\nallow for the default browser event/behavior. T..."
804     }
805   ],
806   "event": [
807     {
808       "tagname": "event",
809       "name": "beforecomponentfocus",
810       "member": "Ext.FocusManager",
811       "doc": "<p>Fires before a component becomes focused. Return <code>false</code> to prevent\nthe component from gaining focus.</p>\n",
812       "params": [
813         {
814           "type": "Ext.FocusManager",
815           "name": "fm",
816           "doc": "<p>A reference to the FocusManager singleton</p>\n",
817           "optional": false
818         },
819         {
820           "type": "Ext.Component",
821           "name": "cmp",
822           "doc": "<p>The component that is being focused</p>\n",
823           "optional": false
824         },
825         {
826           "type": "Ext.Component",
827           "name": "previousCmp",
828           "doc": "<p>The component that was previously focused,\nor <code>undefined</code> if there was no previously focused component.</p>\n",
829           "optional": false
830         }
831       ],
832       "private": false,
833       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
834       "linenr": 98,
835       "html_filename": "FocusManager.html",
836       "href": "FocusManager.html#Ext-FocusManager-event-beforecomponentfocus",
837       "shortDoc": "<p>Fires before a component becomes focused. Return <code>false</code> to prevent\nthe component from gaining focus.</p>\n"
838     },
839     {
840       "tagname": "event",
841       "name": "componentfocus",
842       "member": "Ext.FocusManager",
843       "doc": "<p>Fires after a component becomes focused.</p>\n",
844       "params": [
845         {
846           "type": "Ext.FocusManager",
847           "name": "fm",
848           "doc": "<p>A reference to the FocusManager singleton</p>\n",
849           "optional": false
850         },
851         {
852           "type": "Ext.Component",
853           "name": "cmp",
854           "doc": "<p>The component that has been focused</p>\n",
855           "optional": false
856         },
857         {
858           "type": "Ext.Component",
859           "name": "previousCmp",
860           "doc": "<p>The component that was previously focused,\nor <code>undefined</code> if there was no previously focused component.</p>\n",
861           "optional": false
862         }
863       ],
864       "private": false,
865       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
866       "linenr": 110,
867       "html_filename": "FocusManager.html",
868       "href": "FocusManager.html#Ext-FocusManager-event-componentfocus",
869       "shortDoc": "<p>Fires after a component becomes focused.</p>\n"
870     },
871     {
872       "tagname": "event",
873       "name": "disable",
874       "member": "Ext.FocusManager",
875       "doc": "<p>Fires when the FocusManager is disabled</p>\n",
876       "params": [
877         {
878           "type": "Ext.FocusManager",
879           "name": "fm",
880           "doc": "<p>A reference to the FocusManager singleton</p>\n",
881           "optional": false
882         }
883       ],
884       "private": false,
885       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
886       "linenr": 121,
887       "html_filename": "FocusManager.html",
888       "href": "FocusManager.html#Ext-FocusManager-event-disable",
889       "shortDoc": "<p>Fires when the FocusManager is disabled</p>\n"
890     },
891     {
892       "tagname": "event",
893       "name": "enable",
894       "member": "Ext.FocusManager",
895       "doc": "<p>Fires when the FocusManager is enabled</p>\n",
896       "params": [
897         {
898           "type": "Ext.FocusManager",
899           "name": "fm",
900           "doc": "<p>A reference to the FocusManager singleton</p>\n",
901           "optional": false
902         }
903       ],
904       "private": false,
905       "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
906       "linenr": 128,
907       "html_filename": "FocusManager.html",
908       "href": "FocusManager.html#Ext-FocusManager-event-enable",
909       "shortDoc": "<p>Fires when the FocusManager is enabled</p>\n"
910     }
911   ],
912   "filename": "/Users/nick/Projects/sencha/SDK/extjs/src/FocusManager.js",
913   "linenr": 1,
914   "html_filename": "FocusManager.html",
915   "href": "FocusManager.html#Ext-FocusManager",
916   "cssVar": [
917
918   ],
919   "cssMixin": [
920
921   ],
922   "component": false,
923   "superclasses": [
924
925   ],
926   "subclasses": [
927
928   ],
929   "mixedInto": [
930
931   ],
932   "allMixins": [
933     "Ext.util.Observable"
934   ]
935 });