/*
 *  Draco Econometrics
 *  Copyright (C) 2006-2007 Approximatrix, LLC
 *  http://www.approximatrix.com
 *  
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.approximatrix.draco.analysis.ui;


import com.approximatrix.draco.analysis.StandardAnalysis;
import com.approximatrix.draco.application.ChildFrame;
import com.approximatrix.draco.io.XMLio.AnalysisLoadStore;

public abstract class AnalysisChildDialog extends ChildFrame {
	
	/**
	 * 
	 */
	public AnalysisChildDialog() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @param title
	 * @param resizable
	 * @param closable
	 * @param maximizable
	 * @param iconifiable
	 */
	public AnalysisChildDialog(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable) {
		super(title, resizable, closable, maximizable, iconifiable);
		// TODO Auto-generated constructor stub
	}

	/**
	 * @param title
	 * @param resizable
	 * @param closable
	 * @param maximizable
	 */
	public AnalysisChildDialog(String title, boolean resizable, boolean closable, boolean maximizable) {
		super(title, resizable, closable, maximizable);
		// TODO Auto-generated constructor stub
	}

	/**
	 * @param title
	 * @param resizable
	 * @param closable
	 */
	public AnalysisChildDialog(String title, boolean resizable, boolean closable) {
		super(title, resizable, closable);
		// TODO Auto-generated constructor stub
	}

	/**
	 * @param title
	 * @param resizable
	 */
	public AnalysisChildDialog(String title, boolean resizable) {
		super(title, resizable);
		// TODO Auto-generated constructor stub
	}

	/**
	 * @param title
	 */
	public AnalysisChildDialog(String title) {
		super(title);
		// TODO Auto-generated constructor stub
	}

	/** Retuns the analysis as an StandardAnalysis object
	 * 
	 * @return a valid, complete StandardAnalysis object
	 */
	public abstract StandardAnalysis getAnalysis();
	
	/** Used for restoring an StandardAnalysis analysis to a dialog
	 * 
	 * @param values a valid, loaded AnalysisLoadStore dataset
	 */
	public abstract void setAnalysis(AnalysisLoadStore data);
	
	/** All analysis dialogs are renamable.
	 * 
	 * @return true
	 * @see com.approximatrix.draco.application.ChildFrame#isRenameable()
	 */
	public boolean isRenameable() {
		return true;
	}
}
