/** * Project  : TMA-AMDA * Name : PlotHistogram1DSerieForm.js * @class amdaPlotComp.PlotHistogram1DSerieForm * @extends amdaPlotComp.PlotBaseSerieForm * @brief Form to define specifics histogram1d serie options * @author Furkan Erdogan * @version $Id: PlotHistogram1DSerieForm.js furkan $ */ Ext.define('amdaPlotComp.PlotHistogram1DSerieForm', { extend: 'amdaPlotComp.PlotBaseSerieForm', setObject: function (object) { this.callParent(arguments); this.updateOptions(this.object.get('histo1d-function')); }, setParentObject: function (parentObject) { this.callParent(arguments); this.updateAxesRanges(parentObject); }, updateOptions: function(functionType) { var isDensity = (functionType == 'density') || (functionType == 'normdensity'); var yParamField = this.getForm().findField('histotype-param'); yParamField.setVisible(!isDensity) }, updateAxesRanges: function(parentObject) { var xAxisObj = parentObject.axes().getById('xaxis_id'); this.getForm().findField('histo1d-xmin').setValue(xAxisObj.get('axis-range-min')); this.getForm().findField('histo1d-xmax').setValue(xAxisObj.get('axis-range-max')); }, getRangeForms: function(){ var me = this; return { xtype: 'fieldset', bodyStyle: { background: '#dfe8f6' }, title: 'X ranges', name: 'histo1d-ranges', renderTo: Ext.getBody(), fieldDefaults: { labelAlign: 'right', msgTarget: 'side', labelWidth: 40, }, defaults: { xtype: 'panel', bodyStyle: {background: '#dfe8f6'}, flex: 1, border:false, layout: 'anchor', }, layout:'hbox', frame: true, //bodyPadding: '5 5 5 5', items: [{ items:[ me.addStandardFloat2('histo1d-xmin', 'X Min', -Number.MAX_VALUE, Number.MAX_VALUE, false, false, function(name, newValue, oldValue){ me.parentObject.axes().getById('xaxis_id').set('axis-range-min', newValue); }) ] }, { items:[ me.addStandardFloat2('histo1d-xmax', 'X Max', -Number.MAX_VALUE, Number.MAX_VALUE, false, false, function(name, newValue, oldValue){ me.parentObject.axes().getById('xaxis_id').set('axis-range-max', newValue); }) ] }] }; }, getFormItems: function() { var me = this; var histogram1DItems = [ this.addStandardCombo('histo1d-style', 'Drawing Style', amdaDefaultConfigs.availableHistogram1DStyles, function(name, value, oldValue) { me.object.set('histo1d-style', value); }), // this.addStandardParamDropTarget('serie-xaxis-param', 'X Parameter', function(name, value, oldValue) { // me.object.set('serie-xaxis-param', value); // me.crtTree.refresh(); // }), me.getRangeForms(), // this.addStandardCombo('serie-resampling-mode', 'Reference parameter for resampling', amdaDefaultConfigs.availableResamplingModes), this.addStandardCombo('histo1d-function', 'Function to apply', amdaDefaultConfigs.availableHistogram1DFunctions, function(name, value, oldValue) { me.object.set('histo1d-function', value); me.updateOptions(value); }), this.addStandardParamDropTarget('histotype-param', 'Y Parameter', function(name, value, oldValue) { me.object.set('histotype-param', value); me.crtTree.refresh(); }), this.addStandardInteger('histo1d-xbinnumber', 'Nb. of bins'), this.addColorsPicker('histo1d-color', 'Color', amdaDefaultConfigs.availableColorsNew, 'none') ]; return histogram1DItems; } });