From af1edb5a4e36cb27336240a93872ffef15108681 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Sun, 14 Aug 2022 22:05:27 +0200 Subject: [PATCH 1/2] Format scale error with selected unit --- .../sf/openrocket/gui/dialogs/ScaleDialog.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/swing/src/net/sf/openrocket/gui/dialogs/ScaleDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/ScaleDialog.java index 3a1db6af8..e228c50f5 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/ScaleDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/ScaleDialog.java @@ -193,6 +193,7 @@ public class ScaleDialog extends JDialog { private final DoubleModel multiplier = new DoubleModel(1.0, UnitGroup.UNITS_RELATIVE, SCALE_MIN, SCALE_MAX); + private UnitSelector multiplierUnit; private final DoubleModel fromField = new DoubleModel(0, UnitGroup.UNITS_LENGTH, 0); private final DoubleModel toField = new DoubleModel(0, UnitGroup.UNITS_LENGTH, 0); @@ -384,9 +385,9 @@ public class ScaleDialog extends JDialog { spin.setToolTipText(tip); panel.add(spin, "w :30lp:65lp"); - UnitSelector unit = new UnitSelector(multiplier); - unit.setToolTipText(tip); - panel.add(unit, "w 30lp"); + multiplierUnit = new UnitSelector(multiplier); + multiplierUnit.setToolTipText(tip); + panel.add(multiplierUnit, "w 30lp"); BasicSlider slider = new BasicSlider(multiplier.getSliderModel(0.25, 1.0, 4.0)); slider.setToolTipText(tip); panel.add(slider, "w 100lp, growx, wrap para"); @@ -402,8 +403,8 @@ public class ScaleDialog extends JDialog { spin.setEditor(new SpinnerEditor(spin)); spin.setToolTipText(tip); panel.add(spin, "span, split, w :30lp:65lp"); - - unit = new UnitSelector(fromField); + + UnitSelector unit = new UnitSelector(fromField); unit.setToolTipText(tip); panel.add(unit, "w 30lp"); @@ -481,7 +482,11 @@ public class ScaleDialog extends JDialog { private void doScale() { double mul = multiplier.getValue(); if (!(SCALE_MIN <= mul && mul <= SCALE_MAX)) { - Application.getExceptionHandler().handleErrorCondition("Illegal multiplier value, mul=" + mul); + if (multiplierUnit == null) { + Application.getExceptionHandler().handleErrorCondition("Illegal multiplier value, mul=" + mul); + } else { + Application.getExceptionHandler().handleErrorCondition("Illegal multiplier value, mul=" + multiplierUnit.getSelectedUnit().toStringUnit(mul)); + } return; } From c6867e5b6184e885f27287da7d26965037869be3 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Sun, 14 Aug 2022 22:10:35 +0200 Subject: [PATCH 2/2] Increase scale dialog spinner widths --- swing/src/net/sf/openrocket/gui/dialogs/ScaleDialog.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/swing/src/net/sf/openrocket/gui/dialogs/ScaleDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/ScaleDialog.java index e228c50f5..407ba5109 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/ScaleDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/ScaleDialog.java @@ -383,7 +383,7 @@ public class ScaleDialog extends JDialog { JSpinner spin = new JSpinner(multiplier.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); spin.setToolTipText(tip); - panel.add(spin, "w :30lp:65lp"); + panel.add(spin, "wmin 40lp, growx 1000"); multiplierUnit = new UnitSelector(multiplier); multiplierUnit.setToolTipText(tip); @@ -402,7 +402,7 @@ public class ScaleDialog extends JDialog { spin = new JSpinner(fromField.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); spin.setToolTipText(tip); - panel.add(spin, "span, split, w :30lp:65lp"); + panel.add(spin, "span, split, wmin 40lp, growx 1000"); UnitSelector unit = new UnitSelector(fromField); unit.setToolTipText(tip); @@ -415,7 +415,7 @@ public class ScaleDialog extends JDialog { spin = new JSpinner(toField.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); spin.setToolTipText(tip); - panel.add(spin, "w :30lp:65lp"); + panel.add(spin, "wmin 40lp, growx 1000"); unit = new UnitSelector(toField); unit.setToolTipText(tip);