diff --git a/runelite-api/src/main/java/net/runelite/api/MenuEntry.java b/runelite-api/src/main/java/net/runelite/api/MenuEntry.java index 5cdcfe3559..c035205fb6 100644 --- a/runelite-api/src/main/java/net/runelite/api/MenuEntry.java +++ b/runelite-api/src/main/java/net/runelite/api/MenuEntry.java @@ -25,6 +25,8 @@ package net.runelite.api; import java.util.function.Consumer; +import javax.annotation.Nullable; +import net.runelite.api.widgets.Widget; /** * A menu entry in a right-click menu. @@ -92,4 +94,12 @@ public interface MenuEntry * @return */ MenuEntry onClick(Consumer callback); + + /** + * Get the widget this menu entry is on, if this is a menu entry + * with an associated widget. Such as eg, CC_OP. + * @return + */ + @Nullable + Widget getWidget(); } diff --git a/runelite-client/src/test/java/net/runelite/client/menus/TestMenuEntry.java b/runelite-client/src/test/java/net/runelite/client/menus/TestMenuEntry.java index bdcf842040..4a82a143a3 100644 --- a/runelite-client/src/test/java/net/runelite/client/menus/TestMenuEntry.java +++ b/runelite-client/src/test/java/net/runelite/client/menus/TestMenuEntry.java @@ -26,8 +26,11 @@ package net.runelite.client.menus; import java.util.function.Consumer; import lombok.EqualsAndHashCode; +import lombok.Setter; import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; +import net.runelite.api.widgets.Widget; +import org.jetbrains.annotations.Nullable; @EqualsAndHashCode public class TestMenuEntry implements MenuEntry @@ -39,6 +42,8 @@ public class TestMenuEntry implements MenuEntry private int param0; private int param1; private boolean forceLeftClick; + @Setter + private Widget widget; @Override public String getOption() @@ -163,4 +168,11 @@ public class TestMenuEntry implements MenuEntry { return this; } + + @Nullable + @Override + public Widget getWidget() + { + return widget; + } }