diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties index f3b72a567..f79b18f39 100644 --- a/core/resources/l10n/messages.properties +++ b/core/resources/l10n/messages.properties @@ -275,6 +275,10 @@ pref.dlg.ZIParchives = ZIP archives (*.zip) pref.dlg.checkbox.Checkupdates = Check for software updates at startup pref.dlg.ttip.Checkupdatesnow = Check for software updates now pref.dlg.lbl.Selectprefunits = Select your preferred units: +pref.dlg.lbl.Rocketinfofontsize = Size of text in rocket design panel: +pref.dlg.PrefFontSmall = Small +pref.dlg.PrefFontMedium = Medium +pref.dlg.PrefFontLarge = Large pref.dlg.lbl.Rocketdimensions = Rocket dimensions: pref.dlg.lbl.Linedensity = Line density: pref.dlg.lbl.Motordimensions = Motor dimensions: diff --git a/core/src/net/sf/openrocket/startup/Preferences.java b/core/src/net/sf/openrocket/startup/Preferences.java index 07e9d36c5..16d9721d1 100644 --- a/core/src/net/sf/openrocket/startup/Preferences.java +++ b/core/src/net/sf/openrocket/startup/Preferences.java @@ -55,6 +55,8 @@ public abstract class Preferences { public static final String OPENGL_ENABLE_AA = "OpenGL_Antialiasing_Is_Enabled"; public static final String OPENGL_USE_FBO = "OpenGL_Use_FBO"; + public static final String ROCKET_INFO_FONT_SIZE = "RocketInfoFontSize"; + /* * ****************************************************************************************** * @@ -104,6 +106,10 @@ public abstract class Preferences { return 0.3; } + public final float getRocketInfoFontSize() { + return (float) (11.0 + 3 * Application.getPreferences().getChoice(Preferences.ROCKET_INFO_FONT_SIZE, 2, 0)); + } + /** * Enable/Disable the auto-opening of the last edited design file on startup. */ diff --git a/swing/build.xml b/swing/build.xml index 5b5c4408e..0256084b9 100644 --- a/swing/build.xml +++ b/swing/build.xml @@ -27,7 +27,7 @@ - + diff --git a/swing/src/net/sf/openrocket/gui/dialogs/preferences/PreferencesDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/preferences/PreferencesDialog.java index 606f927e1..e9b1343e0 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/preferences/PreferencesDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/preferences/PreferencesDialog.java @@ -169,7 +169,7 @@ public class PreferencesDialog extends JDialog { //// Position to insert new body components: panel.add(new JLabel(trans.get("pref.dlg.lbl.Positiontoinsert")), "gapright para"); - panel.add(new JComboBox(new PrefChoiseSelector(Preferences.BODY_COMPONENT_INSERT_POSITION_KEY, + panel.add(new JComboBox(new PrefChoiceSelector(Preferences.BODY_COMPONENT_INSERT_POSITION_KEY, //// Always ask //// Insert in middle //// Add to end @@ -183,7 +183,17 @@ public class PreferencesDialog extends JDialog { //// Delete //// Confirm trans.get("pref.dlg.PrefBooleanSelector1"), - trans.get("pref.dlg.PrefBooleanSelector2"), true)), "wrap 40lp, growx, sg combos"); + trans.get("pref.dlg.PrefBooleanSelector2"), true)), "wrap, growx, sg combos"); + //// Position to insert new body components: + panel.add(new JLabel(trans.get("pref.dlg.lbl.Rocketinfofontsize")), "gapright para"); + + panel.add(new JComboBox(new PrefChoiceSelector(Preferences.ROCKET_INFO_FONT_SIZE, + //// Small + //// Medium + //// Large + trans.get("pref.dlg.PrefFontSmall"), + trans.get("pref.dlg.PrefFontMedium"), + trans.get("pref.dlg.PrefFontLarge"))), "wrap 40lp, growx, sg combos"); //// User-defined thrust curves: panel.add(new JLabel(trans.get("pref.dlg.lbl.User-definedthrust")), "spanx, wrap"); @@ -678,11 +688,11 @@ public class PreferencesDialog extends JDialog { - private class PrefChoiseSelector extends AbstractListModel implements ComboBoxModel { + private class PrefChoiceSelector extends AbstractListModel implements ComboBoxModel { private final String preference; private final String[] descriptions; - public PrefChoiseSelector(String preference, String... descriptions) { + public PrefChoiceSelector(String preference, String... descriptions) { this.preference = preference; this.descriptions = descriptions; } diff --git a/swing/src/net/sf/openrocket/gui/figureelements/RocketInfo.java b/swing/src/net/sf/openrocket/gui/figureelements/RocketInfo.java index 27849cd2f..16f7cf3f2 100644 --- a/swing/src/net/sf/openrocket/gui/figureelements/RocketInfo.java +++ b/swing/src/net/sf/openrocket/gui/figureelements/RocketInfo.java @@ -77,7 +77,9 @@ public class RocketInfo implements FigureElement { public void paint(Graphics2D myG2, double scale, Rectangle visible) { this.g2 = myG2; this.line = FONT.getLineMetrics("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", - myG2.getFontRenderContext()).getHeight(); + myG2.getFontRenderContext()).getHeight() + + FONT.getLineMetrics("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", + myG2.getFontRenderContext()).getDescent(); x1 = visible.x + MARGIN; x2 = visible.x + visible.width - MARGIN; @@ -429,11 +431,13 @@ public class RocketInfo implements FigureElement { private GlyphVector createText(String text) { - return FONT.createGlyphVector(g2.getFontRenderContext(), text); + float size=Application.getPreferences().getRocketInfoFontSize(); + return (FONT.deriveFont(size)).createGlyphVector(g2.getFontRenderContext(), text); } private GlyphVector createSmallText(String text) { - return SMALLFONT.createGlyphVector(g2.getFontRenderContext(), text); + float size=(float) (Application.getPreferences().getRocketInfoFontSize()-2.0); + return (SMALLFONT.deriveFont(size)).createGlyphVector(g2.getFontRenderContext(), text); } } diff --git a/swing/src/net/sf/openrocket/startup/Startup.java b/swing/src/net/sf/openrocket/startup/OpenRocket.java similarity index 98% rename from swing/src/net/sf/openrocket/startup/Startup.java rename to swing/src/net/sf/openrocket/startup/OpenRocket.java index 2bc9754fa..9fb917bbd 100644 --- a/swing/src/net/sf/openrocket/startup/Startup.java +++ b/swing/src/net/sf/openrocket/startup/OpenRocket.java @@ -23,7 +23,7 @@ import net.sf.openrocket.startup.jij.PluginClasspathProvider; * * @author Sampo Niskanen */ -public class Startup { +public class OpenRocket { private static final String STARTUP_CLASS = "net.sf.openrocket.startup.SwingStartup";