/** * Project  : AMDA-NG * Name : PlotBaseAxisForm.js * @class amdaPlotComp.PlotBaseAxisForm * @extends amdaPlotComp.PlotStandardForm * @brief Form to define common options of all axes * @author Benjamin Renard * @version $Id: PlotBaseAxisForm.js benjamin $ */ Ext.define('amdaPlotComp.PlotBaseAxisForm', { extend: 'amdaPlotComp.PlotStandardForm', showScaleOption : true, showColorOption : true, showRangeOptions : true, showTickGridOptions : true, showTicksNumber: false, showTicksSpacing:false, getFormItems: function() { var me = this; var rangeItems = [ this.addStandardFloat2('axis-range-min', 'Min', -Number.MAX_VALUE, Number.MAX_VALUE), this.addStandardFloat2('axis-range-max', 'Max', -Number.MAX_VALUE, Number.MAX_VALUE), this.addStandardCheck('axis-range-extend', 'Extend Axis Range') ]; var legendItems = [ this.addStandardText('axis-legend-text', 'Text'), this.addStandardColor('axis-legend-color', 'Color', amdaPlotObj.PlotObjectConfig.availableColors), this.addStandardFont('axis-legend-font') ]; var manageTicksNumber = function (name, newValue, oldValue){ me.getForm( ).findField('axis-grid-minor-number').setVisible( newValue); me.getForm( ).findField('axis-grid-major-number').setVisible( newValue); if(newValue){ me.getForm( ).findField('axis-grid-specify-ticks-spacing').setValue(!newValue); } }; var manageTicksSpacing = function (name, newValue, oldValue){ me.getForm( ).findField('axis-grid-minor-space').setVisible( newValue ); me.getForm( ).findField('axis-grid-major-space').setVisible( newValue ); if(newValue){ me.getForm( ).findField('axis-grid-specify-ticks-number').setValue(!newValue); } }; var tickGridItems = [ this.addStandardCombo('axis-tick-position', 'Ticks position', amdaPlotObj.PlotObjectConfig.availableTicksPositions), this.addStandardCheck('axis-tick-showmarks', 'Show tick marks'), this.addStandardCheck('axis-grid-major', 'Show major grid'), this.addStandardCheck('axis-grid-minor', 'Show minor grid')]; tickGridItems.push(this.addStandardCheck('axis-grid-specify-ticks-number', 'Specify ticks number', manageTicksNumber)); tickGridItems.push(this.addStandardInteger('axis-grid-major-number', 'Nb of Major Ticks', 1, Number.MAX_VALUE,true,true)); tickGridItems.push(this.addStandardInteger('axis-grid-minor-number', 'Nb of Minor Ticks', 1, Number.MAX_VALUE,true,true)); tickGridItems.push(this.addStandardCheck('axis-grid-specify-ticks-spacing', 'Specify ticks spacing',manageTicksSpacing)); tickGridItems.push(this.addStandardFloat2('axis-grid-major-space', ' Major Ticks Space', 0, Number.MAX_VALUE,true,true)); tickGridItems.push(this.addStandardFloat2('axis-grid-minor-space', ' Minor Ticks Space', 0, Number.MAX_VALUE,true,true)); var axisItems = []; if (this.showScaleOption) axisItems.push(this.addStandardCombo('axis-scale', 'Scale', amdaPlotObj.PlotObjectConfig.availableAxisScales)); if (this.showColorOption) axisItems.push(this.addStandardColor('axis-color', 'Color', amdaPlotObj.PlotObjectConfig.availableColors)); axisItems.push(this.addStandardFloat('axis-thickness', 'Thickness', 1, 10)); axisItems.push(this.addStandardCheck('axis-reverse', 'Reverse direction')); if (this.showRangeOptions) axisItems.push(this.addStandardFieldSet('Range', '', rangeItems)); axisItems.push(this.addStandardFieldSet('Legend', 'axis-legend-activated', legendItems)); if (this.showTickGridOptions) axisItems.push(this.addStandardFieldSet('Ticks and Grid', '', tickGridItems)); return axisItems; } });