diff --git a/src/main/java/com/cleanroommc/modularui/test/TestTile.java b/src/main/java/com/cleanroommc/modularui/test/TestTile.java index a56e2e4e1..108a7dcb0 100644 --- a/src/main/java/com/cleanroommc/modularui/test/TestTile.java +++ b/src/main/java/com/cleanroommc/modularui/test/TestTile.java @@ -252,6 +252,15 @@ public ModularPanel buildUI(PosGuiData guiData, PanelSyncManager syncManager, UI .reverseLayout(false) .child(new ToggleButton() .valueWrapped(cycleStateValue, 0) + .tooltipBuilder(false, t -> { + t.addLine("Wow! This button sure isnt selected! Not one bit!"); + if (!this.oversizedStorage.getStackInSlot(this.cycleState).isEmpty()) { + t.addLine("Here is a cool item: "); + t.add(new ItemDrawable(this.oversizedStorage.getStackInSlot(this.cycleState))); + } + }) + .tooltipBuilder(true, t -> t.addLine("Wow! This button IS selected! How cool!")) + .tooltipAutoUpdate(true) .overlay(GuiTextures.CYCLE_BUTTON_DEMO.getSubArea(0, 0, 1, 1 / 3f))) .child(new ToggleButton() .valueWrapped(cycleStateValue, 1) diff --git a/src/main/java/com/cleanroommc/modularui/widgets/AbstractCycleButtonWidget.java b/src/main/java/com/cleanroommc/modularui/widgets/AbstractCycleButtonWidget.java index 6b3dd351e..b4b8764d8 100644 --- a/src/main/java/com/cleanroommc/modularui/widgets/AbstractCycleButtonWidget.java +++ b/src/main/java/com/cleanroommc/modularui/widgets/AbstractCycleButtonWidget.java @@ -568,6 +568,22 @@ public W tooltipShowUpTimer(int showUpTimer) { return getThis(); } + /** + * Sets the tooltip auto update value for all states. + * + * @param update true if tooltips should automatically update + * @return this + */ + @Override + public W tooltipAutoUpdate(boolean update) { + super.tooltipAutoUpdate(update); + expectCount(); + for (RichTooltip tooltip : this.tooltip) { + tooltip.setAutoUpdate(update); + } + return getThis(); + } + protected W stateCount(int stateCount) { updateStateCount(stateCount, true); return getThis();