3 * Copyright(c) 2006-2009 Ext JS, LLC
5 * http://www.extjs.com/license
7 Ext.app.App = function(cfg){
\r
8 Ext.apply(this, cfg);
\r
11 'beforeunload' : true
\r
14 Ext.onReady(this.initApp, this);
\r
17 Ext.extend(Ext.app.App, Ext.util.Observable, {
\r
22 getStartConfig : function(){
\r
26 initApp : function(){
\r
27 this.startConfig = this.startConfig || this.getStartConfig();
\r
29 this.desktop = new Ext.Desktop(this);
\r
31 this.launcher = this.desktop.taskbar.startMenu;
\r
33 this.modules = this.getModules();
\r
35 this.initModules(this.modules);
\r
40 Ext.EventManager.on(window, 'beforeunload', this.onUnload, this);
\r
41 this.fireEvent('ready', this);
\r
42 this.isReady = true;
\r
45 getModules : Ext.emptyFn,
\r
48 initModules : function(ms){
\r
49 for(var i = 0, len = ms.length; i < len; i++){
\r
51 this.launcher.add(m.launcher);
\r
56 getModule : function(name){
\r
57 var ms = this.modules;
\r
58 for(var i = 0, len = ms.length; i < len; i++){
\r
59 if(ms[i].id == name || ms[i].appType == name){
\r
66 onReady : function(fn, scope){
\r
68 this.on('ready', fn, scope);
\r
70 fn.call(scope, this);
\r
74 getDesktop : function(){
\r
75 return this.desktop;
\r
78 onUnload : function(e){
\r
79 if(this.fireEvent('beforeunload', this) === false){
\r