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

Window.mui

MUIA_Window_Activate

Function

Choose activation on opening; default TRUE. Setting TRUE on an open,
locally inactive window calls ActivateWindow. Getting returns TRUE only
when the window is open and its active flag is set.

Inputs

BOOL; initialize, set, get.

Notes

Setting FALSE while open does not deactivate the Intuition window. While
closed it changes the next-open activation request. Activation events
update the local flag and pass notification tags to Notify.

MUIA_Window_ActiveObject

Function

Select keyboard focus. None clears focus; Next and Prev traverse the
cycle chain. While closed, a setter stores the request for the next
opening. The getter returns the active object only if it is found in the
current root subtree, otherwise NULL.

Inputs

Object pointer or MUIV_Window_ActiveObject_None, Next, Prev; set and
get.

Notes

Objects remain borrowed. An explicit target is stored without ownership
or membership validation; use a live descendant. GoInactive and GoActive
depend on setup/draw state. Raw-key processing tries active, parent,
default and other handlers.

Bugs

Next/Prev filter disabled or hidden objects during traversal, but
wraparound falls back to the first/last chain entry without that
filtering. The raw-key parent loop starts at the active object again, so
an unconsumed key can reach it twice. Initialization tags are not
handled.

MUIA_Window_AltHeight

Function

Store the alternate zoom height, default
MUIV_Window_AltHeight_MinMax(0). The getter returns the stored encoding,
not the computed zoom rectangle. Opening computes the rectangle and
passes it to WA_Zoom when ZoomGadget is true.

Inputs

LONG converted to the IBox WORD field; initialize and get.

Notes

Positive pixels, MinMax(p), Screen(p) and Visible(p) are processed, then
clamped to content limits. Screen and Visible both use the full screen
dimension. Opening adds estimated borders after calculation. There is no
setter.

Bugs

MinMax(p) omits division by 100 for both alternate dimensions. The
declared Scaled encoding has no scaling branch and is merely clamped.
The WORD conversion can truncate large values.

MUIA_Window_AltLeftEdge

Function

Store an alternate zoom position, default
MUIV_Window_AltLeftEdge_NoChange. NoChange becomes Intuition's unchanged
coordinate. Centered uses the screen dimension and current normal inner
dimension. The getter returns the stored request.

Inputs

LONG converted to the IBox WORD field; initialize and get.

Notes

There is no setter. Moused is treated as unchanged rather than
mouse-centered. RefWindow is not applied to the alternate rectangle.

MUIA_Window_AltTopEdge

Function

Store an alternate zoom position, default
MUIV_Window_AltTopEdge_NoChange. NoChange becomes Intuition's unchanged
coordinate. Centered uses the screen dimension and current normal inner
dimension. The getter returns the stored request.

Inputs

LONG converted to the IBox WORD field; initialize and get.

Notes

There is no setter. Moused is treated as unchanged rather than
mouse-centered. The declared AltTopEdge_Delta(p) has no special
calculation and remains a negative coordinate. RefWindow is not applied
to the alternate rectangle.

MUIA_Window_AltWidth

Function

Store the alternate zoom width, default MUIV_Window_AltWidth_MinMax(0).
The getter returns the stored encoding, not the computed zoom rectangle.
Opening computes the rectangle and passes it to WA_Zoom when ZoomGadget
is true.

Inputs

LONG converted to the IBox WORD field; initialize and get.

Notes

Positive pixels, MinMax(p), Screen(p) and Visible(p) are processed, then
clamped to content limits. Screen and Visible both use the full screen
dimension. Opening adds estimated borders after calculation. There is no
setter.

Bugs

MinMax(p) omits division by 100 for both alternate dimensions. The
declared Scaled encoding has no scaling branch and is merely clamped.
The WORD conversion can truncate large values.

MUIA_Window_AppWindow

Function

When TRUE, attempt AddAppWindowA after opening the native window, using
the application AppPort and this object as user data. Default FALSE.

Inputs

BOOL; initialize only.

Notes

Delivered AppMessage tags are forwarded synchronously to the root and
children whose bounds contain the drop coordinates. Message ownership
remains with the application input path; recipients must not retain or
reply to it.

Bugs

Registration failure is ignored. No RemoveAppWindow call appears in this
file's close or disposal paths, so registration lifetime is not
correctly paired with window lifetime here.

