Ext JS4의 Desktop 개조
6855 단어 Desktop
<script type="text/javascript" src="../../builds/ext-core.js"></script>
<script type="text/javascript" src="classes.js"></script>
<script type="text/javascript">
Ext.Loader.setPath({
'Ext.ux.desktop': 'js',
MyDesktop: ''
});
Ext.require('MyDesktop.App');
var myDesktopApp;
Ext.onReady(function () {
myDesktopApp = new MyDesktop.App();
});
</script>
다음과 같이 수정합니다.
<script type="text/javascript" src="ext-4.0/ext-debug.js"></script>
<script type="text/javascript">
Ext.Loader.setConfig({
enabled:true,
paths:{
'Ext.ux.desktop': 'js',
MyDesktop: ''
}
});
Ext.require('MyDesktop.App');
var myDesktopApp;
Ext.onReady(function () {
myDesktopApp = new MyDesktop.App();
});
</script>
<script type="text/javascript" src="App.js"></script>
이것은 기존 프로젝트를 사용하고 js를classes로 포장했기 때문입니다.js에서 더 이상 수정할 수 없습니다. 여기는 js가 불러오는 순서를 조정하고 ext-debug를 사용합니다.js(최종 생산 환경은 ext.js로 바꿀 수 있음).테스트 결과, App.js는 반드시 중간에 있는 긴 코드의 뒤에 놓아야만 그 작용을 할 수 있다.4, App을 수정합니다.js, 데스크톱에 단축키를 추가하고 데스크톱 배경을 수정합니다. (코드가 기본적으로 움직이지 않고 추가된 부분만 굵게 하면 Notepad.js의 쓰기 방법을 참조하여 직접 쓸 수 있습니다.)
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',
'MyDesktop.LyqTest1'
],
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(),
new MyDesktop.LyqTest1()
];
},
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'},
{ name: 'Java ', iconCls: 'java-shortcut', module: 'lyqtest1' }
]
}),
wallpaper: 'wallpapers/Wood-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();
}
});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ubuntu18.04에서 Salome-Meca 아이콘을 즐겨 찾기에 표시Ubuntu16 이전에는 Salome-Meca를 시작하는 동안 아이콘이 즐겨 찾기 목록에 아이콘이 표시되고 아이콘을 마우스 오른쪽 버튼으로 클릭하여 즐겨 찾기에 추가 할 수 있었지만 Ubuntu18 이후에는 할 수 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.