diff --git a/fda.ui.module/src/main/java/ch/psi/fda/ui/ee/Installer.java b/fda.ui.module/src/main/java/ch/psi/fda/ui/ee/Installer.java
index 4bcc0fc..a685520 100644
--- a/fda.ui.module/src/main/java/ch/psi/fda/ui/ee/Installer.java
+++ b/fda.ui.module/src/main/java/ch/psi/fda/ui/ee/Installer.java
@@ -38,9 +38,13 @@ public class Installer extends ModuleInstall {
// Initialize scan engine
File home = p.getHome();
System.setProperty(ApplicationConfigurator.FDA_HOME_ARGUMENT, home.getAbsolutePath());
+ ch.psi.plot.jzy3d.MatrixPlot.setHardwareAccelerated(p.getHardwareAcceleration());
+ ch.psi.plot.jzy3d.MatrixPlot.setLighweightPopups(p.getLightweightPopups());
ApplicationConfigurator c = new ApplicationConfigurator();
c.initializeApplication();
+
+
// Register a change listener to reconfigure scan engine when the home directory changes
p.addPropertyChangeListener(new PropertyChangeListener() {
@@ -49,7 +53,6 @@ public class Installer extends ModuleInstall {
public void propertyChange(PropertyChangeEvent pce) {
if (pce.getPropertyName().equals(Preferences.VISUALIZATION_LAYOUT_CHANGED)) {
SwingUtilities.invokeLater(new Runnable() {
-
@Override
public void run() {
final PlotVisualizerTopComponent tc = PlotVisualizerTopComponent.findInstance();
@@ -58,7 +61,15 @@ public class Installer extends ModuleInstall {
});
return;
}
-
+ if (pce.getPropertyName().equals(Preferences.HARDWARE_ACCELERATION_CHANGED)) {
+ ch.psi.plot.jzy3d.MatrixPlot.setHardwareAccelerated((Boolean)pce.getNewValue());
+ return;
+ }
+ if (pce.getPropertyName().equals(Preferences.LIGHTWEIGHT_POPUPS_CHANGED)) {
+ ch.psi.plot.jzy3d.MatrixPlot.setLighweightPopups((Boolean)pce.getNewValue());
+ return;
+ }
+
if (pce.getPropertyName().equals(Preferences.HOME_CHANGED)) {
File h = (File) pce.getNewValue();
System.setProperty(ApplicationConfigurator.FDA_HOME_ARGUMENT, h.getAbsolutePath());
diff --git a/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/DefaultPreferences.java b/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/DefaultPreferences.java
index 0ffe9a6..d4b260e 100644
--- a/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/DefaultPreferences.java
+++ b/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/DefaultPreferences.java
@@ -37,6 +37,8 @@ public class DefaultPreferences implements Preferences {
private final String PROPERTY_LINE_PLOT_IMPL = "ch.psi.fda.line_plot_impl";
private final String PROPERTY_MATRIX_PLOT_IMPL = "ch.psi.fda.matrix_plot_impl";
private final String PROPERTY_VISUALIZATION_LAYOUT= "ch.psi.fda.visualization_layout";
+ private final String PROPERTY_HARDWARE_ACCELERATION = "ch.psi.fda.hardware_acceleration";
+ private final String PROPERTY_LIGHTWEIGHT_POPUPS = "ch.psi.fda.lightweight_popups";
@Override
public void setHome(String path){
@@ -99,6 +101,37 @@ public class DefaultPreferences implements Preferences {
}
}
+ @Override
+ public void setHardwareAcceleration(Boolean value){
+ this.pss.firePropertyChange(Preferences.HARDWARE_ACCELERATION_CHANGED, this.getHardwareAcceleration(), value);
+ NbPreferences.forModule(PreferencesPanel.class).put(PROPERTY_HARDWARE_ACCELERATION, value.toString());
+ }
+
+ @Override
+ public Boolean getHardwareAcceleration(){
+ try{
+ return Boolean.valueOf(NbPreferences.forModule(PreferencesPanel.class).get(PROPERTY_HARDWARE_ACCELERATION, Boolean.TRUE.toString()));
+ }
+ catch (Exception ex){
+ return Boolean.TRUE;
+ }
+ }
+
+ @Override
+ public void setLightweightPopups(Boolean value){
+ this.pss.firePropertyChange(Preferences.LIGHTWEIGHT_POPUPS_CHANGED, this.getLightweightPopups(), value);
+ NbPreferences.forModule(PreferencesPanel.class).put(PROPERTY_LIGHTWEIGHT_POPUPS, value.toString());
+ }
+
+ @Override
+ public Boolean getLightweightPopups(){
+ try{
+ return Boolean.valueOf(NbPreferences.forModule(PreferencesPanel.class).get(PROPERTY_LIGHTWEIGHT_POPUPS, Boolean.FALSE.toString()));
+ }
+ catch (Exception ex){
+ return Boolean.FALSE;
+ }
+ }
@Override
diff --git a/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/PreferencesPanel.form b/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/PreferencesPanel.form
index 96eb506..52ed97b 100644
--- a/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/PreferencesPanel.form
+++ b/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/PreferencesPanel.form
@@ -11,7 +11,7 @@
-
+
@@ -26,7 +26,7 @@
-
+
@@ -36,6 +36,7 @@
+
@@ -52,6 +53,7 @@
+
@@ -85,7 +87,11 @@
-
+
+
+
+
+
@@ -172,6 +178,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/PreferencesPanel.java b/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/PreferencesPanel.java
index c39c195..f00ee48 100644
--- a/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/PreferencesPanel.java
+++ b/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/PreferencesPanel.java
@@ -71,6 +71,8 @@ final class PreferencesPanel extends javax.swing.JPanel {
comboMatrix = new javax.swing.JComboBox();
jLabel4 = new javax.swing.JLabel();
comboLayout = new javax.swing.JComboBox();
+ checkHardwareAcceleration = new javax.swing.JCheckBox();
+ checkLightweightPopups = new javax.swing.JCheckBox();
setLayout(new java.awt.BorderLayout());
@@ -97,6 +99,10 @@ final class PreferencesPanel extends javax.swing.JPanel {
comboLayout.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+ org.openide.awt.Mnemonics.setLocalizedText(checkHardwareAcceleration, org.openide.util.NbBundle.getMessage(PreferencesPanel.class, "PreferencesPanel.checkHardwareAcceleration.text")); // NOI18N
+
+ org.openide.awt.Mnemonics.setLocalizedText(checkLightweightPopups, org.openide.util.NbBundle.getMessage(PreferencesPanel.class, "PreferencesPanel.checkLightweightPopups.text")); // NOI18N
+
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
@@ -110,6 +116,7 @@ final class PreferencesPanel extends javax.swing.JPanel {
.addComponent(jButton1))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(checkLightweightPopups)
.addComponent(jLabel1)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel2)
@@ -122,7 +129,8 @@ final class PreferencesPanel extends javax.swing.JPanel {
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel4)
.addGap(18, 18, 18)
- .addComponent(comboLayout, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+ .addComponent(comboLayout, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addComponent(checkHardwareAcceleration))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
@@ -150,7 +158,11 @@ final class PreferencesPanel extends javax.swing.JPanel {
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4)
.addComponent(comboLayout, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(132, 132, 132))
+ .addGap(18, 18, 18)
+ .addComponent(checkHardwareAcceleration)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(checkLightweightPopups)
+ .addGap(74, 74, 74))
);
add(jPanel1, java.awt.BorderLayout.CENTER);
@@ -172,6 +184,8 @@ final class PreferencesPanel extends javax.swing.JPanel {
this.comboLine.setSelectedItem(Lookup.getDefault().lookup(Preferences.class).getLinePlotImpl());
this.comboMatrix.setSelectedItem(Lookup.getDefault().lookup(Preferences.class).getMatrixPlotImpl());
this.comboLayout.setSelectedItem(Lookup.getDefault().lookup(Preferences.class).getVisualizationLayout());
+ this.checkHardwareAcceleration.setSelected(Lookup.getDefault().lookup(Preferences.class).getHardwareAcceleration());
+ this.checkLightweightPopups.setSelected(Lookup.getDefault().lookup(Preferences.class).getLightweightPopups());
}
@@ -180,6 +194,8 @@ final class PreferencesPanel extends javax.swing.JPanel {
Lookup.getDefault().lookup(Preferences.class).setLinePlotImpl(String.valueOf(comboLine.getSelectedItem()));
Lookup.getDefault().lookup(Preferences.class).setMatrixPlotImpl(String.valueOf(comboMatrix.getSelectedItem()));
Lookup.getDefault().lookup(Preferences.class).setVisualizationLayout((VisualizationLayout) comboLayout.getSelectedItem());
+ Lookup.getDefault().lookup(Preferences.class).setHardwareAcceleration(checkHardwareAcceleration.isSelected());
+ Lookup.getDefault().lookup(Preferences.class).setLightweightPopups(checkLightweightPopups.isSelected());
}
@@ -188,6 +204,8 @@ final class PreferencesPanel extends javax.swing.JPanel {
return (new File(this.jTextFieldApplicationHome.getText()).isDirectory());
}
// Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JCheckBox checkHardwareAcceleration;
+ private javax.swing.JCheckBox checkLightweightPopups;
private javax.swing.JComboBox comboLayout;
private javax.swing.JComboBox comboLine;
private javax.swing.JComboBox comboMatrix;
diff --git a/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/api/Preferences.java b/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/api/Preferences.java
index 88a5f6d..d218a0e7 100644
--- a/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/api/Preferences.java
+++ b/fda.ui.module/src/main/java/ch/psi/fda/ui/preferences/api/Preferences.java
@@ -31,6 +31,8 @@ public interface Preferences {
public static final String LINE_PLOT_IMPL_CHANGED = "line_plot_impl_changed";
public static final String MATRIX_PLOT_IMPL_CHANGED = "matrix_plot_impl_changed";
public static final String VISUALIZATION_LAYOUT_CHANGED = "visualization_layout_changed";
+ public static final String HARDWARE_ACCELERATION_CHANGED = "hardware_acceleration_changed";
+ public static final String LIGHTWEIGHT_POPUPS_CHANGED = "lightweight_popups_changed";
public void setHome(String path);
@@ -54,4 +56,10 @@ public interface Preferences {
public void setVisualizationLayout(VisualizationLayout layout);
public VisualizationLayout getVisualizationLayout();
+
+ public void setHardwareAcceleration(Boolean value);
+ public Boolean getHardwareAcceleration();
+
+ public void setLightweightPopups(Boolean value);
+ public Boolean getLightweightPopups();
}
diff --git a/fda.ui.module/src/main/resources/ch/psi/fda/ui/preferences/Bundle.properties b/fda.ui.module/src/main/resources/ch/psi/fda/ui/preferences/Bundle.properties
index 0e57efe..584f716 100644
--- a/fda.ui.module/src/main/resources/ch/psi/fda/ui/preferences/Bundle.properties
+++ b/fda.ui.module/src/main/resources/ch/psi/fda/ui/preferences/Bundle.properties
@@ -11,3 +11,5 @@ PreferencesPanel.jTextFieldApplicationHome.text=
PreferencesPanel.jLabel2.text=Line Plot:
PreferencesPanel.jLabel3.text=Matrix Plot:
PreferencesPanel.jLabel4.text=Visualization Layout
+PreferencesPanel.checkHardwareAcceleration.text=Hardware Acceleration
+PreferencesPanel.checkLightweightPopups.text=Lightweight Popup Menus