Skip to content

IContainerParent ​

com.jsmacrosce.wagyourgui.containers.IContainerParent

Parent contract for registering and removing widgets and routing overlays in WagYourGUI containers and screens.

js
const Client = Java.type("com.jsmacrosce.jsmacros.client.JsMacrosClient");  
const parent = Client.prevScreen;  
if (parent !== null) {
 const host = parent.getFirstOverlayParent();  
 Chat.log(host.getChildOverlay() !== null);  
}

Methods ​

addRenderableWidget ​

addRenderableWidget(T extends GuiEventListener & Renderable & NarratableEntry renderableWidget): T extends GuiEventListener & Renderable & NarratableEntry#
Registers a widget with this parent for GUI input, rendering, and narration. Multi-element containers require widgets to extend AbstractWidget; other implementations may have different requirements.

Parameters:

  • renderableWidget: widget to register

Type Parameters:

  • T: widget type supporting GUI input, rendering, and narration
Returns: the supplied widget reference

getFirstOverlayParent ​

getFirstOverlayParent(): IOverlayParent#
Finds the nearest overlay-capable parent in the parent chain.
Returns: the nearest overlay-capable parent, or this object when it is already one

openOverlay ​

openOverlay(OverlayContainer overlay): void#
Opens an overlay at the deepest available overlay level, disabling that level's existing buttons by default.

Parameters:

  • overlay: overlay to open
openOverlay(OverlayContainer overlay, boolean disableButtons): void#
Opens and initializes an overlay at the deepest available overlay level. When disableButtons is true, the hosting level saves the active states of its existing buttons and disables them; false leaves their states unchanged.

Parameters:

  • overlay: overlay to open
  • disableButtons: whether to save and disable existing buttons at the level hosting the new overlay

removeWidget ​

removeWidget(GuiEventListener button): void#
Unregisters a widget through this parent hierarchy.

Parameters:

  • button: widget to remove