From 2ff2f4c9b3b2d876d5124ec54e2c9fcbee3dd601 Mon Sep 17 00:00:00 2001 From: Hellfish Date: Fri, 30 Nov 2012 07:12:44 +0000 Subject: [PATCH] *Made Vanguard tab panel conform (a little) better to skin theme.Unfortunately, due to *clenches fist* Swing some out of place code had to be added because you can't specify colors for certain parts of the JTabbedPane component in it's actual class because that would make too much sense. --- .gitattributes | 1 + src/main/java/forge/control/FControl.java | 7 +++++++ .../forge/gui/home/variant/VSubmenuVanguard.java | 16 ++-------------- src/main/java/forge/gui/toolbox/FTabbedPane.java | 15 +++++++++++++++ 4 files changed, 25 insertions(+), 14 deletions(-) create mode 100644 src/main/java/forge/gui/toolbox/FTabbedPane.java diff --git a/.gitattributes b/.gitattributes index 62481c957a9..0c577447b9d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -13292,6 +13292,7 @@ src/main/java/forge/gui/toolbox/FProgressBar.java -text src/main/java/forge/gui/toolbox/FRadioButton.java -text src/main/java/forge/gui/toolbox/FScrollPane.java -text src/main/java/forge/gui/toolbox/FSkin.java -text +src/main/java/forge/gui/toolbox/FTabbedPane.java -text src/main/java/forge/gui/toolbox/FTextArea.java -text src/main/java/forge/gui/toolbox/FTextField.java -text src/main/java/forge/gui/toolbox/SaveOpenDialog.java -text diff --git a/src/main/java/forge/control/FControl.java b/src/main/java/forge/control/FControl.java index c22859c2f2e..c8b88887814 100644 --- a/src/main/java/forge/control/FControl.java +++ b/src/main/java/forge/control/FControl.java @@ -29,6 +29,7 @@ import java.util.List; import javax.swing.ImageIcon; import javax.swing.JLayeredPane; import javax.swing.SwingUtilities; +import javax.swing.UIManager; import javax.swing.WindowConstants; import forge.Singletons; @@ -145,6 +146,12 @@ public enum FControl { public void initialize() { // Preloads skin components (using progress bar). FSkin.loadFull(); + + //This must be done here or at least between the skin being loaded and any FTabbedPanes being created. + //Why,Swing? Why is this not a property of JTabbbedPane? + UIManager.put("TabbedPane.selected", FSkin.getColor(FSkin.Colors.CLR_ACTIVE)); + UIManager.put("TabbedPane.contentOpaque", FSkin.getColor(FSkin.Colors.CLR_THEME)); + UIManager.put("TabbedPane.unselectedBackground", FSkin.getColor(FSkin.Colors.CLR_THEME2)); // Does not use progress bar, due to be deprecated with battlefield refactoring. CardFaceSymbols.loadImages(); diff --git a/src/main/java/forge/gui/home/variant/VSubmenuVanguard.java b/src/main/java/forge/gui/home/variant/VSubmenuVanguard.java index 46195be505b..f306a708cd2 100644 --- a/src/main/java/forge/gui/home/variant/VSubmenuVanguard.java +++ b/src/main/java/forge/gui/home/variant/VSubmenuVanguard.java @@ -2,34 +2,21 @@ package forge.gui.home.variant; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Vector; -import javax.swing.AbstractButton; import javax.swing.ButtonGroup; -import javax.swing.ButtonModel; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JScrollPane; -import javax.swing.JTabbedPane; import javax.swing.ScrollPaneConstants; -import javax.swing.SwingConstants; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import net.miginfocom.swing.MigLayout; -import forge.card.CardCoreType; -import forge.card.CardRules; -import forge.card.CardRulesPredicates; import forge.game.player.PlayerType; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; @@ -47,6 +34,7 @@ import forge.gui.toolbox.FPanel; import forge.gui.toolbox.FRadioButton; import forge.gui.toolbox.FScrollPane; import forge.gui.toolbox.FSkin; +import forge.gui.toolbox.FTabbedPane; import forge.item.CardDb; import forge.item.CardPrinted; @@ -80,7 +68,7 @@ public enum VSubmenuVanguard implements IVSubmenu { ////////////////////////////// - private final JTabbedPane tabPane = new JTabbedPane(); + private final FTabbedPane tabPane = new FTabbedPane(); private final List playerPanels = new ArrayList(); private final List deckChoosers = new ArrayList(); private final List avatarLists = new ArrayList(); diff --git a/src/main/java/forge/gui/toolbox/FTabbedPane.java b/src/main/java/forge/gui/toolbox/FTabbedPane.java new file mode 100644 index 00000000000..d930ad674c3 --- /dev/null +++ b/src/main/java/forge/gui/toolbox/FTabbedPane.java @@ -0,0 +1,15 @@ +package forge.gui.toolbox; + +import javax.swing.JTabbedPane; + +/** + * TODO: Write javadoc for this type. + * + */ +public class FTabbedPane extends JTabbedPane { + + public FTabbedPane() { + this.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME)); + this.setForeground(FSkin.getColor(FSkin.Colors.CLR_TEXT)); + } +}