diff options
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MStringSelectionButton.java')
-rwxr-xr-x | src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MStringSelectionButton.java | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MStringSelectionButton.java b/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MStringSelectionButton.java deleted file mode 100755 index f2dcadce..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MStringSelectionButton.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.gui.elements; - -import kr.syeyoung.dungeonsguide.gui.MPanel; -import lombok.Getter; -import lombok.Setter; - -import java.awt.*; -import java.util.List; - -@Getter -@Setter -public class MStringSelectionButton extends MPanel { - - private List<String> possible; - private int selectedIndex; - - private MButton dec; - private MButton inc; - private MLabel selected; - - @Getter - @Setter - private Runnable onUpdate; - - public MStringSelectionButton(final List<String> possible, String defaultValue) { - this.possible = possible; - selectedIndex = possible.indexOf(defaultValue); - if (selectedIndex == -1) selectedIndex = 0; - - dec = new MButton(); dec.setText("<"); add(dec); - inc = new MButton(); inc.setText(">"); add(inc); - selected = new MLabel(); updateSelected(); add(selected); - selected.setBackgroundColor(Color.black); - selected.setAlignment(MLabel.Alignment.CENTER); - - dec.setOnActionPerformed(new Runnable() { - @Override - public void run() { - selectedIndex --; - if (selectedIndex < 0) selectedIndex = possible.size() - 1; - updateSelected(); - onUpdate.run(); - } - }); - inc.setOnActionPerformed(new Runnable() { - @Override - public void run() { - selectedIndex++; - if (selectedIndex >= possible.size()) selectedIndex = 0; - updateSelected(); - onUpdate.run(); - } - }); - } - - public String selectionToDisplay(String selection) { - return selection; - } - - public String getSelected() { - if (possible.size() == 0) return null; - return possible.get(selectedIndex); - } - - private void updateSelected() { - if (possible.size() == 0) selected.setText("-Empty-"); - else selected.setText(selectionToDisplay(possible.get(selectedIndex))); - } - - @Override - public void onBoundsUpdate() { - dec.setBounds(new Rectangle(0,0,getBounds().height, getBounds().height)); - inc.setBounds(new Rectangle(getBounds().width - getBounds().height, 0, getBounds().height, getBounds().height)); - selected.setBounds(new Rectangle(getBounds().height, 0, getBounds().width - getBounds().height - getBounds().height, getBounds().height)); - } -} |