MUIA_Window_Backdrop

Function

Set or clear WFLG_BACKDROP for native window creation. Default FALSE.

Inputs

BOOL; initialize only.

Notes

There is no Window setter or getter for this attribute. Final
appearance also depends on Intuition and other creation flags.

MUIA_Window_Borderless

Function

Set or clear WFLG_BORDERLESS for native window creation. Default FALSE.

Inputs

BOOL; initialize only.

Notes

Root spacing defaults to zero for a borderless window. There is no
Window setter or getter for this attribute. Final appearance also
depends on Intuition and other creation flags.

MUIA_Window_CloseGadget

Function

Set or clear WFLG_CLOSEGADGET for native window creation. Default TRUE.

Inputs

BOOL; initialize only.

Notes

A close click raises CloseRequest; it does not close the window. There
is no Window setter or getter for this attribute. Final appearance also
depends on Intuition and other creation flags.

MUIA_Window_CloseRequest

Function

A close IDCMP event and the configured close key set this tag to TRUE
for Notify delivery. The Window getter always returns FALSE.

Inputs

BOOL notification event; getter implemented.

Notes

Register a notification and decide whether to close or quit in the
application. No pending-close state is stored and this event does not
itself close or dispose the window.

MUIA_Window_DefaultObject

Function

Store the fallback raw-key target, initially NULL. It is tried after the
active-object/parent path if distinct from the active object and not
disabled.

Inputs

Object pointer; initialize, set, get.

Notes

The pointer is borrowed, not added to the root or cycle chain. Keep it
alive and compatible with Area while registered.

MUIA_Window_DepthGadget

Function

Set or clear WFLG_DEPTHGADGET for native window creation. Default TRUE.

Inputs

BOOL; initialize only.

Notes

There is no Window setter or getter for this attribute. Final
appearance also depends on Intuition and other creation flags.

MUIA_Window_DisableKeys

Function

Store a bit mask, initially zero, tested as 1 shifted by the matched
MUIKEY value before Window performs built-in keyboard actions.

Inputs

ULONG mask; initialize, set, get.

Notes

Disabling a built-in action does not suppress raw-key delivery to
handlers or erase the matched muikey argument. This is not a general
input-disable switch; Sleep has separate behavior.

MUIA_Window_DragBar

Function

Set or clear WFLG_DRAGBAR for native window creation. Default TRUE.

Inputs

BOOL; initialize only.

Notes

This requests an Intuition drag bar, not object drag-and-drop. There is
no Window setter or getter for this attribute. Final appearance also
depends on Intuition and other creation flags.

MUIA_Window_EraseArea

Function

Set the flag used when redrawing the window background. Setup also
forces the flag on when the preference selects redraw with clearing.

Inputs

BOOL; initialize only.

Notes

The zero-initialized flag is not explicitly set TRUE by the constructor;
the header's unconditional TRUE default does not describe this
implementation. There is no getter or setter. Not every background
drawing path tests this flag.

MUIA_Window_FancyDrawing

Function

Declared in window.h, but not implemented by Window.

Inputs

BOOL; declared initialize, set, get.

Notes

There is no matching constructor, setter or getter behavior. Setter tags
can still reach Notify. The declaration alone does not provide the named
capability.

MUIA_Window_Height

Function

Request the inner height. Default MUIV_Window_Height_Default selects the
root's default dimension. Positive values request pixels. MinMax(p),
Screen(p), Visible(p) for p from 0 through 100, and Scaled are declared
encodings. Results are clamped to the root's computed minimum and
maximum. The getter returns native GZZHeight while open, otherwise zero.

Inputs

LONG; initialize and get; setter also implemented.

Notes

Screen and Visible both use screen dimensions rather than measuring the
unobscured viewport. Screen height subtracts estimated top/bottom
borders; Visible height uses full screen height. Scaled derives this
dimension from the other using the root minimum aspect ratio; it does
not guard division by zero. Do not request both dimensions Scaled. A
setter stores the request and clears this cached dimension; it does not
immediately resize the native window.

Bugs

Both requests are evaluated only when cached width is zero. Setting
Height alone can leave its request unevaluated. Height MinMax(p) uses
min + p * (max - min) without dividing by 100, then clamps; it is not
percentage interpolation.

