Skip to content

Commit

Permalink
MegaMek#3949 RFE: Unit Display more enhancements use constants
Browse files Browse the repository at this point in the history
  • Loading branch information
kuronekochomusuke committed Nov 2, 2022
1 parent 6c84eb0 commit aa3a84a
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 49 deletions.
49 changes: 24 additions & 25 deletions megamek/src/megamek/client/ui/swing/CommonSettingsDialog.java
Original file line number Diff line number Diff line change
Expand Up @@ -318,12 +318,12 @@ private JPanel getUnitDisplayPanel() {
private JScrollPane getUnitDisplayPane() {
JPanel panel = new JPanel();

unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedA1"));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedB1"));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedC1"));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedA2"));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedB2"));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedC2"));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_A1));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_B1));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_C1));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_A2));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_B2));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_C2));

JList<String> listUnitDisplayNonTabbed = new JList<>(unitDisplayNonTabbed);
listUnitDisplayNonTabbed.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
Expand Down Expand Up @@ -732,12 +732,12 @@ protected void cancelAction() {
}

unitDisplayNonTabbed.clear();
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedA1"));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedB1"));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedC1"));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedA2"));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedB2"));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedC2"));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_A1));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_B1));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_C1));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_A2));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_B2));
unitDisplayNonTabbed.addElement(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_C2));

