Create a modal dialog parented to parent (any widget; the dialog is owned by, centered on, and modal to that widget's top-level window).
Add a right-aligned row of standard buttons at the bottom of the dialog, each wired to dismiss the dialog with the matching DialogResult. The OK/Yes button becomes the dialog's default push button (activated by Enter via the native dialog manager).
Dismiss the dialog with result, breaking out of the modal loop.
Re-run the root sizer over the dialog's client area.
Set the dialog's content sizer. The content is laid out above any standard button row added with addStandardButtons.
Show the dialog modally: disable the parent window, pump messages through the dialog manager until endModal is called (or the dialog is closed), then re-enable the parent and return the result.
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 modal dialog window.
Build content with setSizer, optionally add a standard button row, then call showModal, which blocks until the dialog is dismissed and returns the DialogResult. The dialog's child controls remain valid after showModal returns, so their values can be read; call dispose when finished with it.