MUIA_Window_ID

Function

Store the identifier used to find application window-position records.
Default zero.

Inputs

ULONG; initialize, set, get.

Notes

Choose distinct nonzero identifiers for windows whose positions should
be distinguished. The class neither generates nor validates uniqueness.
Zero is not searched by Application_GetWinPos and disables
preference-driven close snapshots.

MUIA_Window_InputEvent

Function

Before raw-key dispatch, set this tag to a temporary InputEvent
containing the raw key, qualifiers, timestamp and event-address
information.

Inputs

InputEvent pointer carried by a notification tag; no implemented getter.

Notes

Use MUIV_TriggerValue in a synchronous notification to inspect the
event. The structure is on the handler's stack and must not be retained.
It does not provide an input queue or a persistent last-event value. The
header's get flag does not correspond to an OM_GET case.

MUIA_Window_IsSubWindow

Function

Store a normalized subwindow flag, initially FALSE.

Inputs

BOOL; initialize, set, get.

Notes

The flag is exposed to callers but does not itself change this class's
opening, activation, ownership or event processing.

MUIA_Window_LeftEdge

Function

Request the next opening position. Default
MUIV_Window_LeftEdge_Centered. Moused centers about the screen pointer.
Ordinary values are screen coordinates without RefWindow, or offsets
from that reference's corresponding edge. The getter returns the actual
native edge while open, otherwise zero.

Inputs

LONG; initialize and get; setter also implemented.

Notes

Setting the request does not move an open window. Saved application
position records and Intuition auto-adjustment can override calculated
geometry.

MUIA_Window_Menu

Function

Declared in window.h, but not implemented by Window.

Inputs

NewMenu pointer; declared initialize only under MUI_OBSOLETE.

Notes

There is no matching constructor, setter or getter behavior. Setter tags
can still reach Notify. Use Menustrip for the implemented menu-object
interface; this legacy tag is not an alias.

MUIA_Window_MenuAction

Function

Menu selection sets this tag to the selected menu item's UserData, also
sets Application_MenuAction, and queues that value through
Application_ReturnID.

Inputs

ULONG notification value; no implemented Window storage or getter.

Notes

Use notification trigger data. Window does not retain the last action. A
setter tag can trigger Notify even though this attribute has no Window
field. The native menu path handles one selected item, not a complete
NextSelect chain. It also reads the message Code after replying to the
original IntuiMessage; that read is outside the message lifetime.

MUIA_Window_Menustrip

Function

Supply an owned local Menustrip, initially NULL. Opening uses this
object if present, otherwise borrows Application_Menustrip.

Inputs

Object pointer; initialize and get.

Notes

The getter returns only the local object, not the effective fallback.
Window connects/disconnects the local menu with its parent and disposes
it at disposal. There is no replacement setter. Do not share one owned
menu tree between owners. Native menus are created for opening and freed
on closing or rebuilding.

MUIA_Window_MouseObject

Function

Declared in window.h, but not implemented by Window.

Inputs

Object pointer; declared get only.

Notes

There is no matching constructor, setter or getter behavior. Setter tags
can still reach Notify. The declaration alone does not provide the named
capability.

MUIA_Window_NeedsMouseObject

Function

Declared in window.h, but not implemented by Window.

Inputs

BOOL; declared initialize only.

Notes

There is no matching constructor, setter or getter behavior. Setter tags
can still reach Notify. The declaration alone does not provide the named
capability.

MUIA_Window_NoMenus

Function

Store a right-mouse-button trap request, initially FALSE. Opening passes
WA_RMBTrap when true; a setter updates WFLG_RMBTRAP on the native window
immediately.

Inputs

BOOL; initialize and set.

Notes

No getter is implemented. Mouse-move context-menu detection also adjusts
the native trap flag. This does not dispose or remove the menustrip.

MUIA_Window_Open

Function

Request opening or closing. Opening requires a root and a connected
application, then sets up display resources and the root, computes
layout and opens Intuition. Closing hides and cleans up the root and
releases display resources. The getter returns the actual open flag.

Inputs

BOOL; set and get.

Notes

Initially FALSE; initialization tags are ignored. A TRUE setter on an
already open window brings it forward and activates it. While hidden by
iconification, TRUE records a pending reopen and FALSE cancels it.
Failed opening leaves Open FALSE, but the setter forwards the original
tag to Notify and does not return the open result. Query Open after
requesting it.

