PlotHistogram1DSerieForm.js 3.07 KB
/**
 * 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);
    },

	setParentObject: function (parentObject) {
		this.callParent(arguments);
		this.updateAxesRanges(parentObject);

	},

	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);
			}),
			// this.addStandardParamDropTarget('histotype-param', 'Z 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;
	}
});