Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

PlotterManager.java

00001 /*
00002  * PlotterManager.java
00003  *
00004  * Created on 03 November 2003, 16:02
00005  */
00006 
00007 package GuiComponents.plotter.jasimp;
00008 
00009 import GuiComponents.plotter.Plotter;
00010 import java.util.*;
00011 import javax.swing.JPanel;
00012 import java.awt.BorderLayout;
00013 import hep.aida.*;
00014 import hep.aida.ref.plotter.PlotterUtilities;
00015 import SctData.*;
00016 
00021 public class PlotterManager extends GuiComponents.plotter.PlotterManager {
00022     
00024     public static PlotterManager instance() {
00025         if (instance == null) instance = new PlotterManager();
00026         return instance;
00027     }
00028     
00029     public JPanel getPlotPanel() {
00030         if (panel == null) {
00031             panel = new JPanel();
00032 
00033             // Now embed the plotter
00034             panel.add(PlotterUtilities.componentForPlotter(getIPlotter()), BorderLayout.CENTER);
00035         }
00036         
00037         return panel;
00038     }
00039     
00040     public Plotter getPlotter(Class c) {
00041         return (Plotter)map.get(c);
00042     }
00043     
00044     public void setPlotter(Class c, Plotter p) {
00045         map.put(c, p);
00046     }
00047     
00048     public void plot(Object ob) {
00049         getIPlotter().clearRegions();
00050         getPlotter(ob.getClass()).plot(ob, this);
00051     }     
00052 
00053     public IPlotter getIPlotter() {
00054         if (iplotter == null) {
00055             IAnalysisFactory af = IAnalysisFactory.create();
00056             ITree tree = af.createTreeFactory().create();            
00057 
00058             // Create an IPlotter 
00059             iplotter = af.createPlotterFactory().create();               
00060         }
00061         
00062         return iplotter;
00063     }    
00064     
00066     private PlotterManager() {
00067         //Add everything to the map
00068         setPlotter(RawScanResult.class, new RawScanResultPlotter());
00069     }
00070     
00071    
00072     private JPanel panel;
00073     private IPlotter iplotter;
00074     private HashMap map = new HashMap();
00075     private static PlotterManager instance;
00076 }

Generated on Thu Jul 15 09:55:46 2004 for SCT DAQ/DCS Software - Java by doxygen 1.3.5