From 2c3dea71decaf44732d5125812033086fc0c04f9 Mon Sep 17 00:00:00 2001 From: Pavel Braginskiy Date: Sun, 2 Feb 2025 19:55:15 -0800 Subject: [PATCH 1/2] Prevent tab names from being messed up by entity type change --- megameklab/src/megameklab/ui/MegaMekLabMainUI.java | 2 +- megameklab/src/megameklab/ui/MegaMekLabTabbedUI.java | 5 +++-- .../megameklab/ui/combatVehicle/CVStructureTab.java | 5 +---- megameklab/src/megameklab/ui/fighterAero/ASMainUI.java | 1 + .../src/megameklab/ui/fighterAero/ASStructureTab.java | 5 +---- megameklab/src/megameklab/ui/infantry/CIMainUI.java | 1 + megameklab/src/megameklab/ui/largeAero/DSMainUI.java | 1 + .../src/megameklab/ui/largeAero/DSStructureTab.java | 10 ++-------- megameklab/src/megameklab/ui/largeAero/WSMainUI.java | 1 + .../src/megameklab/ui/largeAero/WSStructureTab.java | 6 +----- megameklab/src/megameklab/ui/mek/BMMainUI.java | 1 + megameklab/src/megameklab/ui/mek/BMStructureTab.java | 5 +---- megameklab/src/megameklab/ui/protoMek/PMMainUI.java | 1 + .../megameklab/ui/supportVehicle/SVStructureTab.java | 6 +----- 14 files changed, 17 insertions(+), 33 deletions(-) diff --git a/megameklab/src/megameklab/ui/MegaMekLabMainUI.java b/megameklab/src/megameklab/ui/MegaMekLabMainUI.java index b2fd32fbf..f37c64847 100644 --- a/megameklab/src/megameklab/ui/MegaMekLabMainUI.java +++ b/megameklab/src/megameklab/ui/MegaMekLabMainUI.java @@ -133,7 +133,7 @@ public void refreshHeader() { setTitle(getEntity().getFullChassis() + " " + getEntity().getModel() + fileInfo); if (owner != null) { getEntity().generateDisplayName(); - owner.setTabName(getEntity().getDisplayName()); + owner.setTabName(getEntity().getDisplayName(), this); } } diff --git a/megameklab/src/megameklab/ui/MegaMekLabTabbedUI.java b/megameklab/src/megameklab/ui/MegaMekLabTabbedUI.java index c9f9da0e0..1a01be5a2 100644 --- a/megameklab/src/megameklab/ui/MegaMekLabTabbedUI.java +++ b/megameklab/src/megameklab/ui/MegaMekLabTabbedUI.java @@ -119,11 +119,12 @@ public MegaMekLabMainUI currentEditor() { * Should typically be called when the name of the unit being edited changes. * * @param tabName The new name to be set for the currently selected tab. + * @param editor The editor for which the tab name needs to be set */ - public void setTabName(String tabName) { + public void setTabName(String tabName, MegaMekLabMainUI editor) { // ClosableTab is a label with the unit name, and a close button. // If we didn't need that close button, this could be tabs.setTitleAt - tabs.setTabComponentAt(tabs.getSelectedIndex(), new EditorTab(tabName, currentEditor()) ); + tabs.setTabComponentAt(editors.indexOf(editor), new EditorTab(tabName, currentEditor()) ); } /** diff --git a/megameklab/src/megameklab/ui/combatVehicle/CVStructureTab.java b/megameklab/src/megameklab/ui/combatVehicle/CVStructureTab.java index 633f2d519..b851f99a1 100644 --- a/megameklab/src/megameklab/ui/combatVehicle/CVStructureTab.java +++ b/megameklab/src/megameklab/ui/combatVehicle/CVStructureTab.java @@ -604,10 +604,7 @@ public void motiveChanged(EntityMovementMode motive) { panArmorAllocation.setFromEntity(getTank()); panPatchwork.setFromEntity(getTank()); panSummary.refresh(); - refresh.refreshEquipment(); - refresh.refreshBuild(); - refresh.refreshStatus(); - refresh.refreshPreview(); + refresh.refreshAll(); } @Override diff --git a/megameklab/src/megameklab/ui/fighterAero/ASMainUI.java b/megameklab/src/megameklab/ui/fighterAero/ASMainUI.java index 89fb707c9..127f9e6b7 100644 --- a/megameklab/src/megameklab/ui/fighterAero/ASMainUI.java +++ b/megameklab/src/megameklab/ui/fighterAero/ASMainUI.java @@ -152,6 +152,7 @@ public void refreshAll() { buildTab.refresh(); previewTab.refresh(); floatingEquipmentDatabase.refresh(); + refreshHeader(); } @Override diff --git a/megameklab/src/megameklab/ui/fighterAero/ASStructureTab.java b/megameklab/src/megameklab/ui/fighterAero/ASStructureTab.java index c3706d6e5..9de555a7a 100644 --- a/megameklab/src/megameklab/ui/fighterAero/ASStructureTab.java +++ b/megameklab/src/megameklab/ui/fighterAero/ASStructureTab.java @@ -530,10 +530,7 @@ public void fighterTypeChanged(int type) { eSource.createNewUnit(Entity.ETYPE_CONV_FIGHTER, getAero()); } refresh(); - refresh.refreshEquipment(); - refresh.refreshBuild(); - refresh.refreshPreview(); - refresh.refreshStatus(); + refresh.refreshAll(); } @Override diff --git a/megameklab/src/megameklab/ui/infantry/CIMainUI.java b/megameklab/src/megameklab/ui/infantry/CIMainUI.java index 5c1e3a35a..659829f22 100644 --- a/megameklab/src/megameklab/ui/infantry/CIMainUI.java +++ b/megameklab/src/megameklab/ui/infantry/CIMainUI.java @@ -91,6 +91,7 @@ public void refreshAll() { statusbar.refresh(); structureTab.refresh(); previewTab.refresh(); + refreshHeader(); } @Override diff --git a/megameklab/src/megameklab/ui/largeAero/DSMainUI.java b/megameklab/src/megameklab/ui/largeAero/DSMainUI.java index 26c5f9494..78eabd9bc 100644 --- a/megameklab/src/megameklab/ui/largeAero/DSMainUI.java +++ b/megameklab/src/megameklab/ui/largeAero/DSMainUI.java @@ -196,6 +196,7 @@ public void refreshAll() { buildTab.refresh(); previewTab.refresh(); floatingEquipmentDatabase.refresh(); + refreshHeader(); } @Override diff --git a/megameklab/src/megameklab/ui/largeAero/DSStructureTab.java b/megameklab/src/megameklab/ui/largeAero/DSStructureTab.java index 8b35cfb87..6aa23cabe 100644 --- a/megameklab/src/megameklab/ui/largeAero/DSStructureTab.java +++ b/megameklab/src/megameklab/ui/largeAero/DSStructureTab.java @@ -434,11 +434,7 @@ && getSmallCraft().hasETypeFlag(Entity.ETYPE_DROPSHIP)) { eSource.createNewUnit(Entity.ETYPE_DROPSHIP, getSmallCraft()); } refresh(); - refresh.refreshEquipment(); - refresh.refreshBuild(); - refresh.refreshTransport(); - refresh.refreshPreview(); - refresh.refreshStatus(); + refresh.refreshAll(); } @@ -453,9 +449,7 @@ public void chassisTypeChanged(int type) { } panArmor.setFromEntity(getSmallCraft()); panHeat.setFromAero(getSmallCraft()); - refresh.refreshBuild(); - refresh.refreshStatus(); - refresh.refreshPreview(); + refresh.refreshAll(); } @Override diff --git a/megameklab/src/megameklab/ui/largeAero/WSMainUI.java b/megameklab/src/megameklab/ui/largeAero/WSMainUI.java index 62b70e7cb..3594f9802 100644 --- a/megameklab/src/megameklab/ui/largeAero/WSMainUI.java +++ b/megameklab/src/megameklab/ui/largeAero/WSMainUI.java @@ -213,6 +213,7 @@ public void refreshAll() { buildTab.refresh(); previewTab.refresh(); floatingEquipmentDatabase.refresh(); + refreshHeader(); } @Override diff --git a/megameklab/src/megameklab/ui/largeAero/WSStructureTab.java b/megameklab/src/megameklab/ui/largeAero/WSStructureTab.java index 1a52ae33d..5dce833e4 100644 --- a/megameklab/src/megameklab/ui/largeAero/WSStructureTab.java +++ b/megameklab/src/megameklab/ui/largeAero/WSStructureTab.java @@ -486,11 +486,7 @@ public void baseTypeChanged(int type) { break; } refresh(); - refresh.refreshEquipment(); - refresh.refreshBuild(); - refresh.refreshTransport(); - refresh.refreshPreview(); - refresh.refreshStatus(); + refresh.refreshAll(); } @Override diff --git a/megameklab/src/megameklab/ui/mek/BMMainUI.java b/megameklab/src/megameklab/ui/mek/BMMainUI.java index 131e12f46..99d37c6ee 100644 --- a/megameklab/src/megameklab/ui/mek/BMMainUI.java +++ b/megameklab/src/megameklab/ui/mek/BMMainUI.java @@ -177,6 +177,7 @@ public void refreshAll() { buildTab.refresh(); previewTab.refresh(); floatingEquipmentDatabase.refresh(); + refreshHeader(); } @Override diff --git a/megameklab/src/megameklab/ui/mek/BMStructureTab.java b/megameklab/src/megameklab/ui/mek/BMStructureTab.java index 73747a64f..67924a612 100644 --- a/megameklab/src/megameklab/ui/mek/BMStructureTab.java +++ b/megameklab/src/megameklab/ui/mek/BMStructureTab.java @@ -822,10 +822,7 @@ public void typeChanged(int baseType, int motiveType, long etype) { } refresh(); - refresh.refreshEquipment(); - refresh.refreshBuild(); - refresh.refreshPreview(); - refresh.refreshStatus(); + refresh.refreshAll(); } @Override diff --git a/megameklab/src/megameklab/ui/protoMek/PMMainUI.java b/megameklab/src/megameklab/ui/protoMek/PMMainUI.java index 5b82b29fc..e737ba616 100644 --- a/megameklab/src/megameklab/ui/protoMek/PMMainUI.java +++ b/megameklab/src/megameklab/ui/protoMek/PMMainUI.java @@ -132,6 +132,7 @@ public void refreshAll() { buildTab.refresh(); previewTab.refresh(); floatingEquipmentDatabase.refresh(); + refreshHeader(); } @Override diff --git a/megameklab/src/megameklab/ui/supportVehicle/SVStructureTab.java b/megameklab/src/megameklab/ui/supportVehicle/SVStructureTab.java index 4b052e6a6..a8f7e2c93 100644 --- a/megameklab/src/megameklab/ui/supportVehicle/SVStructureTab.java +++ b/megameklab/src/megameklab/ui/supportVehicle/SVStructureTab.java @@ -384,11 +384,7 @@ public void typeChanged(TestSupportVehicle.SVType type) { panChassisMod.setFromEntity(getSV()); panCrew.setFromEntity(getSV()); panSummary.refresh(); - refresh.refreshEquipmentTable(); - refresh.refreshBuild(); - refresh.refreshStatus(); - refresh.refreshPreview(); - // TODO: Refresh other views + refresh.refreshAll(); } } From d8c7c572f6101b55cd9f0f0ca750c257610ad375 Mon Sep 17 00:00:00 2001 From: Pavel Braginskiy Date: Tue, 4 Feb 2025 11:01:26 -0800 Subject: [PATCH 2/2] Update history.txt --- megameklab/docs/history.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/megameklab/docs/history.txt b/megameklab/docs/history.txt index 154c42614..30677d9a7 100644 --- a/megameklab/docs/history.txt +++ b/megameklab/docs/history.txt @@ -2,6 +2,7 @@ MEGAMEKLAB VERSION HISTORY: ---------------- 0.50.04-SNAPSHOT + Fix #1707: Fix transport tab weight inflation on infantry bays ++ Fix #1710: Prevent tab names from being messed up by entity type change 0.50.03 (2025-02-02 2030 UTC) + PR #1678: MHQ RFE #5604: save refit files from MHQ MekLab tab (MML side)