Bugs

Optional resource failures are not all detected. Close does not reset
Sleep's nesting counter or remove an AppWindow registration.

MUIA_Window_PublicScreen

Function

Store a borrowed public-screen name, initially NULL. With no user
screen, setup may first select an application custom screen from
preferences; otherwise it tries the requested public name, or the
preference-selected name when no explicit name was supplied. If that
attempt fails, it tries the default public screen.

Inputs

STRPTR; initialize, set, get.

Notes

The getter returns the requested string, not the actual selected screen
name. Keep it readable while stored. Public-screen locks are owned by
setup and released by cleanup. Setting a new name while open does not
move the window. Failure to lock the requested name can fall back to
another screen.

MUIA_Window_RefWindow

Function

Store a borrowed Window object used when calculating the next opening
position. Default NULL.

Inputs

Object pointer; initialize and set.

Notes

Keep it alive through position calculation.
LeftEdge/TopEdge/Width/Height getters provide its geometry; a closed
reference supplies zero. There is no getter, no immediate repositioning,
and no ownership transfer. Horizontal centering mixes reference inner
width with this window's outer width.

MUIA_Window_RootObject

Function

Install the owned Area-compatible root. An explicit NULL construction
tag fails construction; omission leaves no root. A setter while closed
disconnects the old root, installs the new pointer and connects it if
application global information exists.

Inputs

Object pointer; initialize, set while closed, get.

Notes

A setter while open is ignored. Replacement does not dispose the old
root: retain its pointer and manage its lifetime after detaching it. The
current root is disposed with the window. NULL is accepted by the setter
but prevents opening and is unsafe for Import/Export.

Bugs

Replacement clears active focus only when it equals the old root, not
when it points to a descendant. Ensure borrowed focus/default targets do
not outlive their objects.

MUIA_Window_Screen

Function

Select a borrowed screen to use during the next setup. The getter
returns the actual render-info screen, not the requested pointer.

Inputs

Screen pointer; initialize, set, get.

Notes

A non-NULL supplied screen takes precedence over public-screen selection
and is not locked or closed as a caller-owned screen. Keep it open
throughout use. Setting it while open does not migrate the window.
Application custom screens have separate ownership.

Bugs

A failed setup can leave a stale render-info screen pointer after
releasing its public-screen lock. Use the getter only during a
successfully established display lifetime; non-NULL alone is not a
success test.

MUIA_Window_ScreenTitle

Function

Store the screen title associated with the window pointer, initially
NULL. When open, a setter calls SetWindowTitles for that title and
leaves the other unchanged.

Inputs

STRPTR; initialize, set, get.

Notes

The string is borrowed, not copied or freed. Keep it readable and
NUL-terminated while used. The getter returns the stored pointer. When
opening, a NULL pointer omits the corresponding Intuition title tag.

MUIA_Window_SizeGadget

Function

Set or clear WFLG_SIZEGADGET for native window creation. Default TRUE.

Inputs

BOOL; initialize only.

Notes

Opening removes the size-gadget flag when both minimum and maximum
dimensions are equal. There is no Window setter or getter for this
attribute. Final appearance also depends on Intuition and other creation
flags.

MUIA_Window_SizeRight

Function

Set or clear WFLG_SIZEBRIGHT for native window creation. Default FALSE.

Inputs

BOOL; initialize only.

Notes

Without this flag, opening selects a bottom-border size gadget. There is
no Window setter or getter for this attribute. Final appearance also
depends on Intuition and other creation flags.

MUIA_Window_Sleep

Function

A nonzero setter on an open window increments a nesting counter. The
first increment installs a busy pointer and freezes the native size
limits. Zero decrements a nonzero counter; reaching zero restores
pointer and saved limits. The getter reports whether the counter is
nonzero.

Inputs

BOOL; set and get.

Notes

Initially zero. Balance each accepted sleep request with a wake request.
Sleeping input is replied to without ordinary dispatch; refresh events
are still processed. A sleep request while closed is ignored, but a wake
request can decrement a retained counter.

Bugs

Closing does not reset the counter. Reopening while it is nonzero does
not repeat the first-sleep setup. The WORD counter has no overflow
check; do not treat repeated TRUE as an idempotent assignment.

