add foul magics set selector
All checks were successful
/ example-docker-compose (push) Successful in 14m42s

This commit is contained in:
Failure 2025-01-10 17:04:42 -08:00
parent f83e1bf076
commit 4fc4eb4630
3 changed files with 65 additions and 6 deletions

View file

@ -2,9 +2,15 @@ package mage.client.constants;
import javax.swing.*;
import javax.swing.border.Border;
import com.google.common.collect.ImmutableList;
import javafx.util.Pair;
import java.awt.*;
import java.io.File;
/**
* @author BetaSteward_at_googlemail.com
*/
@ -13,12 +19,19 @@ public final class Constants {
private Constants() {
throw new AssertionError();
}
public static final ImmutableList<Pair<String, String[]>> foulMagicsSets = ImmutableList.of(
new Pair<String, String[]>("Set 1 - FDN, Ravnica", new String[] {
"* Foundations Block",
"* Guilds of Ravnica Block",
"* Return to Ravnica Block",
}),
new Pair<String, String[]>("Set 0.5 - FDN", new String[] {
"* Foundations Block",
})
);
public static final String[] foulMagicsBlocks = {
"* Foundations Block",
"* Guilds of Ravnica Block",
"* Return to Ravnica Block",
};
public static final int FRAME_MAX_HEIGHT = 367;
public static final int FRAME_MAX_WIDTH = 256;

View file

@ -222,6 +222,28 @@
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnExpansionSearchActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JComboBox" name="cbFoulMagicPresets">
<Properties>
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
<StringArray count="0"/>
</Property>
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[120, 20]"/>
</Property>
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[120, 20]"/>
</Property>
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[120, 20]"/>
</Property>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="cbFoulMagicPresetSelected"/>
</Events>
<AuxValues>
<AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="FoulMagicPreset"/>
</AuxValues>
</Component>
<Component class="javax.swing.JButton" name="btnFoulMagicPreset">
<Properties>
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">

View file

@ -32,6 +32,8 @@ import mage.view.CardsView;
import org.apache.log4j.Logger;
import org.mage.card.arcane.ManaSymbolsCellRenderer;
import javafx.util.Pair;
import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
import java.awt.*;
@ -563,6 +565,7 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene
jSeparator1 = new javax.swing.JToolBar.Separator();
cbExpansionSet = new javax.swing.JComboBox<>();
btnExpansionSearch = new javax.swing.JButton();
cbFoulMagicPresets = new javax.swing.JComboBox<>();
btnFoulMagicPreset = new javax.swing.JButton();
jSeparator2 = new javax.swing.JToolBar.Separator();
chkPennyDreadful = new javax.swing.JCheckBox();
@ -744,6 +747,19 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene
});
tbColor.add(btnExpansionSearch);
List<String> setNames = new LinkedList<String>();
for (Pair<String, String[]> pair : Constants.foulMagicsSets) {
setNames.add(pair.getKey());
}
DefaultComboBoxModel presetModel = new DefaultComboBoxModel<>(setNames.toArray());
cbFoulMagicPresets.setModel(presetModel);
cbFoulMagicPresets.setMaximumSize(new java.awt.Dimension(200, 20));
cbFoulMagicPresets.setMinimumSize(new java.awt.Dimension(150, 20));
cbFoulMagicPresets.setPreferredSize(new java.awt.Dimension(175, 20));
tbColor.add(cbFoulMagicPresets);
btnFoulMagicPreset.setIcon(new javax.swing.ImageIcon(getClass().getResource("/buttons/brick.png"))); // NOI18N
btnFoulMagicPreset.setToolTipText("Set to Foul Magic preset");
btnFoulMagicPreset.setAlignmentX(1.0F);
@ -1484,15 +1500,22 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene
}//GEN-LAST:event_chkRulesActionPerformed
private void btnFoulMagicPresetSet(java.awt.event.ActionEvent evt) {
reloadSetsCombobox();
if (cbExpansionSet.getItemAt(0).startsWith(MULTI_SETS_SELECTION_TEXT)) {
cbExpansionSet.removeItemAt(0);
}
listCodeSelected.uncheckAll();
String[] selectedFormats = Constants.foulMagicsSets.get(this.cbFoulMagicPresets.getSelectedIndex()).getValue();
if (selectedFormats.length == 1) {
this.cbExpansionSet.setSelectedItem(selectedFormats[0]);
filterCards();
return;
}
List<String> formats = ConstructedFormats.getTypes(false);
for (int i = 0; i < formats.size(); i++) {
if (Arrays.stream(Constants.foulMagicsBlocks).anyMatch(formats.get(i)::equals)) {
if (Arrays.stream(selectedFormats).anyMatch(formats.get(i)::equals)) {
listCodeSelected.setChecked(i - 1, true);
}
}
@ -1620,6 +1643,7 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene
private javax.swing.JScrollPane cardSelectorScrollPane;
private javax.swing.JComboBox<String> cbExpansionSet;
private javax.swing.JComboBox<SortBy> cbSortBy;
private javax.swing.JComboBox<SortBy> cbFoulMagicPresets;
private javax.swing.JCheckBox chkNames;
private javax.swing.JCheckBox chkPennyDreadful;
private javax.swing.JCheckBox chkPiles;