diff --git a/forge-gui/src/main/java/forge/gui/ImportDialog.java b/forge-gui/src/main/java/forge/gui/ImportDialog.java index 44db4a66c89..a9fb8dddd5f 100644 --- a/forge-gui/src/main/java/forge/gui/ImportDialog.java +++ b/forge-gui/src/main/java/forge/gui/ImportDialog.java @@ -353,7 +353,7 @@ public class ImportDialog { }); _unknownDeckLabel = new FLabel.Builder().text("Treat unknown decks as:").build(); unknownDeckPanel.add(_unknownDeckLabel); - unknownDeckPanel.add(_unknownDeckCombo.getComponent()); + _unknownDeckCombo.addTo(unknownDeckPanel); knownDeckPanel.add(unknownDeckPanel, "span"); cbPanel.add(knownDeckPanel, "aligny top"); diff --git a/forge-gui/src/main/java/forge/gui/deckchooser/FDeckChooser.java b/forge-gui/src/main/java/forge/gui/deckchooser/FDeckChooser.java index 671b9a14d6b..6b2b0124293 100644 --- a/forge-gui/src/main/java/forge/gui/deckchooser/FDeckChooser.java +++ b/forge-gui/src/main/java/forge/gui/deckchooser/FDeckChooser.java @@ -268,15 +268,11 @@ public class FDeckChooser extends JPanel implements IDecksComboBoxListener { return new RegisteredPlayer(getDeck()); } - public final boolean isAi() { - return isAi; - } - public void populate() { setupUI(); removeAll(); this.setLayout(new MigLayout("insets 0, gap 0, flowy")); - this.add(decksComboBox.getComponent(), "w 10:100%, h 30px!, gapbottom 5px"); + decksComboBox.addTo(this, "w 10:100%, h 30px!, gapbottom 5px"); this.add(new ItemManagerContainer(lstDecks), "w 10:100%, growy, pushy"); this.add(btnRandom, "w 10:100%, h 30px!, gaptop 5px"); if (isShowing()) { @@ -285,7 +281,11 @@ public class FDeckChooser extends JPanel implements IDecksComboBoxListener { } } - public void setIsAiDeck(boolean isAiDeck) { + public final boolean isAi() { + return isAi; + } + + public void setIsAi(boolean isAiDeck) { this.isAi = isAiDeck; } diff --git a/forge-gui/src/main/java/forge/gui/deckeditor/DeckImport.java b/forge-gui/src/main/java/forge/gui/deckeditor/DeckImport.java index 3fe54167380..f9b6fa93d73 100644 --- a/forge-gui/src/main/java/forge/gui/deckeditor/DeckImport.java +++ b/forge-gui/src/main/java/forge/gui/deckeditor/DeckImport.java @@ -43,7 +43,7 @@ import forge.deck.DeckSection; import forge.gui.deckeditor.controllers.ACEditorBase; import forge.gui.toolbox.FButton; import forge.gui.toolbox.FCheckBox; -import forge.gui.toolbox.FComboBoxWrapper; +import forge.gui.toolbox.FComboBox; import forge.gui.toolbox.FHtmlViewer; import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FOptionPane; @@ -98,8 +98,8 @@ public class DeckImport ex private final FCheckBox newEditionCheck = new FCheckBox("Import latest version of card", true); private final FCheckBox dateTimeCheck = new FCheckBox("Use only sets released before:", false); - private final FComboBoxWrapper monthDropdown = new FComboBoxWrapper<>(); - private final FComboBoxWrapper yearDropdown = new FComboBoxWrapper<>(); + private final FComboBox monthDropdown = new FComboBox(); //don't need wrappers since skin can't change while this dialog is open + private final FComboBox yearDropdown = new FComboBox(); /** The tokens. */ private final List tokens = new ArrayList(); @@ -135,8 +135,8 @@ public class DeckImport ex this.add(this.newEditionCheck, "cell 0 1, w 50%, ax c"); this.add(this.dateTimeCheck, "cell 0 2, w 50%, ax c"); - this.add(monthDropdown.getComponent(), "cell 0 3, w 20%, ax left, split 2, pad 0 4 0 0"); - this.add(yearDropdown.getComponent(), "w 15%"); + this.add(monthDropdown, "cell 0 3, w 20%, ax left, split 2, pad 0 4 0 0"); + this.add(yearDropdown, "w 15%"); fillDateDropdowns(); this.add(this.scrollOutput, "cell 1 0, w 50%, growy, pushy"); @@ -211,9 +211,9 @@ public class DeckImport ex Element e; DeckRecognizer recognizer = new DeckRecognizer(newEditionCheck.isSelected(), Singletons.getMagicDb().getCommonCards()); - if(dateTimeCheck.isSelected()) - recognizer.setDateConstraint(monthDropdown.getSelectedIndex(), yearDropdown.getSelectedItem()); - + if (dateTimeCheck.isSelected()) { + recognizer.setDateConstraint(monthDropdown.getSelectedIndex(), (Integer)yearDropdown.getSelectedItem()); + } while ((e = it.next()) != null) { if (!e.isLeaf()) { continue; diff --git a/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorDraftingProcess.java b/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorDraftingProcess.java index 65d9e74be90..b42dbe0466e 100644 --- a/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorDraftingProcess.java +++ b/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorDraftingProcess.java @@ -20,7 +20,6 @@ package forge.gui.deckeditor.controllers; import java.util.Map.Entry; import forge.Singletons; -import forge.card.CardEdition; import forge.card.MagicColor; import forge.deck.Deck; import forge.deck.DeckGroup; diff --git a/forge-gui/src/main/java/forge/gui/home/quest/VSubmenuChallenges.java b/forge-gui/src/main/java/forge/gui/home/quest/VSubmenuChallenges.java index 125fb4b898f..a0e01e7bf90 100644 --- a/forge-gui/src/main/java/forge/gui/home/quest/VSubmenuChallenges.java +++ b/forge-gui/src/main/java/forge/gui/home/quest/VSubmenuChallenges.java @@ -111,7 +111,7 @@ public enum VSubmenuChallenges implements IVSubmenu, IVQuest pnlStats.add(lblWorld, constraints); pnlStats.add(cbPlant, constraints); pnlStats.add(cbCharm, constraints); - pnlStats.add(cbxPet.getComponent(), constraints); + cbxPet.addTo(pnlStats, constraints); pnlStats.add(lblZep, "w 130px!, h 60px!, gap 0 0 0 5px"); pnlStats.setOpaque(false); } diff --git a/forge-gui/src/main/java/forge/gui/home/quest/VSubmenuDuels.java b/forge-gui/src/main/java/forge/gui/home/quest/VSubmenuDuels.java index 853fb591382..88a18c44367 100644 --- a/forge-gui/src/main/java/forge/gui/home/quest/VSubmenuDuels.java +++ b/forge-gui/src/main/java/forge/gui/home/quest/VSubmenuDuels.java @@ -109,7 +109,7 @@ public enum VSubmenuDuels implements IVSubmenu, IVQuestStats { pnlStats.add(lblWorld, constraints); pnlStats.add(cbPlant, constraints); pnlStats.add(cbCharm, constraints); - pnlStats.add(cbxPet.getComponent(), constraints); + cbxPet.addTo(pnlStats, constraints); pnlStats.setOpaque(false); } diff --git a/forge-gui/src/main/java/forge/gui/home/quest/VSubmenuQuestData.java b/forge-gui/src/main/java/forge/gui/home/quest/VSubmenuQuestData.java index 0bf7e6c0919..32db5c89339 100644 --- a/forge-gui/src/main/java/forge/gui/home/quest/VSubmenuQuestData.java +++ b/forge-gui/src/main/java/forge/gui/home/quest/VSubmenuQuestData.java @@ -322,28 +322,28 @@ public enum VSubmenuQuestData implements IVSubmenu { pnlRestrictions.add(lblStartingPool, constraints + lblWidthStart); - pnlRestrictions.add(cbxStartingPool.getComponent(), constraints + cboWidthStart); + cbxStartingPool.addTo(pnlRestrictions, constraints + cboWidthStart); /* out of these 3 groups only one will be visible */ pnlRestrictions.add(lblUnrestricted, constraints + hidemode + "spanx 2"); pnlRestrictions.add(lblPreconDeck, constraints + lblWidthStart); - pnlRestrictions.add(cbxPreconDeck.getComponent(), constraints + cboWidthStart); + cbxPreconDeck.addTo(pnlRestrictions, constraints + cboWidthStart); pnlRestrictions.add(lblCustomDeck, constraints + lblWidthStart); - pnlRestrictions.add(cbxCustomDeck.getComponent(), constraints + cboWidthStart); // , skip 1 + cbxCustomDeck.addTo(pnlRestrictions, constraints + cboWidthStart); // , skip 1 pnlRestrictions.add(lblFormat, constraints + lblWidthStart); - pnlRestrictions.add(cbxFormat.getComponent(), constraints + cboWidthStart); // , skip 1 + cbxFormat.addTo(pnlRestrictions, constraints + cboWidthStart); // , skip 1 pnlRestrictions.add(btnDefineCustomFormat, constraints + hidemode + "spanx 2, w 240px"); // Prized cards options pnlRestrictions.add(lblPrizedCards, constraints + lblWidth); - pnlRestrictions.add(cbxPrizedCards.getComponent(), constraints + cboWidth); + cbxPrizedCards.addTo(pnlRestrictions, constraints + cboWidth); pnlRestrictions.add(lblPrizeFormat, constraints + lblWidthStart); - pnlRestrictions.add(cbxPrizeFormat.getComponent(), constraints + cboWidthStart); // , skip 1 + cbxPrizeFormat.addTo(pnlRestrictions, constraints + cboWidthStart); // , skip 1 pnlRestrictions.add(btnPrizeDefineCustomFormat, constraints + hidemode + "spanx 2, w 240px"); pnlRestrictions.add(lblPrizeSameAsStarting, constraints + hidemode + "spanx 2"); pnlRestrictions.add(lblPrizeUnrestricted, constraints + hidemode + "spanx 2"); @@ -352,10 +352,10 @@ public enum VSubmenuQuestData implements IVSubmenu { pnlRestrictions.add(lblPreferredColor, constraints + lblWidthStart); - pnlRestrictions.add(cbxPreferredColor.getComponent(), constraints + cboWidthStart + ", wrap"); + cbxPreferredColor.addTo(pnlRestrictions, constraints + cboWidthStart + ", wrap"); pnlRestrictions.add(lblStartingWorld, constraints + lblWidthStart); - pnlRestrictions.add(cbxStartingWorld.getComponent(), constraints + cboWidthStart); + cbxStartingWorld.addTo(pnlRestrictions, constraints + cboWidthStart); // cboAllowUnlocks.setOpaque(false); pnlRestrictions.setOpaque(false); diff --git a/forge-gui/src/main/java/forge/gui/home/sanctioned/VSubmenuConstructed.java b/forge-gui/src/main/java/forge/gui/home/sanctioned/VSubmenuConstructed.java index 44aef013862..f2d03506ba8 100644 --- a/forge-gui/src/main/java/forge/gui/home/sanctioned/VSubmenuConstructed.java +++ b/forge-gui/src/main/java/forge/gui/home/sanctioned/VSubmenuConstructed.java @@ -138,7 +138,7 @@ public enum VSubmenuConstructed implements IVSubmenu { variantsPanel.add(vntCommander); variantsPanel.add(vntPlanechase); variantsPanel.add(vntArchenemy); - variantsPanel.add(comboArchenemy.getComponent()); + comboArchenemy.addTo(variantsPanel); constructedFrame.add(new FScrollPanel(variantsPanel, true), "w 100%, gapbottom 10px, spanx 2, wrap"); diff --git a/forge-gui/src/main/java/forge/gui/toolbox/FComboBoxWrapper.java b/forge-gui/src/main/java/forge/gui/toolbox/FComboBoxWrapper.java index 1fbc40c181c..80f116ca27b 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/FComboBoxWrapper.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/FComboBoxWrapper.java @@ -133,7 +133,17 @@ public class FComboBoxWrapper { return this.comboBox.getAutoSizeWidth(); } - public JComponent getComponent() { //disguise as component for sake of rare places that need to access component in wrapper + public void addTo(Container container) { + this.addTo(container, null); + } + public void addTo(Container container, Object constraints0) { + container.add(this.comboBox, constraints0); + this.constraints = constraints0; + } + + //disguise as component for sake of rare places that need to access component in wrapper + //use addTo instead if you want constraints remembered after refreshing skin + public JComponent getComponent() { return this.comboBox; } diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java index 254f2746295..9a08adeb2d9 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java @@ -188,7 +188,7 @@ public abstract class ItemManager extends JPanel { this.add(this.btnFilters); this.add(this.lblCaption); this.add(this.lblRatio); - this.add(this.cbViews.getComponent()); + this.cbViews.addTo(this); this.add(this.viewScroller); final Runnable cmdAddCurrentSearch = new Runnable() { diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardSearchFilter.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardSearchFilter.java index f68e25e75b9..5440e0fa888 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardSearchFilter.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardSearchFilter.java @@ -57,7 +57,7 @@ public class CardSearchFilter extends TextSearchFilter { cbSearchMode = new FComboBoxWrapper(); cbSearchMode.addItem("in"); cbSearchMode.addItem("not in"); - widget.add(cbSearchMode.getComponent()); + cbSearchMode.addTo(widget); cbSearchMode.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent arg0) {