Author: [log in to unmask] Date: Tue Apr 28 00:19:59 2015 New Revision: 2843 Log: Instead of popping up a plotter every time a region is clicked, only pop up and draw on a single plotter. Apply a basic style. Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/PopupPlotterListener.java Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/PopupPlotterListener.java ============================================================================= --- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/PopupPlotterListener.java (original) +++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/PopupPlotterListener.java Tue Apr 28 00:19:59 2015 @@ -7,8 +7,8 @@ import hep.aida.jfree.plotter.Plotter; import hep.aida.jfree.plotter.PlotterFactory; import hep.aida.jfree.AnalysisFactory; - import hep.aida.IHistogram; +import hep.aida.IPlotterStyle; /** * A MouseListener used to pop up a separate window with a plotter in it when @@ -21,8 +21,8 @@ */ public class PopupPlotterListener extends ChartPanelMouseListener { - PlotterRegion plotterRegion; - Plotter plotter = null; + private PlotterRegion plotterRegion = null; + private static Plotter plotter = null; IHistogram histogram; PlotterFactory plotterFactory = (PlotterFactory) AnalysisFactory.create().createPlotterFactory(); @@ -41,12 +41,45 @@ */ @Override public void mouseClicked(MouseEvent e) { - + + if (plotter == null) { + plotter = (Plotter) plotterFactory.create(); + plotter.createRegion(0); + } else { + ((PlotterRegion) plotter.region(0)).clear(); + } + histogram = ((IHistogram) plotterRegion.getPlottedObjects().get(0)); - plotter = (Plotter) plotterFactory.create(); - plotter.createRegion(); - plotter.region(0).setStyle(plotterRegion.style()); - plotter.region(0).plot(histogram); + plotter.region(0).plot(histogram, this.createStyle()); plotter.show(); } + + /** + * Create a plotter style. + * + * @return plotter style + */ + IPlotterStyle createStyle() { + + // Create a default style + IPlotterStyle style = this.plotterFactory.createPlotterStyle(); + + // Turn off the histogram grid + style.gridStyle().setVisible(false); + + // Set the style of the data + style.dataStyle().lineStyle().setVisible(false); + style.dataStyle().outlineStyle().setVisible(false); + style.dataStyle().outlineStyle().setThickness(3); + style.dataStyle().fillStyle().setVisible(true); + style.dataStyle().fillStyle().setOpacity(.30); + style.dataStyle().fillStyle().setColor("31, 137, 229, 1"); + style.dataStyle().outlineStyle().setColor("31, 137, 229, 1"); + style.dataStyle().errorBarStyle().setVisible(false); + + // Turn off the legend + style.legendBoxStyle().setVisible(false); + + return style; + } }