From 06f33d21ee07eb69c1e2dd54e0afc3162091e9bc Mon Sep 17 00:00:00 2001 From: drdev Date: Sat, 15 Feb 2014 18:00:22 +0000 Subject: [PATCH] Support horizontal scroll button for option panel --- .../src/main/java/forge/gui/toolbox/FScrollPane.java | 12 ++++++++++++ .../gui/toolbox/itemmanager/views/ItemView.java | 12 +++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/forge-gui/src/main/java/forge/gui/toolbox/FScrollPane.java b/forge-gui/src/main/java/forge/gui/toolbox/FScrollPane.java index 1d563d0bca1..48d87d1c58d 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/FScrollPane.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/FScrollPane.java @@ -55,6 +55,18 @@ public class FScrollPane extends SkinnedScrollPane { } } + @Override + public void setVisible(boolean visible0) { + super.setVisible(visible0); + if (arrowButtons != null && !visible0) { //ensure arrow buttons hidden if scroll pane hidden + for (ArrowButton arrowButton : arrowButtons) { + if (arrowButton != null) { + FAbsolutePositioner.SINGLETON_INSTANCE.hide(arrowButton); + } + } + } + } + @Override public void paint(Graphics g) { super.paint(g); diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ItemView.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ItemView.java index 95c117da19d..3e6a8f6975f 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ItemView.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ItemView.java @@ -2,21 +2,23 @@ package forge.gui.toolbox.itemmanager.views; import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FScrollPane; +import forge.gui.toolbox.FScrollPanel; import forge.gui.toolbox.FSkin; import forge.gui.toolbox.FSkin.SkinColor; import forge.gui.toolbox.FSkin.SkinImage; -import forge.gui.toolbox.FSkin.SkinnedPanel; import forge.gui.toolbox.ToolTipListener; import forge.gui.toolbox.itemmanager.ItemManager; import forge.gui.toolbox.itemmanager.ItemManagerModel; import forge.item.InventoryItem; import net.miginfocom.swing.MigLayout; + import org.apache.commons.lang3.CharUtils; import org.apache.commons.lang3.StringUtils; import javax.swing.*; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; + import java.awt.*; import java.awt.event.*; import java.util.ArrayList; @@ -30,7 +32,11 @@ public abstract class ItemView { protected final ItemManagerModel model; private final FScrollPane scroller; private final FLabel button; - private final SkinnedPanel pnlOptions = new SkinnedPanel(new MigLayout("insets 3 1 0 1, gap 3 4, hidemode 3")); + private final FScrollPanel pnlOptions = new FScrollPanel( + new MigLayout("insets 3 1 0 1, gap 3 4, hidemode 3"), true, + ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER, + ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); + private int heightBackup; private boolean isIncrementalSearchActive = false; @@ -105,7 +111,7 @@ public abstract class ItemView { return this.scroller; } - public SkinnedPanel getPnlOptions() { + public FScrollPanel getPnlOptions() { return pnlOptions; }