Skip to content

Commit bcf9591

Browse files
use GuiUtil's createIntConfigRadioMenu in EntryMarkersMenu
1 parent 51e6b1e commit bcf9591

File tree

1 file changed

+1
-52
lines changed

1 file changed

+1
-52
lines changed

enigma-swing/src/main/java/org/quiltmc/enigma/gui/element/menu_bar/view/EntryMarkersMenu.java

Lines changed: 1 addition & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,23 @@
11
package org.quiltmc.enigma.gui.element.menu_bar.view;
22

3-
import org.quiltmc.config.api.values.TrackedValue;
43
import org.quiltmc.enigma.gui.Gui;
54
import org.quiltmc.enigma.gui.config.Config;
65
import org.quiltmc.enigma.gui.element.menu_bar.AbstractEnigmaMenu;
76
import org.quiltmc.enigma.gui.util.GuiUtil;
87
import org.quiltmc.enigma.util.I18n;
98

10-
import javax.swing.ButtonGroup;
119
import javax.swing.JCheckBoxMenuItem;
1210
import javax.swing.JMenu;
13-
import javax.swing.JRadioButtonMenuItem;
1411
import javax.swing.JToolBar;
15-
import java.util.Map;
16-
import java.util.function.Function;
17-
import java.util.stream.Collectors;
18-
import java.util.stream.IntStream;
1912

2013
import static org.quiltmc.enigma.gui.config.EntryMarkersSection.MAX_MAX_MARKERS_PER_LINE;
2114
import static org.quiltmc.enigma.gui.config.EntryMarkersSection.MIN_MAX_MARKERS_PER_LINE;
2215

2316
public class EntryMarkersMenu extends AbstractEnigmaMenu {
24-
@SuppressWarnings("SameParameterValue")
25-
private static JMenu createIntConfigRadioMenu(
26-
TrackedValue<Integer> config, int min, int max, Runnable onUpdate
27-
) {
28-
final Map<Integer, JRadioButtonMenuItem> radiosByChoice = IntStream.range(min, max + 1)
29-
.boxed()
30-
.collect(Collectors.toMap(
31-
Function.identity(),
32-
choice -> {
33-
final JRadioButtonMenuItem choiceItem = new JRadioButtonMenuItem();
34-
choiceItem.setText(Integer.toString(choice));
35-
if (choice.equals(config.value())) {
36-
choiceItem.setSelected(true);
37-
}
38-
39-
final int finalChoice = choice;
40-
choiceItem.addActionListener(e -> {
41-
config.setValue(finalChoice);
42-
onUpdate.run();
43-
});
44-
45-
return choiceItem;
46-
}
47-
));
48-
49-
final ButtonGroup choicesGroup = new ButtonGroup();
50-
final JMenu menu = new JMenu();
51-
for (final JRadioButtonMenuItem radio : radiosByChoice.values()) {
52-
choicesGroup.add(radio);
53-
menu.add(radio);
54-
}
55-
56-
config.registerCallback(updated -> {
57-
final JRadioButtonMenuItem choiceItem = radiosByChoice.get(updated.value());
58-
59-
if (!choiceItem.isSelected()) {
60-
choiceItem.setSelected(true);
61-
onUpdate.run();
62-
}
63-
});
64-
65-
return menu;
66-
}
67-
6817
private final JCheckBoxMenuItem tooltip = GuiUtil
6918
.createSyncedMenuCheckBox(Config.editor().entryMarkers.tooltip);
7019

71-
private final JMenu maxMarkersPerLineMenu = createIntConfigRadioMenu(
20+
private final JMenu maxMarkersPerLineMenu = GuiUtil.createIntConfigRadioMenu(
7221
Config.editor().entryMarkers.maxMarkersPerLine,
7322
MIN_MAX_MARKERS_PER_LINE, MAX_MAX_MARKERS_PER_LINE,
7423
this::translateMarkersPerLineMenu

0 commit comments

Comments
 (0)