PlotPreviewUI.js
3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/**
* Project : AMDA-NG
* Name : PlotPreviewUI.js
* @class amdaPlotComp.PlotPreviewUI
* @extends Ext. panel.Panel
* @brief Plot Preview UI definition (View)
* @author
* @version $Id: PlotPreviewUI.js benjamin $
********************************************************************************
* FT Id : Date : Name - Description
*******************************************************************************
*
*/
Ext.define('amdaPlotComp.PlotPreviewUI', {
extend: 'Ext.panel.Panel',
alias: 'widget.plotPreview',
requires: [
'amdaPlotComp.PlotContextManager',
'amdaPlotComp.PlotResultImage'
],
panelImage : null,
crtContext : null,
sliderPage : null,
constructor: function(config) {
this.init(config);
this.callParent(arguments);
},
getImageSize : function() {
if (!this.crtContext)
return {
width : 0,
height : 0
};
return {
width : this.crtContext.page.width * this.sliderPage.getValue()/100.,
height : this.crtContext.page.height * this.sliderPage.getValue()/100.
}
},
getImageUrl: function(resultFolder, plotFile) {
return 'data/'+sessionID +'/RES/'+resultFolder+ '/' + plotFile;
},
createPlotImage: function(resultFolder, plotFile) {
var me = this;
var size = this.getImageSize();
this.panelImage = Ext.create('amdaPlotComp.PlotResultImage', {
src : this.getImageUrl(resultFolder, plotFile),
width : size.width,
height : size.height
});
return this.panelImage;
},
updatePlotImage: function(configResult, newPlot) {
this.crtContext = configResult.context;
this.panelImage.setSrc(this.getImageUrl(configResult.folder, configResult.plotFile));
var size = this.getImageSize();
this.panelImage.setSize(size.width, size.height);
this.panelImage.refreshMe();
},
init: function(configResult){
this.crtContext = configResult.context;
this.tabId = configResult.tabId;
this.sliderPage = new Ext.slider.Single({
width: 130,
value: 75,
increment: 5,
minValue: 50,
maxValue: 100,
fieldLabel : 'Resize',
labelWidth : 40,
listeners: {
scope : this,
changecomplete: function(s, v)
{
var size = this.getImageSize();
this.panelImage.width = size.width;
this.panelImage.height = size.height;
this.panelImage.doComponentLayout();
}
}
});
var bottomToolbar = {
xtype: 'toolbar',
height: 25,
dock: 'bottom',
items:[
'->',
this.sliderPage
]
};
var plotPreviewPanelConfig = {
preventHeader : true,
autoScroll: true,
items: [
this.createPlotImage(configResult.folder, configResult.plotFile)
],
dockedItems: [bottomToolbar]
};
Ext.apply(this , plotPreviewPanelConfig);
}
});