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