Wire in prefs dialog to Preferences and RocketFigure3d

This commit is contained in:
bkuker 2013-09-24 13:12:14 -04:00
parent d16d1c4a13
commit 321761cf0f
3 changed files with 26 additions and 12 deletions

View File

@ -580,35 +580,34 @@ public class PreferencesDialog extends JDialog {
trans.get("pref.dlg.lbl.effect1"), -2, Style.ITALIC), trans.get("pref.dlg.lbl.effect1"), -2, Style.ITALIC),
"spanx, wrap"); "spanx, wrap");
BooleanModel enableGLModel = new BooleanModel(true);//TODO BooleanModel enableGLModel = new BooleanModel(preferences.getBoolean(Preferences.OPENGL_ENABLED, true));
final JCheckBox enableGL = new JCheckBox(enableGLModel); final JCheckBox enableGL = new JCheckBox(enableGLModel);
enableGL.setText("Enable 3D Graphics"); //TODO Translation enableGL.setText("Enable 3D Graphics"); //TODO Translation
enableGL.setSelected(true); //TODO
enableGL.addActionListener(new ActionListener() { enableGL.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
//TODO preferences.putBoolean(Preferences.OPENGL_ENABLED, enableGL.isSelected());
} }
}); });
panel.add(enableGL, "wrap"); panel.add(enableGL, "wrap");
final JCheckBox enableAA = new JCheckBox("Enable Antialiasing"); //TODO Translation final JCheckBox enableAA = new JCheckBox("Enable Antialiasing"); //TODO Translation
enableAA.setSelected(true); //TODO enableAA.setSelected(preferences.getBoolean(Preferences.OPENGL_ENABLE_AA, true));
enableAA.addActionListener(new ActionListener() { enableAA.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
//TODO preferences.putBoolean(Preferences.OPENGL_ENABLE_AA, enableAA.isSelected());
} }
}); });
enableGLModel.addEnableComponent(enableAA); enableGLModel.addEnableComponent(enableAA);
panel.add(enableAA, "wrap"); panel.add(enableAA, "wrap");
final JCheckBox useFBO = new JCheckBox("Use Offscreen Rendering"); //TODO Translation final JCheckBox useFBO = new JCheckBox("Use Offscreen Rendering"); //TODO Translation
useFBO.setSelected(false); //TODO useFBO.setSelected(preferences.getBoolean(Preferences.OPENGL_USE_FBO, false));
useFBO.addActionListener(new ActionListener() { useFBO.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
//TODO preferences.putBoolean(Preferences.OPENGL_USE_FBO, useFBO.isSelected());
} }
}); });
enableGLModel.addEnableComponent(useFBO); enableGLModel.addEnableComponent(useFBO);

View File

@ -41,6 +41,8 @@ import net.sf.openrocket.gui.figureelements.FigureElement;
import net.sf.openrocket.gui.main.Splash; import net.sf.openrocket.gui.main.Splash;
import net.sf.openrocket.rocketcomponent.Configuration; import net.sf.openrocket.rocketcomponent.Configuration;
import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.startup.Application;
import net.sf.openrocket.startup.Preferences;
import net.sf.openrocket.util.Coordinate; import net.sf.openrocket.util.Coordinate;
import net.sf.openrocket.util.MathUtil; import net.sf.openrocket.util.MathUtil;
@ -125,7 +127,11 @@ public class RocketFigure3d extends JPanel implements GLEventListener {
* @return * @return
*/ */
public static boolean is3dEnabled() { public static boolean is3dEnabled() {
return System.getProperty("openrocket.3d.disable") == null; //Allow disable by command line, if program won't even start
if (System.getProperty("openrocket.3d.disable") != null)
return false;
//return by preference
return Application.getPreferences().getBoolean(Preferences.OPENGL_ENABLED, true);
} }
private void initGLCanvas() { private void initGLCanvas() {
@ -139,18 +145,22 @@ public class RocketFigure3d extends JPanel implements GLEventListener {
log.trace("GL - creating GLCapabilities"); log.trace("GL - creating GLCapabilities");
final GLCapabilities caps = new GLCapabilities(glp); final GLCapabilities caps = new GLCapabilities(glp);
if (true) { if (Application.getPreferences().getBoolean(Preferences.OPENGL_ENABLE_AA, true)) {
log.trace("GL - setSampleBuffers"); log.trace("GL - setSampleBuffers");
caps.setSampleBuffers(true); caps.setSampleBuffers(true);
log.trace("GL - setNumSamples"); log.trace("GL - setNumSamples");
caps.setNumSamples(6); caps.setNumSamples(6);
log.trace("GL - Creating GLCanvas");
canvas = new GLCanvas(caps);
} else { } else {
log.trace("GL - Not enabling AA by user pref");
}
if (Application.getPreferences().getBoolean(Preferences.OPENGL_USE_FBO, false)) {
log.trace("GL - Creating GLJPanel"); log.trace("GL - Creating GLJPanel");
canvas = new GLJPanel(caps); canvas = new GLJPanel(caps);
} else {
log.trace("GL - Creating GLCanvas");
canvas = new GLCanvas(caps);
} }
log.trace("GL - Registering as GLEventListener on canvas"); log.trace("GL - Registering as GLEventListener on canvas");

View File

@ -50,6 +50,11 @@ public abstract class Preferences {
public static final String PREFERRED_THRUST_CURVE_MOTOR_NODE = "preferredThrustCurveMotors"; public static final String PREFERRED_THRUST_CURVE_MOTOR_NODE = "preferredThrustCurveMotors";
private static final String AUTO_OPEN_LAST_DESIGN = "AUTO_OPEN_LAST_DESIGN"; private static final String AUTO_OPEN_LAST_DESIGN = "AUTO_OPEN_LAST_DESIGN";
//Preferences related to 3D graphics
public static final String OPENGL_ENABLED = "OpenGL_Is_Enabled";
public static final String OPENGL_ENABLE_AA = "OpenGL_Antialiasing_Is_Enabled";
public static final String OPENGL_USE_FBO = "OpenGL_Use_FBO";
/* /*
* ****************************************************************************************** * ******************************************************************************************
* *