X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/ee06f37b0f6f6d94cd05a6ffae556660f7c4a2bc..c930e9176a5a85509c5b0230e2bff5c22a591432:/docs/source/App.html?ds=inline diff --git a/docs/source/App.html b/docs/source/App.html new file mode 100644 index 00000000..747deb14 --- /dev/null +++ b/docs/source/App.html @@ -0,0 +1,86 @@ + +
+Ext.app.App = function(cfg){ + Ext.apply(this, cfg); + this.addEvents({ + 'ready' : true, + 'beforeunload' : true + }); + + Ext.onReady(this.initApp, this); +}; + +Ext.extend(Ext.app.App, Ext.util.Observable, { + isReady: false, + startMenu: null, + modules: null, + + getStartConfig : function(){ + + }, + + initApp : function(){ + this.startConfig = this.startConfig || this.getStartConfig(); + + this.desktop = new Ext.Desktop(this); + + this.launcher = this.desktop.taskbar.startMenu; + + this.modules = this.getModules(); + if(this.modules){ + this.initModules(this.modules); + } + + this.init(); + + Ext.EventManager.on(window, 'beforeunload', this.onUnload, this); + this.fireEvent('ready', this); + this.isReady = true; + }, + + getModules : Ext.emptyFn, + init : Ext.emptyFn, + + initModules : function(ms){ + for(var i = 0, len = ms.length; i < len; i++){ + var m = ms[i]; + this.launcher.add(m.launcher); + m.app = this; + } + }, + + getModule : function(name){ + var ms = this.modules; + for(var i = 0, len = ms.length; i < len; i++){ + if(ms[i].id == name || ms[i].appType == name){ + return ms[i]; + } + } + return ''; + }, + + onReady : function(fn, scope){ + if(!this.isReady){ + this.on('ready', fn, scope); + }else{ + fn.call(scope, this); + } + }, + + getDesktop : function(){ + return this.desktop; + }, + + onUnload : function(e){ + if(this.fireEvent('beforeunload', this) === false){ + e.stopEvent(); + } + } +});+ + \ No newline at end of file