MUIA_Window_Title

Function

Store the window title pointer, initially NULL. When open, a setter
calls SetWindowTitles for that title and leaves the other unchanged.

Inputs

STRPTR; initialize, set, get.

Notes

The string is borrowed, not copied or freed. Keep it readable and
NUL-terminated while used. The getter returns the stored pointer. When
opening, a NULL pointer omits the corresponding Intuition title tag.

MUIA_Window_ToolBox

Function

Request toolbox behavior. Default FALSE. On AROS, opening adds
WFLG_TOOLBOX; WA_ToolBox is also passed when that tag is available at
compile time.

Inputs

BOOL; initialize only.

Notes

This class does not implement a setter or getter and does not
independently implement Intuition toolbox policy.

MUIA_Window_TopEdge

Function

Request the next opening position. Default MUIV_Window_TopEdge_Centered.
Moused centers about the screen pointer. Ordinary values are screen
coordinates without RefWindow, or offsets from that reference's
corresponding edge. The getter returns the actual native edge while
open, otherwise zero.

Inputs

LONG; initialize and get; setter also implemented.

Notes

Setting the request does not move an open window. TopEdge_Delta(p) is
recognized only for p from 0 through 6, adding the offset below the
screen bar or reference top plus the estimated top border. Other Delta
encodings fall through as ordinary values. Saved application position
records and Intuition auto-adjustment can override calculated geometry.

MUIA_Window_UseBottomBorderScroller

Function

Request native bottom-border scrollbar gadgets during opening. Default
FALSE. Setup creates their system images and display creates their
gadget chain.

Inputs

BOOL; initialize and set; no implemented getter.

Notes

Setting the flag while open does not create or remove existing gadgets.
Use it before opening. Prop objects can associate with the native
scrollbars through RenderInfo; button updates then call Prop_Increase or
Prop_Decrease.

Bugs

System-image, gadget and gadget-ID allocation failures are not fully
checked. The header advertises a getter, but Window has no matching
getter case.

MUIA_Window_UseLeftBorderScroller

Function

Declared in window.h, but not implemented by Window.

Inputs

BOOL; declared initialize, set, get.

Notes

There is no matching constructor, setter or getter behavior. Setter tags
can still reach Notify. The declaration alone does not provide the named
capability.

MUIA_Window_UseRightBorderScroller

Function

Request native right-border scrollbar gadgets during opening. Default
FALSE. Setup creates their system images and display creates their
gadget chain.

Inputs

BOOL; initialize and set; no implemented getter.

Notes

Setting the flag while open does not create or remove existing gadgets.
Use it before opening. Prop objects can associate with the native
scrollbars through RenderInfo; button updates then call Prop_Increase or
Prop_Decrease.

Bugs

System-image, gadget and gadget-ID allocation failures are not fully
checked. The header advertises a getter, but Window has no matching
getter case.

MUIA_Window_Width

Function

Request the inner width. Default MUIV_Window_Width_Default selects the
root's default dimension. Positive values request pixels. MinMax(p),
Screen(p), Visible(p) for p from 0 through 100, and Scaled are declared
encodings. Results are clamped to the root's computed minimum and
maximum. The getter returns native GZZWidth while open, otherwise zero.

Inputs

LONG; initialize and get; setter also implemented.

Notes

Screen and Visible both use screen dimensions rather than measuring the
unobscured viewport. Scaled derives this dimension from the other using
the root minimum aspect ratio; it does not guard division by zero. Do
not request both dimensions Scaled. A setter stores the request and
clears this cached dimension; it does not immediately resize the native
window.

Bugs

Both requests are evaluated only when cached width is zero. Setting
Height alone can leave its request unevaluated. Width MinMax(p) uses
percentage interpolation. Boundary encodings overlap; the first matching
MinMax, Screen or Visible branch wins.

MUIA_Window_Window

Function

Return the native window while open, otherwise NULL.

Inputs

Intuition Window pointer; get only.

Notes

The pointer is borrowed. Do not CloseWindow it, replace its shared
UserPort, consume its messages independently, or retain it across
closing. The Zune Window object and the native Window are distinct
objects.

MUIA_Window_ZoomGadget

Function

Enable WA_Zoom with the calculated alternate rectangle when opening.
Default TRUE.

