Commit e84ed2cf51c967ef3729b1ff1cd96a29b9d06571
1 parent
4cf4f2a4
Exists in
master
and in
111 other branches
Add Interval Ticks & Error bar definition + improve tree refreshing
Showing
18 changed files
with
508 additions
and
176 deletions
Show diff stats
... | ... | @@ -0,0 +1,176 @@ |
1 | +/** | |
2 | + * Project : AMDA-NG | |
3 | + * Name : PlotBaseSerieObject.js | |
4 | + * @class amdaPlotObj.PlotBaseSerieObject | |
5 | + * @extends Ext.data.Model | |
6 | + * @brief Plot Base Serie Business Object Definition | |
7 | + * @author Benjamin Renard | |
8 | + * @version $Id: PlotBaseSerieObject.js benjamin $ | |
9 | + ****************************************************************************** | |
10 | + * FT Id : Date : Name - Description | |
11 | + ****************************************************************************** | |
12 | + * : :14/09/2015: BRE - file creation | |
13 | + */ | |
14 | + | |
15 | + | |
16 | +Ext.define('amdaPlotObj.PlotBaseSerieObject', { | |
17 | + extend: 'Ext.data.Model', | |
18 | + | |
19 | + requires: [ | |
20 | + 'amdaPlotObj.PlotObjectConfig' | |
21 | + ], | |
22 | + | |
23 | + fields : [ | |
24 | + {name: 'serie-yaxis', type: 'string'}, | |
25 | + {name: 'serie-lines-activated', type: 'boolean'}, | |
26 | + {name: 'serie-lines-style', type: 'string'}, | |
27 | + {name: 'serie-lines-width', type: 'float'}, | |
28 | + {name: 'serie-lines-color', type: 'string'}, | |
29 | + {name: 'serie-symbols-activated', type: 'boolean'}, | |
30 | + {name: 'serie-symbols-type', type: 'string'}, | |
31 | + {name: 'serie-symbols-size', type: 'float'}, | |
32 | + {name: 'serie-symbols-color', type: 'string'}, | |
33 | + {name: 'serie-colored-param', type: 'string'}, | |
34 | + | |
35 | + //Time tick | |
36 | + {name: 'serie-timetick-activated', type: 'boolean'}, | |
37 | + {name: 'serie-timetick-type', type: 'string'}, | |
38 | + {name: 'serie-timetick-step', type: 'float'}, | |
39 | + {name: 'serie-timetick-nbmajor', type: 'int'}, | |
40 | + {name: 'serie-timetick-nbminor', type: 'int'}, | |
41 | + {name: 'serie-timetick-color', type: 'string'}, | |
42 | + {name: 'serie-timetick-symbols-type', type: 'string'}, | |
43 | + {name: 'serie-timetick-symbols-size', type: 'float'}, | |
44 | + {name: 'serie-timetick-symbols-color', type: 'string'}, | |
45 | + {name: 'serie-timetick-firstsymbols-activated', type: 'boolean'}, | |
46 | + {name: 'serie-timetick-firstsymbols-type', type: 'string'}, | |
47 | + {name: 'serie-timetick-firstsymbols-size', type: 'float'}, | |
48 | + {name: 'serie-timetick-firstsymbols-color', type: 'string'}, | |
49 | + {name: 'serie-timetick-font-activated', type: 'boolean'}, | |
50 | + {name: 'serie-timetick-font-name', type: 'string'}, | |
51 | + {name: 'serie-timetick-font-size', type: 'int'}, | |
52 | + {name: 'serie-timetick-font-bold', type: 'boolean'}, | |
53 | + {name: 'serie-timetick-font-italic', type: 'boolean'}, | |
54 | + | |
55 | + //Interval tick | |
56 | + {name: 'serie-intervaltick-activated', type: 'boolean'}, | |
57 | + {name: 'serie-intervaltick-mode', type: 'string'}, | |
58 | + {name: 'serie-intervaltick-color', type: 'string'}, | |
59 | + {name: 'serie-intervaltick-symbols-type', type: 'string'}, | |
60 | + {name: 'serie-intervaltick-symbols-size', type: 'float'}, | |
61 | + {name: 'serie-intervaltick-symbols-color', type: 'string'}, | |
62 | + {name: 'serie-intervaltick-font-activated', type: 'boolean'}, | |
63 | + {name: 'serie-intervaltick-font-name', type: 'string'}, | |
64 | + {name: 'serie-intervaltick-font-size', type: 'int'}, | |
65 | + {name: 'serie-intervaltick-font-bold', type: 'boolean'}, | |
66 | + {name: 'serie-intervaltick-font-italic', type: 'boolean'}, | |
67 | + ], | |
68 | + | |
69 | + constructor: function(){ | |
70 | + var me = this; | |
71 | + me.callParent(arguments); | |
72 | + if ((arguments.length > 0) && arguments[0]) | |
73 | + { | |
74 | + } | |
75 | + else | |
76 | + { | |
77 | + //new object, set default fields values | |
78 | + me.setDefaultValues(); | |
79 | + } | |
80 | + this.dirty = false; | |
81 | + }, | |
82 | + | |
83 | + setDefaultValues: function() | |
84 | + { | |
85 | + this.set('serie-yaxis', amdaPlotObj.PlotObjectConfig.defaultValues.serie.yAxis); | |
86 | + this.set('serie-lines-activated', true); | |
87 | + this.set('serie-lines-style', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.style); | |
88 | + this.set('serie-lines-width', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.width); | |
89 | + this.set('serie-lines-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.color); | |
90 | + this.set('serie-symbols-activated', false); | |
91 | + this.set('serie-symbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.type); | |
92 | + this.set('serie-symbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.size); | |
93 | + this.set('serie-symbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.color); | |
94 | + this.set('serie-colored-param', ''); | |
95 | + | |
96 | + this.set('serie-timetick-activated', false); | |
97 | + this.set('serie-timetick-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.type); | |
98 | + this.set('serie-timetick-step', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.step); | |
99 | + this.set('serie-timetick-nbmajor', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.nbmajor); | |
100 | + this.set('serie-timetick-nbminor', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.nbminor); | |
101 | + this.set('serie-timetick-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.color); | |
102 | + this.set('serie-timetick-symbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.symbols.type); | |
103 | + this.set('serie-timetick-symbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.symbols.size); | |
104 | + this.set('serie-timetick-symbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.symbols.color); | |
105 | + this.set('serie-timetick-firstsymbols-activated', true); | |
106 | + this.set('serie-timetick-firstsymbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.firstsymbols.type); | |
107 | + this.set('serie-timetick-firstsymbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.firstsymbols.size); | |
108 | + this.set('serie-timetick-firstsymbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.firstsymbols.color); | |
109 | + this.set('serie-timetick-font-activated', false); | |
110 | + this.set('serie-timetick-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.font.name); | |
111 | + this.set('serie-timetick-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.font.size); | |
112 | + this.set('serie-timetick-font-bold', false); | |
113 | + this.set('serie-timetick-font-italic', false); | |
114 | + | |
115 | + this.set('serie-intervaltick-activated', false); | |
116 | + this.set('serie-intervaltick-mode', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.mode); | |
117 | + this.set('serie-intervaltick-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.color); | |
118 | + this.set('serie-intervaltick-symbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.symbols.type); | |
119 | + this.set('serie-intervaltick-symbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.symbols.size); | |
120 | + this.set('serie-intervaltick-symbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.symbols.color); | |
121 | + this.set('serie-intervaltick-font-activated', false); | |
122 | + this.set('serie-intervaltick-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.font.name); | |
123 | + this.set('serie-intervaltick-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.intervaltick.font.size); | |
124 | + this.set('serie-intervaltick-font-bold', false); | |
125 | + this.set('serie-intervaltick-font-italic', false); | |
126 | + }, | |
127 | + | |
128 | + getJsonValues : function() | |
129 | + { | |
130 | + var serieValues = new Object(); | |
131 | + | |
132 | + serieValues['serie-yaxis'] = this.get('serie-yaxis'); | |
133 | + serieValues['serie-lines-activated'] = this.get('serie-lines-activated'); | |
134 | + serieValues['serie-lines-style'] = this.get('serie-lines-style'); | |
135 | + serieValues['serie-lines-width'] = this.get('serie-lines-width'); | |
136 | + serieValues['serie-lines-color'] = this.get('serie-lines-color'); | |
137 | + serieValues['serie-symbols-activated'] = this.get('serie-symbols-activated'); | |
138 | + serieValues['serie-symbols-type'] = this.get('serie-symbols-type'); | |
139 | + serieValues['serie-symbols-size'] = this.get('serie-symbols-size'); | |
140 | + serieValues['serie-symbols-color'] = this.get('serie-symbols-color'); | |
141 | + serieValues['serie-colored-param'] = this.get('serie-colored-param'); | |
142 | + | |
143 | + serieValues['serie-timetick-activated'] = this.get('serie-timetick-activated'); | |
144 | + serieValues['serie-timetick-type'] = this.get('serie-timetick-type'); | |
145 | + serieValues['serie-timetick-step'] = this.get('serie-timetick-step'); | |
146 | + serieValues['serie-timetick-nbmajor'] = this.get('serie-timetick-nbmajor'); | |
147 | + serieValues['serie-timetick-nbminor'] = this.get('serie-timetick-nbminor'); | |
148 | + serieValues['serie-timetick-color'] = this.get('serie-timetick-color'); | |
149 | + serieValues['serie-timetick-symbols-type'] = this.get('serie-timetick-symbols-type'); | |
150 | + serieValues['serie-timetick-symbols-size'] = this.get('serie-timetick-symbols-size'); | |
151 | + serieValues['serie-timetick-symbols-color'] = this.get('serie-timetick-symbols-color'); | |
152 | + serieValues['serie-timetick-firstsymbols-activated'] = this.get('serie-timetick-firstsymbols-activated'); | |
153 | + serieValues['serie-timetick-firstsymbols-type'] = this.get('serie-timetick-firstsymbols-type'); | |
154 | + serieValues['serie-timetick-firstsymbols-size'] = this.get('serie-timetick-firstsymbols-size'); | |
155 | + serieValues['serie-timetick-firstsymbols-color'] = this.get('serie-timetick-firstsymbols-color'); | |
156 | + serieValues['serie-timetick-font-activated'] = this.get('serie-timetick-font-activated'); | |
157 | + serieValues['serie-timetick-font-name'] = this.get('serie-timetick-font-name'); | |
158 | + serieValues['serie-timetick-font-size'] = this.get('serie-timetick-font-size'); | |
159 | + serieValues['serie-timetick-font-bold'] = this.get('serie-timetick-font-bold'); | |
160 | + serieValues['serie-timetick-font-italic'] = this.get('serie-timetick-font-italic'); | |
161 | + | |
162 | + serieValues['serie-intervaltick-activated'] = this.get('serie-intervaltick-activated'); | |
163 | + serieValues['serie-intervaltick-mode'] = this.get('serie-intervaltick-mode'); | |
164 | + serieValues['serie-intervaltick-color'] = this.get('serie-intervaltick-color'); | |
165 | + serieValues['serie-intervaltick-symbols-type'] = this.get('serie-intervaltick-symbols-type'); | |
166 | + serieValues['serie-intervaltick-symbols-size'] = this.get('serie-intervaltick-symbols-size'); | |
167 | + serieValues['serie-intervaltick-symbols-color'] = this.get('serie-intervaltick-symbols-color'); | |
168 | + serieValues['serie-intervaltick-font-activated'] = this.get('serie-intervaltick-font-activated'); | |
169 | + serieValues['serie-intervaltick-font-name'] = this.get('serie-intervaltick-font-name'); | |
170 | + serieValues['serie-intervaltick-font-size'] = this.get('serie-intervaltick-font-size'); | |
171 | + serieValues['serie-intervaltick-font-bold'] = this.get('serie-intervaltick-font-bold'); | |
172 | + serieValues['serie-intervaltick-font-italic'] = this.get('serie-intervaltick-font-italic'); | |
173 | + | |
174 | + return serieValues; | |
175 | + } | |
176 | +}); | |
0 | 177 | \ No newline at end of file |
... | ... |
js/app/models/PlotObjects/PlotObjectConfig.js
... | ... | @@ -112,7 +112,29 @@ Ext.define('amdaPlotObj.PlotObjectConfig', { |
112 | 112 | name : 'sans-serif', |
113 | 113 | size: '12' |
114 | 114 | } |
115 | - } | |
115 | + }, | |
116 | + intervaltick : { | |
117 | + mode: 'start-time', | |
118 | + color : '#FF0000', | |
119 | + symbols : { | |
120 | + type: 'full-circle', | |
121 | + size: 10, | |
122 | + color: '#FF0000' | |
123 | + }, | |
124 | + font : { | |
125 | + name : 'sans-serif', | |
126 | + size: '12' | |
127 | + } | |
128 | + }, | |
129 | + errorbar : { | |
130 | + type: 'min-max', | |
131 | + lines : { | |
132 | + style : 'plain', | |
133 | + width : 1, | |
134 | + color : 'auto' | |
135 | + } | |
136 | + }, | |
137 | + projection : 'XY' | |
116 | 138 | }, |
117 | 139 | spectro : { |
118 | 140 | yAxis : 'y-left' |
... | ... | @@ -339,6 +361,15 @@ Ext.define('amdaPlotObj.PlotObjectConfig', { |
339 | 361 | {'key' : 'yparam', 'value' : 'Y Parameter'} |
340 | 362 | ], |
341 | 363 | |
364 | + availableOrbitSerieProjections : [ | |
365 | + {'key' : 'XY', 'value' : 'XY'}, | |
366 | + {'key' : 'XZ', 'value' : 'XZ'}, | |
367 | + {'key' : 'YZ', 'value' : 'YZ'}, | |
368 | + {'key' : 'XR', 'value' : 'XR'}, | |
369 | + {'key' : 'YR', 'value' : 'YR'}, | |
370 | + {'key' : 'ZR', 'value' : 'ZR'} | |
371 | + ], | |
372 | + | |
342 | 373 | availableDimsOnXAxis : [ |
343 | 374 | {'key' : '0', 'value' : 'First dimension'}, |
344 | 375 | {'key' : '1', 'value' : 'Second dimension'} |
... | ... | @@ -349,6 +380,18 @@ Ext.define('amdaPlotObj.PlotObjectConfig', { |
349 | 380 | {'key' : 'time-step', 'value' : 'Time step'}, |
350 | 381 | {'key' : 'nb-major', 'value' : 'Num. of major symb.'} |
351 | 382 | ], |
383 | + | |
384 | + availableIntervalTickModes : [ | |
385 | + {'key' : 'symbol-only', 'value' : 'Symbol only'}, | |
386 | + {'key' : 'interval-index', 'value' : 'Interval index'}, | |
387 | + {'key' : 'start-time', 'value' : 'Start time'}, | |
388 | + {'key' : 'start-stop-time', 'value' : 'Start/Stop times'} | |
389 | + ], | |
390 | + | |
391 | + availableErrorBarTypes : [ | |
392 | + {'key' : 'min-max', 'value' : 'Min./Max. Parameters'}, | |
393 | + {'key' : 'delta', 'value' : 'Delta parameter'} | |
394 | + ], | |
352 | 395 | |
353 | 396 | availableLegendSeriesTypes : [ |
354 | 397 | {'key' : 'text-line-symbol', 'value' : 'Text, Line & Symbols'}, |
... | ... |
... | ... | @@ -0,0 +1,42 @@ |
1 | +/** | |
2 | + * Project : AMDA-NG | |
3 | + * Name : PlotOrbitSerieObject.js | |
4 | + * @class amdaPlotObj.PlotOrbitSerieObject | |
5 | + * @extends amdaPlotObj.PlotBaseSerieObject | |
6 | + * @brief Plot Orbit Serie Business Object Definition | |
7 | + * @author Benjamin Renard | |
8 | + * @version $Id: PlotOrbitSerieObject.js benjamin $ | |
9 | + ****************************************************************************** | |
10 | + * FT Id : Date : Name - Description | |
11 | + ****************************************************************************** | |
12 | + * : :14/09/2015: BRE - file creation | |
13 | + */ | |
14 | + | |
15 | + | |
16 | +Ext.define('amdaPlotObj.PlotOrbitSerieObject', { | |
17 | + extend: 'amdaPlotObj.PlotBaseSerieObject', | |
18 | + | |
19 | + fields : [ | |
20 | + {name: 'serie-projection', type: 'string'} | |
21 | + ], | |
22 | + | |
23 | + constructor: function(){ | |
24 | + var me = this; | |
25 | + me.callParent(arguments); | |
26 | + }, | |
27 | + | |
28 | + setDefaultValues: function() | |
29 | + { | |
30 | + this.set('serie-projection', amdaPlotObj.PlotObjectConfig.defaultValues.serie.projection); | |
31 | + this.callParent(arguments); | |
32 | + }, | |
33 | + | |
34 | + getJsonValues : function() | |
35 | + { | |
36 | + var serieValues = this.callParent(arguments); | |
37 | + | |
38 | + serieValues['serie-projection'] = this.get('serie-projection'); | |
39 | + | |
40 | + return serieValues; | |
41 | + } | |
42 | +}); | |
0 | 43 | \ No newline at end of file |
... | ... |
js/app/models/PlotObjects/PlotParamObject.js
... | ... | @@ -20,6 +20,7 @@ Ext.define('amdaPlotObj.PlotParamObject', { |
20 | 20 | requires: [ |
21 | 21 | 'amdaPlotObj.PlotObjectConfig', |
22 | 22 | 'amdaPlotObj.PlotSerieObject', |
23 | + 'amdaPlotObj.PlotOrbitSerieObject', | |
23 | 24 | 'amdaPlotObj.PlotSpectroObject', |
24 | 25 | 'amdaPlotObj.PlotStatusBarObject', |
25 | 26 | 'amdaPlotObj.PlotTickBarObject', |
... | ... | @@ -69,6 +70,8 @@ Ext.define('amdaPlotObj.PlotParamObject', { |
69 | 70 | { |
70 | 71 | case 'serie' : |
71 | 72 | return new amdaPlotObj.PlotSerieObject(data); |
73 | + case 'orbit-serie' : | |
74 | + return new amdaPlotObj.PlotOrbitSerieObject(data); | |
72 | 75 | case 'spectro' : |
73 | 76 | return new amdaPlotObj.PlotSpectroObject(data); |
74 | 77 | case 'status-bar' : |
... | ... | @@ -145,7 +148,13 @@ Ext.define('amdaPlotObj.PlotParamObject', { |
145 | 148 | switch (plotType) |
146 | 149 | { |
147 | 150 | case 'xyPlot' : |
148 | - info = this.get('param-id')+' = f('+this.get('param-drawing-object').get('serie-xaxis-param')+', t)'; | |
151 | + if (this.get('param-drawing-type') == 'orbit-serie') | |
152 | + { | |
153 | + var projection = amdaPlotObj.PlotObjectConfig.getValueByKey(amdaPlotObj.PlotObjectConfig.availableOrbitSerieProjections, this.get('param-drawing-object').get('serie-projection')); | |
154 | + info = this.get('param-id')+', '+projection; | |
155 | + } | |
156 | + else | |
157 | + info = this.get('param-id')+' = f('+this.get('param-drawing-object').get('serie-xaxis-param')+', t)'; | |
149 | 158 | break; |
150 | 159 | case 'instantPlot' : |
151 | 160 | info = this.get('param-id'); |
... | ... |
js/app/models/PlotObjects/PlotSerieObject.js
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | * Project : AMDA-NG |
3 | 3 | * Name : PlotSerieObject.js |
4 | 4 | * @class amdaPlotObj.PlotSerieObject |
5 | - * @extends Ext.data.Model | |
5 | + * @extends amdaPlotObj.PlotBaseSerieObject | |
6 | 6 | * @brief Plot Serie Business Object Definition |
7 | 7 | * @author Benjamin Renard |
8 | 8 | * @version $Id: PlotSerieObject.js benjamin $ |
... | ... | @@ -14,137 +14,62 @@ |
14 | 14 | |
15 | 15 | |
16 | 16 | Ext.define('amdaPlotObj.PlotSerieObject', { |
17 | - extend: 'Ext.data.Model', | |
18 | - | |
19 | - requires: [ | |
20 | - 'amdaPlotObj.PlotObjectConfig' | |
21 | - ], | |
17 | + extend: 'amdaPlotObj.PlotBaseSerieObject', | |
22 | 18 | |
23 | 19 | fields : [ |
24 | - {name: 'serie-yaxis', type: 'string'}, | |
25 | - {name: 'serie-lines-activated', type: 'boolean'}, | |
26 | - {name: 'serie-lines-style', type: 'string'}, | |
27 | - {name: 'serie-lines-width', type: 'float'}, | |
28 | - {name: 'serie-lines-color', type: 'string'}, | |
29 | - {name: 'serie-symbols-activated', type: 'boolean'}, | |
30 | - {name: 'serie-symbols-type', type: 'string'}, | |
31 | - {name: 'serie-symbols-size', type: 'float'}, | |
32 | - {name: 'serie-symbols-color', type: 'string'}, | |
33 | - {name: 'serie-colored-param', type: 'string'}, | |
34 | - | |
35 | 20 | //Only used for xyPlot |
36 | 21 | {name: 'serie-xaxis-param', type: 'string'}, |
37 | 22 | {name: 'serie-resampling-mode', type: 'string'}, |
38 | - //Time tick | |
39 | - {name: 'serie-timetick-activated', type: 'boolean'}, | |
40 | - {name: 'serie-timetick-type', type: 'string'}, | |
41 | - {name: 'serie-timetick-step', type: 'float'}, | |
42 | - {name: 'serie-timetick-nbmajor', type: 'int'}, | |
43 | - {name: 'serie-timetick-nbminor', type: 'int'}, | |
44 | - {name: 'serie-timetick-color', type: 'string'}, | |
45 | - {name: 'serie-timetick-symbols-type', type: 'string'}, | |
46 | - {name: 'serie-timetick-symbols-size', type: 'float'}, | |
47 | - {name: 'serie-timetick-symbols-color', type: 'string'}, | |
48 | - {name: 'serie-timetick-firstsymbols-activated', type: 'boolean'}, | |
49 | - {name: 'serie-timetick-firstsymbols-type', type: 'string'}, | |
50 | - {name: 'serie-timetick-firstsymbols-size', type: 'float'}, | |
51 | - {name: 'serie-timetick-firstsymbols-color', type: 'string'}, | |
52 | - {name: 'serie-timetick-font-activated', type: 'boolean'}, | |
53 | - {name: 'serie-timetick-font-name', type: 'string'}, | |
54 | - {name: 'serie-timetick-font-size', type: 'int'}, | |
55 | - {name: 'serie-timetick-font-bold', type: 'boolean'}, | |
56 | - {name: 'serie-timetick-font-italic', type: 'boolean'} | |
23 | + | |
24 | + //Only used for timePlot | |
25 | + {name: 'serie-errorbar-activated', type: 'boolean'}, | |
26 | + {name: 'serie-errorbar-type', type: 'string'}, | |
27 | + {name: 'serie-errorbar-lines-style', type: 'string'}, | |
28 | + {name: 'serie-errorbar-lines-width', type: 'float'}, | |
29 | + {name: 'serie-errorbar-lines-color', type: 'string'}, | |
30 | + {name: 'serie-errorbar-minparam', type: 'string'}, | |
31 | + {name: 'serie-errorbar-maxparam', type: 'string'}, | |
32 | + {name: 'serie-errorbar-deltaparam', type: 'string'} | |
57 | 33 | ], |
58 | 34 | |
59 | 35 | constructor: function(){ |
60 | 36 | var me = this; |
61 | 37 | me.callParent(arguments); |
62 | - if ((arguments.length > 0) && arguments[0]) | |
63 | - { | |
64 | - } | |
65 | - else | |
66 | - { | |
67 | - //new object, set default fields values | |
68 | - me.setDefaultValues(); | |
69 | - } | |
70 | - this.dirty = false; | |
71 | 38 | }, |
72 | 39 | |
73 | 40 | setDefaultValues: function() |
74 | 41 | { |
75 | - this.set('serie-yaxis', amdaPlotObj.PlotObjectConfig.defaultValues.serie.yAxis); | |
76 | - this.set('serie-lines-activated', true); | |
77 | - this.set('serie-lines-style', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.style); | |
78 | - this.set('serie-lines-width', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.width); | |
79 | - this.set('serie-lines-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.color); | |
80 | - this.set('serie-symbols-activated', false); | |
81 | - this.set('serie-symbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.type); | |
82 | - this.set('serie-symbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.size); | |
83 | - this.set('serie-symbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.color); | |
84 | - this.set('serie-colored-param', ''); | |
85 | - | |
86 | - this.set('serie-timetick-activated', false); | |
87 | - this.set('serie-timetick-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.type); | |
88 | - this.set('serie-timetick-step', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.step); | |
89 | - this.set('serie-timetick-nbmajor', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.nbmajor); | |
90 | - this.set('serie-timetick-nbminor', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.nbminor); | |
91 | - this.set('serie-timetick-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.color); | |
92 | - this.set('serie-timetick-symbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.symbols.type); | |
93 | - this.set('serie-timetick-symbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.symbols.size); | |
94 | - this.set('serie-timetick-symbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.symbols.color); | |
95 | - this.set('serie-timetick-firstsymbols-activated', true); | |
96 | - this.set('serie-timetick-firstsymbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.firstsymbols.type); | |
97 | - this.set('serie-timetick-firstsymbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.firstsymbols.size); | |
98 | - this.set('serie-timetick-firstsymbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.firstsymbols.color); | |
99 | - this.set('serie-timetick-font-activated', false); | |
100 | - this.set('serie-timetick-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.font.name); | |
101 | - this.set('serie-timetick-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.font.size); | |
102 | - this.set('serie-timetick-font-bold', false); | |
103 | - this.set('serie-timetick-font-italic', false); | |
42 | + this.set('serie-errorbar-activated', false); | |
43 | + this.set('serie-errorbar-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.errorbar.type); | |
44 | + this.set('serie-errorbar-lines-style', amdaPlotObj.PlotObjectConfig.defaultValues.serie.errorbar.lines.style); | |
45 | + this.set('serie-errorbar-lines-width', amdaPlotObj.PlotObjectConfig.defaultValues.serie.errorbar.lines.width); | |
46 | + this.set('serie-errorbar-lines-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.errorbar.lines.color); | |
47 | + this.set('serie-errorbar-minparam', ''); | |
48 | + this.set('serie-errorbar-maxparam', ''); | |
49 | + this.set('serie-errorbar-deltaparam', ''); | |
104 | 50 | |
105 | 51 | this.set('serie-xaxis-param', ''); |
106 | 52 | this.set('serie-resampling-mode', amdaPlotObj.PlotObjectConfig.defaultValues.serie.resamplingMode); |
53 | + | |
54 | + this.callParent(arguments); | |
107 | 55 | }, |
108 | 56 | |
109 | 57 | getJsonValues : function() |
110 | 58 | { |
111 | - var serieValues = new Object(); | |
59 | + var serieValues = this.callParent(arguments); | |
112 | 60 | |
113 | - serieValues['serie-yaxis'] = this.get('serie-yaxis'); | |
114 | - serieValues['serie-lines-activated'] = this.get('serie-lines-activated'); | |
115 | - serieValues['serie-lines-style'] = this.get('serie-lines-style'); | |
116 | - serieValues['serie-lines-width'] = this.get('serie-lines-width'); | |
117 | - serieValues['serie-lines-color'] = this.get('serie-lines-color'); | |
118 | - serieValues['serie-symbols-activated'] = this.get('serie-symbols-activated'); | |
119 | - serieValues['serie-symbols-type'] = this.get('serie-symbols-type'); | |
120 | - serieValues['serie-symbols-size'] = this.get('serie-symbols-size'); | |
121 | - serieValues['serie-symbols-color'] = this.get('serie-symbols-color'); | |
122 | - serieValues['serie-colored-param'] = this.get('serie-colored-param'); | |
123 | 61 | serieValues['serie-xaxis-param'] = this.get('serie-xaxis-param'); |
124 | 62 | serieValues['serie-resampling-mode'] = this.get('serie-resampling-mode'); |
125 | 63 | |
126 | - if (this.get('serie-timetick-activated')) | |
127 | - { | |
128 | - serieValues['serie-timetick'] = new Object(); | |
129 | - serieValues['serie-timetick']['serie-timetick-type'] = this.get('serie-timetick-type'); | |
130 | - serieValues['serie-timetick']['serie-timetick-step'] = this.get('serie-timetick-step'); | |
131 | - serieValues['serie-timetick']['serie-timetick-nbmajor'] = this.get('serie-timetick-nbmajor'); | |
132 | - serieValues['serie-timetick']['serie-timetick-nbminor'] = this.get('serie-timetick-nbminor'); | |
133 | - serieValues['serie-timetick']['serie-timetick-color'] = this.get('serie-timetick-color'); | |
134 | - serieValues['serie-timetick']['serie-timetick-symbols-type'] = this.get('serie-timetick-symbols-type'); | |
135 | - serieValues['serie-timetick']['serie-timetick-symbols-size'] = this.get('serie-timetick-symbols-size'); | |
136 | - serieValues['serie-timetick']['serie-timetick-symbols-color'] = this.get('serie-timetick-symbols-color'); | |
137 | - serieValues['serie-timetick']['serie-timetick-firstsymbols-activated'] = this.get('serie-timetick-firstsymbols-activated'); | |
138 | - serieValues['serie-timetick']['serie-timetick-firstsymbols-type'] = this.get('serie-timetick-firstsymbols-type'); | |
139 | - serieValues['serie-timetick']['serie-timetick-firstsymbols-size'] = this.get('serie-timetick-firstsymbols-size'); | |
140 | - serieValues['serie-timetick']['serie-timetick-firstsymbols-color'] = this.get('serie-timetick-firstsymbols-color'); | |
141 | - serieValues['serie-timetick']['serie-timetick-font-activated'] = this.get('serie-timetick-font-activated'); | |
142 | - serieValues['serie-timetick']['serie-timetick-font-name'] = this.get('serie-timetick-font-name'); | |
143 | - serieValues['serie-timetick']['serie-timetick-font-size'] = this.get('serie-timetick-font-size'); | |
144 | - serieValues['serie-timetick']['serie-timetick-font-bold'] = this.get('serie-timetick-font-bold'); | |
145 | - serieValues['serie-timetick']['serie-timetick-font-italic'] = this.get('serie-timetick-font-italic'); | |
146 | - } | |
147 | - | |
64 | + serieValues['serie-errorbar-activated'] = this.get('serie-errorbar-activated'); | |
65 | + serieValues['serie-errorbar-type'] = this.get('serie-errorbar-type'); | |
66 | + serieValues['serie-errorbar-lines-style'] = this.get('serie-errorbar-lines-style'); | |
67 | + serieValues['serie-errorbar-lines-width'] = this.get('serie-errorbar-lines-width'); | |
68 | + serieValues['serie-errorbar-lines-color'] = this.get('serie-errorbar-lines-color'); | |
69 | + serieValues['serie-errorbar-minparam'] = this.get('serie-errorbar-minparam'); | |
70 | + serieValues['serie-errorbar-maxparam'] = this.get('serie-errorbar-maxparam'); | |
71 | + serieValues['serie-errorbar-deltaparam'] = this.get('serie-errorbar-deltaparam'); | |
72 | + | |
148 | 73 | return serieValues; |
149 | 74 | } |
150 | 75 | }); |
151 | 76 | \ No newline at end of file |
... | ... |
... | ... | @@ -0,0 +1,93 @@ |
1 | +/** | |
2 | + * Project : AMDA-NG | |
3 | + * Name : PlotBaseSerieForm.js | |
4 | + * @class amdaPlotComp.PlotBaseSerieForm | |
5 | + * @extends amdaPlotComp.PlotStandardForm | |
6 | + * @brief Form to define specifics base serie options | |
7 | + * @author Benjamin Renard | |
8 | + * @version $Id: PlotBaseSerieForm.js benjamin $ | |
9 | + */ | |
10 | + | |
11 | +Ext.define('amdaPlotComp.PlotBaseSerieForm', { | |
12 | + extend: 'amdaPlotComp.PlotStandardForm', | |
13 | + | |
14 | + setObject : function(object) { | |
15 | + this.object = object.get('param-drawing-object'); | |
16 | + this.loadRecord(this.object); | |
17 | + this.updateOptions(this.crtTree.getSelectedPlotType()); | |
18 | + }, | |
19 | + | |
20 | + updateOptions: function(plotType) { | |
21 | + var isScatter = (plotType == 'xyPlot'); | |
22 | + | |
23 | + var timeTickTypeField = this.getForm().findField('serie-timetick-type'); | |
24 | + var timeTickFieldSet = timeTickTypeField.findParentByType('fieldset'); | |
25 | + | |
26 | + timeTickFieldSet.setVisible(isScatter); | |
27 | + | |
28 | + if (isScatter) | |
29 | + { | |
30 | + //Update Time Tick field | |
31 | + var timeTickStepField = this.getForm().findField('serie-timetick-step'); | |
32 | + var timeTickNbMajorField = this.getForm().findField('serie-timetick-nbmajor'); | |
33 | + switch (timeTickTypeField.getValue()) | |
34 | + { | |
35 | + case 'time-step' : | |
36 | + timeTickStepField.setVisible(true); | |
37 | + timeTickNbMajorField.setVisible(false); | |
38 | + break; | |
39 | + case 'nb-major' : | |
40 | + timeTickStepField.setVisible(false); | |
41 | + timeTickNbMajorField.setVisible(true); | |
42 | + break; | |
43 | + case 'auto' : | |
44 | + default : | |
45 | + timeTickStepField.setVisible(false); | |
46 | + timeTickNbMajorField.setVisible(false); | |
47 | + } | |
48 | + } | |
49 | + }, | |
50 | + | |
51 | + getTimeTickItems: function() { | |
52 | + var me = this; | |
53 | + return [ | |
54 | + this.addStandardCombo('serie-timetick-type', 'Type', amdaPlotObj.PlotObjectConfig.availableTimeTickTypes, function(name, value, oldValue) { | |
55 | + me.updateOptions(me.crtTree.getSelectedPlotType()); | |
56 | + }), | |
57 | + this.addStandardFloat('serie-timetick-step', 'Time step (sec.)'), | |
58 | + this.addStandardFloat('serie-timetick-nbmajor', 'Number of major ticks'), | |
59 | + this.addStandardFloat('serie-timetick-nbminor', 'Number of minor ticks'), | |
60 | + this.addStandardColor('serie-timetick-color', 'Color', amdaPlotObj.PlotObjectConfig.availableColors), | |
61 | + this.addStandardFieldSet('Symbols', '', this.addStandardSymbolsItems('serie-timetick-symbols')), | |
62 | + this.addStandardFieldSet('First symbol', 'serie-timetick-firstsymbols-activated', this.addStandardSymbolsItems('serie-timetick-firstsymbols')), | |
63 | + this.addStandardFont('serie-timetick-font') | |
64 | + ]; | |
65 | + }, | |
66 | + | |
67 | + getIntervalTickItems: function() { | |
68 | + var me = this; | |
69 | + | |
70 | + return [ | |
71 | + this.addStandardCombo('serie-intervaltick-mode', 'Mode', amdaPlotObj.PlotObjectConfig.availableIntervalTickModes), | |
72 | + this.addStandardColor('serie-intervaltick-color', 'Color', amdaPlotObj.PlotObjectConfig.availableColors), | |
73 | + this.addStandardFieldSet('Symbols', '', this.addStandardSymbolsItems('serie-intervaltick-symbols')), | |
74 | + this.addStandardFont('serie-intervaltick-font') | |
75 | + ]; | |
76 | + }, | |
77 | + | |
78 | + getFormItems: function() { | |
79 | + var me = this; | |
80 | + | |
81 | + return [ | |
82 | + this.addStandardCombo('serie-yaxis', 'Y axis', amdaPlotObj.PlotObjectConfig.availableYAxes, function(name, value, oldValue) { | |
83 | + me.object.set('serie-yaxis', value); | |
84 | + me.crtTree.refresh(); | |
85 | + }), | |
86 | + this.addStandardParamDropTarget('serie-colored-param', 'Colored Parameter'), | |
87 | + this.addStandardFieldSet('Lines', 'serie-lines-activated', this.addStandardLineItems('serie-lines')), | |
88 | + this.addStandardFieldSet('Symbols', 'serie-symbols-activated', this.addStandardSymbolsItems('serie-symbols')), | |
89 | + this.addStandardFieldSet('Time ticks', 'serie-timetick-activated', this.getTimeTickItems()), | |
90 | + this.addStandardFieldSet('Interval ticks', 'serie-intervaltick-activated', this.getIntervalTickItems()) | |
91 | + ]; | |
92 | + } | |
93 | +}); | |
0 | 94 | \ No newline at end of file |
... | ... |
js/app/views/PlotComponents/PlotConstantForm.js
... | ... | @@ -33,7 +33,8 @@ Ext.define('amdaPlotComp.PlotConstantForm', { |
33 | 33 | if (me.object.get('constant-axis-id') != value) |
34 | 34 | { |
35 | 35 | me.updateOptions(value, me.crtTree.getSelectedPlotType()); |
36 | - me.crtTree.getView().refresh(); | |
36 | + me.object.set('constant-axis-id', value); | |
37 | + me.crtTree.refresh(); | |
37 | 38 | } |
38 | 39 | }), |
39 | 40 | this.addStandardDate('constant-time-value', 'Value'), |
... | ... |
js/app/views/PlotComponents/PlotFillForm.js
... | ... | @@ -81,7 +81,8 @@ Ext.define('amdaPlotComp.PlotFillForm', { |
81 | 81 | if (me.object.get('fill-type') != value) |
82 | 82 | { |
83 | 83 | me.updateOptions(); |
84 | - me.crtTree.getView().refresh(); | |
84 | + me.object.set('fill-type', value); | |
85 | + me.crtTree.refresh(); | |
85 | 86 | } |
86 | 87 | }), |
87 | 88 | this.addStandardCombo('fill-firstserie-id', 'First serie Id', []), |
... | ... |
js/app/views/PlotComponents/PlotLayoutForm.js
... | ... | @@ -92,7 +92,8 @@ Ext.define('amdaPlotComp.PlotLayoutForm', { |
92 | 92 | if (me.object.get('page-layout-type') != value) |
93 | 93 | { |
94 | 94 | me.updateLayoutOptions(); |
95 | - me.crtTree.getView().refresh(); | |
95 | + me.object.set('page-layout-type', value); | |
96 | + me.crtTree.refresh(); | |
96 | 97 | } |
97 | 98 | }), |
98 | 99 | this.layoutOptionsContainer |
... | ... |
js/app/views/PlotComponents/PlotLegendSeriesForm.js
... | ... | @@ -44,7 +44,8 @@ Ext.define('amdaPlotComp.PlotLegendSeriesForm', { |
44 | 44 | |
45 | 45 | return [ |
46 | 46 | this.addStandardFieldSet('Activate legend', 'legend-series-activated', legendItems, function(name, value, oldValue) { |
47 | - me.crtTree.getView().refresh(); | |
47 | + me.object.set('legend-series-activated', value); | |
48 | + me.crtTree.refresh(); | |
48 | 49 | }) |
49 | 50 | ]; |
50 | 51 | } |
... | ... |
js/app/views/PlotComponents/PlotLegendTextForm.js
... | ... | @@ -24,7 +24,8 @@ Ext.define('amdaPlotComp.PlotLegendTextForm', { |
24 | 24 | this.addStandardText('legend-text-value', 'Text'), |
25 | 25 | this.addStandardColor('legend-text-color', 'Color', amdaPlotObj.PlotObjectConfig.availableColors), |
26 | 26 | this.addStandardCombo('legend-text-position', 'Position', amdaPlotObj.PlotObjectConfig.availableLegendTextPositions, function(name, value, oldValue) { |
27 | - me.crtTree.getView().refresh(); | |
27 | + me.object.set('legend-text-position', value); | |
28 | + me.crtTree.refresh(); | |
28 | 29 | }), |
29 | 30 | this.addStandardFont('legend-text-font') |
30 | 31 | ]; |
... | ... |
... | ... | @@ -0,0 +1,32 @@ |
1 | +/** | |
2 | + * Project : AMDA-NG | |
3 | + * Name : PlotOrbitSerieForm.js | |
4 | + * @class amdaPlotComp.PlotOrbitSerieForm | |
5 | + * @extends amdaPlotComp.PlotBaseSerieForm | |
6 | + * @brief Form to define specifics orbit serie options | |
7 | + * @author Benjamin Renard | |
8 | + * @version $Id: PlotOrbitSerieForm.js benjamin $ | |
9 | + */ | |
10 | + | |
11 | +Ext.define('amdaPlotComp.PlotOrbitSerieForm', { | |
12 | + extend: 'amdaPlotComp.PlotBaseSerieForm', | |
13 | + | |
14 | + getFormItems: function() { | |
15 | + var me = this; | |
16 | + | |
17 | + var baseSerieItems = this.callParent(arguments); | |
18 | + | |
19 | + var orbitSerieItems = [ | |
20 | + this.addStandardCombo('serie-projection', 'Projection', amdaPlotObj.PlotObjectConfig.availableOrbitSerieProjections, function(name, value, oldValue) { | |
21 | + me.object.set('serie-projection', value); | |
22 | + me.crtTree.refresh(); | |
23 | + }), | |
24 | + ]; | |
25 | + | |
26 | + Ext.each(baseSerieItems, function(item) { | |
27 | + orbitSerieItems.push(item); | |
28 | + }); | |
29 | + | |
30 | + return orbitSerieItems; | |
31 | + } | |
32 | +}); | |
0 | 33 | \ No newline at end of file |
... | ... |
js/app/views/PlotComponents/PlotPageForm.js
... | ... | @@ -29,13 +29,16 @@ Ext.define('amdaPlotComp.PlotPageForm', { |
29 | 29 | return [ |
30 | 30 | //this.addStandardCombo('page-mode', 'Mode', amdaPlotObj.PlotObjectConfig.availablePageModes), |
31 | 31 | this.addStandardCombo('page-orientation', 'Orientation', amdaPlotObj.PlotObjectConfig.availablePageOrientations, function(name, value, oldValue) { |
32 | - me.crtTree.getView().refresh(); | |
32 | + me.object.set('page-orientation', value); | |
33 | + me.crtTree.refresh(); | |
33 | 34 | }), |
34 | 35 | this.addStandardCombo('page-dimension', 'Dimension', amdaPlotObj.PlotObjectConfig.availablePageDimensions, function(name, value, oldValue) { |
35 | - me.crtTree.getView().refresh(); | |
36 | + me.object.set('page-dimension', value); | |
37 | + me.crtTree.refresh(); | |
36 | 38 | }), |
37 | 39 | this.addStandardCheck('page-superpose-mode', 'Epoch Superposed Mode', function(name, value, oldValue) { |
38 | - me.crtTree.getView().refresh(); | |
40 | + me.object.set('page-superpose-mode', value); | |
41 | + me.crtTree.refresh(); | |
39 | 42 | }), |
40 | 43 | this.addStandardFieldSet('Title', '', titleItems), |
41 | 44 | this.addStandardFieldSet('Margins', 'page-margins-activated', marginItems), |
... | ... |
js/app/views/PlotComponents/PlotPanelForm.js
... | ... | @@ -125,18 +125,22 @@ Ext.define('amdaPlotComp.PlotPanelForm', { |
125 | 125 | me.crtTree.buildPanelAxesNode(me.object); |
126 | 126 | me.crtTree.buildPanelAdditionalObjectsNode(me.object); |
127 | 127 | } |
128 | - me.crtTree.getView().refresh(); | |
128 | + me.object.set('panel-plot-type', value); | |
129 | + me.crtTree.refresh(); | |
129 | 130 | me.updateOptions(value); |
130 | 131 | } |
131 | 132 | }), |
132 | 133 | this.addStandardCheck('panel-scatter-isotropic', 'Isotropic', function(name, value, oldValue) { |
133 | - me.crtTree.getView().refresh(); | |
134 | + me.object.set('panel-scatter-isotropic', value); | |
135 | + me.crtTree.refresh(); | |
134 | 136 | }), |
135 | 137 | this.addStandardText('panel-epoch-centertimeid', 'Epoch Center Time Id', function(name, value, oldValue) { |
136 | - me.crtTree.getView().refresh(); | |
138 | + me.object.set('panel-epoch-centertimeid', value); | |
139 | + me.crtTree.refresh(); | |
137 | 140 | }), |
138 | 141 | this.addStandardDate('panel-instant-time', 'Instant time', function(name, value, oldValue) { |
139 | - me.crtTree.getView().refresh(); | |
142 | + me.object.set('panel-instant-time', value); | |
143 | + me.crtTree.refresh(); | |
140 | 144 | }), |
141 | 145 | this.addStandardColor('panel-background-color', 'Background Color', amdaPlotObj.PlotObjectConfig.availableBackgroundColors), |
142 | 146 | this.addStandardFieldSet('Manual Bounds', '', boundsItems), |
... | ... |
js/app/views/PlotComponents/PlotParamForm.js
... | ... | @@ -13,6 +13,7 @@ Ext.define('amdaPlotComp.PlotParamForm', { |
13 | 13 | |
14 | 14 | requires: [ |
15 | 15 | 'amdaPlotComp.PlotSerieForm', |
16 | + 'amdaPlotComp.PlotOrbitSerieForm', | |
16 | 17 | 'amdaPlotComp.PlotSpectroForm', |
17 | 18 | 'amdaPlotComp.PlotStatusBarForm', |
18 | 19 | 'amdaPlotComp.PlotTickBarForm', |
... | ... | @@ -54,6 +55,9 @@ Ext.define('amdaPlotComp.PlotParamForm', { |
54 | 55 | case 'serie' : |
55 | 56 | this.drawingOptionsFormsManager.register(new amdaPlotComp.PlotSerieForm({id : formId})); |
56 | 57 | break; |
58 | + case 'orbit-serie' : | |
59 | + this.drawingOptionsFormsManager.register(new amdaPlotComp.PlotOrbitSerieForm({id : formId})); | |
60 | + break; | |
57 | 61 | case 'spectro' : |
58 | 62 | this.drawingOptionsFormsManager.register(new amdaPlotComp.PlotSpectroForm({id : formId})); |
59 | 63 | break; |
... | ... | @@ -108,7 +112,8 @@ Ext.define('amdaPlotComp.PlotParamForm', { |
108 | 112 | if (me.object.get('param-drawing-type') != value) |
109 | 113 | { |
110 | 114 | me.object.changeDrawingType(value); |
111 | - me.crtTree.getView().refresh(); | |
115 | + me.object.set('param-drawing-type', value); | |
116 | + me.crtTree.refresh(); | |
112 | 117 | me.updateDrawingOptions(value); |
113 | 118 | } |
114 | 119 | }), |
... | ... |
js/app/views/PlotComponents/PlotSerieForm.js
... | ... | @@ -2,87 +2,76 @@ |
2 | 2 | * Project : AMDA-NG |
3 | 3 | * Name : PlotSerieForm.js |
4 | 4 | * @class amdaPlotComp.PlotSerieForm |
5 | - * @extends amdaPlotComp.PlotStandardForm | |
5 | + * @extends amdaPlotComp.PlotBaseSerieForm | |
6 | 6 | * @brief Form to define specifics serie options |
7 | 7 | * @author Benjamin Renard |
8 | 8 | * @version $Id: PlotSerieForm.js benjamin $ |
9 | 9 | */ |
10 | 10 | |
11 | 11 | Ext.define('amdaPlotComp.PlotSerieForm', { |
12 | - extend: 'amdaPlotComp.PlotStandardForm', | |
13 | - | |
14 | - setObject : function(object) { | |
15 | - this.object = object.get('param-drawing-object'); | |
16 | - this.loadRecord(this.object); | |
17 | - this.updateOptions(this.crtTree.getSelectedPlotType()); | |
18 | - }, | |
12 | + extend: 'amdaPlotComp.PlotBaseSerieForm', | |
19 | 13 | |
20 | 14 | updateOptions: function(plotType) { |
21 | 15 | var isScatter = (plotType == 'xyPlot'); |
22 | 16 | |
23 | 17 | var xParamField = this.getForm().findField('serie-xaxis-param'); |
24 | 18 | var resamplingModeField = this.getForm().findField('serie-resampling-mode'); |
25 | - var timeTickTypeField = this.getForm().findField('serie-timetick-type'); | |
26 | - var timeTickFieldSet = timeTickTypeField.findParentByType('fieldset'); | |
27 | 19 | |
28 | 20 | xParamField.setVisible(isScatter); |
29 | 21 | resamplingModeField.setVisible(isScatter); |
30 | - timeTickFieldSet.setVisible(isScatter); | |
31 | 22 | |
32 | - if (isScatter) | |
23 | + var errorBarTypeField = this.getForm().findField('serie-errorbar-type'); | |
24 | + var errorBarFieldSet = errorBarTypeField.findParentByType('fieldset'); | |
25 | + | |
26 | + errorBarFieldSet.setVisible(!isScatter); | |
27 | + | |
28 | + if (!isScatter) | |
33 | 29 | { |
34 | - //Update Time Tick field | |
35 | - var timeTickStepField = this.getForm().findField('serie-timetick-step'); | |
36 | - var timeTickNbMajorField = this.getForm().findField('serie-timetick-nbmajor'); | |
37 | - switch (timeTickTypeField.getValue()) | |
38 | - { | |
39 | - case 'time-step' : | |
40 | - timeTickStepField.setVisible(true); | |
41 | - timeTickNbMajorField.setVisible(false); | |
42 | - break; | |
43 | - case 'nb-major' : | |
44 | - timeTickStepField.setVisible(false); | |
45 | - timeTickNbMajorField.setVisible(true); | |
46 | - break; | |
47 | - case 'auto' : | |
48 | - default : | |
49 | - timeTickStepField.setVisible(false); | |
50 | - timeTickNbMajorField.setVisible(false); | |
51 | - } | |
30 | + var errorMinField = this.getForm().findField('serie-errorbar-minparam'); | |
31 | + var errorMaxField = this.getForm().findField('serie-errorbar-maxparam'); | |
32 | + var errorDeltaField = this.getForm().findField('serie-errorbar-deltaparam'); | |
33 | + | |
34 | + errorMinField.setVisible(errorBarTypeField.getValue() == 'min-max'); | |
35 | + errorMaxField.setVisible(errorBarTypeField.getValue() == 'min-max'); | |
36 | + errorDeltaField.setVisible(errorBarTypeField.getValue() == 'delta'); | |
52 | 37 | } |
38 | + | |
39 | + this.callParent(arguments); | |
53 | 40 | }, |
54 | 41 | |
55 | - getTimeTickItems: function() { | |
42 | + getErrorBarItems: function() { | |
56 | 43 | var me = this; |
44 | + | |
57 | 45 | return [ |
58 | - this.addStandardCombo('serie-timetick-type', 'Type', amdaPlotObj.PlotObjectConfig.availableTimeTickTypes, function(name, value, oldValue) { | |
59 | - me.updateOptions(me.crtTree.getSelectedPlotType()); | |
46 | + this.addStandardCombo('serie-errorbar-type', 'Type', amdaPlotObj.PlotObjectConfig.availableErrorBarTypes, function(name, value, oldValue) { | |
47 | + me.updateOptions(me.crtTree.getSelectedPlotType()); | |
60 | 48 | }), |
61 | - this.addStandardFloat('serie-timetick-step', 'Time step (sec.)'), | |
62 | - this.addStandardFloat('serie-timetick-nbmajor', 'Number of major ticks'), | |
63 | - this.addStandardFloat('serie-timetick-nbminor', 'Number of minor ticks'), | |
64 | - this.addStandardColor('serie-timetick-color', 'Color', amdaPlotObj.PlotObjectConfig.availableColors), | |
65 | - this.addStandardFieldSet('Symbols', '', this.addStandardSymbolsItems('serie-timetick-symbols')), | |
66 | - this.addStandardFieldSet('First symbol', 'serie-timetick-firstsymbols-activated', this.addStandardSymbolsItems('serie-timetick-firstsymbols')), | |
67 | - this.addStandardFont('serie-timetick-font') | |
49 | + this.addStandardParamDropTarget('serie-errorbar-minparam', 'Min. Parameter'), | |
50 | + this.addStandardParamDropTarget('serie-errorbar-maxparam', 'Max. Parameter'), | |
51 | + this.addStandardParamDropTarget('serie-errorbar-deltaparam', 'Delta Parameter'), | |
52 | + this.addStandardFieldSet('Bar Lines', '', this.addStandardLineItems('serie-errorbar-lines')) | |
68 | 53 | ]; |
69 | 54 | }, |
70 | 55 | |
71 | 56 | getFormItems: function() { |
72 | 57 | var me = this; |
73 | 58 | |
74 | - return [ | |
75 | - this.addStandardParamDropTarget('serie-xaxis-param', 'X Parameter', function(name, value, oldValue) { | |
76 | - me.crtTree.getView().refresh(); | |
77 | - }), | |
78 | - this.addStandardCombo('serie-resampling-mode', 'Reference parameter for resampling', amdaPlotObj.PlotObjectConfig.availableResamplingModes), | |
79 | - this.addStandardCombo('serie-yaxis', 'Y axis', amdaPlotObj.PlotObjectConfig.availableYAxes, function(name, value, oldValue) { | |
80 | - me.crtTree.getView().refresh(); | |
81 | - }), | |
82 | - this.addStandardParamDropTarget('serie-colored-param', 'Colored Parameter'), | |
83 | - this.addStandardFieldSet('Lines', 'serie-lines-activated', this.addStandardLineItems('serie-lines')), | |
84 | - this.addStandardFieldSet('Symbols', 'serie-symbols-activated', this.addStandardSymbolsItems('serie-symbols')), | |
85 | - this.addStandardFieldSet('Time ticks', 'serie-timetick-activated', this.getTimeTickItems()) | |
59 | + var baseSerieItems = this.callParent(arguments); | |
60 | + | |
61 | + var serieItems = [ | |
62 | + this.addStandardParamDropTarget('serie-xaxis-param', 'X Parameter', function(name, value, oldValue) { | |
63 | + me.object.set('serie-xaxis-param', value); | |
64 | + me.crtTree.refresh(); | |
65 | + }), | |
66 | + this.addStandardCombo('serie-resampling-mode', 'Reference parameter for resampling', amdaPlotObj.PlotObjectConfig.availableResamplingModes) | |
86 | 67 | ]; |
68 | + | |
69 | + Ext.each(baseSerieItems, function(item) { | |
70 | + serieItems.push(item); | |
71 | + }); | |
72 | + | |
73 | + serieItems.push(this.addStandardFieldSet('Error Bar', 'serie-errorbar-activated', this.getErrorBarItems())); | |
74 | + | |
75 | + return serieItems; | |
87 | 76 | } |
88 | 77 | }); |
89 | 78 | \ No newline at end of file |
... | ... |
js/app/views/PlotComponents/PlotSpectroForm.js
... | ... | @@ -20,7 +20,8 @@ Ext.define('amdaPlotComp.PlotSpectroForm', { |
20 | 20 | var me = this; |
21 | 21 | return [ |
22 | 22 | this.addStandardCombo('spectro-yaxis', 'Y axis', amdaPlotObj.PlotObjectConfig.availableYAxes, function(name, value, oldValue) { |
23 | - me.crtTree.getView().refresh(); | |
23 | + me.object.set('spectro-yaxis', value); | |
24 | + me.crtTree.refresh(); | |
24 | 25 | }) |
25 | 26 | ]; |
26 | 27 | } |
... | ... |
js/app/views/PlotComponents/PlotTree.js
... | ... | @@ -37,6 +37,10 @@ Ext.define('amdaPlotComp.PlotTree', { |
37 | 37 | this.callParent(arguments); |
38 | 38 | }, |
39 | 39 | |
40 | + refresh: function() { | |
41 | + this.getView().refresh(); | |
42 | + }, | |
43 | + | |
40 | 44 | buildTree: function(tabObject) { |
41 | 45 | if (this.store.getRootNode().hasChildNodes()) |
42 | 46 | this.store.getRootNode().removeAll(); |
... | ... | @@ -747,7 +751,8 @@ Ext.define('amdaPlotComp.PlotTree', { |
747 | 751 | rootVisible: false, |
748 | 752 | hideHeaders: true, |
749 | 753 | viewConfig:{ |
750 | - plugins: this.getDragAndDropPluginConfig() | |
754 | + plugins: this.getDragAndDropPluginConfig(), | |
755 | + preserveScrollOnRefresh: true | |
751 | 756 | }, |
752 | 757 | listeners: { |
753 | 758 | select: me.onNodeSelect, |
... | ... |