From a7da6c237c9094f5873e358cb0cddd74638b6ac5 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Sat, 15 Feb 2025 22:36:14 -0700 Subject: [PATCH 01/11] Re-order components controls to match visual order --- appOPHD/UI/FactoryProduction.cpp | 20 ++++++++++---------- appOPHD/UI/FactoryProduction.h | 8 ++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/appOPHD/UI/FactoryProduction.cpp b/appOPHD/UI/FactoryProduction.cpp index a7a2e43c6..6e5a8a197 100644 --- a/appOPHD/UI/FactoryProduction.cpp +++ b/appOPHD/UI/FactoryProduction.cpp @@ -20,11 +20,11 @@ FactoryProduction::FactoryProduction() : mFactory{nullptr}, mProduct{ProductType::PRODUCT_NONE}, mProductGrid{"ui/factory.png", 32, constants::MarginTight}, - btnOkay{"Okay", {this, &FactoryProduction::onOkay}}, - btnCancel{"Cancel", {this, &FactoryProduction::onCancel}}, + chkIdle{"Idle", {this, &FactoryProduction::onCheckBoxIdleChange}}, btnClearSelection{"Clear Selection", {this, &FactoryProduction::onClearSelection}}, btnApply{"Apply", {this, &FactoryProduction::onApply}}, - chkIdle{"Idle", {this, &FactoryProduction::onCheckBoxIdleChange}} + btnOkay{"Okay", {this, &FactoryProduction::onOkay}}, + btnCancel{"Cancel", {this, &FactoryProduction::onCancel}} { size({320, 162}); @@ -34,11 +34,8 @@ FactoryProduction::FactoryProduction() : mProductGrid.selectionChanged().connect({this, &FactoryProduction::onProductSelectionChange}); add(mProductGrid, {constants::Margin, 25}); - btnOkay.size({40, 20}); - add(btnOkay, {233, 138}); - - btnCancel.size({40, 20}); - add(btnCancel, {276, 138}); + chkIdle.size({50, 20}); + add(chkIdle, {mProductGrid.size().x + 12, 115}); btnClearSelection.size({mProductGrid.size().x, 20}); add(btnClearSelection, {5, 138}); @@ -46,8 +43,11 @@ FactoryProduction::FactoryProduction() : btnApply.size({40, 20}); add(btnApply, {mProductGrid.size().x + 12, btnClearSelection.positionY()}); - chkIdle.size({50, 20}); - add(chkIdle, {mProductGrid.size().x + 12, 115}); + btnOkay.size({40, 20}); + add(btnOkay, {233, 138}); + + btnCancel.size({40, 20}); + add(btnCancel, {276, 138}); } diff --git a/appOPHD/UI/FactoryProduction.h b/appOPHD/UI/FactoryProduction.h index d74e693d1..ec7d358f7 100644 --- a/appOPHD/UI/FactoryProduction.h +++ b/appOPHD/UI/FactoryProduction.h @@ -48,10 +48,10 @@ class FactoryProduction : public Window IconGrid mProductGrid; - Button btnOkay; - Button btnCancel; + CheckBox chkIdle; + Button btnClearSelection; Button btnApply; - - CheckBox chkIdle; + Button btnOkay; + Button btnCancel; }; From 2b1ade244a3ff80b57b2e548c4f4e5caeb9ee27f Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Sat, 15 Feb 2025 22:39:14 -0700 Subject: [PATCH 02/11] Be consistent with how button Y position is specified --- appOPHD/UI/FactoryProduction.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appOPHD/UI/FactoryProduction.cpp b/appOPHD/UI/FactoryProduction.cpp index 6e5a8a197..9bd130d2f 100644 --- a/appOPHD/UI/FactoryProduction.cpp +++ b/appOPHD/UI/FactoryProduction.cpp @@ -41,7 +41,7 @@ FactoryProduction::FactoryProduction() : add(btnClearSelection, {5, 138}); btnApply.size({40, 20}); - add(btnApply, {mProductGrid.size().x + 12, btnClearSelection.positionY()}); + add(btnApply, {mProductGrid.size().x + 12, 138}); btnOkay.size({40, 20}); add(btnOkay, {233, 138}); From 7e4562fd75d924a1cc4b995e441188cb3dcdd369 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Sat, 15 Feb 2025 22:59:14 -0700 Subject: [PATCH 03/11] Align `Button` with `IconGrid` --- appOPHD/UI/FactoryProduction.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appOPHD/UI/FactoryProduction.cpp b/appOPHD/UI/FactoryProduction.cpp index 9bd130d2f..156dd9012 100644 --- a/appOPHD/UI/FactoryProduction.cpp +++ b/appOPHD/UI/FactoryProduction.cpp @@ -38,7 +38,7 @@ FactoryProduction::FactoryProduction() : add(chkIdle, {mProductGrid.size().x + 12, 115}); btnClearSelection.size({mProductGrid.size().x, 20}); - add(btnClearSelection, {5, 138}); + add(btnClearSelection, {constants::Margin, 138}); btnApply.size({40, 20}); add(btnApply, {mProductGrid.size().x + 12, 138}); From 35244c35d1487bc93f84e27964a9cbef0715f67a Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Sun, 16 Feb 2025 00:33:16 -0700 Subject: [PATCH 04/11] Extract variable for common `buttonSize` --- appOPHD/UI/FactoryProduction.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/appOPHD/UI/FactoryProduction.cpp b/appOPHD/UI/FactoryProduction.cpp index 156dd9012..5ae5dc890 100644 --- a/appOPHD/UI/FactoryProduction.cpp +++ b/appOPHD/UI/FactoryProduction.cpp @@ -37,16 +37,18 @@ FactoryProduction::FactoryProduction() : chkIdle.size({50, 20}); add(chkIdle, {mProductGrid.size().x + 12, 115}); + const auto buttonSize = Vector{40, 20}; + btnClearSelection.size({mProductGrid.size().x, 20}); add(btnClearSelection, {constants::Margin, 138}); - btnApply.size({40, 20}); + btnApply.size(buttonSize); add(btnApply, {mProductGrid.size().x + 12, 138}); - btnOkay.size({40, 20}); + btnOkay.size(buttonSize); add(btnOkay, {233, 138}); - btnCancel.size({40, 20}); + btnCancel.size(buttonSize); add(btnCancel, {276, 138}); } From 23b75ad7d8d49e4008872709fc1a1adb3cc65e8e Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Sun, 16 Feb 2025 00:38:13 -0700 Subject: [PATCH 05/11] Align buttons to the left --- appOPHD/UI/FactoryProduction.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appOPHD/UI/FactoryProduction.cpp b/appOPHD/UI/FactoryProduction.cpp index 5ae5dc890..2a66a768e 100644 --- a/appOPHD/UI/FactoryProduction.cpp +++ b/appOPHD/UI/FactoryProduction.cpp @@ -46,10 +46,10 @@ FactoryProduction::FactoryProduction() : add(btnApply, {mProductGrid.size().x + 12, 138}); btnOkay.size(buttonSize); - add(btnOkay, {233, 138}); + add(btnOkay, {mProductGrid.size().x + 12 + buttonSize.x + constants::MarginTight, 138}); btnCancel.size(buttonSize); - add(btnCancel, {276, 138}); + add(btnCancel, {mProductGrid.size().x + 12 + (buttonSize.x + constants::MarginTight) * 2, 138}); } From 992df09bdb72c1fefa4c2ce59360a1dd88494437 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Sun, 16 Feb 2025 00:41:25 -0700 Subject: [PATCH 06/11] Increase button size to fill space --- appOPHD/UI/FactoryProduction.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appOPHD/UI/FactoryProduction.cpp b/appOPHD/UI/FactoryProduction.cpp index 2a66a768e..867a27f02 100644 --- a/appOPHD/UI/FactoryProduction.cpp +++ b/appOPHD/UI/FactoryProduction.cpp @@ -37,7 +37,7 @@ FactoryProduction::FactoryProduction() : chkIdle.size({50, 20}); add(chkIdle, {mProductGrid.size().x + 12, 115}); - const auto buttonSize = Vector{40, 20}; + const auto buttonSize = Vector{52, 20}; btnClearSelection.size({mProductGrid.size().x, 20}); add(btnClearSelection, {constants::Margin, 138}); From 5ab479decb7f6b233288d65989cea5a5f5375a2e Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Sun, 16 Feb 2025 00:59:54 -0700 Subject: [PATCH 07/11] Calculate `Button` size and position --- appOPHD/UI/FactoryProduction.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/appOPHD/UI/FactoryProduction.cpp b/appOPHD/UI/FactoryProduction.cpp index 867a27f02..4f142cf04 100644 --- a/appOPHD/UI/FactoryProduction.cpp +++ b/appOPHD/UI/FactoryProduction.cpp @@ -37,19 +37,21 @@ FactoryProduction::FactoryProduction() : chkIdle.size({50, 20}); add(chkIdle, {mProductGrid.size().x + 12, 115}); - const auto buttonSize = Vector{52, 20}; + const auto buttonArea = Rectangle{{mProductGrid.size().x + 12, 138}, {162, 20}}; + const auto buttonSize = Vector{(buttonArea.size.x - (constants::MarginTight * 2)) / 3, buttonArea.size.y}; + const auto buttonSpacing = buttonSize.x + constants::MarginTight; btnClearSelection.size({mProductGrid.size().x, 20}); add(btnClearSelection, {constants::Margin, 138}); btnApply.size(buttonSize); - add(btnApply, {mProductGrid.size().x + 12, 138}); + add(btnApply, {buttonArea.position.x, buttonArea.position.y}); btnOkay.size(buttonSize); - add(btnOkay, {mProductGrid.size().x + 12 + buttonSize.x + constants::MarginTight, 138}); + add(btnOkay, {buttonArea.position.x + buttonSpacing, buttonArea.position.y}); btnCancel.size(buttonSize); - add(btnCancel, {mProductGrid.size().x + 12 + (buttonSize.x + constants::MarginTight) * 2, 138}); + add(btnCancel, {buttonArea.position.x + buttonSpacing * 2, buttonArea.position.y}); } From b1b96817449e1310b667e96c5231d652db850b2f Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Sun, 16 Feb 2025 01:07:15 -0700 Subject: [PATCH 08/11] Calculate available button area --- appOPHD/UI/FactoryProduction.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appOPHD/UI/FactoryProduction.cpp b/appOPHD/UI/FactoryProduction.cpp index 4f142cf04..87bfa9276 100644 --- a/appOPHD/UI/FactoryProduction.cpp +++ b/appOPHD/UI/FactoryProduction.cpp @@ -37,7 +37,7 @@ FactoryProduction::FactoryProduction() : chkIdle.size({50, 20}); add(chkIdle, {mProductGrid.size().x + 12, 115}); - const auto buttonArea = Rectangle{{mProductGrid.size().x + 12, 138}, {162, 20}}; + const auto buttonArea = Rectangle::Create(mProductGrid.area().endPoint(), area().endPoint()).inset({constants::Margin, 3}, {constants::Margin, 4}); const auto buttonSize = Vector{(buttonArea.size.x - (constants::MarginTight * 2)) / 3, buttonArea.size.y}; const auto buttonSpacing = buttonSize.x + constants::MarginTight; From 1029b13196454499d1a2126211d9bf2b81354fe3 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Sun, 16 Feb 2025 01:09:00 -0700 Subject: [PATCH 09/11] Use same parameters for "Clear Selection" button --- appOPHD/UI/FactoryProduction.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appOPHD/UI/FactoryProduction.cpp b/appOPHD/UI/FactoryProduction.cpp index 87bfa9276..16456f421 100644 --- a/appOPHD/UI/FactoryProduction.cpp +++ b/appOPHD/UI/FactoryProduction.cpp @@ -41,8 +41,8 @@ FactoryProduction::FactoryProduction() : const auto buttonSize = Vector{(buttonArea.size.x - (constants::MarginTight * 2)) / 3, buttonArea.size.y}; const auto buttonSpacing = buttonSize.x + constants::MarginTight; - btnClearSelection.size({mProductGrid.size().x, 20}); - add(btnClearSelection, {constants::Margin, 138}); + btnClearSelection.size({mProductGrid.size().x, buttonSize.y}); + add(btnClearSelection, {constants::Margin, buttonArea.position.y}); btnApply.size(buttonSize); add(btnApply, {buttonArea.position.x, buttonArea.position.y}); From 0aff0fb714fbce43de7472822555bec219a3c447 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Sun, 16 Feb 2025 01:27:47 -0700 Subject: [PATCH 10/11] Use standard size margins --- appOPHD/UI/FactoryProduction.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appOPHD/UI/FactoryProduction.cpp b/appOPHD/UI/FactoryProduction.cpp index 16456f421..24b9c557a 100644 --- a/appOPHD/UI/FactoryProduction.cpp +++ b/appOPHD/UI/FactoryProduction.cpp @@ -26,7 +26,7 @@ FactoryProduction::FactoryProduction() : btnOkay{"Okay", {this, &FactoryProduction::onOkay}}, btnCancel{"Cancel", {this, &FactoryProduction::onCancel}} { - size({320, 162}); + size({320, 163}); mProductGrid.size({140, 110}); mProductGrid.showTooltip(true); @@ -37,7 +37,7 @@ FactoryProduction::FactoryProduction() : chkIdle.size({50, 20}); add(chkIdle, {mProductGrid.size().x + 12, 115}); - const auto buttonArea = Rectangle::Create(mProductGrid.area().endPoint(), area().endPoint()).inset({constants::Margin, 3}, {constants::Margin, 4}); + const auto buttonArea = Rectangle::Create(mProductGrid.area().endPoint() + Vector{constants::Margin, constants::MarginTight}, area().inset(constants::Margin).endPoint()); const auto buttonSize = Vector{(buttonArea.size.x - (constants::MarginTight * 2)) / 3, buttonArea.size.y}; const auto buttonSpacing = buttonSize.x + constants::MarginTight; From 95521fa1eeb1eb20ae3a0e5b586af1f0a91ada42 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Sun, 16 Feb 2025 01:29:32 -0700 Subject: [PATCH 11/11] Increase window and button height slightly --- appOPHD/UI/FactoryProduction.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appOPHD/UI/FactoryProduction.cpp b/appOPHD/UI/FactoryProduction.cpp index 24b9c557a..1ac4c9047 100644 --- a/appOPHD/UI/FactoryProduction.cpp +++ b/appOPHD/UI/FactoryProduction.cpp @@ -26,7 +26,7 @@ FactoryProduction::FactoryProduction() : btnOkay{"Okay", {this, &FactoryProduction::onOkay}}, btnCancel{"Cancel", {this, &FactoryProduction::onCancel}} { - size({320, 163}); + size({320, 165}); mProductGrid.size({140, 110}); mProductGrid.showTooltip(true);