PlotSerieObject.js 8.45 KB
/**
 * Project      : AMDA-NG
 * Name         : PlotSerieObject.js
 * @class   amdaPlotObj.PlotSerieObject
 * @extends Ext.data.Model
 * @brief   Plot Serie Business Object Definition 
 * @author  Benjamin Renard
 * @version $Id: PlotSerieObject.js benjamin $
 ******************************************************************************
 *    FT Id     :   Date   : Name - Description
 ******************************************************************************
 *	:           :18/08/2015: BRE  - file creation
 */
 
 		
Ext.define('amdaPlotObj.PlotSerieObject', {
	extend: 'Ext.data.Model',
	
	requires: [
	           'amdaPlotObj.PlotObjectConfig'
	],
	
	fields : [
	          {name: 'serie-yaxis', type: 'string'},
	          {name: 'serie-lines-activated', type: 'boolean'},
	          {name: 'serie-lines-style', type: 'string'},
	          {name: 'serie-lines-width', type: 'float'},
	          {name: 'serie-lines-color', type: 'string'},
	          {name: 'serie-symbols-activated', type: 'boolean'},
	          {name: 'serie-symbols-type', type: 'string'},
	          {name: 'serie-symbols-size', type: 'float'},
	          {name: 'serie-symbols-color', type: 'string'},
	          {name: 'serie-colored-param', type: 'string'},
	          
	          //Only used for xyPlot
	          {name: 'serie-xaxis-param', type: 'string'},
	          {name: 'serie-resampling-mode', type: 'string'},
	          //Time tick
	          {name: 'serie-timetick-activated', type: 'boolean'},
	          {name: 'serie-timetick-type', type: 'string'},
	          {name: 'serie-timetick-step', type: 'float'},
	          {name: 'serie-timetick-nbmajor', type: 'int'},
	          {name: 'serie-timetick-nbminor', type: 'int'},
	          {name: 'serie-timetick-color', type: 'string'},
	          {name: 'serie-timetick-symbols-type', type: 'string'},
	          {name: 'serie-timetick-symbols-size', type: 'float'},
	          {name: 'serie-timetick-symbols-color', type: 'string'},
	          {name: 'serie-timetick-firstsymbols-activated', type: 'boolean'},
	          {name: 'serie-timetick-firstsymbols-type', type: 'string'},
	          {name: 'serie-timetick-firstsymbols-size', type: 'float'},
	          {name: 'serie-timetick-firstsymbols-color', type: 'string'},
	          {name: 'serie-timetick-font-activated', type: 'boolean'},
	          {name: 'serie-timetick-font-name', type: 'string'},
	          {name: 'serie-timetick-font-size', type: 'int'},
	          {name: 'serie-timetick-font-bold', type: 'boolean'},
	          {name: 'serie-timetick-font-italic', type: 'boolean'}
    ],
    
    constructor: function(){
        var me = this;
        me.callParent(arguments);
        if ((arguments.length > 0) && arguments[0])
        {
        }
        else
        {
        	//new object, set default fields values
        	me.setDefaultValues();
        }
        this.dirty = false;
    },
    
    setDefaultValues: function()
    {
    	this.set('serie-yaxis', amdaPlotObj.PlotObjectConfig.defaultValues.serie.yAxis);
    	this.set('serie-lines-activated', true);
    	this.set('serie-lines-style', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.style);
    	this.set('serie-lines-width', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.width);
    	this.set('serie-lines-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.lines.color);
    	this.set('serie-symbols-activated', false);
    	this.set('serie-symbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.type);
    	this.set('serie-symbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.size);
    	this.set('serie-symbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.symbols.color);
    	this.set('serie-colored-param', '');
    	
    	this.set('serie-timetick-activated', false);
		this.set('serie-timetick-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.type);
		this.set('serie-timetick-step', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.step);
		this.set('serie-timetick-nbmajor', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.nbmajor);
		this.set('serie-timetick-nbminor', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.nbminor);
		this.set('serie-timetick-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.color);
	    this.set('serie-timetick-symbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.symbols.type);
	    this.set('serie-timetick-symbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.symbols.size);
	    this.set('serie-timetick-symbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.symbols.color);
		this.set('serie-timetick-firstsymbols-activated', true);
		this.set('serie-timetick-firstsymbols-type', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.firstsymbols.type);
	    this.set('serie-timetick-firstsymbols-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.firstsymbols.size);
	    this.set('serie-timetick-firstsymbols-color', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.firstsymbols.color);
		this.set('serie-timetick-font-activated', false);
        this.set('serie-timetick-font-name', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.font.name);
        this.set('serie-timetick-font-size', amdaPlotObj.PlotObjectConfig.defaultValues.serie.timetick.font.size);
        this.set('serie-timetick-font-bold', false);
        this.set('serie-timetick-font-italic', false);
    	
    	this.set('serie-xaxis-param', '');
    	this.set('serie-resampling-mode', amdaPlotObj.PlotObjectConfig.defaultValues.serie.resamplingMode);
    },
    
    getJsonValues : function() 
    {
    	var serieValues  = new Object();
    	
    	serieValues['serie-yaxis'] = this.get('serie-yaxis');
    	serieValues['serie-lines-activated'] = this.get('serie-lines-activated');
    	serieValues['serie-lines-style'] = this.get('serie-lines-style');
    	serieValues['serie-lines-width'] = this.get('serie-lines-width');
    	serieValues['serie-lines-color'] = this.get('serie-lines-color');
    	serieValues['serie-symbols-activated'] = this.get('serie-symbols-activated');
    	serieValues['serie-symbols-type'] = this.get('serie-symbols-type');
    	serieValues['serie-symbols-size'] = this.get('serie-symbols-size');
    	serieValues['serie-symbols-color'] = this.get('serie-symbols-color');
    	serieValues['serie-colored-param'] = this.get('serie-colored-param');
    	serieValues['serie-xaxis-param'] = this.get('serie-xaxis-param');
    	serieValues['serie-resampling-mode'] = this.get('serie-resampling-mode');
    	
    	if (this.get('serie-timetick-activated'))
    	{
    		serieValues['serie-timetick'] = new Object();
    		serieValues['serie-timetick']['serie-timetick-type'] = this.get('serie-timetick-type');
    		serieValues['serie-timetick']['serie-timetick-step'] = this.get('serie-timetick-step');
    		serieValues['serie-timetick']['serie-timetick-nbmajor'] = this.get('serie-timetick-nbmajor');
    		serieValues['serie-timetick']['serie-timetick-nbminor'] = this.get('serie-timetick-nbminor');
    		serieValues['serie-timetick']['serie-timetick-color'] = this.get('serie-timetick-color');
    		serieValues['serie-timetick']['serie-timetick-symbols-type'] = this.get('serie-timetick-symbols-type');
    		serieValues['serie-timetick']['serie-timetick-symbols-size'] = this.get('serie-timetick-symbols-size');
    		serieValues['serie-timetick']['serie-timetick-symbols-color'] = this.get('serie-timetick-symbols-color');
    		serieValues['serie-timetick']['serie-timetick-firstsymbols-activated'] = this.get('serie-timetick-firstsymbols-activated');
    		serieValues['serie-timetick']['serie-timetick-firstsymbols-type'] = this.get('serie-timetick-firstsymbols-type');
    		serieValues['serie-timetick']['serie-timetick-firstsymbols-size'] = this.get('serie-timetick-firstsymbols-size');
    		serieValues['serie-timetick']['serie-timetick-firstsymbols-color'] = this.get('serie-timetick-firstsymbols-color');
    		serieValues['serie-timetick']['serie-timetick-font-activated'] = this.get('serie-timetick-font-activated');
    		serieValues['serie-timetick']['serie-timetick-font-name'] = this.get('serie-timetick-font-name');
    		serieValues['serie-timetick']['serie-timetick-font-size'] = this.get('serie-timetick-font-size');
    		serieValues['serie-timetick']['serie-timetick-font-bold'] = this.get('serie-timetick-font-bold');
    		serieValues['serie-timetick']['serie-timetick-font-italic'] = this.get('serie-timetick-font-italic');
		}
    	
    	return serieValues;
    }
});