From a405a24b9e9cf5fe1f97a11c0fb8644c37b29e53 Mon Sep 17 00:00:00 2001 From: myk Date: Tue, 19 Feb 2013 03:32:11 +0000 Subject: [PATCH] reinit deck lists for planechase and archenemy submenus so newly-created decks show up --- .gitignore | 1 + .../gui/home/variant/CSubmenuArchenemy.java | 24 +++++++++++++++++-- .../gui/home/variant/CSubmenuPlanechase.java | 23 +++++++++++++++++- .../gui/home/variant/VSubmenuArchenemy.java | 12 +--------- .../gui/home/variant/VSubmenuPlanechase.java | 13 +--------- 5 files changed, 47 insertions(+), 26 deletions(-) diff --git a/.gitignore b/.gitignore index 2e74dc49046..d8d63ae33be 100644 --- a/.gitignore +++ b/.gitignore @@ -272,6 +272,7 @@ res/decks/constructed/*.dck res/decks/draft/* res/decks/o1.bdk res/decks/plane/*.dck +res/decks/scheme/*.dck res/decks/sealed/* res/gauntlet res/images diff --git a/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java b/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java index 0ed049becc0..f97d99d1f10 100644 --- a/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java +++ b/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java @@ -4,6 +4,8 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; +import java.util.Vector; + import javax.swing.SwingUtilities; import javax.swing.SwingWorker; @@ -28,6 +30,7 @@ import forge.gui.deckeditor.controllers.CEditorVariant; import forge.gui.framework.EDocID; import forge.gui.framework.ICDoc; import forge.gui.toolbox.FDeckChooser; +import forge.gui.toolbox.FList; import forge.item.CardPrinted; import forge.properties.ForgePreferences; import forge.properties.ForgePreferences.FPref; @@ -50,9 +53,26 @@ public enum CSubmenuArchenemy implements ICDoc { */ @Override public void update() { - // Nothing to see here... - } + // reinit deck list and restore last selections (if any) + FList deckList = VSubmenuArchenemy.SINGLETON_INSTANCE.getArchenemySchemes(); + Vector listData = new Vector(); + listData.add("Random"); + listData.add("Generate"); + for (Deck schemeDeck : Singletons.getModel().getDecks().getScheme()) { + listData.add(schemeDeck); + } + Object val = deckList.getSelectedValue(); + deckList.setListData(listData); + if (null != val) { + deckList.setSelectedValue(val, true); + } + + if (-1 == deckList.getSelectedIndex()) { + deckList.setSelectedIndex(0); + } + } + /* (non-Javadoc) * @see forge.gui.home.ICSubmenu#initialize() */ diff --git a/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java b/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java index d0f64d7e8cb..09679eb84c6 100644 --- a/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java +++ b/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java @@ -4,6 +4,8 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; +import java.util.Vector; + import javax.swing.SwingUtilities; import javax.swing.SwingWorker; @@ -28,6 +30,7 @@ import forge.gui.deckeditor.controllers.CEditorVariant; import forge.gui.framework.EDocID; import forge.gui.framework.ICDoc; import forge.gui.toolbox.FDeckChooser; +import forge.gui.toolbox.FList; import forge.item.CardPrinted; import forge.properties.ForgePreferences; import forge.properties.ForgePreferences.FPref; @@ -50,7 +53,25 @@ public enum CSubmenuPlanechase implements ICDoc { */ @Override public void update() { - // Nothing to see here... + // reinit deck lists and restore last selections (if any) + for (FList deckList : VSubmenuPlanechase.SINGLETON_INSTANCE.getPlanarDeckLists()) { + Vector listData = new Vector(); + listData.add("Random"); + listData.add("Generate"); + for (Deck planarDeck : Singletons.getModel().getDecks().getPlane()) { + listData.add(planarDeck); + } + + Object val = deckList.getSelectedValue(); + deckList.setListData(listData); + if (null != val) { + deckList.setSelectedValue(val, true); + } + + if (-1 == deckList.getSelectedIndex()) { + deckList.setSelectedIndex(0); + } + } } /* (non-Javadoc) diff --git a/src/main/java/forge/gui/home/variant/VSubmenuArchenemy.java b/src/main/java/forge/gui/home/variant/VSubmenuArchenemy.java index 57d211ba5a1..17a56235908 100644 --- a/src/main/java/forge/gui/home/variant/VSubmenuArchenemy.java +++ b/src/main/java/forge/gui/home/variant/VSubmenuArchenemy.java @@ -4,7 +4,6 @@ import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.ArrayList; import java.util.List; -import java.util.Vector; import javax.swing.ButtonGroup; import javax.swing.JButton; @@ -118,7 +117,7 @@ public enum VSubmenuArchenemy implements IVSubmenu { } settingsPanel.add(radioPane, "span 1 2"); settingsPanel.add(cbUseDefaultSchemes); - settingsPanel.add(lblEditor); + settingsPanel.add(lblEditor, "w pref+24, h pref+8"); tabPane.add("Settings", settingsPanel); for (Deck schemeDeck : Singletons.getModel().getDecks().getScheme()) { @@ -142,15 +141,6 @@ public enum VSubmenuArchenemy implements IVSubmenu { tempPanel.add(new FLabel.Builder().text("Select Scheme deck:").build(), "flowy"); - Vector listData = new Vector(); - listData.add("Random"); - listData.add("Generate"); - for (Deck schemeDeck : Singletons.getModel().getDecks().getScheme()) { - listData.add(schemeDeck); - } - - archenemySchemes.setListData(listData); - archenemySchemes.setSelectedIndex(0); archenemySchemes.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); JScrollPane scrSchemes = new FScrollPane(archenemySchemes, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); diff --git a/src/main/java/forge/gui/home/variant/VSubmenuPlanechase.java b/src/main/java/forge/gui/home/variant/VSubmenuPlanechase.java index 613f86d4f90..55a7673274e 100644 --- a/src/main/java/forge/gui/home/variant/VSubmenuPlanechase.java +++ b/src/main/java/forge/gui/home/variant/VSubmenuPlanechase.java @@ -4,7 +4,6 @@ import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.ArrayList; import java.util.List; -import java.util.Vector; import javax.swing.ButtonGroup; import javax.swing.JButton; @@ -15,7 +14,6 @@ import javax.swing.JScrollPane; import javax.swing.ScrollPaneConstants; import net.miginfocom.swing.MigLayout; -import forge.Singletons; import forge.deck.Deck; import forge.game.player.PlayerType; import forge.gui.framework.DragCell; @@ -119,7 +117,7 @@ public enum VSubmenuPlanechase implements IVSubmenu { } settingsPanel.add(radioPane, "span 1 2"); settingsPanel.add(cbUseDefaultPlanes); - settingsPanel.add(lblEditor); + settingsPanel.add(lblEditor, "w pref+24, h pref+8"); tabPane.add("Settings", settingsPanel); //Player panels (Human + 7 AIs) @@ -138,15 +136,6 @@ public enum VSubmenuPlanechase implements IVSubmenu { tempPlanarDeckList = new FList(); - Vector listData = new Vector(); - listData.add("Random"); - listData.add("Generate"); - for (Deck planarDeck : Singletons.getModel().getDecks().getPlane()) { - listData.add(planarDeck); - } - - tempPlanarDeckList.setListData(listData); - tempPlanarDeckList.setSelectedIndex(0); tempPlanarDeckList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); JScrollPane scrPlanes = new FScrollPane(tempPlanarDeckList, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);