aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java')
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
index 5c3667adb..ed2df3c06 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
@@ -1,6 +1,9 @@
package me.shedaniel.rei.gui.widget;
+import me.shedaniel.rei.client.ScreenHelper;
+
import java.awt.*;
+import java.util.Optional;
public abstract class ClickableLabelWidget extends LabelWidget {
@@ -17,6 +20,11 @@ public abstract class ClickableLabelWidget extends LabelWidget {
if (isHovered(mouseX, mouseY))
colour = hoveredColor;
drawCenteredString(textRenderer, (isHovered(mouseX, mouseY) ? "§n" : "") + text, x, y, colour);
+ if (getTooltips().isPresent())
+ if (!focused && isHighlighted(mouseX, mouseY))
+ ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(getTooltips().get().split("\n")));
+ else if (focused)
+ ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(new Point(x, y), getTooltips().get().split("\n")));
}
@Override
@@ -28,6 +36,10 @@ public abstract class ClickableLabelWidget extends LabelWidget {
return false;
}
+ public Optional<String> getTooltips() {
+ return Optional.empty();
+ }
+
@Override
public boolean keyPressed(int int_1, int int_2, int int_3) {
if (int_1 != 257 && int_1 != 32 && int_1 != 335) {
@@ -49,8 +61,7 @@ public abstract class ClickableLabelWidget extends LabelWidget {
@Override
public void onFocusChanged(boolean boolean_1, boolean boolean_2) {
- if (boolean_2)
- focused = boolean_1;
+ focused = boolean_2;
}
public abstract void onLabelClicked();