Inputs

BOOL; initialize only.

Notes

There is no setter or getter. Alternate dimensions are initialization
values; see AltWidth and AltHeight for calculation limits.

MUIC_Window

Superclass

Notify.mui

Description

Manage an Intuition window, one owned Area-compatible root object, an
optional owned local menustrip, and display resources. Attach the Window
to a live Application before opening it. Opening needs the application's
preferences, ports, and global information. Construction itself does not
open an Intuition window.
Application owns an attached Window. Window owns its current root and
local menustrip; it borrows the application's fallback menustrip.
Titles, screen selectors, reference/default/active objects, and
registered event-handler nodes are borrowed. Keep borrowed objects and
storage alive while used. Perform window operations and input processing
in the application's task.
Close a window and remove it from its application before disposing it
separately. OM_DISPOSE disposes the current root and local menustrip and
deletes the private pool, but does not close the Intuition window or
remove application membership. Normal application removal disconnects
and closes an open child before disposal.

Methods

FindUData and GetUData match the window first, then search its root
subtree. GetUData reports a match without checking getter success.
SetUData visits the window and root and returns TRUE; SetUDataOnce stops
at the first match. Neither traversal searches the local menustrip.
Export and Import forward to the root without checking for NULL and
return zero regardless of the child's result. Provide a root before
application state loading or saving. Version and Revision getters both
return 1.
The private ShowMe handling supports application iconification by
closing and remembering open windows. It is not an Area visibility
implementation. Seven Window methods marked PRIV in window.h remain
internal implementation contracts, not public interfaces.

Notes

Construction returns NULL on superclass or pool failure, or an explicit
NULL RootObject tag. Omitting RootObject is allowed, but such an object
cannot open. Setter tags reach Notify after local processing;
notification delivery is not proof that an operation succeeded. Query
Open to determine the actual open state.
Do not mutate an event-handler list, destroy callback targets, or
dispose the window during its synchronous callback traversal. Event data
is borrowed only for the call. RenderInfo screen, draw-info and font
resources belong to the setup/cleanup interval; the native window and
drawing port belong to the show/hide interval.

Bugs

Opening has incomplete checks for optional pens, images, scrollbars,
menus and AppWindow registration. Setup success does not guarantee that
every optional resource exists. The AppWindow handle is not removed by
this file's close or disposal paths. See AppWindow, Setup, Cleanup,
Snapshot and AllocGadgetID for specific limitations.

MUIM_Window_ActionIconify

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_ActionIconify);

Function

Set Application_Iconified to TRUE on this window's application.

Inputs

No arguments beyond MethodID. The window must have a live connected
application.

Result

Always TRUE; the application setter result is ignored.

Notes

This iconifies the application, not only this window. Iconified state
does not establish that an AppIcon was successfully created.

MUIM_Window_AddEventHandler

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_AddEventHandler, (IPTR)ehnode);

Function

Link a borrowed event-handler node and recompute the native IDCMP mask
from default events and all registered masks. IDCMP_VANILLAKEY is always
removed.

Inputs

ehnode - Non-NULL MUI_EventHandlerNode not already linked. Clear
reserved fields and set ehn_Priority, ehn_Flags, ehn_Object, optional
ehn_Class, and ehn_Events before registering. Keep the node, object and
class alive until removal.

Result

Always TRUE; there is no duplicate or NULL check.

Notes

Handlers are ordered by descending signed BYTE priority, then descending
node address. ehn_Class selects CoerceMethod; NULL selects DoMethod.
Normal delivery calls MUIM_HandleEvent with a borrowed message and a
muikey value. MUI_EventHandlerRC_Eat stops further delivery on paths
that test it.
MUI_EHF_ALWAYSKEYS participates in the active/parent/default raw-key
paths even without an IDCMP_RAWKEY bit. MUI_EHF_GUIMODE filters
drawing/visibility. Virtual-group SELECTDOWN bounds are checked
independently of that flag; caller paths also test disabled state.
MUI_EHF_HANDLEINPUT is private. Remove handlers before freeing them and
keep list membership stable during dispatch.

Bugs

