From 632781caad4d6fe5ff02ea6d9f1928bdb90e27e8 Mon Sep 17 00:00:00 2001 From: Niclas Thobaben Date: Wed, 14 Feb 2018 11:50:54 +0100 Subject: [PATCH] added enable functionality to all PlotPainters changed PlotPainters to MultiPlotPainters in JDiagram added enabling of Sample Points in JDiagram --- src/org/hwo/ui/JDiagram.java | 22 +++++++++---- src/org/hwo/ui/diagram/CirclePlotPainter.java | 22 +++++++++++-- src/org/hwo/ui/diagram/LinePlotPainter.java | 32 +++++++++++++------ src/org/hwo/ui/diagram/MultiPlotPainter.java | 15 +++++++++ src/org/hwo/ui/diagram/PlotPainter.java | 2 ++ 5 files changed, 74 insertions(+), 19 deletions(-) diff --git a/src/org/hwo/ui/JDiagram.java b/src/org/hwo/ui/JDiagram.java index ec7d737..cc99cdd 100644 --- a/src/org/hwo/ui/JDiagram.java +++ b/src/org/hwo/ui/JDiagram.java @@ -32,6 +32,7 @@ import org.hwo.ui.diagram.DiagramListener; import org.hwo.ui.diagram.DiagramViewEvent; import org.hwo.ui.diagram.LinePlotPainter; import org.hwo.ui.diagram.LinearScaler; +import org.hwo.ui.diagram.MultiPlotPainter; import org.hwo.ui.diagram.PlotLabeler; import org.hwo.ui.diagram.PlotPainter; import org.hwo.ui.diagram.PlotProvider2; @@ -98,7 +99,7 @@ public class JDiagram extends JComponent implements PlotProviderListener, Bounde private OrdinateView[] ordinateViews; - private PlotPainter[] + private MultiPlotPainter[] plotPainters; private Integer selectedPlot; @@ -331,14 +332,14 @@ public class JDiagram extends JComponent implements PlotProviderListener, Bounde ordinateViews = new OrdinateView[ plotProvider.getMaxOrdinate() + 1 ]; for (int n=0; n < plotProvider.getMaxOrdinate() + 1; n++) ordinateViews[n] = new OrdinateView(n); - - PlotPainter pp = new CirclePlotPainter(); - plotPainters = new PlotPainter[plotProvider.getNumGraphs()]; + + MultiPlotPainter pp = new MultiPlotPainter(new PlotPainter[] { new LinePlotPainter(), new CirclePlotPainter(2) }); + plotPainters = new MultiPlotPainter[plotProvider.getNumGraphs()]; for (int n=0;n painters; + private boolean enabled; public MultiPlotPainter(PlotPainter[] painters) { this.painters = new LinkedList<>(); for(PlotPainter p : painters) { this.painters.add(p); } + this.enabled = true; } @Override @@ -43,4 +45,17 @@ public class MultiPlotPainter implements PlotPainter{ this.painters.add(painter); } + public void enablePainter(int painter, boolean enable) { + this.painters.get(painter).setEnabled(enable); + } + + @Override + public void setEnabled(boolean enable) { + this.enabled = enable; + } + + @Override + public boolean isEnabled() { + return this.enabled; + } } diff --git a/src/org/hwo/ui/diagram/PlotPainter.java b/src/org/hwo/ui/diagram/PlotPainter.java index 44b6028..beae820 100644 --- a/src/org/hwo/ui/diagram/PlotPainter.java +++ b/src/org/hwo/ui/diagram/PlotPainter.java @@ -7,5 +7,7 @@ public interface PlotPainter { void reset(); void paintPoint(Graphics2D g,Color color,int x,int y,boolean isSelected); + void setEnabled(boolean enable); + boolean isEnabled(); }