X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/0494b8d9b9bb03ab6c22b34dae81261e3cd7e3e6..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/examples/desktop/App.js diff --git a/examples/desktop/App.js b/examples/desktop/App.js new file mode 100755 index 00000000..ef976f4d --- /dev/null +++ b/examples/desktop/App.js @@ -0,0 +1,129 @@ +/*! + * Ext JS Library 4.0 + * Copyright(c) 2006-2011 Sencha Inc. + * licensing@sencha.com + * http://www.sencha.com/license + */ + +Ext.define('MyDesktop.App', { + extend: 'Ext.ux.desktop.App', + + requires: [ + 'Ext.window.MessageBox', + + 'Ext.ux.desktop.ShortcutModel', + + 'MyDesktop.SystemStatus', + 'MyDesktop.VideoWindow', + 'MyDesktop.GridWindow', + 'MyDesktop.TabWindow', + 'MyDesktop.AccordionWindow', + 'MyDesktop.Notepad', + 'MyDesktop.BogusMenuModule', + 'MyDesktop.BogusModule', + +// 'MyDesktop.Blockalanche', + 'MyDesktop.Settings' + ], + + init: function() { + // custom logic before getXYZ methods get called... + + this.callParent(); + + // now ready... + }, + + getModules : function(){ + return [ + new MyDesktop.VideoWindow(), + //new MyDesktop.Blockalanche(), + new MyDesktop.SystemStatus(), + new MyDesktop.GridWindow(), + new MyDesktop.TabWindow(), + new MyDesktop.AccordionWindow(), + new MyDesktop.Notepad(), + new MyDesktop.BogusMenuModule(), + new MyDesktop.BogusModule() + ]; + }, + + getDesktopConfig: function () { + var me = this, ret = me.callParent(); + + return Ext.apply(ret, { + //cls: 'ux-desktop-black', + + contextMenuItems: [ + { text: 'Change Settings', handler: me.onSettings, scope: me } + ], + + shortcuts: Ext.create('Ext.data.Store', { + model: 'Ext.ux.desktop.ShortcutModel', + data: [ + { name: 'Grid Window', iconCls: 'grid-shortcut', module: 'grid-win' }, + { name: 'Accordion Window', iconCls: 'accordion-shortcut', module: 'acc-win' }, + { name: 'Notepad', iconCls: 'notepad-shortcut', module: 'notepad' }, + { name: 'System Status', iconCls: 'cpu-shortcut', module: 'systemstatus'} + ] + }), + + wallpaper: 'wallpapers/Blue-Sencha.jpg', + wallpaperStretch: false + }); + }, + + // config for the start menu + getStartConfig : function() { + var me = this, ret = me.callParent(); + + return Ext.apply(ret, { + title: 'Don Griffin', + iconCls: 'user', + height: 300, + toolConfig: { + width: 100, + items: [ + { + text:'Settings', + iconCls:'settings', + handler: me.onSettings, + scope: me + }, + '-', + { + text:'Logout', + iconCls:'logout', + handler: me.onLogout, + scope: me + } + ] + } + }); + }, + + getTaskbarConfig: function () { + var ret = this.callParent(); + + return Ext.apply(ret, { + quickStart: [ + { name: 'Accordion Window', iconCls: 'accordion', module: 'acc-win' }, + { name: 'Grid Window', iconCls: 'icon-grid', module: 'grid-win' } + ], + trayItems: [ + { xtype: 'trayclock', flex: 1 } + ] + }); + }, + + onLogout: function () { + Ext.Msg.confirm('Logout', 'Are you sure you want to logout?'); + }, + + onSettings: function () { + var dlg = new MyDesktop.Settings({ + desktop: this.desktop + }); + dlg.show(); + } +});