Most delivered IntuiMessages are temporary copies whose original was
already replied to; IAddress is cleared except for raw-key dead-key
data. IDCMP_IDCMPUPDATE uses the original message. Never reply to or
retain either form. An Eat return in the IDCMPUPDATE path skips the
implementation's final ReplyMsg. The raw-key parent loop can deliver to
the active object twice.

MUIM_Window_AllocGadgetID

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_AllocGadgetID);

Function

Allocate a pool node and choose a numeric identifier for a native BOOPSI
gadget.

Inputs

No arguments beyond MethodID. Serialize use with other window
operations.

Result

Zero on pool allocation failure; otherwise the selected integer,
starting at 1.

Notes

The allocation belongs to the window; release it with FreeGadgetID when
the gadget no longer uses it. Remaining nodes are reclaimed with the
window pool.

Bugs

The search assumes ascending IDs, but inserts a reused gap after the
larger node. After allocating 1 and 2, freeing 1 and allocating twice
can return 1 twice. There is no UWORD overflow check, and the returned
integer can differ from its truncated stored value. This implementation
cannot guarantee uniqueness after reuse.

MUIM_Window_Cleanup

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_Cleanup);

Function

Release the background, any drag context and render-info resources after
hiding and closing. Used by the Window close sequence and custom
subclasses.

Inputs

No arguments beyond MethodID. Requires resources from a successful setup
and no remaining users of them.

Result

Always TRUE.

Notes

This does not close the native window or dispose the root. It is not an
idempotent public close operation. Subclasses must release their
dependent resources before calling the superclass cleanup. Borrowed
render-info pointers become invalid.

Bugs

CleanupRenderInfoPens releases MPEN_MARK twice, although
InitRenderInfoPens does not acquire that entry. Custom-screen closure is
conditioned on an empty application window list, not on the number of
open native windows.

MUIM_Window_FreeGadgetID

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_FreeGadgetID, gadgetid);

Function

Remove and free the first stored gadget-ID node equal to the argument.

Inputs

gadgetid - LONG identifier previously obtained from this window. Stop
using the corresponding gadget before releasing its ID.

Result

Always zero, whether found or not.

Notes

This frees only the allocation record, not the gadget. Duplicate or
truncated IDs from AllocGadgetID limit reliable matching.

MUIM_Window_GetMenuCheck

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_GetMenuCheck, MenuID);

Function

Get Menuitem_Checked on the first object found by UserData in the local
menustrip, or in the effective fallback menu while open.

Inputs

MenuID - ULONG UserData value. Matching includes the menustrip object
itself.

Result

The queried value, or zero when no menu/object is available or the
getter does not supply it.

Notes

These obsolete declarations require MUI_OBSOLETE, but their dispatch
cases are implemented. Prefer the menu object attributes when the caller
already holds the object. The application fallback menu is not selected
until opening. Zero does not distinguish a false state from an
unsuccessful lookup.

MUIM_Window_GetMenuState

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_GetMenuState, MenuID);

Function

Get Menuitem_Enabled on the first object found by UserData in the local
menustrip, or in the effective fallback menu while open.

Inputs

MenuID - ULONG UserData value. Matching includes the menustrip object
itself.

Result

The queried value, or zero when no menu/object is available or the
getter does not supply it.

Notes

These obsolete declarations require MUI_OBSOLETE, but their dispatch
cases are implemented. Prefer the menu object attributes when the caller
already holds the object. The application fallback menu is not selected
until opening. Zero does not distinguish a false state from an
unsuccessful lookup.

MUIM_Window_RemEventHandler

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_RemEventHandler, (IPTR)ehnode);

Function

Unlink a registered event handler and recompute the IDCMP mask.

Inputs

ehnode - The exact live node currently linked to this window.

Result

Always TRUE.

Notes

The node is not freed. Remove outside active traversal, then release
caller-owned storage when callbacks can no longer use it.

Bugs

No membership or NULL validation is performed. Repeated removal or
removal from the wrong list is invalid.

MUIM_Window_ScreenToBack

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_ScreenToBack);

Function

Move the screen containing the open native window to the back.

Inputs

No arguments beyond MethodID.

Result

Zero when no native window exists; otherwise 1 after the Intuition call.

Notes

This does not open the window or report the final stacking order. It
does not separately request keyboard activation.

MUIM_Window_ScreenToFront

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_ScreenToFront);

Function

Move the screen containing the open native window to the front.

Inputs

