diff --git a/Mage.Client/src/main/java/mage/client/cards/CardsList.form b/Mage.Client/src/main/java/mage/client/cards/CardsList.form
index f7a44c79007..8a98c14b11c 100644
--- a/Mage.Client/src/main/java/mage/client/cards/CardsList.form
+++ b/Mage.Client/src/main/java/mage/client/cards/CardsList.form
@@ -27,15 +27,15 @@
-
+
-
-
+
+
@@ -62,10 +62,14 @@
-
+
-
+
+
+
+
+
@@ -76,7 +80,9 @@
+
+
@@ -112,6 +118,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Mage.Client/src/main/java/mage/client/cards/CardsList.java b/Mage.Client/src/main/java/mage/client/cards/CardsList.java
index ba565a752dd..15b58cc3938 100644
--- a/Mage.Client/src/main/java/mage/client/cards/CardsList.java
+++ b/Mage.Client/src/main/java/mage/client/cards/CardsList.java
@@ -77,9 +77,8 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
public CardsList() {
initComponents();
makeTransparent();
- //initListViewComponents();
- //currentView = mainModel; // by default we have List (table) view
- currentView = this;
+ initListViewComponents();
+ currentView = mainModel; // by default we use List View
}
public void makeTransparent() {
@@ -109,12 +108,12 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
mainTable.getColumnModel().getColumn(6).setPreferredWidth(15);
mainTable.getColumnModel().getColumn(7).setPreferredWidth(15);
- //jScrollPane1.setViewportView(mainTable);
+ jScrollPane1.setViewportView(mainTable);
mainTable.setOpaque(false);
- //cbSortBy.setEnabled(false);
- //chkPiles.setEnabled(false);
+ cbSortBy.setEnabled(false);
+ chkPiles.setEnabled(false);
mainTable.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
@@ -133,6 +132,10 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
});
}
+ public ICardGrid getMainModel() {
+ return mainModel;
+ }
+
public List asList(final int[] is) {
List list = new ArrayList();
for (int i : is) list.add(i);
@@ -140,10 +143,17 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
}
public void loadCards(CardsView showCards, BigCard bigCard, UUID gameId) {
+ this.cards = showCards;
+ this.bigCard = bigCard;
+ this.gameId = gameId;
currentView.loadCards(showCards, null, false, bigCard, gameId);
//loadCards(showCards, null, false, bigCard, gameId);
}
+ private void redrawCards() {
+ currentView.loadCards(cards, null, false, bigCard, gameId);
+ }
+
public void drawCards(SortBy sortBy, boolean piles) {
int maxWidth = this.getParent().getWidth();
int numColumns = maxWidth / Config.dimensions.frameWidth;
@@ -250,7 +260,7 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
public void addCardEventListener(Listener listener) {
cardEventSource.addListener(listener);
- //mainModel.addCardEventListener(listener);
+ mainModel.addCardEventListener(listener);
}
public void drawCards(SortBy sortBy) {
@@ -268,6 +278,7 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
public void clearCardEventListeners() {
cardEventSource.clearListeners();
+ mainModel.clearCardEventListeners();
}
/** This method is called from within the constructor to
@@ -286,6 +297,8 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
lblCount = new javax.swing.JLabel();
lblCreatureCount = new javax.swing.JLabel();
lblLandCount = new javax.swing.JLabel();
+ jToggleListView = new javax.swing.JToggleButton();
+ jToggleCardView = new javax.swing.JToggleButton();
chkPiles = new javax.swing.JCheckBox();
setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
@@ -306,6 +319,29 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
lblLandCount.setText("Land Count");
+ jToggleListView.setSelected(true);
+ jToggleListView.setText("ListView");
+ jToggleListView.setFocusable(false);
+ jToggleListView.setMaximumSize(new java.awt.Dimension(45, 21));
+ jToggleListView.setMinimumSize(new java.awt.Dimension(54, 21));
+ jToggleListView.setPreferredSize(new java.awt.Dimension(45, 21));
+ jToggleListView.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jToggleListViewActionPerformed(evt);
+ }
+ });
+
+ jToggleCardView.setText("CardView");
+ jToggleCardView.setMaximumSize(new java.awt.Dimension(77, 21));
+ jToggleCardView.setMinimumSize(new java.awt.Dimension(77, 21));
+ jToggleCardView.setOpaque(true);
+ jToggleCardView.setPreferredSize(new java.awt.Dimension(77, 21));
+ jToggleCardView.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jToggleCardViewActionPerformed(evt);
+ }
+ });
+
chkPiles.setText("Piles");
chkPiles.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -325,8 +361,12 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
.addComponent(lblLandCount, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(chkPiles)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(cbSortBy, 0, 0, Short.MAX_VALUE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(jToggleListView, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(cbSortBy, 0, 0, Short.MAX_VALUE))
+ .addComponent(jToggleCardView, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -335,7 +375,9 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
.addComponent(lblCount)
.addComponent(lblCreatureCount)
.addComponent(lblLandCount)
- .addComponent(chkPiles))
+ .addComponent(jToggleCardView, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(chkPiles)
+ .addComponent(jToggleListView, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
@@ -343,14 +385,14 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 636, Short.MAX_VALUE)
+ .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 808, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(0, 0, 0)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 366, Short.MAX_VALUE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 305, Short.MAX_VALUE))
);
}// //GEN-END:initComponents
@@ -362,12 +404,34 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
drawCards((SortBy) cbSortBy.getSelectedItem());
}//GEN-LAST:event_chkPilesActionPerformed
- // Variables declaration - do not modify//GEN-BEGIN:variables
+ private void jToggleListViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleListViewActionPerformed
+ jToggleCardView.setSelected(false);
+ currentView = mainModel;
+ jScrollPane1.setViewportView(mainTable);
+ cbSortBy.setEnabled(false);
+ chkPiles.setEnabled(false);
+ //drawCards((SortBy) cbSortBy.getSelectedItem());
+ redrawCards();
+ }//GEN-LAST:event_jToggleListViewActionPerformed
+
+ private void jToggleCardViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleCardViewActionPerformed
+ jToggleListView.setSelected(false);
+ currentView = this;
+ jScrollPane1.setViewportView(cardArea);
+ cbSortBy.setEnabled(false);
+ chkPiles.setEnabled(false);
+ //drawCards((SortBy) cbSortBy.getSelectedItem());
+ redrawCards();
+ }//GEN-LAST:event_jToggleCardViewActionPerformed
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLayeredPane cardArea;
private javax.swing.JComboBox cbSortBy;
private javax.swing.JCheckBox chkPiles;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
+ private javax.swing.JToggleButton jToggleCardView;
+ private javax.swing.JToggleButton jToggleListView;
private javax.swing.JLabel lblCount;
private javax.swing.JLabel lblCreatureCount;
private javax.swing.JLabel lblLandCount;
diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java b/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java
index 80412b870e5..56f4420b04b 100644
--- a/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java
+++ b/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java
@@ -72,7 +72,7 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene
initComponents();
makeTransparent();
initListViewComponents();
- currentView = mainModel; // by default we have List (table) view
+ currentView = mainModel; // by default we use List View
}
public void makeTransparent() {