diff options
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.java | 15 |
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(); |
