mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
Improve pool distribution dialog for new quests
This commit is contained in:
@@ -28,7 +28,7 @@ public class DialogChooseColors {
|
||||
private final FCheckBox cbxArtifacts = new FCheckBox("Include Artifacts");
|
||||
|
||||
private final FRadioButton radBalanced = new FRadioButton("Balanced");
|
||||
private final FRadioButton radRandom = new FRadioButton("Random");
|
||||
private final FRadioButton radRandom = new FRadioButton("True Random");
|
||||
private final FRadioButton radSurpriseMe = new FRadioButton("Surprise Me");
|
||||
private final FRadioButton radBoosters = new FRadioButton("Boosters");
|
||||
|
||||
@@ -96,12 +96,11 @@ public class DialogChooseColors {
|
||||
mainPanel.setOpaque(false);
|
||||
mainPanel.setBackgroundTexture(FSkin.getIcon(FSkinProp.BG_TEXTURE));
|
||||
|
||||
final String contentPanelConstraints = "w 200px!, h 290px!, left, gap 5, insets 10 25 10 25, wrap 1";
|
||||
final String contentPanelConstraints = "w 200px!, h 340px!, left, gap 5, insets 10 25 10 25, wrap 1";
|
||||
|
||||
//Right side
|
||||
final FPanel right = new FPanel(new MigLayout(contentPanelConstraints));
|
||||
right.setOpaque(false);
|
||||
right.add(new FLabel.Builder().text("Colors").fontSize(18).build(), "gaptop 10");
|
||||
|
||||
final FLabel clearColors = new FLabel.Builder().text("Clear All").fontSize(12).opaque(true).hoverable(true).build();
|
||||
clearColors.setCommand(new UiCommand() {
|
||||
@@ -116,6 +115,19 @@ public class DialogChooseColors {
|
||||
}
|
||||
});
|
||||
|
||||
final FLabel boosterPackLabel = new FLabel.Builder().text("Number of Boosters:").fontSize(14).build();
|
||||
final FLabel colorsLabel = new FLabel.Builder().text("Colors").fontSize(18).build();
|
||||
final FTextPane noSettingsText = new FTextPane("No settings are available for this selection.");
|
||||
|
||||
if (radBoosters.isSelected()) {
|
||||
right.add(boosterPackLabel, "gaptop 10");
|
||||
right.add(numberOfBoostersField, "w 100px!, gaptop 5");
|
||||
} else if (radSurpriseMe.isSelected()) {
|
||||
right.add(noSettingsText, "gaptop 10");
|
||||
} else if (radRandom.isSelected()) {
|
||||
right.add(cbxArtifacts, "gaptop 10");
|
||||
} else {
|
||||
right.add(colorsLabel, "gaptop 10");
|
||||
right.add(clearColors, "w 75px!, h 20px!, gaptop 10");
|
||||
right.add(cbxBlack, "gaptop 10");
|
||||
right.add(cbxBlue);
|
||||
@@ -123,6 +135,8 @@ public class DialogChooseColors {
|
||||
right.add(cbxRed);
|
||||
right.add(cbxWhite);
|
||||
right.add(cbxColorless);
|
||||
right.add(cbxArtifacts, "gaptop 25");
|
||||
}
|
||||
|
||||
//Left Side
|
||||
final FPanel left = new FPanel(new MigLayout(contentPanelConstraints));
|
||||
@@ -139,27 +153,53 @@ public class DialogChooseColors {
|
||||
ActionListener radioButtonListener = new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(final ActionEvent e) {
|
||||
clearColors.setEnabled(radBalanced.isSelected());
|
||||
cbxBlack.setEnabled(radBalanced.isSelected());
|
||||
cbxBlue.setEnabled(radBalanced.isSelected());
|
||||
cbxGreen.setEnabled(radBalanced.isSelected());
|
||||
cbxRed.setEnabled(radBalanced.isSelected());
|
||||
cbxWhite.setEnabled(radBalanced.isSelected());
|
||||
cbxColorless.setEnabled(radBalanced.isSelected());
|
||||
cbxArtifacts.setEnabled(!radSurpriseMe.isSelected() && !radBoosters.isSelected());
|
||||
numberOfBoostersField.setEnabled(radBoosters.isSelected());
|
||||
|
||||
right.removeAll();
|
||||
|
||||
if (radBoosters.isSelected()) {
|
||||
right.add(boosterPackLabel, "gaptop 10");
|
||||
right.add(numberOfBoostersField, "w 100px!, gaptop 5");
|
||||
} else if (radSurpriseMe.isSelected()) {
|
||||
right.add(noSettingsText, "gaptop 10");
|
||||
} else if (radRandom.isSelected()) {
|
||||
right.add(cbxArtifacts, "gaptop 10");
|
||||
} else {
|
||||
right.add(colorsLabel, "gaptop 10");
|
||||
right.add(clearColors, "w 75px!, h 20px!, gaptop 10");
|
||||
right.add(cbxBlack, "gaptop 10");
|
||||
right.add(cbxBlue);
|
||||
right.add(cbxGreen);
|
||||
right.add(cbxRed);
|
||||
right.add(cbxWhite);
|
||||
right.add(cbxColorless);
|
||||
right.add(cbxArtifacts, "gaptop 25");
|
||||
}
|
||||
|
||||
clearColors.setVisible(radBalanced.isSelected());
|
||||
cbxBlack.setVisible(radBalanced.isSelected());
|
||||
cbxBlue.setVisible(radBalanced.isSelected());
|
||||
cbxGreen.setVisible(radBalanced.isSelected());
|
||||
cbxRed.setVisible(radBalanced.isSelected());
|
||||
cbxWhite.setVisible(radBalanced.isSelected());
|
||||
cbxColorless.setVisible(radBalanced.isSelected());
|
||||
cbxArtifacts.setVisible(!radSurpriseMe.isSelected() && !radBoosters.isSelected());
|
||||
numberOfBoostersField.setVisible(radBoosters.isSelected());
|
||||
|
||||
right.validate();
|
||||
right.repaint();
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
clearColors.setEnabled(radBalanced.isSelected());
|
||||
cbxBlack.setEnabled(radBalanced.isSelected());
|
||||
cbxBlue.setEnabled(radBalanced.isSelected());
|
||||
cbxGreen.setEnabled(radBalanced.isSelected());
|
||||
cbxRed.setEnabled(radBalanced.isSelected());
|
||||
cbxWhite.setEnabled(radBalanced.isSelected());
|
||||
cbxColorless.setEnabled(radBalanced.isSelected());
|
||||
cbxArtifacts.setEnabled(!radSurpriseMe.isSelected() && !radBoosters.isSelected());
|
||||
numberOfBoostersField.setEnabled(radBoosters.isSelected());
|
||||
clearColors.setVisible(radBalanced.isSelected());
|
||||
cbxBlack.setVisible(radBalanced.isSelected());
|
||||
cbxBlue.setVisible(radBalanced.isSelected());
|
||||
cbxGreen.setVisible(radBalanced.isSelected());
|
||||
cbxRed.setVisible(radBalanced.isSelected());
|
||||
cbxWhite.setVisible(radBalanced.isSelected());
|
||||
cbxColorless.setVisible(radBalanced.isSelected());
|
||||
cbxArtifacts.setVisible(!radSurpriseMe.isSelected() && !radBoosters.isSelected());
|
||||
numberOfBoostersField.setVisible(radBoosters.isSelected());
|
||||
|
||||
radBalanced.setToolTipText("A balanced distribution will provide a roughly equal number of cards in each selected color.");
|
||||
radRandom.setToolTipText("A random distribution will be almost entirely randomly selected. This ignores any color selections.");
|
||||
@@ -173,8 +213,6 @@ public class DialogChooseColors {
|
||||
radBoosters.addActionListener(radioButtonListener);
|
||||
|
||||
left.add(poolTypePanel, "gaptop 15");
|
||||
left.add(cbxArtifacts, "gaptop 25");
|
||||
left.add(numberOfBoostersField, "w 100px!, gaptop 15");
|
||||
|
||||
//Add Bottom and Panels
|
||||
mainPanel.add(left);
|
||||
|
||||
@@ -86,8 +86,8 @@ public enum VSubmenuQuestData implements IVSubmenu<CSubmenuQuestData> {
|
||||
private final FCheckBox boxCompleteSet = new FCheckBox("Start with all cards in selected sets");
|
||||
private final FCheckBox boxAllowDuplicates = new FCheckBox("Allow duplicate cards");
|
||||
|
||||
private final FLabel lblPreferredColor = new FLabel.Builder().text("Starting pool colors:").build();
|
||||
private final FLabel btnPreferredColors = new FLabel.Builder().opaque(true).hoverable(true).text("Choose Colors").build();
|
||||
private final FLabel lblPreferredColor = new FLabel.Builder().text("Starting pool distribution:").build();
|
||||
private final FLabel btnPreferredColors = new FLabel.Builder().opaque(true).hoverable(true).text("Choose Distribution").build();
|
||||
|
||||
private final FLabel btnPrizeDefineCustomFormat = new FLabel.Builder().opaque(true).hoverable(true).text("Define custom format").build();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user