aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MStringSelectionButton.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/gui/elements/MStringSelectionButton.java')
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/gui/elements/MStringSelectionButton.java94
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));
- }
-}