package jas2.swingstudio.adaptor;

import jas2.swingstudio.*;
import jas2.hist.*;
import jas2.util.*;
import javax.swing.*;

public class HistogramTreeAdaptor extends TreeAdaptor
{
	protected void init()
	{
		DataSource ds = (DataSource) getAssociatedObject();
		if      (ds instanceof Rebinnable1DHistogramData) m_data = new OneDTreeData(getTreeItem(),(Rebinnable1DHistogramData) ds);
		else if (ds instanceof Rebinnable2DHistogramData) m_data = new ScatterTreeData(getTreeItem(),(Rebinnable2DHistogramData) ds);
	}
	public void onShowInNewPlot()
	{
		JASPage page = JavaAnalysisStudio.getApp().getCurrentPage();
		page.addPlot();
		JASHist plot = page.getCurrentPlot();
		plot.addData(m_data).show(true);
		page.calculateTitlesAndLabels(plot);
		page.currentPlotUpdated();
	}
	public void enableShowInNewPlot(JASState state)
	{
		state.setEnabled(JavaAnalysisStudio.getApp().getCurrentPage() != null);
	}
	public void onShowOnNewPage()
	{
		JASPage page = JavaAnalysisStudio.getApp().createNewPage();
		JASHist plot = page.getCurrentPlot();
		plot.addData(m_data).show(true);
		page.calculateTitlesAndLabels(plot);
		page.currentPlotUpdated();
	}
	public void onShow()
	{
		JASPage page = JavaAnalysisStudio.getApp().createCurrentPage();
		if (page != null) 
		{
			JASHist plot = page.getCurrentPlot();
			plot.removeAllData();
			plot.addData(m_data).show(true);
			page.calculateTitlesAndLabels(plot);
			page.currentPlotUpdated();
		}
	}
	public void onOverlay()
	{
		JASPage page = JavaAnalysisStudio.getApp().getCurrentPage();
		JASHist plot = page.getCurrentPlot();
		plot.addData(m_data).show(true);
		page.calculateTitlesAndLabels(plot);
		page.currentPlotUpdated();
	}
	public void enableOverlay(JASState state)
	{
		JASPage page = JavaAnalysisStudio.getApp().getCurrentPage();
		if (page != null)
		{
			JASHist plot = page.getCurrentPlot();
			state.setEnabled(plot.getNumberOfDataSources()>0);
		}
		else state.setEnabled(false);
	}
	public void onDoubleClick()
	{
		onShow();
	}
	public void onSelect()
	{
		JavaAnalysisStudio.getApp().setMessage(m_data.toString());
	}
	protected JPopupMenu getPopupMenu()
	{
		if (menu == null)
		{
			menu = new OnScreenPopupMenu();
			menu.add(new JASMenuItem("Show",'S'));
			menu.add(new JASMenuItem("Overlay",'O'));
			menu.add(new JASMenuItem("Show In New Plot",'P'));
			menu.add(new JASMenuItem("Show On New Page",'N'));
		}
		return menu;
	}
	private static JPopupMenu menu;
	private DataSource m_data;
}

 

Ads help maintain this website.