consolidate duplicate code into super class.
parent
d658abc70a
commit
297ed6c188
|
@ -11,7 +11,6 @@ import javax.swing.event.ListSelectionEvent;
|
||||||
import javax.swing.event.ListSelectionListener;
|
import javax.swing.event.ListSelectionListener;
|
||||||
import javax.swing.event.TableModelEvent;
|
import javax.swing.event.TableModelEvent;
|
||||||
import javax.swing.table.JTableHeader;
|
import javax.swing.table.JTableHeader;
|
||||||
import magic.data.GeneralConfig;
|
|
||||||
import magic.model.MagicCardDefinition;
|
import magic.model.MagicCardDefinition;
|
||||||
import magic.ui.FontsAndBorders;
|
import magic.ui.FontsAndBorders;
|
||||||
|
|
||||||
|
@ -31,10 +30,6 @@ public class CardTablePanelA extends CardsTablePanel {
|
||||||
public CardTablePanelA(final List<MagicCardDefinition> defs, final String title) {
|
public CardTablePanelA(final List<MagicCardDefinition> defs, final String title) {
|
||||||
super(defs, title);
|
super(defs, title);
|
||||||
|
|
||||||
if (!GeneralConfig.getInstance().isPreviewCardOnSelect()) {
|
|
||||||
table.addMouseMotionListener(new RowMouseOverListener());
|
|
||||||
}
|
|
||||||
|
|
||||||
// listener to change card image on selection
|
// listener to change card image on selection
|
||||||
table.getSelectionModel().addListSelectionListener(getTableListSelectionListener());
|
table.getSelectionModel().addListSelectionListener(getTableListSelectionListener());
|
||||||
|
|
||||||
|
@ -57,6 +52,20 @@ public class CardTablePanelA extends CardsTablePanel {
|
||||||
this(defs, "");
|
this(defs, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected MouseAdapter getRowMouseOverListener() {
|
||||||
|
return new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseMoved(final MouseEvent e) {
|
||||||
|
final Point p = e.getPoint();
|
||||||
|
final int row = table.rowAtPoint(p);
|
||||||
|
if (row != lastSelectedRow) {
|
||||||
|
lastSelectedRow = row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
private void setEmptyBackgroundColor() {
|
private void setEmptyBackgroundColor() {
|
||||||
setBackground(CardsTableStyle.getStyle().getEmptyBackgroundColor());
|
setBackground(CardsTableStyle.getStyle().getEmptyBackgroundColor());
|
||||||
}
|
}
|
||||||
|
@ -141,17 +150,6 @@ public class CardTablePanelA extends CardsTablePanel {
|
||||||
return table;
|
return table;
|
||||||
}
|
}
|
||||||
|
|
||||||
private class RowMouseOverListener extends MouseAdapter {
|
|
||||||
@Override
|
|
||||||
public void mouseMoved(final MouseEvent e) {
|
|
||||||
final Point p = e.getPoint();
|
|
||||||
final int row = table.rowAtPoint(p);
|
|
||||||
if (row != lastSelectedRow) {
|
|
||||||
lastSelectedRow = row;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean hasDoubleClickListeners() {
|
private boolean hasDoubleClickListeners() {
|
||||||
return getPropertyChangeListeners(CP_CARD_DCLICKED).length > 0;
|
return getPropertyChangeListeners(CP_CARD_DCLICKED).length > 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,6 @@ import javax.swing.event.ListSelectionEvent;
|
||||||
import javax.swing.event.ListSelectionListener;
|
import javax.swing.event.ListSelectionListener;
|
||||||
import javax.swing.event.TableModelEvent;
|
import javax.swing.event.TableModelEvent;
|
||||||
import javax.swing.table.JTableHeader;
|
import javax.swing.table.JTableHeader;
|
||||||
import magic.data.GeneralConfig;
|
|
||||||
import magic.model.MagicCardDefinition;
|
import magic.model.MagicCardDefinition;
|
||||||
import magic.model.MagicRandom;
|
import magic.model.MagicRandom;
|
||||||
import magic.ui.FontsAndBorders;
|
import magic.ui.FontsAndBorders;
|
||||||
|
@ -30,10 +29,6 @@ public class CardTablePanelB extends CardsTablePanel
|
||||||
|
|
||||||
this.isDeck = isDeck;
|
this.isDeck = isDeck;
|
||||||
|
|
||||||
if (!GeneralConfig.getInstance().isPreviewCardOnSelect()) {
|
|
||||||
table.addMouseMotionListener(new RowMouseOverListener());
|
|
||||||
}
|
|
||||||
|
|
||||||
// listener to change card image on selection
|
// listener to change card image on selection
|
||||||
table.getSelectionModel().addListSelectionListener(this);
|
table.getSelectionModel().addListSelectionListener(this);
|
||||||
|
|
||||||
|
@ -49,6 +44,19 @@ public class CardTablePanelB extends CardsTablePanel
|
||||||
setEmptyBackgroundColor();
|
setEmptyBackgroundColor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected MouseAdapter getRowMouseOverListener() {
|
||||||
|
return new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseMoved(final MouseEvent e) {
|
||||||
|
final Point p = e.getPoint();
|
||||||
|
final int row = table.rowAtPoint(p);
|
||||||
|
final MagicCardDefinition card = tableModel.getCardDef(row);
|
||||||
|
notifyCardSelectionListeners(card);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
public CardTablePanelB(List<MagicCardDefinition> defs, boolean isDeck) {
|
public CardTablePanelB(List<MagicCardDefinition> defs, boolean isDeck) {
|
||||||
this(defs, "", isDeck);
|
this(defs, "", isDeck);
|
||||||
}
|
}
|
||||||
|
@ -129,16 +137,6 @@ public class CardTablePanelB extends CardsTablePanel
|
||||||
setEmptyBackgroundColor();
|
setEmptyBackgroundColor();
|
||||||
}
|
}
|
||||||
|
|
||||||
private class RowMouseOverListener extends MouseAdapter {
|
|
||||||
@Override
|
|
||||||
public void mouseMoved(final MouseEvent e) {
|
|
||||||
final Point p = e.getPoint();
|
|
||||||
final int row = table.rowAtPoint(p);
|
|
||||||
final MagicCardDefinition card = tableModel.getCardDef(row);
|
|
||||||
notifyCardSelectionListeners(card);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addCardSelectionListener(final ICardSelectionListener listener) {
|
public void addCardSelectionListener(final ICardSelectionListener listener) {
|
||||||
cardSelectionListeners.add(listener);
|
cardSelectionListeners.add(listener);
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.swing.event.TableModelEvent;
|
import javax.swing.event.TableModelEvent;
|
||||||
import javax.swing.table.TableColumnModel;
|
import javax.swing.table.TableColumnModel;
|
||||||
|
import magic.data.GeneralConfig;
|
||||||
import magic.model.MagicCardDefinition;
|
import magic.model.MagicCardDefinition;
|
||||||
import magic.ui.widget.M.MScrollPane;
|
import magic.ui.widget.M.MScrollPane;
|
||||||
import magic.ui.widget.TexturedPanel;
|
import magic.ui.widget.TexturedPanel;
|
||||||
|
@ -13,7 +14,7 @@ import magic.ui.widget.TitleBar;
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
class CardsTablePanel extends TexturedPanel {
|
abstract class CardsTablePanel extends TexturedPanel {
|
||||||
|
|
||||||
protected final MScrollPane scrollpane = new MScrollPane();
|
protected final MScrollPane scrollpane = new MScrollPane();
|
||||||
private final TitleBar titleBar;
|
private final TitleBar titleBar;
|
||||||
|
@ -23,11 +24,20 @@ class CardsTablePanel extends TexturedPanel {
|
||||||
protected final CardTableModel tableModel;
|
protected final CardTableModel tableModel;
|
||||||
protected List<MagicCardDefinition> lastSelectedCards = new ArrayList<>();
|
protected List<MagicCardDefinition> lastSelectedCards = new ArrayList<>();
|
||||||
|
|
||||||
|
protected abstract MouseAdapter getRowMouseOverListener();
|
||||||
|
|
||||||
public CardsTablePanel(List<MagicCardDefinition> defs, String title) {
|
public CardsTablePanel(List<MagicCardDefinition> defs, String title) {
|
||||||
|
|
||||||
tableModel = new CardTableModel(defs);
|
tableModel = new CardTableModel(defs);
|
||||||
table = new CardsJTable(tableModel);
|
table = new CardsJTable(tableModel);
|
||||||
|
|
||||||
titleBar = new TitleBar(title);
|
titleBar = new TitleBar(title);
|
||||||
setTitle(title);
|
setTitle(title);
|
||||||
|
|
||||||
|
if (!GeneralConfig.getInstance().isPreviewCardOnSelect()) {
|
||||||
|
table.addMouseMotionListener(getRowMouseOverListener());
|
||||||
|
}
|
||||||
|
|
||||||
setLayout(migLayout);
|
setLayout(migLayout);
|
||||||
refreshLayout();
|
refreshLayout();
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,6 @@ import javax.swing.event.ListSelectionEvent;
|
||||||
import javax.swing.event.ListSelectionListener;
|
import javax.swing.event.ListSelectionListener;
|
||||||
import javax.swing.event.TableModelEvent;
|
import javax.swing.event.TableModelEvent;
|
||||||
import javax.swing.table.JTableHeader;
|
import javax.swing.table.JTableHeader;
|
||||||
import magic.data.GeneralConfig;
|
|
||||||
import magic.model.MagicCardDefinition;
|
import magic.model.MagicCardDefinition;
|
||||||
import magic.model.MagicDeck;
|
import magic.model.MagicDeck;
|
||||||
import magic.ui.FontsAndBorders;
|
import magic.ui.FontsAndBorders;
|
||||||
|
@ -32,10 +31,6 @@ public class DeckTablePanel extends CardsTablePanel {
|
||||||
public DeckTablePanel(final List<MagicCardDefinition> defs) {
|
public DeckTablePanel(final List<MagicCardDefinition> defs) {
|
||||||
super(defs);
|
super(defs);
|
||||||
|
|
||||||
if (!GeneralConfig.getInstance().isPreviewCardOnSelect()) {
|
|
||||||
table.addMouseMotionListener(new RowMouseOverListener());
|
|
||||||
}
|
|
||||||
|
|
||||||
// listener to change card image on selection
|
// listener to change card image on selection
|
||||||
this.listSelListener = getTableListSelectionListener();
|
this.listSelListener = getTableListSelectionListener();
|
||||||
table.getSelectionModel().addListSelectionListener(listSelListener);
|
table.getSelectionModel().addListSelectionListener(listSelListener);
|
||||||
|
@ -55,6 +50,20 @@ public class DeckTablePanel extends CardsTablePanel {
|
||||||
setEmptyBackgroundColor();
|
setEmptyBackgroundColor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected MouseAdapter getRowMouseOverListener() {
|
||||||
|
return new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseMoved(final MouseEvent e) {
|
||||||
|
final Point p = e.getPoint();
|
||||||
|
final int row = table.rowAtPoint(p);
|
||||||
|
if (row != lastSelectedRow) {
|
||||||
|
lastSelectedRow = row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
private void setEmptyBackgroundColor() {
|
private void setEmptyBackgroundColor() {
|
||||||
setBackground(CardsTableStyle.getStyle().getEmptyBackgroundColor());
|
setBackground(CardsTableStyle.getStyle().getEmptyBackgroundColor());
|
||||||
}
|
}
|
||||||
|
@ -147,17 +156,6 @@ public class DeckTablePanel extends CardsTablePanel {
|
||||||
scrollpane.setViewportView(table);
|
scrollpane.setViewportView(table);
|
||||||
}
|
}
|
||||||
|
|
||||||
private class RowMouseOverListener extends MouseAdapter {
|
|
||||||
@Override
|
|
||||||
public void mouseMoved(final MouseEvent e) {
|
|
||||||
final Point p = e.getPoint();
|
|
||||||
final int row = table.rowAtPoint(p);
|
|
||||||
if (row != lastSelectedRow) {
|
|
||||||
lastSelectedRow = row;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void selectFirstRow() {
|
public void selectFirstRow() {
|
||||||
if (table.getRowCount() > 0) {
|
if (table.getRowCount() > 0) {
|
||||||
table.setRowSelectionInterval(0, 0);
|
table.setRowSelectionInterval(0, 0);
|
||||||
|
|
Loading…
Reference in New Issue