diff --git a/ch.psi.fda/pom.xml b/ch.psi.fda/pom.xml index 5158ecc..0f9c04e 100644 --- a/ch.psi.fda/pom.xml +++ b/ch.psi.fda/pom.xml @@ -3,14 +3,14 @@ 4.0.0 ch.psi fda - 2.4.5 + 2.4.6 ch.psi ch.psi.fda.core - 2.3.0 + 2.3.1 @@ -22,12 +22,12 @@ ch.psi ch.psi.fda.cdump - 2.3.0 + 2.3.1 ch.psi ch.psi.fda.fdaq - 2.3.0 + 2.3.1 diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/ui/VisualizationMain.java b/ch.psi.fda/src/main/java/ch/psi/fda/ui/VisualizationMain.java index a919e4b..e33cfed 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/ui/VisualizationMain.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/ui/VisualizationMain.java @@ -130,7 +130,7 @@ public class VisualizationMain { visualizer.setUpdateAtStreamElement(false); visualizer.setUpdateAtStreamDelimiter(false); visualizer.setUpdateAtEndOfStream(true); - + JPanel opanel = new ScrollableFlowPanel(); opanel.setLayout(new FlowLayout()); diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/ui/visualizer/Visualizer.java b/ch.psi.fda/src/main/java/ch/psi/fda/ui/visualizer/Visualizer.java index 7787866..5fc2428 100644 --- a/ch.psi.fda/src/main/java/ch/psi/fda/ui/visualizer/Visualizer.java +++ b/ch.psi.fda/src/main/java/ch/psi/fda/ui/visualizer/Visualizer.java @@ -61,15 +61,14 @@ public class Visualizer { private boolean first = true; public Visualizer(VDescriptor vdescriptor){ - this(vdescriptor,null,null); + this(vdescriptor,null); } - public Visualizer(VDescriptor vdescriptor, String linePlotImpl, String matrixPlotImpl){ + public Visualizer(VDescriptor vdescriptor, String linePlotImpl){ if (linePlotImpl==null){ linePlotImpl="jfree"; } - if (matrixPlotImpl==null){ - matrixPlotImpl="jfree"; - } + String matrixPlotImpl="jfree"; + filters = new ArrayList(); try{ @@ -95,6 +94,9 @@ public class Visualizer { // filter.setMaxSeries(lp.getMaxSeries()*lp.getY().size()); // Workaround - keep for each array max series // filter.setOffset(lp.getOffset()); // filter.setSize(lp.getSize()); + filter.setMaxSeries(lp.getMaxSeries()); + filter.setOffset(lp.getMinX().intValue()); + filter.setSize(Double.valueOf(lp.getMaxX()-lp.getMinX()).intValue()); filter.setSeriesName(sy.getY()); filters.add(filter); } @@ -109,6 +111,8 @@ public class Visualizer { ch.psi.fda.vdescriptor.MatrixPlot lp = (ch.psi.fda.vdescriptor.MatrixPlot) vplot; MatrixPlotSeries data = new MatrixPlotSeries("", lp.getMinX(), lp.getMaxX(), lp.getnX(), lp.getMinY(), lp.getMaxY(), lp.getnY()); + if ("3D".equals(lp.getType())) + matrixPlotImpl="jzy3d"; MatrixPlot plot = MatrixPlotBase.newPlot(matrixPlotImpl); plot.setTitle(lp.getTitle()); plot.addSeries(data); @@ -188,9 +192,9 @@ public class Visualizer { } // Add Data to the series -/* - series.add(dataX , dataY, updateAtStreamElement);*/ + ((LinePlot)xyfilter.getPlot()).setUpdatesEnabled(updateAtStreamElement); series.appendData(dataX , dataY); + ((LinePlot)xyfilter.getPlot()).setUpdatesEnabled(true); } if(filter instanceof XYSeriesArrayDataFilter){ final XYSeriesArrayDataFilter xyfilter = (XYSeriesArrayDataFilter) filter; @@ -226,15 +230,12 @@ public class Visualizer { size = offset + xyfilter.getSize(); } - ((LinePlot)xyfilter.getPlot()).setUpdatesEnabled(false); + ((LinePlot)xyfilter.getPlot()).setUpdatesEnabled(updateAtStreamElement); for(int i=offset;i getPlotPanels(){ List panels = new ArrayList(); for(SeriesDataFilter f: filters){ - panels.add(f.getPlot().getChartPanel()); + JPanel panel=f.getPlot().getChartPanel(); + if ((panel!=null) &&(!panels.contains(panel))) + panels.add(panel); } return panels; } - public boolean isUpdateAtStreamElement() { + public List getPlots(){ + List plots = new ArrayList(); + for(SeriesDataFilter f: filters){ + Plot plot=f.getPlot(); + if ((plot!=null) &&(!plots.contains(plot))) + plots.add(plot); + } + return plots; + } + + public boolean isUpdateAtStreamElement() { return updateAtStreamElement; } public void setUpdateAtStreamElement(boolean updateAtStreamElement) {