mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
Fix so hovering cards in FDeckViewer shows Details/Picture in dialog as expected
This commit is contained in:
@@ -25,7 +25,9 @@ import forge.gui.toolbox.FButton;
|
||||
import forge.gui.toolbox.FOptionPane;
|
||||
import forge.gui.toolbox.itemmanager.CardManager;
|
||||
import forge.gui.toolbox.itemmanager.ItemManagerContainer;
|
||||
import forge.gui.toolbox.itemmanager.ItemManagerModel;
|
||||
import forge.gui.toolbox.itemmanager.views.GroupDef;
|
||||
import forge.gui.toolbox.itemmanager.views.ImageView;
|
||||
import forge.gui.toolbox.itemmanager.views.ItemColumn;
|
||||
import forge.gui.toolbox.itemmanager.views.SColumnUtil;
|
||||
import forge.gui.toolbox.itemmanager.views.ColumnDef;
|
||||
@@ -56,7 +58,21 @@ public class FDeckViewer extends FDialog {
|
||||
private FDeckViewer(Deck deck0) {
|
||||
this.deck = deck0;
|
||||
this.setTitle(deck.getName());
|
||||
this.cardManager = new CardManager(false);
|
||||
this.cardManager = new CardManager(false) {
|
||||
@Override //show hovered card in Image View in dialog instead of main Detail/Picture panes
|
||||
protected ImageView<PaperCard> createImageView(final ItemManagerModel<PaperCard> model0) {
|
||||
return new ImageView<PaperCard>(this, model0) {
|
||||
@Override
|
||||
protected void showHoveredItem(PaperCard item) {
|
||||
Card card = Card.getCardForUi(item);
|
||||
if (card == null) { return; }
|
||||
|
||||
cardDetail.setCard(card);
|
||||
cardPicture.setCard(card);
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
this.cardManager.setPool(deck.getMain());
|
||||
this.cardManager.addSelectionListener(new ListSelectionListener() {
|
||||
@Override
|
||||
|
||||
@@ -27,7 +27,7 @@ import forge.quest.QuestWorld;
|
||||
*
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public final class CardManager extends ItemManager<PaperCard> {
|
||||
public class CardManager extends ItemManager<PaperCard> {
|
||||
public CardManager(boolean wantUnique0) {
|
||||
super(PaperCard.class, wantUnique0);
|
||||
}
|
||||
|
||||
@@ -139,13 +139,17 @@ public abstract class ItemManager<T extends InventoryItem> extends JPanel {
|
||||
this.model = new ItemManagerModel<T>(genericType0);
|
||||
|
||||
this.listView = new ItemListView<T>(this, this.model);
|
||||
this.imageView = new ImageView<T>(this, this.model);
|
||||
this.imageView = createImageView(this.model);
|
||||
|
||||
this.views.add(this.listView);
|
||||
this.views.add(this.imageView);
|
||||
this.currentView = this.listView;
|
||||
}
|
||||
|
||||
protected ImageView<T> createImageView(final ItemManagerModel<T> model0) {
|
||||
return new ImageView<T>(this, model0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize item manager if needed
|
||||
*/
|
||||
|
||||
@@ -356,12 +356,16 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
||||
if (hoveredItem == item) { return false; }
|
||||
hoveredItem = item;
|
||||
if (item != null) {
|
||||
CDetail.SINGLETON_INSTANCE.showCard(item.item);
|
||||
CPicture.SINGLETON_INSTANCE.showImage(item.item);
|
||||
showHoveredItem(item.item);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
protected void showHoveredItem(T item) {
|
||||
CDetail.SINGLETON_INSTANCE.showCard(item);
|
||||
CPicture.SINGLETON_INSTANCE.showImage(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JComponent getComponent() {
|
||||
return display;
|
||||
|
||||
Reference in New Issue
Block a user