Blame view

js/app/views/PlotComponents/PlotBaseSerieForm.js 4.18 KB
e84ed2cf   Benjamin Renard   Add Interval Tick...
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
/**
 * Project   : AMDA-NG
 * Name      : PlotBaseSerieForm.js
 * @class   amdaPlotComp.PlotBaseSerieForm
 * @extends amdaPlotComp.PlotStandardForm
 * @brief   Form to define specifics base serie options
 * @author  Benjamin Renard
 * @version $Id: PlotBaseSerieForm.js benjamin $
 */

Ext.define('amdaPlotComp.PlotBaseSerieForm', {
	extend: 'amdaPlotComp.PlotStandardForm',
	
	setObject : function(object) {
		this.object = object.get('param-drawing-object');
		this.loadRecord(this.object);
		this.updateOptions(this.crtTree.getSelectedPlotType());
	},
	
	updateOptions: function(plotType) {
		var isScatter = (plotType == 'xyPlot');
		
		var timeTickTypeField = this.getForm().findField('serie-timetick-type');
		var timeTickFieldSet = timeTickTypeField.findParentByType('fieldset');
		
		timeTickFieldSet.setVisible(isScatter);
		
		if (isScatter)
		{
			//Update Time Tick field
			var timeTickStepField = this.getForm().findField('serie-timetick-step');
			var timeTickNbMajorField = this.getForm().findField('serie-timetick-nbmajor');
			switch (timeTickTypeField.getValue())
			{
			case 'time-step' :
				timeTickStepField.setVisible(true);
				timeTickNbMajorField.setVisible(false);
				break;
			case 'nb-major' :
				timeTickStepField.setVisible(false);
				timeTickNbMajorField.setVisible(true);
				break;
			case 'auto' :
			default :
				timeTickStepField.setVisible(false);
				timeTickNbMajorField.setVisible(false);
			}
		}
	},
	
	getTimeTickItems: function() {
		var me = this;
		return [
			this.addStandardCombo('serie-timetick-type', 'Type', amdaPlotObj.PlotObjectConfig.availableTimeTickTypes, function(name, value, oldValue) {
				me.updateOptions(me.crtTree.getSelectedPlotType());
			}),
		    this.addStandardFloat('serie-timetick-step', 'Time step (sec.)'),
			this.addStandardFloat('serie-timetick-nbmajor', 'Number of major ticks'),
			this.addStandardFloat('serie-timetick-nbminor', 'Number of minor ticks'),
			this.addStandardColor('serie-timetick-color', 'Color', amdaPlotObj.PlotObjectConfig.availableColors),
			this.addStandardFieldSet('Symbols', '', this.addStandardSymbolsItems('serie-timetick-symbols')),
			this.addStandardFieldSet('First symbol', 'serie-timetick-firstsymbols-activated', this.addStandardSymbolsItems('serie-timetick-firstsymbols')),
			this.addStandardFont('serie-timetick-font')
		];
	},
	
	getIntervalTickItems: function() {
		var me = this;
		
		return [
			this.addStandardCombo('serie-intervaltick-mode', 'Mode', amdaPlotObj.PlotObjectConfig.availableIntervalTickModes),
			this.addStandardColor('serie-intervaltick-color', 'Color', amdaPlotObj.PlotObjectConfig.availableColors),
			this.addStandardFieldSet('Symbols', '', this.addStandardSymbolsItems('serie-intervaltick-symbols')),
			this.addStandardFont('serie-intervaltick-font')
		];
	},
	
df008372   Benjamin Renard   Min/max value def...
78
79
	getValuesRangeItems: function() {
		return [
afb7b464   Benjamin Renard   Fix decimal preci...
80
81
		        this.addStandardFloat2('serie-value-min', 'Min value', -Number.MAX_VALUE, Number.MAX_VALUE, true),
		        this.addStandardFloat2('serie-value-max', 'Max value', -Number.MAX_VALUE, Number.MAX_VALUE, true)
df008372   Benjamin Renard   Min/max value def...
82
83
84
		];
	},
	
e84ed2cf   Benjamin Renard   Add Interval Tick...
85
86
87
88
	getFormItems: function() {
		var me = this;
		
		return [
7ad0629e   Elena.Budnik   Resolution => Poi...
89
                    this.addStandardCombo('serie-resolution', 'Points per plot', amdaPlotObj.PlotObjectConfig.availableResolutions, function(name, value, oldValue) {
8b1dd478   Benjamin Renard   Add the possibili...
90
91
			me.object.set('serie-resolution', value);
                    }),
e84ed2cf   Benjamin Renard   Add Interval Tick...
92
93
94
95
		    this.addStandardCombo('serie-yaxis', 'Y axis', amdaPlotObj.PlotObjectConfig.availableYAxes, function(name, value, oldValue) {
		    	me.object.set('serie-yaxis', value);
		    	me.crtTree.refresh();
		    }),
9b3f49e3   Elena.Budnik   info bulls Plot r...
96
			 myDesktopApp.addAmdaInfo('MinMaxThreshold','vertical-align:bottom'),
b2c2038c   Elena.Budnik   redmine #5993 can...
97
		    this.addStandardFieldSet('Min/Max thresholds', '', this.getValuesRangeItems()),
e84ed2cf   Benjamin Renard   Add Interval Tick...
98
99
100
101
		    this.addStandardParamDropTarget('serie-colored-param', 'Colored Parameter'),
		    this.addStandardFieldSet('Lines', 'serie-lines-activated', this.addStandardLineItems('serie-lines')),
		    this.addStandardFieldSet('Symbols', 'serie-symbols-activated', this.addStandardSymbolsItems('serie-symbols')),
		    this.addStandardFieldSet('Time ticks', 'serie-timetick-activated', this.getTimeTickItems()),
9b3f49e3   Elena.Budnik   info bulls Plot r...
102
			 this.addStandardFieldSet('Interval ticks', 'serie-intervaltick-activated', this.getIntervalTickItems())
e84ed2cf   Benjamin Renard   Add Interval Tick...
103
104
		];
	}
afb7b464   Benjamin Renard   Fix decimal preci...
105
});