No arguments beyond MethodID.

Result

Zero when no native window exists; otherwise 1 after the Intuition call.

Notes

This does not open the window or report the final stacking order. It
does not separately request keyboard activation.

MUIM_Window_SetCycleChain

Synopsis

IPTR result = DoMethodA(obj, message);

Function

Declared under MUI_OBSOLETE, but not implemented by the Window
dispatcher.

Inputs

The legacy message declares an Object pointer array beginning with
obj[0]. Window does not consume it or establish a usable argument
contract.

Result

The inherited unhandled-method result is zero.

Notes

There is no explicit cycle-chain installation here. The implementation
builds its chain through internal control-character registration for
Area objects with MUIA_CycleChain.

MUIM_Window_SetMenuCheck

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_SetMenuCheck, MenuID, stat);

Function

Set Menuitem_Checked on the first object found by UserData in the local
menustrip, or in the effective fallback menu while open.

Inputs

MenuID - ULONG UserData value. Matching includes the menustrip object
itself. stat - LONG value passed to the menu-item setter.

Result

Always zero; absence and setter results are not reported.

Notes

These obsolete declarations require MUI_OBSOLETE, but their dispatch
cases are implemented. Prefer the menu object attributes when the caller
already holds the object. The application fallback menu is not selected
until opening. Changing a menu attribute can synchronously rebuild
native menu structures; do not retain native MenuItem pointers.

MUIM_Window_SetMenuState

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_SetMenuState, MenuID, stat);

Function

Set Menuitem_Enabled on the first object found by UserData in the local
menustrip, or in the effective fallback menu while open.

Inputs

MenuID - ULONG UserData value. Matching includes the menustrip object
itself. stat - LONG value passed to the menu-item setter.

Result

Always zero; absence and setter results are not reported.

Notes

These obsolete declarations require MUI_OBSOLETE, but their dispatch
cases are implemented. Prefer the menu object attributes when the caller
already holds the object. The application fallback menu is not selected
until opening. Changing a menu attribute can synchronously rebuild
native menu structures; do not retain native MenuItem pointers.

MUIM_Window_Setup

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_Setup);

Function

Acquire render-info resources and create the window background
specification. Used by the Window open sequence and custom Window
subclasses.

Inputs

No arguments beyond MethodID. The window must be attached to a live
application with valid preferences, and must not already own an active
setup.

Result

FALSE if SetupRenderInfo fails; otherwise TRUE.

Notes

This is MUIM_Window_Setup, distinct from the root Area's MUIM_Setup.
Opening calls it before root setup and native window creation.
Subclasses must preserve the superclass resource lifecycle and propagate
failure. Pair a successful setup with Cleanup in the close/unwind
sequence.

Bugs

Background, pen and system-image creation are not all checked. Temporary
pen-spec allocation can be dereferenced without a NULL check. TRUE is
not proof that every render resource exists.

MUIM_Window_Snapshot

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_Snapshot, flags);

Function

When a native window exists, copy its position and inner dimensions into
an application position record using this window's ID.

Inputs

flags - LONG. Nonzero selects RememberWindowPosition; zero selects
ForgetWindowPosition. Both helpers are currently stubs. A connected
application is required for an open-window snapshot.

Result

Always 1, including when closed and no record is stored.

Notes

This does not itself write a file or remove a saved record. Mouse-button
handling calls Snapshot with zero; closing can call it with one
according to preferences. Application lifecycle and preference handling
determine later persistence.

Bugs

The alternate record fields are incompletely initialized: x2 is assigned
zero twice and y2 is left uninitialized. Do not assume a fully defined
alternate rectangle or infer successful persistence from the return
value.

MUIM_Window_ToBack

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_ToBack);

Function

Move the open native window to the back.

Inputs

No arguments beyond MethodID.

Result

Zero when no native window exists; otherwise 1 after the Intuition call.

Notes

This does not open the window or report the final stacking order. It
does not separately request keyboard activation.

MUIM_Window_ToFront

Synopsis

IPTR result = DoMethod(obj, MUIM_Window_ToFront);

Function

Move the open native window to the front.

Inputs

No arguments beyond MethodID.

Result

Zero when no native window exists; otherwise 1 after the Intuition call.

Notes

This does not open the window or report the final stacking order. It
does not separately request keyboard activation.