package org.jlab.groot.ui;

import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

import org.jlab.groot.graphics.EmbeddedCanvas;
import org.jlab.groot.math.F1D;
import org.jlab.groot.math.Func1D;




public class ParameterPanel extends JPanel{
	/**
	 * 
	 */
	private static final long serialVersionUID = -3175511650738525339L;
	int index;
	EmbeddedCanvas canvas;
	Func1D fitFunction;
	boolean modified = false;
	JPanel parameterPanel;
	ArrayList parameterPanels = new ArrayList();
	ArrayList parameterLimited = new ArrayList();
	ArrayList parameterFixed = new ArrayList();
	ArrayList parameterMin = new ArrayList();
	ArrayList parameterMax = new ArrayList();
	ArrayList parameterName = new ArrayList();
	ArrayList parameterValueLabel = new ArrayList();
	ArrayList parameterValue = new ArrayList();
	ArrayList parameterValueSliders = new ArrayList();
	ArrayList lowerLim = new ArrayList();
	ArrayList upperLim = new ArrayList();

	public ParameterPanel(EmbeddedCanvas canvas, int index, Func1D fitFunction2){
		this.index=index;
		this.fitFunction = fitFunction2;
		this.canvas = canvas;
		this.setLayout(new GridLayout(fitFunction2.getNPars(),1));
		initParameterPanel();
	}
	private void initParameterPanel(){
		ArrayList parameterLimitedCheckboxes = new ArrayList();
		if(upperLim.size()!=this.fitFunction.getNPars()){
			upperLim.clear();
		}
		if(lowerLim.size()!=this.fitFunction.getNPars()){
			lowerLim.clear();
		}
		this.setLayout(new GridBagLayout());
		GridBagConstraints c = new GridBagConstraints();
        c.fill = GridBagConstraints.HORIZONTAL;
		for(int i=0; i=0; i--){
			this.remove(i);
		}
		parameterLimited.clear();
		parameterFixed.clear();
		parameterMin.clear();
		parameterMax.clear();
		parameterName.clear();
		parameterValue.clear();
		parameterValueSliders.clear();
		initParameterPanel();
		this.revalidate();
		this.repaint();
	}
	public boolean modified() {
		return modified;
	}
}

 

Ads help maintain this website.