package jas2.swingstudio.adaptor;


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


public class ScatterTreeAdaptor extends HistogramTreeAdaptor
{

	   
	   
       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);
                else if (ds instanceof ScatterPlotSource) m_data = new ScatterTreeData(getTreeItem(),(Rebinnable2DHistogramData) ds);
                else if (ds instanceof XYDataSource) {m_data = (DataSource)ds;}// new ScatterTreeData(getTreeItem(),(XYDataSource) 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());
        //            JavaAnalysisStudio.getApp().setMessage("Scatter plot"); 
        }
        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.