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 38dc29ef031..2e3e1c73b18 100644
--- a/Mage.Client/src/main/java/mage/client/cards/CardsList.form
+++ b/Mage.Client/src/main/java/mage/client/cards/CardsList.form
@@ -37,7 +37,7 @@
-
+
@@ -48,7 +48,7 @@
-
+
@@ -68,6 +68,9 @@
+
+
+
@@ -84,7 +87,9 @@
-
+
+
+
@@ -92,7 +97,7 @@
-
+
@@ -108,6 +113,7 @@
+
@@ -127,7 +133,7 @@
-
+
@@ -145,7 +151,7 @@
-
+
@@ -163,7 +169,7 @@
-
+
@@ -181,7 +187,7 @@
-
+
@@ -199,7 +205,7 @@
-
+
@@ -217,7 +223,7 @@
-
+
@@ -318,6 +324,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 c6c06db6205..2258ffce199 100644
--- a/Mage.Client/src/main/java/mage/client/cards/CardsList.java
+++ b/Mage.Client/src/main/java/mage/client/cards/CardsList.java
@@ -211,7 +211,7 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
}
});
- mainModel.setUpdateCountsCallback(new UpdateCountsCallback(lblCount, lblCreatureCount, lblLandCount, lblSorceryCount, lblInstantCount, lblEnchantmentCount));
+ mainModel.setUpdateCountsCallback(new UpdateCountsCallback(lblCount, lblCreatureCount, lblLandCount, lblSorceryCount, lblInstantCount, lblEnchantmentCount, lblArtifactCount));
}
// if you use the deck ediot to build a free deck, numbers can be set directly in deck and sideboard
@@ -391,6 +391,8 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
int sorceryCount = 0;
int instantCount = 0;
int enchantmentCount = 0;
+ int artifactCount = 0;
+
for (CardView card : cards.values()) {
if (card.getCardTypes().contains(CardType.LAND)) {
landCount++;
@@ -407,6 +409,9 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
if (card.getCardTypes().contains(CardType.ENCHANTMENT)) {
enchantmentCount++;
}
+ if (card.getCardTypes().contains(CardType.ARTIFACT)) {
+ artifactCount++;
+ }
}
int count = cards != null ? cards.size() : 0;
@@ -416,6 +421,7 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
this.lblSorceryCount.setText(Integer.toString(sorceryCount));
this.lblInstantCount.setText(Integer.toString(instantCount));
this.lblEnchantmentCount.setText(Integer.toString(enchantmentCount));
+ this.lblArtifactCount.setText(Integer.toString(artifactCount));
}
private MageCard addCard(CardView card, BigCard bigCard, UUID gameId) {
@@ -483,6 +489,7 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
cbSortBy = new javax.swing.JComboBox();
jToggleListView = new javax.swing.JToggleButton();
jToggleCardView = new javax.swing.JToggleButton();
+ lblArtifactCount = new javax.swing.JLabel();
panelCardArea = new javax.swing.JScrollPane();
cardArea = new javax.swing.JLayeredPane();
@@ -612,6 +619,17 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
}
});
+ lblArtifactCount.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
+ lblArtifactCount.setIcon(new javax.swing.ImageIcon(getClass().getResource("/buttons/type_artifact.png"))); // NOI18N
+ lblArtifactCount.setText("999");
+ lblArtifactCount.setToolTipText("Number of artifacts");
+ lblArtifactCount.setVerticalAlignment(javax.swing.SwingConstants.TOP);
+ lblArtifactCount.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+ lblArtifactCount.setFocusable(false);
+ lblArtifactCount.setInheritsPopupMenu(false);
+ lblArtifactCount.setRequestFocusEnabled(false);
+ lblArtifactCount.setVerifyInputWhenFocusTarget(false);
+
javax.swing.GroupLayout panelControlLayout = new javax.swing.GroupLayout(panelControl);
panelControl.setLayout(panelControlLayout);
panelControlLayout.setHorizontalGroup(
@@ -628,7 +646,9 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
.addComponent(lblInstantCount)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblEnchantmentCount)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addGap(4, 4, 4)
+ .addComponent(lblArtifactCount)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(chkPiles)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(cbSortBy, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
@@ -636,7 +656,7 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
.addComponent(jToggleListView, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jToggleCardView, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(0, 0, Short.MAX_VALUE))
+ .addGap(0, 62, Short.MAX_VALUE))
);
panelControlLayout.setVerticalGroup(
panelControlLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -649,7 +669,8 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
.addComponent(lblSorceryCount)
.addComponent(lblInstantCount)
.addComponent(lblEnchantmentCount)
- .addComponent(chkPiles))
+ .addComponent(chkPiles)
+ .addComponent(lblArtifactCount))
.addComponent(cbSortBy, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jToggleListView, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jToggleCardView, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
@@ -668,7 +689,7 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
.addGroup(layout.createSequentialGroup()
.addGap(1, 1, 1)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(panelControl, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(panelControl, javax.swing.GroupLayout.DEFAULT_SIZE, 703, Short.MAX_VALUE)
.addComponent(panelCardArea)))
);
layout.setVerticalGroup(
@@ -676,7 +697,7 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
.addGroup(layout.createSequentialGroup()
.addComponent(panelControl, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
- .addComponent(panelCardArea, javax.swing.GroupLayout.DEFAULT_SIZE, 330, Short.MAX_VALUE))
+ .addComponent(panelCardArea, javax.swing.GroupLayout.DEFAULT_SIZE, 86, Short.MAX_VALUE))
);
}// //GEN-END:initComponents
@@ -715,6 +736,7 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar
private javax.swing.JCheckBox chkPiles;
private javax.swing.JToggleButton jToggleCardView;
private javax.swing.JToggleButton jToggleListView;
+ private javax.swing.JLabel lblArtifactCount;
private javax.swing.JLabel lblCount;
private javax.swing.JLabel lblCreatureCount;
private javax.swing.JLabel lblEnchantmentCount;
diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/table/TableModel.java b/Mage.Client/src/main/java/mage/client/deckeditor/table/TableModel.java
index b39fe0ca353..baa4cf5f857 100644
--- a/Mage.Client/src/main/java/mage/client/deckeditor/table/TableModel.java
+++ b/Mage.Client/src/main/java/mage/client/deckeditor/table/TableModel.java
@@ -123,6 +123,7 @@ public class TableModel extends AbstractTableModel implements ICardGrid {
int instantCount = 0;
int sorceryCount = 0;
int enchantmentCount = 0;
+ int artifactCount = 0;
if (!merge) {
this.clearCards();
for (CardView card : showCards.values()) {
@@ -149,6 +150,9 @@ public class TableModel extends AbstractTableModel implements ICardGrid {
if (card.getCardTypes().contains(CardType.ENCHANTMENT)) {
enchantmentCount++;
}
+ if (card.getCardTypes().contains(CardType.ARTIFACT)) {
+ artifactCount++;
+ }
}
}
@@ -199,7 +203,7 @@ public class TableModel extends AbstractTableModel implements ICardGrid {
}
if (updateCountsCallback != null) {
- updateCountsCallback.update(cards.size(), creatureCount, landCount, sorceryCount, instantCount, enchantmentCount);
+ updateCountsCallback.update(cards.size(), creatureCount, landCount, sorceryCount, instantCount, enchantmentCount, artifactCount);
}
}
diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/table/UpdateCountsCallback.java b/Mage.Client/src/main/java/mage/client/deckeditor/table/UpdateCountsCallback.java
index 889af1b4b09..64889c892d2 100644
--- a/Mage.Client/src/main/java/mage/client/deckeditor/table/UpdateCountsCallback.java
+++ b/Mage.Client/src/main/java/mage/client/deckeditor/table/UpdateCountsCallback.java
@@ -14,22 +14,25 @@ public class UpdateCountsCallback {
private final javax.swing.JLabel lblSoerceryCount;
private final javax.swing.JLabel lblInstantCount;
private final javax.swing.JLabel lblEnchantmentCount;
+ private final javax.swing.JLabel lblArtifactCount;
- public UpdateCountsCallback(JLabel count, JLabel creatures, JLabel lands, JLabel sorceries, JLabel instants, JLabel enchantments) {
+ public UpdateCountsCallback(JLabel count, JLabel creatures, JLabel lands, JLabel sorceries, JLabel instants, JLabel enchantments, JLabel artifacts) {
this.lblCount = count;
this.lblCreatureCount = creatures;
this.lblLandCount = lands;
this.lblSoerceryCount = sorceries;
this.lblInstantCount = instants;
this.lblEnchantmentCount = enchantments;
+ this.lblArtifactCount = artifacts;
}
- public void update(int count, int creatures, int lands, int sorceries, int instants, int enchantments) {
+ public void update(int count, int creatures, int lands, int sorceries, int instants, int enchantments, int artifacts) {
this.lblCount.setText(Integer.toString(count));
this.lblCreatureCount.setText(Integer.toString(creatures));
this.lblLandCount.setText(Integer.toString(lands));
this.lblSoerceryCount.setText(Integer.toString(sorceries));
this.lblInstantCount.setText(Integer.toString(instants));
this.lblEnchantmentCount.setText(Integer.toString(enchantments));
+ this.lblArtifactCount.setText(Integer.toString(artifacts));
}
}