tvheadend/vendor/ext-3.4.1/docs/source/WindowManager.html
Adam Sutton bafcfff42d webui: restructure webui/extjs source files
I want to keep the 3rd-party packages away from the main source
where possible.
2013-06-03 17:11:01 +01:00

222 lines
8.3 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>The source code</title>
<link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="../resources/prettify/prettify.js"></script>
<style type="text/css">
.highlight { display: block; background-color: #ddd; }
</style>
<script type="text/javascript">
function highlight() {
document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
}
</script>
</head>
<body onload="prettyPrint(); highlight();">
<pre class="prettyprint lang-js"><span id='Ext-WindowGroup-method-constructor'><span id='Ext-WindowGroup'>/**
</span></span> * @class Ext.WindowGroup
* An object that manages a group of {@link Ext.Window} instances and provides z-order management
* and window activation behavior.
* @constructor
*/
Ext.WindowGroup = function(){
var list = {};
var accessList = [];
var front = null;
// private
var sortWindows = function(d1, d2){
return (!d1._lastAccess || d1._lastAccess &lt; d2._lastAccess) ? -1 : 1;
};
// private
var orderWindows = function(){
var a = accessList, len = a.length;
if(len &gt; 0){
a.sort(sortWindows);
var seed = a[0].manager.zseed;
for(var i = 0; i &lt; len; i++){
var win = a[i];
if(win &amp;&amp; !win.hidden){
win.setZIndex(seed + (i*10));
}
}
}
activateLast();
};
// private
var setActiveWin = function(win){
if(win != front){
if(front){
front.setActive(false);
}
front = win;
if(win){
win.setActive(true);
}
}
};
// private
var activateLast = function(){
for(var i = accessList.length-1; i &gt;=0; --i) {
if(!accessList[i].hidden){
setActiveWin(accessList[i]);
return;
}
}
// none to activate
setActiveWin(null);
};
return {
<span id='Ext-WindowGroup-property-zseed'> /**
</span> * The starting z-index for windows in this WindowGroup (defaults to 9000)
* @type Number The z-index value
*/
zseed : 9000,
<span id='Ext-WindowGroup-method-register'> /**
</span> * &lt;p&gt;Registers a {@link Ext.Window Window} with this WindowManager. This should not
* need to be called under normal circumstances. Windows are automatically registered
* with a {@link Ext.Window#manager manager} at construction time.&lt;/p&gt;
* &lt;p&gt;Where this may be useful is moving Windows between two WindowManagers. For example,
* to bring the Ext.MessageBox dialog under the same manager as the Desktop's
* WindowManager in the desktop sample app:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;
var msgWin = Ext.MessageBox.getDialog();
MyDesktop.getDesktop().getManager().register(msgWin);
&lt;/pre&gt;&lt;/code&gt;
* @param {Window} win The Window to register.
*/
register : function(win){
if(win.manager){
win.manager.unregister(win);
}
win.manager = this;
list[win.id] = win;
accessList.push(win);
win.on('hide', activateLast);
},
<span id='Ext-WindowGroup-method-unregister'> /**
</span> * &lt;p&gt;Unregisters a {@link Ext.Window Window} from this WindowManager. This should not
* need to be called. Windows are automatically unregistered upon destruction.
* See {@link #register}.&lt;/p&gt;
* @param {Window} win The Window to unregister.
*/
unregister : function(win){
delete win.manager;
delete list[win.id];
win.un('hide', activateLast);
accessList.remove(win);
},
<span id='Ext-WindowGroup-method-get'> /**
</span> * Gets a registered window by id.
* @param {String/Object} id The id of the window or a {@link Ext.Window} instance
* @return {Ext.Window}
*/
get : function(id){
return typeof id == &quot;object&quot; ? id : list[id];
},
<span id='Ext-WindowGroup-method-bringToFront'> /**
</span> * Brings the specified window to the front of any other active windows in this WindowGroup.
* @param {String/Object} win The id of the window or a {@link Ext.Window} instance
* @return {Boolean} True if the dialog was brought to the front, else false
* if it was already in front
*/
bringToFront : function(win){
win = this.get(win);
if(win != front){
win._lastAccess = new Date().getTime();
orderWindows();
return true;
}
return false;
},
<span id='Ext-WindowGroup-method-sendToBack'> /**
</span> * Sends the specified window to the back of other active windows in this WindowGroup.
* @param {String/Object} win The id of the window or a {@link Ext.Window} instance
* @return {Ext.Window} The window
*/
sendToBack : function(win){
win = this.get(win);
win._lastAccess = -(new Date().getTime());
orderWindows();
return win;
},
<span id='Ext-WindowGroup-method-hideAll'> /**
</span> * Hides all windows in this WindowGroup.
*/
hideAll : function(){
for(var id in list){
if(list[id] &amp;&amp; typeof list[id] != &quot;function&quot; &amp;&amp; list[id].isVisible()){
list[id].hide();
}
}
},
<span id='Ext-WindowGroup-method-getActive'> /**
</span> * Gets the currently-active window in this WindowGroup.
* @return {Ext.Window} The active window
*/
getActive : function(){
return front;
},
<span id='Ext-WindowGroup-method-getBy'> /**
</span> * Returns zero or more windows in this WindowGroup using the custom search function passed to this method.
* The function should accept a single {@link Ext.Window} reference as its only argument and should
* return true if the window matches the search criteria, otherwise it should return false.
* @param {Function} fn The search function
* @param {Object} scope (optional) The scope (&lt;code&gt;this&lt;/code&gt; reference) in which the function is executed. Defaults to the Window being tested.
* that gets passed to the function if not specified)
* @return {Array} An array of zero or more matching windows
*/
getBy : function(fn, scope){
var r = [];
for(var i = accessList.length-1; i &gt;=0; --i) {
var win = accessList[i];
if(fn.call(scope||win, win) !== false){
r.push(win);
}
}
return r;
},
<span id='Ext-WindowGroup-method-each'> /**
</span> * Executes the specified function once for every window in this WindowGroup, passing each
* window as the only parameter. Returning false from the function will stop the iteration.
* @param {Function} fn The function to execute for each item
* @param {Object} scope (optional) The scope (&lt;code&gt;this&lt;/code&gt; reference) in which the function is executed. Defaults to the current Window in the iteration.
*/
each : function(fn, scope){
for(var id in list){
if(list[id] &amp;&amp; typeof list[id] != &quot;function&quot;){
if(fn.call(scope || list[id], list[id]) === false){
return;
}
}
}
}
};
};
<span id='Ext-WindowMgr'>/**
</span> * @class Ext.WindowMgr
* @extends Ext.WindowGroup
* The default global window group that is available automatically. To have more than one group of windows
* with separate z-order stacks, create additional instances of {@link Ext.WindowGroup} as needed.
* @singleton
*/
Ext.WindowMgr = new Ext.WindowGroup();</pre>
</body>
</html>