package magic.ui.widget.deck;
import magic.ui.widget.deck.stats.DeckStatisticsViewer;
import magic.model.MagicDeck;
import magic.ui.FontsAndBorders;
import magic.ui.widget.TexturedPanel;
import net.miginfocom.swing.MigLayout;
@SuppressWarnings("serial")
public class DeckInfoPanel extends TexturedPanel {
public static final String CP_LAYOUT_CHANGED = "9e33fc9e-e588-4b5f-86ad-66a2898f7d5e";
private final DeckStatisticsViewer statsViewer;
private final DeckDescriptionViewer descViewer;
public DeckInfoPanel() {
this.statsViewer = new DeckStatisticsViewer();
this.descViewer = new DeckDescriptionViewer();
final MigLayout mig = new MigLayout();
setLayout(mig);
mig.setLayoutConstraints("flowy, insets 0, gap 0");
mig.setColumnConstraints("[fill, grow]");
mig.setRowConstraints("[][fill, grow]");
refreshLayout();
statsViewer.addPropertyChangeListener(
DeckStatisticsViewer.CP_LAYOUT_CHANGED,
(e) -> {
refreshLayout();
firePropertyChange(CP_LAYOUT_CHANGED, true, false);
}
);
setBackground(FontsAndBorders.TRANSLUCENT_WHITE_STRONG);
}
private void refreshLayout() {
removeAll();
add(statsViewer);
add(descViewer);
revalidate();
}
public void setDeck(MagicDeck aDeck) {
statsViewer.setDeck(aDeck);
descViewer.setDeckDescription(aDeck);
}
public void setPlayedWonLost(String pwl) {
statsViewer.setPlayedWonLost(pwl);
}
}