From 46fb16b228e94959abe010bdaa6ae4673235263a Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 8 May 2014 17:15:03 +0200 Subject: [PATCH] * Deck editor - Some more improvements UI changes. --- .../java/mage/client/cards/CardsList.form | 75 ++-- .../java/mage/client/cards/CardsList.java | 86 +++-- .../mage/client/deckeditor/CardSelector.form | 206 +++++++--- .../mage/client/deckeditor/CardSelector.java | 363 +++++++++++------- .../src/main/resources/buttons/card_panel.png | Bin 0 -> 184 bytes .../main/resources/buttons/color_black.png | Bin 0 -> 503 bytes .../resources/buttons/color_black_off.png | Bin 0 -> 511 bytes .../src/main/resources/buttons/color_blue.png | Bin 0 -> 592 bytes .../main/resources/buttons/color_blueOff.png | Bin 0 -> 592 bytes .../main/resources/buttons/color_green.png | Bin 0 -> 601 bytes .../resources/buttons/color_green_off.png | Bin 0 -> 598 bytes .../src/main/resources/buttons/color_red.png | Bin 0 -> 512 bytes .../main/resources/buttons/color_red_off.png | Bin 0 -> 501 bytes .../main/resources/buttons/color_white.png | Bin 0 -> 467 bytes .../resources/buttons/color_white_off.png | Bin 0 -> 451 bytes .../src/main/resources/buttons/colorless.png | Bin 0 -> 276 bytes .../main/resources/buttons/colorless_off.png | Bin 0 -> 275 bytes .../src/main/resources/buttons/deck_in.png | Bin 0 -> 282 bytes .../src/main/resources/buttons/deck_out.png | Bin 0 -> 277 bytes .../src/main/resources/buttons/list_panel.png | Bin 0 -> 153 bytes .../main/resources/buttons/sideboard_in.png | Bin 0 -> 283 bytes .../main/resources/buttons/sideboard_out.png | Bin 0 -> 277 bytes Mage.Client/src/main/resources/wwk.txt | 145 ------- Mage.Client/src/main/resources/zen.txt | 269 ------------- 24 files changed, 470 insertions(+), 674 deletions(-) create mode 100644 Mage.Client/src/main/resources/buttons/card_panel.png create mode 100644 Mage.Client/src/main/resources/buttons/color_black.png create mode 100644 Mage.Client/src/main/resources/buttons/color_black_off.png create mode 100644 Mage.Client/src/main/resources/buttons/color_blue.png create mode 100644 Mage.Client/src/main/resources/buttons/color_blueOff.png create mode 100644 Mage.Client/src/main/resources/buttons/color_green.png create mode 100644 Mage.Client/src/main/resources/buttons/color_green_off.png create mode 100644 Mage.Client/src/main/resources/buttons/color_red.png create mode 100644 Mage.Client/src/main/resources/buttons/color_red_off.png create mode 100644 Mage.Client/src/main/resources/buttons/color_white.png create mode 100644 Mage.Client/src/main/resources/buttons/color_white_off.png create mode 100644 Mage.Client/src/main/resources/buttons/colorless.png create mode 100644 Mage.Client/src/main/resources/buttons/colorless_off.png create mode 100644 Mage.Client/src/main/resources/buttons/deck_in.png create mode 100644 Mage.Client/src/main/resources/buttons/deck_out.png create mode 100644 Mage.Client/src/main/resources/buttons/list_panel.png create mode 100644 Mage.Client/src/main/resources/buttons/sideboard_in.png create mode 100644 Mage.Client/src/main/resources/buttons/sideboard_out.png delete mode 100644 Mage.Client/src/main/resources/wwk.txt delete mode 100644 Mage.Client/src/main/resources/zen.txt 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 5a917b1b447..7156ed9cc2e 100644 --- a/Mage.Client/src/main/java/mage/client/cards/CardsList.form +++ b/Mage.Client/src/main/java/mage/client/cards/CardsList.form @@ -1,6 +1,10 @@
+ + + + @@ -30,7 +34,7 @@ - + @@ -38,7 +42,7 @@ - + @@ -74,23 +78,28 @@ - - - - + + + + - - - - - - - - + + + + + + + + + + + + + @@ -147,34 +156,48 @@ - - - + + + + + + + + + + - + - + + - + + + + - - - + + - - + + + + + + - + 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 294733b0da7..1f7e12bb0ec 100644 --- a/Mage.Client/src/main/java/mage/client/cards/CardsList.java +++ b/Mage.Client/src/main/java/mage/client/cards/CardsList.java @@ -142,23 +142,19 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar mainTable.getColumnModel().getColumn(7).setPreferredWidth(15); if (PreferencesDialog.getCachedValue(PreferencesDialog.KEY_DRAFT_VIEW, "cardView").equals("listView")) { + jToggleListView.setSelected(true); panelCardArea.setViewportView(mainTable); currentView = mainModel; cbSortBy.setEnabled(false); chkPiles.setEnabled(false); } else { jToggleCardView.setSelected(true); - jToggleListView.setSelected(false); currentView = this; panelCardArea.setViewportView(cardArea); cbSortBy.setEnabled(true); chkPiles.setEnabled(true); } - - mainTable.setOpaque(false); - - mainTable.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { @@ -388,6 +384,7 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar // //GEN-BEGIN:initComponents private void initComponents() { + bgView = new javax.swing.ButtonGroup(); panelControl = new javax.swing.JPanel(); lblCount = new javax.swing.JLabel(); lblCreatureCount = new javax.swing.JLabel(); @@ -434,22 +431,25 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar } }); - 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)); + bgView.add(jToggleListView); + jToggleListView.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\list_panel.png")); // NOI18N + jToggleListView.setToolTipText("Shows the cards as a list."); + jToggleListView.setMargin(new java.awt.Insets(2, 6, 2, 6)); + jToggleListView.setMaximumSize(new java.awt.Dimension(37, 25)); + jToggleListView.setMinimumSize(new java.awt.Dimension(37, 25)); + jToggleListView.setOpaque(false); + jToggleListView.setPreferredSize(new java.awt.Dimension(37, 22)); 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.setPreferredSize(new java.awt.Dimension(77, 21)); + bgView.add(jToggleCardView); + jToggleCardView.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\card_panel.png")); // NOI18N + jToggleCardView.setToolTipText("Shows the card as images."); + jToggleCardView.setMargin(new java.awt.Insets(2, 6, 2, 6)); + jToggleCardView.setPreferredSize(new java.awt.Dimension(33, 22)); jToggleCardView.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jToggleCardViewActionPerformed(evt); @@ -472,23 +472,28 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(cbSortBy, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jToggleListView, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE) + .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, 85, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(92, 92, 92)) + .addComponent(jToggleCardView, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(195, 195, 195)) ); panelControlLayout.setVerticalGroup( panelControlLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(panelControlLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cbSortBy, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lblCount) - .addComponent(lblCreatureCount) - .addComponent(lblLandCount) - .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)) + .addGroup(panelControlLayout.createSequentialGroup() + .addGroup(panelControlLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(panelControlLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(cbSortBy, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(lblCount) + .addComponent(lblCreatureCount) + .addComponent(lblLandCount) + .addComponent(chkPiles) + .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)) + .addContainerGap()) ); + jToggleListView.getAccessibleContext().setAccessibleDescription("Switch between image and table view."); + panelCardArea.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED)); panelCardArea.setViewportView(cardArea); @@ -497,35 +502,24 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(panelCardArea) - .addComponent(panelControl, javax.swing.GroupLayout.DEFAULT_SIZE, 674, Short.MAX_VALUE) + .addComponent(panelControl, javax.swing.GroupLayout.DEFAULT_SIZE, 754, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(panelControl, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, 0) - .addComponent(panelCardArea, javax.swing.GroupLayout.DEFAULT_SIZE, 69, Short.MAX_VALUE)) + .addComponent(panelCardArea, javax.swing.GroupLayout.DEFAULT_SIZE, 49, Short.MAX_VALUE)) ); }// //GEN-END:initComponents - private void jToggleCardViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleCardViewActionPerformed - jToggleListView.setSelected(false); - currentView = this; - panelCardArea.setViewportView(cardArea); - cbSortBy.setEnabled(true); - chkPiles.setEnabled(true); - redrawCards(); - PreferencesDialog.saveValue(PreferencesDialog.KEY_DRAFT_VIEW, "cardView"); - }//GEN-LAST:event_jToggleCardViewActionPerformed - private void jToggleListViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleListViewActionPerformed - jToggleCardView.setSelected(false); currentView = mainModel; panelCardArea.setViewportView(mainTable); cbSortBy.setEnabled(false); - chkPiles.setEnabled(false); - redrawCards(); + chkPiles.setEnabled(false); PreferencesDialog.saveValue(PreferencesDialog.KEY_DRAFT_VIEW, "listView"); + redrawCards(); }//GEN-LAST:event_jToggleListViewActionPerformed private void cbSortByActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cbSortByActionPerformed @@ -538,7 +532,17 @@ public class CardsList extends javax.swing.JPanel implements MouseListener, ICar drawCards(sortSetting); }//GEN-LAST:event_chkPilesActionPerformed + private void jToggleCardViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleCardViewActionPerformed + currentView = this; + panelCardArea.setViewportView(cardArea); + cbSortBy.setEnabled(true); + chkPiles.setEnabled(true); + PreferencesDialog.saveValue(PreferencesDialog.KEY_DRAFT_VIEW, "cardView"); + redrawCards(); + }//GEN-LAST:event_jToggleCardViewActionPerformed + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.ButtonGroup bgView; private javax.swing.JLayeredPane cardArea; private javax.swing.JComboBox cbSortBy; private javax.swing.JCheckBox chkPiles; diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.form b/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.form index 7209ee1fa2f..3ccc88699d6 100644 --- a/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.form +++ b/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.form @@ -1,6 +1,10 @@ + + + + @@ -28,10 +32,10 @@ - - + + - + @@ -41,84 +45,142 @@ + - + + + + - + + + + - + + + + - + - + + + + - + + + + - + + + + + - + - + + + + - + + + + - + + + + - + - + + + + - + + + + - + + + + - + - + + + + - + + + + - + + + + - + - + + + + - + + + + - + + + + - + + + @@ -146,9 +208,12 @@ + + + @@ -174,6 +239,7 @@ + @@ -265,9 +331,12 @@ + + + @@ -276,6 +345,8 @@ + + @@ -303,10 +374,18 @@ + + + + + + + + - + @@ -314,15 +393,14 @@ - + - + - + - @@ -330,7 +408,13 @@ - + + + + + + + @@ -338,13 +422,14 @@ - + - + + - + @@ -379,7 +464,7 @@ - + @@ -402,7 +487,7 @@ - + @@ -410,7 +495,7 @@ - + @@ -418,8 +503,10 @@ - - + + + + @@ -430,7 +517,7 @@ - + @@ -439,8 +526,10 @@ - - + + + + @@ -451,23 +540,28 @@ - + - + - + + + + + + @@ -476,6 +570,7 @@ + @@ -484,6 +579,7 @@ + @@ -499,8 +595,10 @@ - - + + + + @@ -511,7 +609,7 @@ - + @@ -520,8 +618,10 @@ - - + + + + @@ -532,7 +632,7 @@ - + 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 1e77f391ab3..283ee7e0034 100644 --- a/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java +++ b/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java @@ -145,9 +145,7 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene mainTable.getColumnModel().getColumn(7).setPreferredWidth(15); cardSelectorScrollPane.setViewportView(mainTable); - mainTable.setOpaque(false); - cbSortBy.setEnabled(false); chkPiles.setEnabled(false); @@ -164,6 +162,8 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene } } }); + + jToggleCardView.setToolTipText(jToggleCardView.getToolTipText() + " (works only up to " + CardGrid.MAX_IMAGES + " cards)."); } /** @@ -221,22 +221,22 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene if (limited) { ArrayList> predicates = new ArrayList<>(); - if (this.rdoGreen.isSelected()) { + if (this.tbGreen.isSelected()) { predicates.add(new ColorPredicate(ObjectColor.GREEN)); } - if (this.rdoRed.isSelected()) { + if (this.tbRed.isSelected()) { predicates.add(new ColorPredicate(ObjectColor.RED)); } - if (this.rdoBlack.isSelected()) { + if (this.tbBlack.isSelected()) { predicates.add(new ColorPredicate(ObjectColor.BLACK)); } - if (this.rdoBlue.isSelected()) { + if (this.tbBlue.isSelected()) { predicates.add(new ColorPredicate(ObjectColor.BLUE)); } - if (this.rdoWhite.isSelected()) { + if (this.tbWhite.isSelected()) { predicates.add(new ColorPredicate(ObjectColor.WHITE)); } - if (this.rdoColorless.isSelected()) { + if (this.tbColorless.isSelected()) { predicates.add(new ColorlessPredicate()); } filter.add(Predicates.or(predicates)); @@ -283,12 +283,12 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene private CardCriteria buildCriteria() { CardCriteria criteria = new CardCriteria(); - criteria.black(this.rdoBlack.isSelected()); - criteria.blue(this.rdoBlue.isSelected()); - criteria.green(this.rdoGreen.isSelected()); - criteria.red(this.rdoRed.isSelected()); - criteria.white(this.rdoWhite.isSelected()); - criteria.colorless(this.rdoColorless.isSelected()); + criteria.black(this.tbBlack.isSelected()); + criteria.blue(this.tbBlue.isSelected()); + criteria.green(this.tbGreen.isSelected()); + criteria.red(this.tbRed.isSelected()); + criteria.white(this.tbWhite.isSelected()); + criteria.colorless(this.tbColorless.isSelected()); if (this.rdoLand.isSelected()) { criteria.types(CardType.LAND); @@ -323,6 +323,42 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene return criteria; } + private boolean inverter(boolean invert, String string1, String string2) { + if (invert) { + return string1.equals(string2); + } else { + return !string1.equals(string2); + } + } + + private void filterCardsColor(int modifiers, String actionCommand) { + // ALT Button was pushed + if ((modifiers & ActionEvent.ALT_MASK) == ActionEvent.ALT_MASK || (modifiers & ActionEvent.CTRL_MASK) == ActionEvent.CTRL_MASK) { + boolean invert = (modifiers & ActionEvent.ALT_MASK) == ActionEvent.ALT_MASK; + tbBlack.setSelected(inverter(invert, tbBlack.getActionCommand(), actionCommand)); + tbBlue.setSelected(inverter(invert, tbBlue.getActionCommand(), actionCommand)); + tbColorless.setSelected(inverter(invert, tbColorless.getActionCommand(), actionCommand)); + tbGreen.setSelected(inverter(invert, tbGreen.getActionCommand(), actionCommand)); + tbRed.setSelected(inverter(invert, tbRed.getActionCommand(), actionCommand)); + tbWhite.setSelected(inverter(invert, tbWhite.getActionCommand(), actionCommand)); + } + filterCards(); + } + + private void filterCardsType(int modifiers, String actionCommand) { + // ALT Button was pushed + if ((modifiers & ActionEvent.ALT_MASK) == ActionEvent.ALT_MASK) { + rdoArtifacts.setSelected(rdoArtifacts.getActionCommand().equals(actionCommand)); + rdoCreatures.setSelected(rdoCreatures.getActionCommand().equals(actionCommand)); + rdoEnchantments.setSelected(rdoEnchantments.getActionCommand().equals(actionCommand)); + rdoInstants.setSelected(rdoInstants.getActionCommand().equals(actionCommand)); + rdoLand.setSelected(rdoLand.getActionCommand().equals(actionCommand)); + rdoPlaneswalkers.setSelected(rdoPlaneswalkers.getActionCommand().equals(actionCommand)); + rdoSorceries.setSelected(rdoSorceries.getActionCommand().equals(actionCommand)); + } + filterCards(); + } + private void filterCards() { FilterCard filter = buildFilter(); try { @@ -386,14 +422,17 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene // //GEN-BEGIN:initComponents private void initComponents() { + bgView = new javax.swing.ButtonGroup(); tbColor = new javax.swing.JToolBar(); - rdoRed = new javax.swing.JRadioButton(); - rdoGreen = new javax.swing.JRadioButton(); - rdoBlue = new javax.swing.JRadioButton(); - rdoBlack = new javax.swing.JRadioButton(); - rdoWhite = new javax.swing.JRadioButton(); - rdoColorless = new javax.swing.JRadioButton(); + tbRed = new javax.swing.JToggleButton(); + tbGreen = new javax.swing.JToggleButton(); + tbBlue = new javax.swing.JToggleButton(); + tbBlack = new javax.swing.JToggleButton(); + tbWhite = new javax.swing.JToggleButton(); + tbColorless = new javax.swing.JToggleButton(); + jSeparator1 = new javax.swing.JToolBar.Separator(); cbExpansionSet = new javax.swing.JComboBox(); + jSeparator2 = new javax.swing.JToolBar.Separator(); btnBooster = new javax.swing.JButton(); btnClear = new javax.swing.JButton(); tbTypes = new javax.swing.JToolBar(); @@ -404,15 +443,18 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene rdoInstants = new javax.swing.JRadioButton(); rdoSorceries = new javax.swing.JRadioButton(); rdoPlaneswalkers = new javax.swing.JRadioButton(); + jSeparator5 = new javax.swing.JToolBar.Separator(); chkPiles = new javax.swing.JCheckBox(); + jSeparator3 = new javax.swing.JToolBar.Separator(); cbSortBy = new javax.swing.JComboBox(); + jSeparator4 = new javax.swing.JToolBar.Separator(); jToggleListView = new javax.swing.JToggleButton(); jToggleCardView = new javax.swing.JToggleButton(); cardSelectorScrollPane = new javax.swing.JScrollPane(); cardSelectorBottomPanel = new javax.swing.JPanel(); jButtonAddToMain = new javax.swing.JButton(); jButtonAddToSideboard = new javax.swing.JButton(); - jLabel1 = new javax.swing.JLabel(); + jLabelSearch = new javax.swing.JLabel(); jTextFieldSearch = new javax.swing.JTextField(); jButtonSearch = new javax.swing.JButton(); jButtonClean = new javax.swing.JButton(); @@ -423,80 +465,102 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene tbColor.setFloatable(false); tbColor.setRollover(true); + tbColor.setToolTipText("Click with ALT to deselct all other colors or CTRL for invert selection."); tbColor.setBorderPainted(false); tbColor.setName(""); // NOI18N - rdoRed.setSelected(true); - rdoRed.setText("Red "); - rdoRed.setFocusable(false); - rdoRed.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); - rdoRed.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - rdoRed.addActionListener(new java.awt.event.ActionListener() { + tbRed.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\color_red_off.png")); // NOI18N + tbRed.setSelected(true); + tbRed.setToolTipText("Red
" + + tbColor.getToolTipText()); + tbRed.setActionCommand("Red"); + tbRed.setFocusable(false); + tbRed.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + tbRed.setSelectedIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\color_red.png")); // NOI18N + tbRed.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + tbRed.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { - rdoRedActionPerformed(evt); + tbRedActionPerformed(evt); } }); - tbColor.add(rdoRed); + tbColor.add(tbRed); - rdoGreen.setSelected(true); - rdoGreen.setText("Green "); - rdoGreen.setFocusable(false); - rdoGreen.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); - rdoGreen.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - rdoGreen.addActionListener(new java.awt.event.ActionListener() { + tbGreen.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\color_green_off.png")); // NOI18N + tbGreen.setSelected(true); + tbGreen.setToolTipText("Green
" + tbColor.getToolTipText()); + tbGreen.setActionCommand("Green"); + tbGreen.setFocusable(false); + tbGreen.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + tbGreen.setSelectedIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\color_green.png")); // NOI18N + tbGreen.setVerifyInputWhenFocusTarget(false); + tbGreen.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + tbGreen.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { - rdoGreenActionPerformed(evt); + tbGreenActionPerformed(evt); } }); - tbColor.add(rdoGreen); + tbColor.add(tbGreen); - rdoBlue.setSelected(true); - rdoBlue.setText("Blue "); - rdoBlue.setFocusable(false); - rdoBlue.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); - rdoBlue.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - rdoBlue.addActionListener(new java.awt.event.ActionListener() { + tbBlue.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\color_blueOff.png")); // NOI18N + tbBlue.setSelected(true); + tbBlue.setToolTipText("Blue
" + tbColor.getToolTipText()); + tbBlue.setActionCommand("Blue"); + tbBlue.setFocusable(false); + tbBlue.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + tbBlue.setSelectedIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\color_blue.png")); // NOI18N + tbBlue.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + tbBlue.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { - rdoBlueActionPerformed(evt); + tbBlueActionPerformed(evt); } }); - tbColor.add(rdoBlue); + tbColor.add(tbBlue); - rdoBlack.setSelected(true); - rdoBlack.setText("Black "); - rdoBlack.setFocusable(false); - rdoBlack.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); - rdoBlack.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - rdoBlack.addActionListener(new java.awt.event.ActionListener() { + tbBlack.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\color_black_off.png")); // NOI18N + tbBlack.setSelected(true); + tbBlack.setToolTipText("Black
" + tbColor.getToolTipText()); + tbBlack.setActionCommand("Black"); + tbBlack.setFocusable(false); + tbBlack.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + tbBlack.setSelectedIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\color_black.png")); // NOI18N + tbBlack.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + tbBlack.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { - rdoBlackActionPerformed(evt); + tbBlackActionPerformed(evt); } }); - tbColor.add(rdoBlack); + tbColor.add(tbBlack); - rdoWhite.setSelected(true); - rdoWhite.setText("White "); - rdoWhite.setFocusable(false); - rdoWhite.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); - rdoWhite.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - rdoWhite.addActionListener(new java.awt.event.ActionListener() { + tbWhite.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\color_white_off.png")); // NOI18N + tbWhite.setSelected(true); + tbWhite.setToolTipText("White
" + tbColor.getToolTipText()); + tbWhite.setActionCommand("White"); + tbWhite.setFocusable(false); + tbWhite.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + tbWhite.setSelectedIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\color_white.png")); // NOI18N + tbWhite.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + tbWhite.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { - rdoWhiteActionPerformed(evt); + tbWhiteActionPerformed(evt); } }); - tbColor.add(rdoWhite); + tbColor.add(tbWhite); - rdoColorless.setSelected(true); - rdoColorless.setText("Colorless "); - rdoColorless.setFocusable(false); - rdoColorless.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); - rdoColorless.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - rdoColorless.addActionListener(new java.awt.event.ActionListener() { + tbColorless.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\colorless_off.png")); // NOI18N + tbColorless.setSelected(true); + tbColorless.setToolTipText("Colorless
" + tbColor.getToolTipText()); + tbColorless.setActionCommand("Colorless"); + tbColorless.setFocusable(false); + tbColorless.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + tbColorless.setSelectedIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\colorless.png")); // NOI18N + tbColorless.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + tbColorless.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { - rdoColorlessActionPerformed(evt); + tbColorlessActionPerformed(evt); } }); - tbColor.add(rdoColorless); + tbColor.add(tbColorless); + tbColor.add(jSeparator1); cbExpansionSet.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); cbExpansionSet.setMaximumSize(new java.awt.Dimension(250, 25)); @@ -508,8 +572,10 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene } }); tbColor.add(cbExpansionSet); + tbColor.add(jSeparator2); btnBooster.setText("Open Booster"); + btnBooster.setToolTipText("(CURRENTLY NOT WORKING) Generates a booster of the selected set and adds the cards to the card selector."); btnBooster.setFocusable(false); btnBooster.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); btnBooster.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); @@ -533,6 +599,7 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene tbTypes.setFloatable(false); tbTypes.setRollover(true); + tbTypes.setToolTipText("Click card type with ALT-KEY to only get the clicked card type."); tbTypes.setPreferredSize(new java.awt.Dimension(732, 27)); rdoLand.setSelected(true); @@ -618,8 +685,10 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene } }); tbTypes.add(rdoPlaneswalkers); + tbTypes.add(jSeparator5); chkPiles.setText("Piles"); + chkPiles.setToolTipText("Shows the card in piles by the selected sort."); chkPiles.setFocusable(false); chkPiles.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); chkPiles.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); @@ -629,6 +698,7 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene } }); tbTypes.add(chkPiles); + tbTypes.add(jSeparator3); cbSortBy.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); cbSortBy.setMaximumSize(new java.awt.Dimension(120, 20)); @@ -640,17 +710,19 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene } }); tbTypes.add(cbSortBy); + tbTypes.add(jSeparator4); + bgView.add(jToggleListView); + jToggleListView.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\list_panel.png")); // NOI18N jToggleListView.setSelected(true); - jToggleListView.setText("ListView"); + jToggleListView.setToolTipText("Shows the cards as a list."); jToggleListView.setBorderPainted(false); jToggleListView.setFocusable(false); jToggleListView.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jToggleListView.setMargin(new java.awt.Insets(2, 2, 2, 2)); - jToggleListView.setMaximumSize(new java.awt.Dimension(70, 23)); - jToggleListView.setMinimumSize(new java.awt.Dimension(70, 23)); - jToggleListView.setPreferredSize(new java.awt.Dimension(70, 23)); - jToggleListView.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); + jToggleListView.setMaximumSize(new java.awt.Dimension(37, 22)); + jToggleListView.setMinimumSize(new java.awt.Dimension(37, 22)); + jToggleListView.setPreferredSize(new java.awt.Dimension(37, 22)); jToggleListView.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jToggleListViewActionPerformed(evt); @@ -658,14 +730,17 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene }); tbTypes.add(jToggleListView); - jToggleCardView.setText("CardView"); + bgView.add(jToggleCardView); + jToggleCardView.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\card_panel.png")); // NOI18N + jToggleCardView.setToolTipText("Shows the card as images."); jToggleCardView.setBorderPainted(false); jToggleCardView.setFocusable(false); jToggleCardView.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jToggleCardView.setMargin(new java.awt.Insets(2, 2, 2, 2)); - jToggleCardView.setMaximumSize(new java.awt.Dimension(70, 23)); - jToggleCardView.setMinimumSize(new java.awt.Dimension(70, 23)); - jToggleCardView.setPreferredSize(new java.awt.Dimension(70, 23)); + jToggleCardView.setMaximumSize(new java.awt.Dimension(37, 22)); + jToggleCardView.setMinimumSize(new java.awt.Dimension(37, 22)); + jToggleCardView.setName(""); // NOI18N + jToggleCardView.setPreferredSize(new java.awt.Dimension(37, 22)); jToggleCardView.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jToggleCardView.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -677,33 +752,37 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene cardSelectorBottomPanel.setOpaque(false); cardSelectorBottomPanel.setPreferredSize(new java.awt.Dimension(897, 40)); - jButtonAddToMain.setText("+"); - jButtonAddToMain.setToolTipText("Add selected card to deck"); + jButtonAddToMain.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\deck_in.png")); // NOI18N + jButtonAddToMain.setToolTipText("Add selected cards to deck"); jButtonAddToMain.setMargin(null); jButtonAddToMain.setMaximumSize(new java.awt.Dimension(42, 23)); jButtonAddToMain.setMinimumSize(new java.awt.Dimension(42, 23)); - jButtonAddToMain.setPreferredSize(new java.awt.Dimension(42, 30)); + jButtonAddToMain.setPreferredSize(new java.awt.Dimension(28, 22)); jButtonAddToMain.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonAddToMainActionPerformed(evt); } }); - jButtonAddToSideboard.setText("+S"); - jButtonAddToSideboard.setToolTipText("Add to Sideboard"); + jButtonAddToSideboard.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\sideboard_in.png")); // NOI18N + jButtonAddToSideboard.setToolTipText("Add selected cards to sideboard."); jButtonAddToSideboard.setMargin(new java.awt.Insets(2, 0, 2, 0)); jButtonAddToSideboard.setMaximumSize(new java.awt.Dimension(100, 30)); jButtonAddToSideboard.setMinimumSize(new java.awt.Dimension(10, 30)); - jButtonAddToSideboard.setPreferredSize(new java.awt.Dimension(50, 30)); + jButtonAddToSideboard.setPreferredSize(new java.awt.Dimension(28, 22)); jButtonAddToSideboard.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonAddToSideboardActionPerformed(evt); } }); - jLabel1.setText("Search (by name,in rules):"); + jLabelSearch.setText("Search:"); + jLabelSearch.setToolTipText("Searches for card names and in the rule text of the card."); + + jTextFieldSearch.setToolTipText("Searches for card names and in the rule text of the card."); jButtonSearch.setText("Search"); + jButtonSearch.setToolTipText("Performs the search."); jButtonSearch.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonSearchActionPerformed(evt); @@ -711,6 +790,7 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene }); jButtonClean.setText("Clear"); + jButtonClean.setToolTipText("Clears the search field."); jButtonClean.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonCleanActionPerformed(evt); @@ -718,27 +798,28 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene }); cardCountLabel.setText("Card count:"); + cardCountLabel.setToolTipText("Number of cards currently shown."); cardCount.setText("0"); - jButtonRemoveFromMain.setText("-"); - jButtonRemoveFromMain.setToolTipText("Remove selected card from deck"); + jButtonRemoveFromMain.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\deck_out.png")); // NOI18N + jButtonRemoveFromMain.setToolTipText("Remove selected cards from deck"); jButtonRemoveFromMain.setMargin(null); jButtonRemoveFromMain.setMaximumSize(new java.awt.Dimension(42, 23)); jButtonRemoveFromMain.setMinimumSize(new java.awt.Dimension(42, 23)); - jButtonRemoveFromMain.setPreferredSize(new java.awt.Dimension(42, 30)); + jButtonRemoveFromMain.setPreferredSize(new java.awt.Dimension(28, 22)); jButtonRemoveFromMain.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonRemoveFromMainActionPerformed(evt); } }); - jButtonRemoveFromSideboard.setText("-S"); - jButtonRemoveFromSideboard.setToolTipText("Remove from Sideboard"); + jButtonRemoveFromSideboard.setIcon(new javax.swing.ImageIcon("D:\\Projekte\\mag\\mageRep\\localmage\\Mage.Client\\src\\main\\resources\\buttons\\sideboard_out.png")); // NOI18N + jButtonRemoveFromSideboard.setToolTipText("Remove selected cards from sideboard."); jButtonRemoveFromSideboard.setMargin(new java.awt.Insets(2, 0, 2, 0)); jButtonRemoveFromSideboard.setMaximumSize(new java.awt.Dimension(10, 30)); jButtonRemoveFromSideboard.setMinimumSize(new java.awt.Dimension(100, 30)); - jButtonRemoveFromSideboard.setPreferredSize(new java.awt.Dimension(50, 30)); + jButtonRemoveFromSideboard.setPreferredSize(new java.awt.Dimension(28, 22)); jButtonRemoveFromSideboard.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonRemoveFromSideboardActionPerformed(evt); @@ -759,7 +840,7 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButtonRemoveFromSideboard, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jLabel1) + .addComponent(jLabelSearch) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jTextFieldSearch, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(2, 2, 2) @@ -780,14 +861,14 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene .addComponent(jButtonRemoveFromMain, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jButtonAddToSideboard, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jButtonRemoveFromSideboard, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel1) + .addComponent(jLabelSearch) .addComponent(jTextFieldSearch, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jButtonSearch) .addComponent(jButtonClean) .addComponent(cardCountLabel) .addComponent(cardCount) .addComponent(jButtonAddToMain, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(4, 4, 4)) ); cardCountLabel.getAccessibleContext().setAccessibleName("cardCountLabel"); @@ -808,63 +889,39 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene .addComponent(tbColor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, 0) .addComponent(tbTypes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(cardSelectorScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 232, Short.MAX_VALUE) .addGap(0, 0, 0) - .addComponent(cardSelectorScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 215, Short.MAX_VALUE) - .addGap(0, 0, 0) - .addComponent(cardSelectorBottomPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(cardSelectorBottomPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)) ); }//
//GEN-END:initComponents - private void rdoGreenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdoGreenActionPerformed - filterCards(); - }//GEN-LAST:event_rdoGreenActionPerformed - - private void rdoBlackActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdoBlackActionPerformed - filterCards(); - }//GEN-LAST:event_rdoBlackActionPerformed - - private void rdoWhiteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdoWhiteActionPerformed - filterCards(); - }//GEN-LAST:event_rdoWhiteActionPerformed - - private void rdoRedActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdoRedActionPerformed - filterCards(); - }//GEN-LAST:event_rdoRedActionPerformed - - private void rdoBlueActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdoBlueActionPerformed - filterCards(); - }//GEN-LAST:event_rdoBlueActionPerformed - - private void rdoColorlessActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdoColorlessActionPerformed - filterCards(); - }//GEN-LAST:event_rdoColorlessActionPerformed - private void rdoLandActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdoLandActionPerformed - filterCards(); + filterCardsType(evt.getModifiers(), evt.getActionCommand()); }//GEN-LAST:event_rdoLandActionPerformed private void rdoCreaturesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdoCreaturesActionPerformed - filterCards(); + filterCardsType(evt.getModifiers(), evt.getActionCommand()); }//GEN-LAST:event_rdoCreaturesActionPerformed private void rdoArtifactsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdoArtifactsActionPerformed - filterCards(); + filterCardsType(evt.getModifiers(), evt.getActionCommand()); }//GEN-LAST:event_rdoArtifactsActionPerformed private void rdoEnchantmentsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdoEnchantmentsActionPerformed - filterCards(); + filterCardsType(evt.getModifiers(), evt.getActionCommand()); }//GEN-LAST:event_rdoEnchantmentsActionPerformed private void rdoInstantsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdoInstantsActionPerformed - filterCards(); + filterCardsType(evt.getModifiers(), evt.getActionCommand()); }//GEN-LAST:event_rdoInstantsActionPerformed private void rdoSorceriesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdoSorceriesActionPerformed - filterCards(); + filterCardsType(evt.getModifiers(), evt.getActionCommand()); }//GEN-LAST:event_rdoSorceriesActionPerformed private void rdoPlaneswalkersActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdoPlaneswalkersActionPerformed - filterCards(); + filterCardsType(evt.getModifiers(), evt.getActionCommand()); }//GEN-LAST:event_rdoPlaneswalkersActionPerformed private void cbExpansionSetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cbExpansionSetActionPerformed @@ -916,8 +973,6 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene private void jToggleListViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleListViewActionPerformed if (!(currentView instanceof TableModel)) { toggleViewMode(); - } else { - jToggleListView.setSelected(true); } filterCards(); }//GEN-LAST:event_jToggleListViewActionPerformed @@ -925,13 +980,11 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene private void jToggleCardViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleCardViewActionPerformed if (currentView.cardsSize() > CardGrid.MAX_IMAGES) { jToggleCardView.setSelected(false); + jToggleListView.setSelected(true); JOptionPane.showMessageDialog(this, new StringBuilder("The card view can't be used for more than ").append(CardGrid.MAX_IMAGES).append(" cards.").toString()); - } else { if (!(currentView instanceof CardGrid)) { toggleViewMode(); - } else { - jToggleCardView.setSelected(true); } filterCards(); } @@ -985,6 +1038,30 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene filterCards(); }//GEN-LAST:event_jButtonCleanActionPerformed + private void tbRedActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tbRedActionPerformed + filterCardsColor(evt.getModifiers(), evt.getActionCommand()); + }//GEN-LAST:event_tbRedActionPerformed + + private void tbGreenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tbGreenActionPerformed + filterCardsColor(evt.getModifiers(), evt.getActionCommand()); + }//GEN-LAST:event_tbGreenActionPerformed + + private void tbBlueActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tbBlueActionPerformed + filterCardsColor(evt.getModifiers(), evt.getActionCommand()); + }//GEN-LAST:event_tbBlueActionPerformed + + private void tbBlackActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tbBlackActionPerformed + filterCardsColor(evt.getModifiers(), evt.getActionCommand()); + }//GEN-LAST:event_tbBlackActionPerformed + + private void tbWhiteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tbWhiteActionPerformed + filterCardsColor(evt.getModifiers(), evt.getActionCommand()); + }//GEN-LAST:event_tbWhiteActionPerformed + + private void tbColorlessActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tbColorlessActionPerformed + filterCardsColor(evt.getModifiers(), evt.getActionCommand()); + }//GEN-LAST:event_tbColorlessActionPerformed + private void toggleViewMode() { if (currentView instanceof CardGrid) { jToggleListView.setSelected(true); @@ -1029,6 +1106,7 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene private ICardGrid currentView; // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.ButtonGroup bgView; private javax.swing.JButton btnBooster; private javax.swing.JButton btnClear; private javax.swing.JLabel cardCount; @@ -1044,25 +1122,30 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene private javax.swing.JButton jButtonRemoveFromMain; private javax.swing.JButton jButtonRemoveFromSideboard; private javax.swing.JButton jButtonSearch; - private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabelSearch; + private javax.swing.JToolBar.Separator jSeparator1; + private javax.swing.JToolBar.Separator jSeparator2; + private javax.swing.JToolBar.Separator jSeparator3; + private javax.swing.JToolBar.Separator jSeparator4; + private javax.swing.JToolBar.Separator jSeparator5; private javax.swing.JTextField jTextFieldSearch; private javax.swing.JToggleButton jToggleCardView; private javax.swing.JToggleButton jToggleListView; private javax.swing.JRadioButton rdoArtifacts; - private javax.swing.JRadioButton rdoBlack; - private javax.swing.JRadioButton rdoBlue; - private javax.swing.JRadioButton rdoColorless; private javax.swing.JRadioButton rdoCreatures; private javax.swing.JRadioButton rdoEnchantments; - private javax.swing.JRadioButton rdoGreen; private javax.swing.JRadioButton rdoInstants; private javax.swing.JRadioButton rdoLand; private javax.swing.JRadioButton rdoPlaneswalkers; - private javax.swing.JRadioButton rdoRed; private javax.swing.JRadioButton rdoSorceries; - private javax.swing.JRadioButton rdoWhite; + private javax.swing.JToggleButton tbBlack; + private javax.swing.JToggleButton tbBlue; private javax.swing.JToolBar tbColor; + private javax.swing.JToggleButton tbColorless; + private javax.swing.JToggleButton tbGreen; + private javax.swing.JToggleButton tbRed; private javax.swing.JToolBar tbTypes; + private javax.swing.JToggleButton tbWhite; // End of variables declaration//GEN-END:variables private final mage.client.cards.CardGrid cardGrid; diff --git a/Mage.Client/src/main/resources/buttons/card_panel.png b/Mage.Client/src/main/resources/buttons/card_panel.png new file mode 100644 index 0000000000000000000000000000000000000000..382dbc35e5f2a71ffa489bbfe6d2f95065abbf8d GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5M?jcysy3fAP%z8W z#WBRe!RbXfe>r+kq$G4B?}+gGjp+ZPRw<9({$j!pJ46(wKC$S3dxIj z3;Z+x%`cB*1}khx(HAsoNKg5`!nDKe Z4BsEPgo_(&ZUfrN;OXk;vd$@?2>{MfIV=DG literal 0 HcmV?d00001 diff --git a/Mage.Client/src/main/resources/buttons/color_black.png b/Mage.Client/src/main/resources/buttons/color_black.png new file mode 100644 index 0000000000000000000000000000000000000000..bd82d248072130490ce96f5afd91e94e95db4065 GIT binary patch literal 503 zcmVV)Z)R4Q+3|cnf4l|mcDuQm9n37Nkf*-i@1m-Ob1uJLub<)bad@%c@0WwY;1b7i z7DbWN-BTHW%WO7Vc7ogOc5Y@T=UhTky!TDNsD$KcGMUVuz_Kh4W|o+llw~Q-IRPLf zpE`V*_dWq|cmVS}UsZ!IswyG+3Jy9OjYg{mRMoYaNeH&l?_dCH5s@DvB4(DwaokLR z_g(-zU~RaK1IQXsRns;|vKI`|8U~Ptpmc$+QigDS3_tl6MN!%YyHd8tHAs646Bd17 zJ7rmxohZp7On4NL-{Bt{g72UJjt^^ju~=M0Bx{3xV_BnSCeFD6z|SUOwNi4D7ZFM7 zRq$QP>ii2p-nrXMr_&|LllMLe!51_BMe>*T{!j1rH6D-WBo8FBHW;D+3X-{qe7?28 t4u``P$u)osKw68g`Qv z(57YqNK}-OX`U2n=Gx~>ieNM`hEPPg(v>~3{LPWaGr&Kt=-GqSYBe^qsdFxK&b6F# zaL!%KEH|^`e!oAx1#UK*u9?luEW05OeZ5}coXg9y+#L>w&+z>?9BjASL6RhkIF7R@ zics~F%1ACIlgXeFT(8$%Gn zhm(2lQ5hf{3MM%PaQXlM zGt1&QzAu3H9wZyl3a;ZMvoK++4n9j+M=O|QD+JL5zDgOw)%6aV*(HjiRvm0g87@{W z?Ilc@KLhJ2i=t>mCFNnlBY>~r9~*-2pd^m~kO08>eE!+#bVek)h_s3%G+%=vyqtR#}Y3{vGL-56lo1|~v`yWq_uYSMZl{Ax-)xi)Y znM>LM_KCA<&Y(HBnj-)J002ovPDHLkV1hWh B-{}AV literal 0 HcmV?d00001 diff --git a/Mage.Client/src/main/resources/buttons/color_blue.png b/Mage.Client/src/main/resources/buttons/color_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..c1a9fd92e249c4e52091f1a60c55cf51246050d5 GIT binary patch literal 592 zcmV-W0}EDMfm_^x!_4e5-~8rxW)3`ZD=z)`@I@D< zVQCsFdthoBF#p)whT1f2{(dWdJ_z{fyUtw8+B8(Q0doM8_3fb_*WR$Y{axJV>&tv{ z^GoOBC+tRJs?i9FGDQ)CA{#>$JiC`~b$%B3`G?NLu|=7vf6sk;uupR(Ee$|C-sLTOu1GWWkBUpTbcN=t@q)>$*R8OyT z(F0R9d&4`Zvk~l1!MXab_bdU%0JfnjN4?nu58fx3IYPaU;Crg$x2gx41Je$ufJ$8C zT>_dRSX^dD@>?9!Bd~#Tlw~g*mGmkvfOFM3a9@^jhYlDd16ptpTcsRVI02dN19H zO2b_UyhDpW7t7bxYn_Q_9fWG2(hZL;jyiZ&Ff3me3+%HOx)9G&Je4@6>2>VIQwPsR e{P_a==s literal 0 HcmV?d00001 diff --git a/Mage.Client/src/main/resources/buttons/color_blueOff.png b/Mage.Client/src/main/resources/buttons/color_blueOff.png new file mode 100644 index 0000000000000000000000000000000000000000..ecefe3f3f934e9d8f264a9c5642cbd3bfa8c94b5 GIT binary patch literal 592 zcmV-W0>auLKda)mVFJNO*p0|<7$ zhlP(Ig1z=O7GjfE2;9PjY<6bOnPV|Ko5{Ti+~O|$>~6w-^Pm6B9C+ZXy7b4p&$e_O zE7#HZJu}yVJ85)KHAZa)c8|Oa>L^@4eQEPMK%dI2 zeGeKS3Pgn%AzG3}FiT>P8Ff_FC&2e#Z0S21w+G*W??HS5s|@hGKwe~!8APRdd}T|3 zDS+!(<;<`IkpRIbu-pch?(IoM$N+Oks7M0eah-l^jt=+CGSC3i zqf2pxvfEI^G32d*Sy?iZy69d!IvHJF0GF;y;9)XJD`a5Q0_Y*Qr2L+xA;F_^7=gZ{ zrDB$k&Ct2Da<~QU3zz<6H?$>iXYi!T+slR=^_Z9Vq3eC&wg5+AcXF0DZ*2oK!)8ro z=NyaDbB>`;`_(7MZPe=b=nz19wyJDkIC=$e?05k!TxwLdXQ$1JH@1k%wHbBUm@&(6 z%cVnOFj;dC5SXrr)G eIX_?@{Q3{&pY2;*oFr8M0000mTxdvJl+O-=XE)8EwZ*G0oWZtkXq zPxf}c!!H^_wZ%^xJPm%+5b6fM`s#k2-3s`{-p@Sov?Wvxfi0dbo`$xcU(nLv>z1_q z;r{$C_m9e#@AmQJ9(UGv8CPS*95Kq_80GHr+~F!k*RSm9$wA;Z`!I93^D#%0%dMCF zkR*diLeHPu!`U@p=wwbj5kV0Y!>~MdfO3|RFcI{00Q_w4=DW^(ws=|skwijB87?S_ zp?S38DQNY`?$3K*gI_cmwxy*Z&=T<^B8iA(xb$%8K>ZIAx&Rn=z)+2|=>UR~NcbEf zgA;NCTuDgP1Glu(?o3CJWh8{qL*oEkLW`J|8D?B}hKiC;D!6 literal 0 HcmV?d00001 diff --git a/Mage.Client/src/main/resources/buttons/color_green_off.png b/Mage.Client/src/main/resources/buttons/color_green_off.png new file mode 100644 index 0000000000000000000000000000000000000000..be8641c97ecd971980be1d29e8b8f11570a568ed GIT binary patch literal 598 zcmV-c0;&CpP)k&u9vfJ@+j zT!2RcQuYcDG}CrZN04j;q*rP218@$_`ZTlb60Y6DNF)&P31ZKv^#ir-`aHw^2s7=< zL)%P}#ayKyfZHxz9QzztnGD$NW|x`EY@fhBQyU1xD!04^y}k>KeU`WLyd8re+d<*K z(U)s5WoJ1D`ZLxWJVzWy9F|b2(NDcXfQGOUWDOKq!481#4Ac>vqMNg)&1;=s32_zC zLi_p}W;x6=xJdkh;rGSk>sp`A0T k+ukEpK(^87j{njA0+*BFWgiR82mk;807*qoM6N<$g6?k86jtzbaju^S&qZb5tqCtNv5OVF=z<;7%VVm z7_9o!FTD$UU&P=B_&Ey33()Ona|kxAv#hh(4#?_7IjnSCcDM8X8==Jr25Vk-%2zF8D-U;D{f#2iT*X8A$5Y~i{wZQHc3ZX!CW#ILw zn^!L`ay>tP(lmY3voqDxQ`M7`H=RtL)R>(AHU0o2&hqU7{z35o0000`{CILmIasWxAXs z<(|Md$N|#1av4;maGf`rd2b8Z(pZ037t0O|3`q0g_ufbY|9H5u2ln!^KxBnTfyfjQ z5IN#~iOAl4d>pO)IaLKAK#ZUYX8l=@oESIu_&Dn)tg1EM=ZJv!G-wJBO|zU3))$~X zJuRA^o%_{A&+sr_*!}$i;06GZ6_W{M8MxCqoj0doigw``SHPhLy)VeJOR#>a52kS1 zju478;grdw#++*#pQh}VpQf$X(-fou+s~q(vZ}`65NJW~k7U_&6ubsiJ*HrZbHiZW zpML3GIL0ys_rR}FFg<{7Kii*RfAKHda=8VH=1|TjotE7#y-ixW7~k8303qy9-C~wE z39n1(iE%f0+t|ay9Muhw4}x7Z1dr-(2VdjY*WKL=)itWc1=#(BR7=cu4!*CuU~g|1 rsIE{gh;e#CkEoWY?w#3z|1tgmGFtDR^Ztlr00000NkvXXu0mjfZ+hp{ literal 0 HcmV?d00001 diff --git a/Mage.Client/src/main/resources/buttons/color_white.png b/Mage.Client/src/main/resources/buttons/color_white.png new file mode 100644 index 0000000000000000000000000000000000000000..de986b2ec40182800186ba7c3736e78162ff1eac GIT binary patch literal 467 zcmV;^0WAKBP)3z zAj}1X=>c5oz6U7&VcvHZ6U%3fIIv$VP z!{M;l@As2O@44!Pq<2YklBpz+ge2I0crKGPYc`vkhoGbnNuMO^Bul`ewgM<5joa<^ z`VI^$`?A<8G?W6ssMG0e03b2oJcf~k_x`4T9fyA1dq2NA$u$9z(ij$l>^Rgk&+|zM zN}AeVdxch48QLiTyah0=#_LgyWE;*oIOkFeb}jT9w2~M&=ei|WedsT!0bygfi(${u zNIZ8I%wiiihQ_iT+RTE>7+A&a2O=w6mSC+`TS>~yCVvW7QIc7|-(TIF6aX_xg$?v0 zyb_9n%Z10TJb?0morN#ns_u(<;Ppw()v0gRk;+0B*ovvJF<;haN~ zBw3Oqqv3G4etI8XOP=Qw@BNfy>b>uVnC(brB$vHjZ}l%X{WoYc=Msn14ygbD002ov JPDHLkV1h{y&Km## literal 0 HcmV?d00001 diff --git a/Mage.Client/src/main/resources/buttons/color_white_off.png b/Mage.Client/src/main/resources/buttons/color_white_off.png new file mode 100644 index 0000000000000000000000000000000000000000..d6406b73809e41ed0bf20d7fdf7c110722f3bcd7 GIT binary patch literal 451 zcmV;!0X+VRP)`8^BG>~I-v7@gEzeA?3c~~fX&b)2#e6=$+yy1QOZp%=CD{WW^&LPf>9klZzJGx+vQLjaLSt(I ze63ci3jj`o?)2dfTz z6ls@fKQDv;NmYMrB%OyUA;tX|#0L*5y3xHEB_`xg9zmIq;>2x?8E_bi5>-D-Oc{Hw05mdy=`CEhE~HtVo`>+ii*eXg_iK_6zu0{!0J=002ovPDHLkV1oL`zD)oC literal 0 HcmV?d00001 diff --git a/Mage.Client/src/main/resources/buttons/colorless.png b/Mage.Client/src/main/resources/buttons/colorless.png new file mode 100644 index 0000000000000000000000000000000000000000..592d4d166817183069d9cda2448a57b4d394715f GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VXMsm#F#`kN5fEmas?8@26g=kX z;uvCadhe8jyoVKdT#cEHpWG1K#dx#LF`_AUhY^E1pUwe>DgAY;mMqP^7Ed+VZ3!M+m)ccLt%<-<-4+{9Q0gk{afXT zf%j(Cs*(>nIig9HLFKEHKk5o>)Tx%)P<`_5>`S#dyZFCNh+qHvvB8s{QlAd|OEK3I WxH&&hRlN}CBL+`bKbLh*2~7aiylUwH literal 0 HcmV?d00001 diff --git a/Mage.Client/src/main/resources/buttons/colorless_off.png b/Mage.Client/src/main/resources/buttons/colorless_off.png new file mode 100644 index 0000000000000000000000000000000000000000..8850c2b37f3f47834ff21e17271e07c13d9f4291 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VXMsm#F#`kN5fEmas?8@26g=wb z;uvCadhZlNzQYPUuA9qOxU4&H=+vQ>Bj*Y&IKod$N?5r6e6ids>Xw@Bl}po=HprWm z%~)oCD`rWT&&0(%*Pj_L@Se!#!0~X;cfFQ?*8DYs>t6o8w$4?|(a>#rP?6>Hxf|MS zn{<=o($bbr$%~w(eqr$g=6I*sGqdJYv21HK3cj1=p!-xKM>MHo`EEDOIahXV_IKjh z91^|2k^TIkFvV%grQ5BEr~7k^?tx>~Jeu_M|>#&9rsjW{WUON&H*vG(nNYRBER5+v)RE{>B&eJ*h8Y zt~mF(fj7`U@IUXC1FX}}3VrhZbY1elL6QW6vCH+~?F_5atnW+y-^;D_zdA+i-}Ltv z4qP}>IREkf(j0*ZUJuw5bIpA$bRY^~sB*!a2O z+|(%jPxHU>zOJ918T9{k<2|L53<7iOI{xo>oOSm9uK7L%mXmlK()r7o6J9cioxgG8 eL{iAv8io=<1Lk!hbB%%iV(@hJb6Mw<&;$T(*>h+B literal 0 HcmV?d00001 diff --git a/Mage.Client/src/main/resources/buttons/deck_out.png b/Mage.Client/src/main/resources/buttons/deck_out.png new file mode 100644 index 0000000000000000000000000000000000000000..187f5696b4ab4f2d62a2ede4109dfdd66e87b2a6 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5M?jcysy3fAQ1G~? zi(`nz>Ewh3q6TJW&pd*{@8@S{NI3MRi7j|`H9sQq|9UaezdTQFPe^gtu+^p|Q{*M*D^ly1a#-I6`nm^@dD>~%=nXjVz_x`0z&+Xe7@3Bt(Fa6KB z!LWnZh~;j>iJ3tKl}&6*vR5_nIv%@NtkP-DAT1r4bA>^Nt>F@*2UAPo#)(H)%*tjw XX{4GPDqJ)R=p_bES3j3^P6uNG4rEr~7k^?tx>~Jeu_M|>#&9rsjW{WUON&H*vG(nNYRBER5+v)RE{>B&eJ*h8Y zt~mF(fj7`U@IUXC1FX}}3VrhZbY1elL6QW6vCH+~?F_5a%IREkf@*IH(UJuEwh3q6TJW&pd*{@8@S{NI3MRi7j|`H9sQq|9UaezdTQFPe^gtu+|2Jw{!bRV^ly1a#-I6`nm^@dD>~%=nXjVz_x`O*&+Xe7Z?aDP-?-|4 z#1S^hro01ZW(E~hHnF8-t!m