Print

Print


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;
+    }
 }