setVisible(false);
}
Expand Down Expand Up @@ -941,37 +941,36 @@ protected void okAction() {
boolean unitDisplayNonTabbedChanged = false;
int s = unitDisplayNonTabbed.getSize();

if ((s > 0) && (!unitDisplayNonTabbed.get(0).equals(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedA1")))) {
if ((s > UnitDisplay.NON_TABBED_ZERO_INDEX) && (!unitDisplayNonTabbed.get(UnitDisplay.NON_TABBED_ZERO_INDEX).equals(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_A1)))) {
unitDisplayNonTabbedChanged = true;
UnitDisplayOrderPreferences.getInstance().setValue("NonTabbedA1", unitDisplayNonTabbed.get(0));
UnitDisplayOrderPreferences.getInstance().setValue(UnitDisplay.NON_TABBED_A1, unitDisplayNonTabbed.get(UnitDisplay.NON_TABBED_ZERO_INDEX));
}
if ((s > 1) && (!unitDisplayNonTabbed.get(1).equals(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedB1")))) {
if ((s > UnitDisplay.NON_TABBED_ONE_INDEX) && (!unitDisplayNonTabbed.get(UnitDisplay.NON_TABBED_ONE_INDEX).equals(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_B1)))) {
unitDisplayNonTabbedChanged = true;
UnitDisplayOrderPreferences.getInstance().setValue("NonTabbedB1", unitDisplayNonTabbed.get(1));
UnitDisplayOrderPreferences.getInstance().setValue(UnitDisplay.NON_TABBED_B1, unitDisplayNonTabbed.get(UnitDisplay.NON_TABBED_ONE_INDEX));
}
if ((s > 2) && (!unitDisplayNonTabbed.get(2).equals( UnitDisplayOrderPreferences.getInstance().getString("NonTabbedC1")))) {
if ((s > UnitDisplay.NON_TABBED_TWO_INDEX) && (!unitDisplayNonTabbed.get(UnitDisplay.NON_TABBED_TWO_INDEX).equals( UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_C1)))) {
unitDisplayNonTabbedChanged = true;
UnitDisplayOrderPreferences.getInstance().setValue("NonTabbedC1", unitDisplayNonTabbed.get(2));
UnitDisplayOrderPreferences.getInstance().setValue(UnitDisplay.NON_TABBED_C1, unitDisplayNonTabbed.get(UnitDisplay.NON_TABBED_TWO_INDEX));
}
if ((s > 3) && (!unitDisplayNonTabbed.get(3).equals(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedA2")))) {
if ((s > UnitDisplay.NON_TABBED_THREE_INDEX) && (!unitDisplayNonTabbed.get(UnitDisplay.NON_TABBED_THREE_INDEX).equals(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_A2)))) {
unitDisplayNonTabbedChanged = true;
UnitDisplayOrderPreferences.getInstance().setValue("NonTabbedA2", unitDisplayNonTabbed.get(3));
UnitDisplayOrderPreferences.getInstance().setValue(UnitDisplay.NON_TABBED_A2, unitDisplayNonTabbed.get(UnitDisplay.NON_TABBED_THREE_INDEX));
}
if ((s > 4) && (!unitDisplayNonTabbed.get(4).equals(UnitDisplayOrderPreferences.getInstance().getString("NonTabbedB2")))) {
if ((s > UnitDisplay.NON_TABBED_FOUR_INDEX) && (!unitDisplayNonTabbed.get(UnitDisplay.NON_TABBED_FOUR_INDEX).equals(UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_B2)))) {
unitDisplayNonTabbedChanged = true;
UnitDisplayOrderPreferences.getInstance().setValue("NonTabbedB2", unitDisplayNonTabbed.get(4));
UnitDisplayOrderPreferences.getInstance().setValue(UnitDisplay.NON_TABBED_B2, unitDisplayNonTabbed.get(UnitDisplay.NON_TABBED_FOUR_INDEX));
}
if ((s > 5) && (!unitDisplayNonTabbed.get(5).equals( UnitDisplayOrderPreferences.getInstance().getString("NonTabbedC2")))) {
if ((s > UnitDisplay.NON_TABBED_FIVE_INDEX) && (!unitDisplayNonTabbed.get(UnitDisplay.NON_TABBED_FIVE_INDEX).equals( UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_C2)))) {
unitDisplayNonTabbedChanged = true;
UnitDisplayOrderPreferences.getInstance().setValue("NonTabbedC2", unitDisplayNonTabbed.get(5));
UnitDisplayOrderPreferences.getInstance().setValue(UnitDisplay.NON_TABBED_C2, unitDisplayNonTabbed.get(UnitDisplay.NON_TABBED_FIVE_INDEX));
}

if ((unitDisplayNonTabbedChanged) && (clientgui != null)) {
clientgui.unitDisplay.setDisplayNonTabbed();
}
}


setVisible(false);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

package megamek.client.ui.swing;

import megamek.client.ui.swing.unitDisplay.UnitDisplay;
import megamek.common.preference.PreferenceManager;
import megamek.common.preference.PreferenceStoreProxy;

Expand All @@ -32,12 +33,12 @@ protected UnitDisplayOrderPreferences() {
store = PreferenceManager.getInstance().getPreferenceStore(
getClass().getName());

store.setDefault("NonTabbedA1", "General");
store.setDefault("NonTabbedA2", "Pilot");
store.setDefault("NonTabbedB1", "Weapon");
store.setDefault("NonTabbedB2", "System");
store.setDefault("NonTabbedC1", "Extra");
store.setDefault("NonTabbedC2", "Armor");
store.setDefault(UnitDisplay.NON_TABBED_A1, UnitDisplay.NON_TABBED_GENERAL);
store.setDefault(UnitDisplay.NON_TABBED_A2, UnitDisplay.NON_TABBED_PILOT);
store.setDefault(UnitDisplay.NON_TABBED_B1, UnitDisplay.NON_TABBED_WEAPON);
store.setDefault(UnitDisplay.NON_TABBED_B2, UnitDisplay.NON_TABBED_SYSTEM);
store.setDefault(UnitDisplay.NON_TABBED_C1, UnitDisplay.NON_TABBED_EXTRA);
store.setDefault(UnitDisplay.NON_TABBED_C2, UnitDisplay.NON_TABBED_ARMOR);
}

@Override
Expand Down
57 changes: 39 additions & 18 deletions megamek/src/megamek/client/ui/swing/unitDisplay/UnitDisplay.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,27 @@ public class UnitDisplay extends JPanel {
private Entity currentlyDisplaying;
private ArrayList<MechDisplayListener> eventListeners = new ArrayList<>();

public static final String NON_TABBED_GENERAL = "General";
public static final String NON_TABBED_PILOT = "Pilot";
public static final String NON_TABBED_ARMOR = "Armor";
public static final String NON_TABBED_WEAPON = "Weapon";
public static final String NON_TABBED_SYSTEM = "System";
public static final String NON_TABBED_EXTRA = "Extra";

public static final String NON_TABBED_A1 = "NonTabbedA1";
public static final String NON_TABBED_A2 = "NonTabbedA2";
public static final String NON_TABBED_B1 = "NonTabbedB1";
public static final String NON_TABBED_B2 = "NonTabbedB2";
public static final String NON_TABBED_C1 = "NonTabbedC1";
public static final String NON_TABBED_C2 = "NonTabbedC2";

public static final int NON_TABBED_ZERO_INDEX = 0;
public static final int NON_TABBED_ONE_INDEX = 1;
public static final int NON_TABBED_TWO_INDEX = 2;
public static final int NON_TABBED_THREE_INDEX = 3;
public static final int NON_TABBED_FOUR_INDEX = 4;
public static final int NON_TABBED_FIVE_INDEX = 5;

/**
* Creates and lays out a new mech display.
*
Expand Down Expand Up @@ -256,12 +277,12 @@ public void setDisplayNonTabbed() {
sPan.setVisible(true);
ePan.setVisible(true);

linkParentChild("NonTabbedA1", UnitDisplayOrderPreferences.getInstance().getString("NonTabbedA1"));
linkParentChild("NonTabbedB1", UnitDisplayOrderPreferences.getInstance().getString("NonTabbedB1"));
linkParentChild("NonTabbedC1", UnitDisplayOrderPreferences.getInstance().getString("NonTabbedC1"));
linkParentChild("NonTabbedA2", UnitDisplayOrderPreferences.getInstance().getString("NonTabbedA2"));
linkParentChild("NonTabbedB2", UnitDisplayOrderPreferences.getInstance().getString("NonTabbedB2"));
linkParentChild("NonTabbedC2", UnitDisplayOrderPreferences.getInstance().getString("NonTabbedC2"));
linkParentChild(UnitDisplay.NON_TABBED_A1, UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_A1));
linkParentChild(UnitDisplay.NON_TABBED_B1, UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_B1));
linkParentChild(UnitDisplay.NON_TABBED_C1, UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_C1));
linkParentChild(UnitDisplay.NON_TABBED_A2, UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_A2));
linkParentChild(UnitDisplay.NON_TABBED_B2, UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_B2));
linkParentChild(UnitDisplay.NON_TABBED_C2, UnitDisplayOrderPreferences.getInstance().getString(UnitDisplay.NON_TABBED_C2));

displayP.add(splitABC);

Expand Down Expand Up @@ -289,22 +310,22 @@ public void saveSplitterLoc() {
*/
private void linkParentChild(String t, String v) {
switch (t) {
case "NonTabbedA1":
case UnitDisplay.NON_TABBED_A1:
addChildPanel(panA1, v);
break;
case "NonTabbedA2":
case UnitDisplay.NON_TABBED_A2:
addChildPanel(panA2, v);
break;
case "NonTabbedB1":
case UnitDisplay.NON_TABBED_B1:
addChildPanel(panB1, v);
break;
case "NonTabbedB2":
case UnitDisplay.NON_TABBED_B2:
addChildPanel(panB2, v);
break;
case "NonTabbedC1":
case UnitDisplay.NON_TABBED_C1:
addChildPanel(panC1, v);
break;
case "NonTabbedC2":
case UnitDisplay.NON_TABBED_C2:
addChildPanel(panC2, v);
break;
}
Expand All @@ -316,22 +337,22 @@ private void linkParentChild(String t, String v) {
*/
private void addChildPanel(JPanel p, String v) {
switch (v) {
case "General":
case UnitDisplay.NON_TABBED_GENERAL:
p.add(mPan, BorderLayout.CENTER);
break;
case "Pilot":
case UnitDisplay.NON_TABBED_PILOT:
p.add(pPan, BorderLayout.CENTER);
break;
case "Weapon":
case UnitDisplay.NON_TABBED_WEAPON:
p.add(wPan, BorderLayout.CENTER);
break;
case "System":
case UnitDisplay.NON_TABBED_SYSTEM:
p.add(sPan, BorderLayout.CENTER);
break;
case "Extra":
case UnitDisplay.NON_TABBED_EXTRA:
p.add(ePan, BorderLayout.CENTER);
break;
case "Armor":
case UnitDisplay.NON_TABBED_ARMOR:
p.add(aPan, BorderLayout.CENTER);
break;
}
Expand Down

0 comments on commit aa3a84a

Please sign in to comment.