foul-magics/Mage.Client/src/main/java/mage/client/dialog/PickPileDialog.java

103 lines
2.9 KiB
Java

package mage.client.dialog;
import mage.client.MageFrame;
import mage.client.cards.BigCard;
import mage.client.cards.CardArea;
import mage.view.CardsView;
import org.mage.card.arcane.CardPanel;
import javax.swing.*;
import java.awt.*;
import java.util.UUID;
/**
* @author BetaSteward_at_googlemail.com
*/
public class PickPileDialog extends MageDialog {
private final CardArea pile1;
private final CardArea pile2;
private boolean pickedPile1 = false;
/**
* Create the frame.
*/
public PickPileDialog() {
getContentPane().setLayout(new BorderLayout(0, 0));
JPanel panel = new JPanel();
getContentPane().add(panel, BorderLayout.WEST);
panel.setLayout(new BorderLayout(0, 0));
pile1 = new CardArea();
panel.add(pile1, BorderLayout.CENTER);
JButton btnChoosePile1 = new JButton("Pile 1");
btnChoosePile1.addActionListener(e -> btnPile1ActionPerformed(e));
panel.add(btnChoosePile1, BorderLayout.NORTH);
JPanel panel_1 = new JPanel();
getContentPane().add(panel_1, BorderLayout.EAST);
panel_1.setLayout(new BorderLayout(0, 0));
pile2 = new CardArea();
panel_1.add(pile2, BorderLayout.CENTER);
JButton btnChoosePile2 = new JButton("Pile 2");
btnChoosePile2.addActionListener(e -> btnPile2ActionPerformed(e));
panel_1.add(btnChoosePile2, BorderLayout.NORTH);
}
public void cleanUp() {
for (Component comp : pile1.getComponents()) {
if (comp instanceof CardPanel) {
((CardPanel) comp).cleanUp();
pile1.remove(comp);
}
}
for (Component comp : pile2.getComponents()) {
if (comp instanceof CardPanel) {
((CardPanel) comp).cleanUp();
pile2.remove(comp);
}
}
}
public void loadCards(String name, CardsView pile1, CardsView pile2, BigCard bigCard, UUID gameId) {
this.title = name;
this.pile1.loadCardsNarrow(pile1, bigCard, gameId);
this.pile2.loadCardsNarrow(pile2, bigCard, gameId);
this.setModal(true);
pack();
// windows settings
MageFrame.getDesktop().remove(this);
if (this.isModal()) {
MageFrame.getDesktop().add(this, JLayeredPane.MODAL_LAYER);
} else {
MageFrame.getDesktop().add(this, JLayeredPane.PALETTE_LAYER);
}
this.makeWindowCentered();
this.revalidate(); // TODO: remove?
this.repaint(); // TODO: remove?
this.setVisible(true);
}
private void btnPile1ActionPerformed(java.awt.event.ActionEvent evt) {
pickedPile1 = true;
this.hideDialog();
}
private void btnPile2ActionPerformed(java.awt.event.ActionEvent evt) {
pickedPile1 = false;
this.hideDialog();
}
public boolean isPickedPile1() {
return this.pickedPile1;
}
}