<--- Cannot embed stylesheet: [Errno 2] No such file or directory: '../../../../aros.css' --->

Popobject.mui

MUIA_Popobject_Follow

Function

Follow the parent position and Popobject width during Draw.

Inputs

Initialize, set and get, BOOL; default TRUE.

Notes

After superclass Draw, a live popup and parent window are repositioned
with ChangeWindowBox to Popobject left/bottom plus parent window
position, at Popobject width and current popup height. The setter only
stores the flag. Initial Open positions the window regardless of Follow.
This is draw-driven behavior, not a separately registered movement
listener.

MUIA_Popobject_Light

Function

Choose borderless popup construction.

Inputs

Initialize and get, BOOL; default TRUE. No local setter despite the
header annotation.

Notes

TRUE creates a borderless window with close, size, depth and drag
gadgets disabled. FALSE omits these override tags and uses Window
defaults. It affects initial window construction, not an existing
window. WindowHook may configure window attributes afterward.

MUIA_Popobject_ObjStrHook

Function

Copy accepted popup contents to the string.

Inputs

Initialize, set and get, borrowed pointer to struct Hook; default NULL.

Notes

Called as CallHookPkt(hook, popupObject, stringObject) from the deferred
close hook after closing the window, only with nonzero Close result.
Return value is ignored. No automatic string update or Acknowledge
occurs; the hook implements any transfer. Keep hook, data and passed
objects live through use; Get returns the borrowed hook pointer.

MUIA_Popobject_Object

Function

Supply or retrieve the popup contents object.

Inputs

Initialize and get, Object pointer. No replacement setter; no default
popup object is created.

Notes

Supply a valid object suitable as WindowContents. It is disposed
directly if no popup window exists at Popobject disposal; otherwise the
application-owned popup window owns it. Get returns a borrowed pointer,
not independent ownership. Keep the object stable for conversion hooks
and window lifetime.

MUIA_Popobject_StrObjHook

Function

Initialize popup contents from the string before opening.

Inputs

Initialize, set and get, borrowed pointer to struct Hook; default NULL.

Notes

Called as CallHookPkt(hook, popupObject, stringObject). Return nonzero
to continue, zero to reject opening. It runs after lazy window creation,
before WindowHook and geometry/open settings. Rejection retains the
window and its application membership. Keep hook, data and passed
objects live through use; Get returns the borrowed hook pointer.

MUIA_Popobject_Volatile

Function

Hide a popped window when this object is hidden.

Inputs

Initialize, set and get, BOOL; default TRUE.

Notes

Hide closes the window when popped and Volatile but retains popped
state. Show reopens a remembered closed popup with Activate FALSE and no
conversion/window hooks, even before returning a failed superclass Show
result. A real Close clears popped and prevents this reopening. Set only
changes the stored flag; it does not immediately open or close a window.

MUIA_Popobject_WindowHook

Function

Configure the popup window before an open attempt.

Inputs

Initialize, set and get, borrowed pointer to struct Hook; default NULL.

Notes

Called as CallHookPkt(hook, popupObject, windowObject) after a
successful StrObjHook, on every normal open attempt. Return value is
ignored. The class then sets left, top, width and Open. Show-based
reappearance does not invoke this hook. Keep hook, data and passed
objects live through use; Get returns the borrowed hook pointer.

MUIC_Popobject

Superclass

Popstring.mui

Description

Place a caller-supplied object in a reusable popup window. Follow, Light
and Volatile default TRUE; conversion/window hooks default NULL.
Construction installs internal Popstring OpenHook/CloseHook and forces
Toggle TRUE after processing caller tags.
The popup object is owned by this arrangement. Before any window exists,
Dispose disposes the object directly. Once created, the window owns its
contents and is added to the application; this class does not remove or
dispose that window in its own Dispose. Keep its ownership and callback
lifetimes coordinated with application teardown.

Methods

An open creates the window if needed, calls StrObjHook if supplied,
calls WindowHook, then requests a window below the Popobject at its
current width. A false StrObjHook result aborts this attempt but retains
an already-created window. WindowHook runs on every accepted open
attempt, not just initial creation. Its changes to left/top/width are
followed by the class's own settings. Actual Window_Open success is not
checked: popped becomes TRUE and the internal open hook returns one.
The queued close hook closes the retained window, clears popped and
calls ObjStrHook only for a nonzero result. Hide closes a popped window
only when Volatile; it preserves popped. Show reopens a remembered
closed window with Activate FALSE, without conversion/window hooks. Draw
implements Follow with ChangeWindowBox, preserving current height.

Notes

The popup needs a live application and parent window while opening or
following. Close inherits Popstring's deferred execution and lifetime
requirements. A window can remain application-owned after Popobject
disposal with notifications still targeting it; disposal alone is not
callback detachment. Do not replace internal Popstring hooks when
relying on this class's lifecycle.
Light is initialize/get only here despite its header set annotation.
Object is initialize/get; the other local attributes support
initialize/set/get. No hooks or hook data are copied or freed.