diff --git a/ch.psi.plot/src/main/java/ch/psi/plot/Plot.java b/ch.psi.plot/src/main/java/ch/psi/plot/Plot.java index f31c9e3..5cd8175 100644 --- a/ch.psi.plot/src/main/java/ch/psi/plot/Plot.java +++ b/ch.psi.plot/src/main/java/ch/psi/plot/Plot.java @@ -13,7 +13,7 @@ import javax.swing.JPanel; public interface Plot { public JPanel getChartPanel(); - + //Request update on event loop public void update(boolean deferred); @@ -61,5 +61,5 @@ public interface Plot { X, Y, Z; }; - public Axis getAxis(AxisId id); + public Axis getAxis(AxisId id); } diff --git a/ch.psi.plot/src/main/java/ch/psi/plot/PlotBase.java b/ch.psi.plot/src/main/java/ch/psi/plot/PlotBase.java index 9755d18..89641e6 100644 --- a/ch.psi.plot/src/main/java/ch/psi/plot/PlotBase.java +++ b/ch.psi.plot/src/main/java/ch/psi/plot/PlotBase.java @@ -24,9 +24,6 @@ import javax.swing.filechooser.FileNameExtensionFilter; * */ abstract public class PlotBase implements Plot { - static{ - javax.swing.JPopupMenu.setDefaultLightWeightPopupEnabled(false); - } final String LINE_SEPARATOR = System.lineSeparator(); final String FIELD_SEPARATOR = "\t"; @@ -330,4 +327,28 @@ abstract public class PlotBase implements Plot { doUpdate(); } } + + //Static Configuration + + //Hardware Acceleration + static boolean hardwareAccelerated=true; + public static void setHardwareAccelerated(boolean value){ + hardwareAccelerated=value; + } + + public static boolean getHardwareAccelerated(){ + return hardwareAccelerated; + } + + static boolean lighweightPopups=true; + public static void setLighweightPopups(boolean value){ + lighweightPopups=value; + if (javax.swing.JPopupMenu.getDefaultLightWeightPopupEnabled()!=value){ + javax.swing.JPopupMenu.setDefaultLightWeightPopupEnabled(lighweightPopups); + } + } + + public static boolean getLighweightPopups(){ + return lighweightPopups; + } } diff --git a/ch.psi.plot/src/main/java/ch/psi/plot/jzy3d/MatrixPlot.java b/ch.psi.plot/src/main/java/ch/psi/plot/jzy3d/MatrixPlot.java index eba2bd9..6b2cc94 100644 --- a/ch.psi.plot/src/main/java/ch/psi/plot/jzy3d/MatrixPlot.java +++ b/ch.psi.plot/src/main/java/ch/psi/plot/jzy3d/MatrixPlot.java @@ -59,7 +59,7 @@ import org.jzy3d.plot3d.rendering.view.modes.ViewBoundMode; * */ public class MatrixPlot extends MatrixPlotBase { - + JPanel panel; private Chart chart; private Mapper mapper; @@ -76,12 +76,14 @@ public class MatrixPlot extends MatrixPlotBase { }; panel.setLayout(new BorderLayout()); //panel.setLayout(new GridLayout(1,1)); - setColormap(Colormap.TEMPERATURE); - Settings.getInstance().setHardwareAccelerated(true); + setColormap(Colormap.TEMPERATURE); + if (getHardwareAccelerated() != Settings.getInstance().isHardwareAccelerated()) { + Settings.getInstance().setHardwareAccelerated(getHardwareAccelerated()); + } panel.setPreferredSize(new Dimension(640, 480)); setupPopupMenu(); } - + @Override protected Object onAddedSeries(final MatrixPlotSeries s) { if (!SwingUtilities.isEventDispatchThread()) {