mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
GUI: Add "Generate" to the new Decklist Panel
This commit is contained in:
parent
0862be5d1c
commit
a6f1c194eb
2 changed files with 21 additions and 15 deletions
|
|
@ -1,6 +1,7 @@
|
|||
package mage.client.components;
|
||||
|
||||
import mage.cards.decks.DeckFileFilter;
|
||||
import mage.client.deck.generator.DeckGenerator;
|
||||
import mage.client.util.RecentDecklistUtil;
|
||||
|
||||
import javax.swing.*;
|
||||
|
|
@ -16,6 +17,7 @@ public class DecklistChooser extends JPanel
|
|||
private final String CLEAR_ITEM = "Clear recent decks";
|
||||
|
||||
private final JButton chooseButton;
|
||||
private final JButton generateButton;
|
||||
private final JComboBox<String> decklistCombobox;
|
||||
private boolean inUpdate = false;
|
||||
|
||||
|
|
@ -23,6 +25,9 @@ public class DecklistChooser extends JPanel
|
|||
chooseButton = new JButton("...");
|
||||
chooseButton.setToolTipText("Select deck file...");
|
||||
|
||||
generateButton = new JButton("Generate");
|
||||
generateButton.setToolTipText("Generate a new deck...");
|
||||
|
||||
decklistCombobox = new JComboBox<>();
|
||||
|
||||
setupControls();
|
||||
|
|
@ -31,6 +36,7 @@ public class DecklistChooser extends JPanel
|
|||
|
||||
private void setupControls() {
|
||||
chooseButton.addActionListener(e -> chooseFile());
|
||||
generateButton.addActionListener(e -> generateDeck());
|
||||
|
||||
decklistCombobox.setEditable(true);
|
||||
|
||||
|
|
@ -85,6 +91,9 @@ public class DecklistChooser extends JPanel
|
|||
gbc.weightx = 0;
|
||||
gbc.fill = GridBagConstraints.NONE;
|
||||
add(chooseButton, gbc);
|
||||
|
||||
gbc.gridx = 2;
|
||||
add(generateButton, gbc);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -163,4 +172,15 @@ public class DecklistChooser extends JPanel
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a new deck using the “Generate Deck” dialog.
|
||||
*/
|
||||
private void generateDeck() {
|
||||
String filename = DeckGenerator.generateDeck();
|
||||
if (filename != null) {
|
||||
RecentDecklistUtil.putRecentDecklistFiles(filename);
|
||||
update();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,7 +63,6 @@ public class NewPlayerPanel extends javax.swing.JPanel {
|
|||
public void showDeckElements(boolean show) {
|
||||
lblPlayerDeck.setVisible(show);
|
||||
decklist.setVisible(show);
|
||||
btnGenerate.setVisible(show);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -79,7 +78,6 @@ public class NewPlayerPanel extends javax.swing.JPanel {
|
|||
txtPlayerName = new javax.swing.JTextField();
|
||||
lblPlayerDeck = new javax.swing.JLabel();
|
||||
decklist = new DecklistChooser();
|
||||
btnGenerate = new javax.swing.JButton();
|
||||
lblLevel = new javax.swing.JLabel();
|
||||
spnLevel = new javax.swing.JSpinner();
|
||||
|
||||
|
|
@ -87,9 +85,6 @@ public class NewPlayerPanel extends javax.swing.JPanel {
|
|||
|
||||
lblPlayerDeck.setText("Deck:");
|
||||
|
||||
btnGenerate.setText("Generate");
|
||||
btnGenerate.addActionListener(evt -> btnGenerateActionPerformed(evt));
|
||||
|
||||
lblLevel.setText("Skill:");
|
||||
|
||||
spnLevel.setModel(new javax.swing.SpinnerNumberModel(2, 1, 10, 1));
|
||||
|
|
@ -110,9 +105,6 @@ public class NewPlayerPanel extends javax.swing.JPanel {
|
|||
.addComponent(decklist, javax.swing.GroupLayout.DEFAULT_SIZE, 310, Short.MAX_VALUE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(btnGenerate, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(lblLevel)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
|
|
@ -130,17 +122,11 @@ public class NewPlayerPanel extends javax.swing.JPanel {
|
|||
.addGap(3, 3, 3)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(lblPlayerDeck)
|
||||
.addComponent(decklist, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(btnGenerate, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addComponent(decklist, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
);
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void btnGenerateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGenerateActionPerformed
|
||||
generateDeck();
|
||||
}//GEN-LAST:event_btnGenerateActionPerformed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JButton btnGenerate;
|
||||
private DecklistChooser decklist;
|
||||
private javax.swing.JLabel lblLevel;
|
||||
private javax.swing.JLabel lblPlayerDeck;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue