diff --git a/.gitattributes b/.gitattributes index ad04c7adbbb..7f1d65a68a2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -10989,9 +10989,11 @@ src/main/java/forge/view/swing/package-info.java svneol=native#text/plain src/main/java/forge/view/toolbox/CardViewer.java -text src/main/java/forge/view/toolbox/DeckLister.java -text src/main/java/forge/view/toolbox/FButton.java -text +src/main/java/forge/view/toolbox/FList.java -text src/main/java/forge/view/toolbox/FOverlay.java -text src/main/java/forge/view/toolbox/FPanel.java -text src/main/java/forge/view/toolbox/FRoundedPanel.java -text +src/main/java/forge/view/toolbox/FScrollPane.java -text src/main/java/forge/view/toolbox/FSkin.java -text src/main/java/forge/view/toolbox/FVerticalTabPanel.java -text src/main/java/forge/view/toolbox/WinLoseFrame.java -text diff --git a/res/images/skins/default/sprite.png b/res/images/skins/default/sprite.png index 159e235e9ba..5a946e6c7fa 100644 Binary files a/res/images/skins/default/sprite.png and b/res/images/skins/default/sprite.png differ diff --git a/src/main/java/forge/view/home/HomeTopLevel.java b/src/main/java/forge/view/home/HomeTopLevel.java index 80d78a39cc4..330ed316cff 100644 --- a/src/main/java/forge/view/home/HomeTopLevel.java +++ b/src/main/java/forge/view/home/HomeTopLevel.java @@ -90,7 +90,7 @@ public class HomeTopLevel extends FPanel { pnlMenu.setBackground(skin.getColor("theme")); pnlContent = new FRoundedPanel(); - pnlContent.setBackground(skin.getColor("zebra")); + pnlContent.setBackground(skin.getColor("theme")); pnlContent.setLayout(new MigLayout("insets 0, gap 0")); btnConstructed = new FButton(); diff --git a/src/main/java/forge/view/toolbox/FList.java b/src/main/java/forge/view/toolbox/FList.java new file mode 100644 index 00000000000..7236d55d472 --- /dev/null +++ b/src/main/java/forge/view/toolbox/FList.java @@ -0,0 +1,79 @@ +package forge.view.toolbox; + +import java.awt.Component; +import java.awt.Font; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +import javax.swing.DefaultListCellRenderer; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.ListCellRenderer; +import javax.swing.border.EmptyBorder; + +import forge.AllZone; +/** + * A JList object using Forge skin properties. + * + */ +@SuppressWarnings("serial") +public class FList extends JList { + private FSkin skin; + /** + * A JList object using Forge skin properties. + * This constructor assumes list contents are null and will be set later. + * + */ + public FList() { + this(null); + } + + /** + * A JList object using Forge skin properties. + * This constructor may be passed an object array of list contents. + * + * @param o0 {@link java.lang.Object}[] + */ + public FList(Object[] o0) { + super(o0); + skin = AllZone.getSkin(); + + setOpaque(false); + + ListCellRenderer renderer = new ComplexCellRenderer(); + setCellRenderer(renderer); + } + + private class ComplexCellRenderer implements ListCellRenderer { + private DefaultListCellRenderer defaultRenderer = new DefaultListCellRenderer(); + + public Component getListCellRendererComponent(JList lst0, Object val0, int i0, + boolean isSelected, boolean cellHasFocus) { + + JLabel lblItem = (JLabel) defaultRenderer.getListCellRendererComponent( + lst0, val0, i0, isSelected, cellHasFocus); + + lblItem.setBorder(new EmptyBorder(4, 3, 4, 3)); + lblItem.setBackground(skin.getColor("active")); + lblItem.setForeground(skin.getColor("text")); + lblItem.setFont(skin.getFont1().deriveFont(Font.BOLD, 13)); + lblItem.setOpaque(isSelected); + + lblItem.addMouseListener(new MouseAdapter() { + @Override + public void mouseEntered(MouseEvent e) { + System.out.println("firing asdf"); + setOpaque(true); + setBackground(skin.getColor("hover")); + } + @Override + public void mouseExited(MouseEvent e) { + setOpaque(false); + setBackground(null); + } + }); + + return lblItem; + } + } +} diff --git a/src/main/java/forge/view/toolbox/FScrollPane.java b/src/main/java/forge/view/toolbox/FScrollPane.java new file mode 100644 index 00000000000..247a015bb02 --- /dev/null +++ b/src/main/java/forge/view/toolbox/FScrollPane.java @@ -0,0 +1,31 @@ +package forge.view.toolbox; + +import java.awt.Component; + +import javax.swing.JScrollPane; +import javax.swing.border.LineBorder; + +import forge.AllZone; + +/** + * A very basic extension of JScrollPane to centralize common styling changes. + * + */ +@SuppressWarnings("serial") +public class FScrollPane extends JScrollPane { + private FSkin skin; + /** + * A very basic extension of JScrollPane to centralize common styling changes. + * + * @param c0 {@link java.awt.Component} + */ + public FScrollPane(Component c0) { + super(c0); + //setOpaque(false); + getViewport().setOpaque(false); + + skin = AllZone.getSkin(); + setBorder(new LineBorder(skin.getColor("borders"), 1)); + setBackground(skin.getColor("zebra")); + } +}