Create and show-ready a top-level window with the given title and size (the size is the outer window size, in pixels).
This window's accelerator table (the shortcuts of its attached menu), or null. The message loop translates accelerators against the *active* window's table, so each window keeps its own shortcuts.
Ask the window to close (drives the same path as the close button).
Move keyboard focus to the first focusable child control, if any.
Re-run the root sizer over the current client area, if one is set.
Designate the button activated by Enter when focus is on a non-button control. A focused push button is always its own default regardless of this setting (native dialog behavior). Pass null to clear.
Set the window's icon, shown in the title bar, the taskbar and the Alt+Tab switcher. Pass the small and (optionally) large variants; if large is null the small icon is used for both. Load an icon with loadIcon (from the executable's resources) or loadIconFromFile.
Attach a menu bar to the window and install its keyboard accelerators. Re-lays out the contents, since the menu reduces the client area.
Set the smallest outer size the user may resize the window to, in pixels. Pass 0, 0 to remove the constraint. Without a minimum the layout engine clamps to zero but the user can still shrink the window until its contents collapse; a floor keeps a real app usable.
Install the root sizer and immediately lay it out over the client area.
Dock a status bar at the bottom of the window. Its height is reserved so the root sizer's content never overlaps it.
Set the window title bar text.
Show the window and force an initial paint.
Force this window to be treated as the application's main window: destroying it always quits the message loop (PostQuitMessage), even if other windows remain.
Fired when the window is about to close; set args.cancel to veto.
Fired on resize with the new client width and height.
The native window handle this widget owns (null until created).
The widget this one is parented to, if any.
Child widgets, in z/insertion order.
Cached visibility flag.
Cached bounds (window-relative for children, screen-relative for windows).
The native window handle this widget owns (null until created).
The widget this one is parented to, if any. Read-only; see addChild.
The child widgets, in z/insertion order. Read-only; see addChild.
Whether the widget is currently visible. Read-only; see setVisible.
The widget's last-known bounds. Read-only; see setBounds/getBounds.
Raw handle accessor for subclasses and the backend.
Make the widget visible.
Hide the widget.
Set visibility, updating the native window if it exists.
Move/resize the widget, updating the native window if it exists.
The widget's last-known bounds.
The widget's client area (origin at 0,0). Empty if not yet created.
Enable or disable input for the widget.
Whether the widget currently accepts input.
Give the widget keyboard focus.
Request a repaint of the whole widget.
The widget's preferred size, used by the layout engine for non-stretching (proportion 0) items. The base widget has no intrinsic size; controls override this.
Append a child and set its parent to this widget.
Remove a child and clear its parent link. Unknown children are ignored.
Deterministically tear the widget down: dispose children, detach from the parent, destroy the native window, unregister it, and release the GC root. Idempotent — safe to call more than once.
Associate this widget's freshly-created HWND with the dispatch machinery and pin it as a GC root. Call once, immediately after handle is set.
Handle a window message routed from the master window procedure.
A top-level application window.