From c1e72c380b688b960af5534a178d43a41f3e7d28 Mon Sep 17 00:00:00 2001 From: drdev Date: Tue, 4 Feb 2014 04:35:42 +0000 Subject: [PATCH] Prevent unnecessary refresh when setting up Image View groupBy/pileBy --- .../gui/toolbox/itemmanager/ItemManager.java | 4 ++-- .../toolbox/itemmanager/views/ImageView.java | 20 +++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) 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 0ae32c9c5c1..b34ca9f4cb7 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 @@ -294,8 +294,8 @@ public abstract class ItemManager extends JPanel { } public void setup(final Map cols, GroupDef groupBy, ColumnDef pileBy) { this.listView.setup(cols); - this.imageView.setGroupBy(groupBy); - this.imageView.setPileBy(pileBy); + this.imageView.setGroupBy(groupBy, true); + this.imageView.setPileBy(pileBy, true); } public void setViewIndex(int index) { diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java index 63bd2e0b1ce..d7d6f4ba2f3 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java @@ -148,12 +148,16 @@ public class ImageView extends ItemView { } }); groups.add(new Group("")); //add default group + getScroller().setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); } public GroupDef getGroupBy() { return groupBy; } public void setGroupBy(GroupDef groupBy0) { + setGroupBy(groupBy, false); + } + public void setGroupBy(GroupDef groupBy0, boolean forSetup) { if (groupBy == groupBy0) { return; } groupBy = groupBy0; @@ -168,19 +172,23 @@ public class ImageView extends ItemView { } } - refresh(this.getSelectedItems(), this.getSelectedIndex()); + if (!forSetup) { + refresh(this.getSelectedItems(), this.getSelectedIndex()); + } } public ColumnDef getPileBy() { return pileBy; } public void setPileBy(ColumnDef pileBy0) { + setPileBy(pileBy0, false); + } + public void setPileBy(ColumnDef pileBy0, boolean forSetup) { + if (pileBy == pileBy0) { return; } pileBy = pileBy0; - if (pileBy == null) { - getScroller().setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - } - else { - getScroller().setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); + + if (!forSetup) { + refresh(this.getSelectedItems(), this.getSelectedIndex()); } }