package magic.ui.screen.widget;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import magic.data.MagicIcon;
import magic.model.MagicDeck;
import magic.ui.MagicImages;
import magic.ui.ScreenController;
import magic.translate.MText;
@SuppressWarnings("serial")
public final class SampleHandActionButton extends ActionBarButton {
// translatable strings
private static final String _S1 = "Sample Hand";
private static final String _S2 = "Generate sample Hands from this deck.";
private static final String _S3 = "A deck with a minimum of 7 cards is required first.";
private SampleHandActionButton() {}
public static ActionBarButton createInstance(final MagicDeck deck) {
return new ActionBarButton(
MagicImages.getIcon(MagicIcon.HAND_ICON),
MText.get(_S1), MText.get(_S2),
new SampleHandAction(deck));
}
private static class SampleHandAction extends AbstractAction {
private final MagicDeck deck;
public SampleHandAction(final MagicDeck deck) {
this.deck = deck;
}
@Override
public void actionPerformed(ActionEvent e) {
if (deck.size() >= 7) {
ScreenController.showSampleHandScreen(deck);
} else {
showInvalidActionMessage(MText.get(_S3));
}
}
private void showInvalidActionMessage(final String message) {
ScreenController.showWarningMessage(message);
}
}
}