From 528b93afffc9ac42ef2cbf84a1072bf534188f49 Mon Sep 17 00:00:00 2001 From: Sibo Van Gool Date: Sun, 30 Jan 2022 22:58:39 +0100 Subject: [PATCH 1/8] [fixes #1024] Fix bad height Rocket Optimizer --- .../dialogs/optimization/GeneralOptimizationDialog.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java index 545aa0a47..28cad0cf1 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java @@ -1,6 +1,7 @@ package net.sf.openrocket.gui.dialogs.optimization; import java.awt.Component; +import java.awt.Dimension; import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -205,7 +206,7 @@ public class GeneralOptimizationDialog extends JDialog { JScrollPane scroll; String tip; - JPanel panel = new JPanel(new MigLayout("fill")); + JPanel panel = new JPanel(new MigLayout("fill, w 1200")); ChangeListener clearHistoryChangeListener = e -> clearHistory(); ActionListener clearHistoryActionListener = e -> clearHistory(); @@ -606,11 +607,7 @@ public class GeneralOptimizationDialog extends JDialog { updateComponents(); GUIUtil.setDisposableDialogOptions(this, null); - // seem like a reasonable defaults - this.setSize(1200, 600); - // System.err.println("OptimizationDialog.size: " + this.getSize()); - this.setLocation(100, 100); - // System.err.println("OptimizationDialog.location: " + this.getLocation()); + this.setLocation((parent.getWidth() - 1200)/2, 100); } private void startOptimization() { From 51a48931e10bb939d08c204b053885b3a70d3a04 Mon Sep 17 00:00:00 2001 From: Sibo Van Gool Date: Mon, 31 Jan 2022 01:02:06 +0100 Subject: [PATCH 2/8] Fix custom expression dialog layout This makes the expression window take up all available space, and not have growing gaps between the buttons and expressions --- .../openrocket/gui/customexpression/CustomExpressionPanel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swing/src/net/sf/openrocket/gui/customexpression/CustomExpressionPanel.java b/swing/src/net/sf/openrocket/gui/customexpression/CustomExpressionPanel.java index de9782608..3c42db9ca 100644 --- a/swing/src/net/sf/openrocket/gui/customexpression/CustomExpressionPanel.java +++ b/swing/src/net/sf/openrocket/gui/customexpression/CustomExpressionPanel.java @@ -56,7 +56,7 @@ public class CustomExpressionPanel extends JPanel { //expressionSelectorPanel.add(scroll); //this.add(expressionSelectorPanel, "spany 1, height 10px, wmin 600lp, grow 100, gapright para"); - this.add(scroll, "hmin 200lp, wmin 700lp, grow 100, wrap"); + this.add(scroll, "hmin 200lp, wmin 700lp, grow 100, pushy, wrap"); //DescriptionArea desc = new DescriptionArea(trans.get("customExpressionPanel.lbl.UpdateNote")+"\n\n"+trans.get("customExpressionPanel.lbl.CalcNote"), 8, -2f); //desc.setViewportBorder(BorderFactory.createEmptyBorder()); From 2b936aa0ef73ea7d78453e2648c78246abd159b8 Mon Sep 17 00:00:00 2001 From: Sibo Van Gool Date: Mon, 31 Jan 2022 01:03:22 +0100 Subject: [PATCH 3/8] Fix component analysis layout Let the bottom window take up the rest of the vertical space, instead of growing gaps between that window and the bottom buttons --- .../sf/openrocket/gui/dialogs/ComponentAnalysisDialog.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/swing/src/net/sf/openrocket/gui/dialogs/ComponentAnalysisDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/ComponentAnalysisDialog.java index 865b0a67e..f27aa548c 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/ComponentAnalysisDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/ComponentAnalysisDialog.java @@ -148,7 +148,7 @@ public class ComponentAnalysisDialog extends JDialog implements StateChangeListe JScrollPane scrollPane = new JScrollPane(warningList); ////Warnings: scrollPane.setBorder(BorderFactory.createTitledBorder(trans.get("componentanalysisdlg.TitledBorder.warnings"))); - panel.add(scrollPane, "gap paragraph, spany 4, width 300lp!, growy 1, height :100lp:, wrap"); + panel.add(scrollPane, "gap paragraph, spany 4, wmin 300lp, grow, height :100lp:, wrap"); ////Angle of attack: panel.add(new JLabel(trans.get("componentanalysisdlg.lbl.angleofattack")), "width 120lp!"); @@ -183,7 +183,7 @@ public class ComponentAnalysisDialog extends JDialog implements StateChangeListe // Tabbed pane JTabbedPane tabbedPane = new JTabbedPane(); - panel.add(tabbedPane, "spanx, growx, growy"); + panel.add(tabbedPane, "spanx, growx, growy, pushy"); // Create the Longitudinal Stability (CM vs CP) data table From 143029f846e5ecbf83d595881367ef4c3517facd Mon Sep 17 00:00:00 2001 From: Sibo Van Gool Date: Mon, 31 Jan 2022 12:45:03 +0100 Subject: [PATCH 4/8] Set min height for description This would otherwise become just a 2 pixel white bar... --- .../gui/dialogs/optimization/GeneralOptimizationDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java index 28cad0cf1..b19bf8e12 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java @@ -255,7 +255,7 @@ public class GeneralOptimizationDialog extends JDialog { panel.add(scroll, "wmin 300lp, height 200lp, grow"); selectedModifierDescription = new DescriptionArea(2, -3); disableComponents.add(selectedModifierDescription); - panel.add(selectedModifierDescription, "growx"); + panel.add(selectedModifierDescription, "hmin 20lp, growx"); // // Add/remove buttons sub = new JPanel(new MigLayout("fill")); From 0ebaaabff45d866de94401199ddc57fda050fc4b Mon Sep 17 00:00:00 2001 From: Sibo Van Gool Date: Mon, 31 Jan 2022 12:45:51 +0100 Subject: [PATCH 5/8] Put Rocket Optimizer in scroll panel Since it is a big window, and users may make it smaller, this is not unreasonable --- .../gui/dialogs/optimization/GeneralOptimizationDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java index b19bf8e12..733467216 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java @@ -602,7 +602,7 @@ public class GeneralOptimizationDialog extends JDialog { }); panel.add(closeButton, "right"); - this.add(panel); + this.add(new JScrollPane(panel)); clearHistory(); updateComponents(); GUIUtil.setDisposableDialogOptions(this, null); From 364744dcf4bb5caf51fa49ed97b3de18d401af93 Mon Sep 17 00:00:00 2001 From: Sibo Van Gool Date: Mon, 31 Jan 2022 12:51:39 +0100 Subject: [PATCH 6/8] Set maximum height on Rocket Optimizer window --- .../gui/dialogs/optimization/GeneralOptimizationDialog.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java index 733467216..b711cefdc 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java @@ -2,6 +2,7 @@ package net.sf.openrocket.gui.dialogs.optimization; import java.awt.Component; import java.awt.Dimension; +import java.awt.Toolkit; import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -607,6 +608,9 @@ public class GeneralOptimizationDialog extends JDialog { updateComponents(); GUIUtil.setDisposableDialogOptions(this, null); + int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height; + this.setSize(new Dimension(this.getWidth(), Math.min(this.getHeight(), screenHeight - 150))); + this.setLocation((parent.getWidth() - 1200)/2, 100); } From 8c4437eca0c16b78e72fc98c6ed8c84a44c9d87e Mon Sep 17 00:00:00 2001 From: SiboVG Date: Fri, 11 Feb 2022 14:18:18 +0100 Subject: [PATCH 7/8] Small height improvement --- .../gui/dialogs/optimization/GeneralOptimizationDialog.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java index b711cefdc..755bab3d8 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java @@ -253,7 +253,7 @@ public class GeneralOptimizationDialog extends JDialog { label = new StyledLabel(trans.get("lbl.paramsToOptimize"), Style.BOLD); disableComponents.add(label); panel.add(label, "split 3, flowy"); - panel.add(scroll, "wmin 300lp, height 200lp, grow"); + panel.add(scroll, "wmin 300lp, height 150lp, grow"); selectedModifierDescription = new DescriptionArea(2, -3); disableComponents.add(selectedModifierDescription); panel.add(selectedModifierDescription, "hmin 20lp, growx"); @@ -610,6 +610,7 @@ public class GeneralOptimizationDialog extends JDialog { int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height; this.setSize(new Dimension(this.getWidth(), Math.min(this.getHeight(), screenHeight - 150))); + this.pack(); this.setLocation((parent.getWidth() - 1200)/2, 100); } From 1162aec1b04f0086f76f38d7be0f9dcdbb2ac6ef Mon Sep 17 00:00:00 2001 From: SiboVG Date: Fri, 11 Feb 2022 15:32:16 +0100 Subject: [PATCH 8/8] Fix custom expressions layout --- .../openrocket/gui/customexpression/CustomExpressionPanel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swing/src/net/sf/openrocket/gui/customexpression/CustomExpressionPanel.java b/swing/src/net/sf/openrocket/gui/customexpression/CustomExpressionPanel.java index 3c42db9ca..a26222798 100644 --- a/swing/src/net/sf/openrocket/gui/customexpression/CustomExpressionPanel.java +++ b/swing/src/net/sf/openrocket/gui/customexpression/CustomExpressionPanel.java @@ -56,7 +56,7 @@ public class CustomExpressionPanel extends JPanel { //expressionSelectorPanel.add(scroll); //this.add(expressionSelectorPanel, "spany 1, height 10px, wmin 600lp, grow 100, gapright para"); - this.add(scroll, "hmin 200lp, wmin 700lp, grow 100, pushy, wrap"); + this.add(scroll, "hmin 200lp, wmin 700lp, grow, pushy, wrap"); //DescriptionArea desc = new DescriptionArea(trans.get("customExpressionPanel.lbl.UpdateNote")+"\n\n"+trans.get("customExpressionPanel.lbl.CalcNote"), 8, -2f); //desc.setViewportBorder(BorderFactory.createEmptyBorder());