Top-level windows - Factor Documentation (original) (raw)

Opening a top-level window:
open-window ( gadget title/attributes -- )

Finding top-level windows:
find-window ( quot: ( world -- ? ) -- world/f )

Top-level windows are stored in a global variable:
worlds

When a gadget is displayed in a top-level window, or added to a parent which is already showing in a top-level window, a generic word is called allowing the gadget to perform initialization tasks:
graft* ( gadget -- )

When the gadget is removed from a parent shown in a top-level window, or when the top-level window is closed, a corresponding generic word is called to clean up:
ungraft* ( gadget -- )

The root of the gadget hierarchy in a window is a special gadget which is rarely operated on directly, but it is helpful to know it exists:
world

There is also syntax for defining window words, including a main window that is the entry point for a vocabulary:
WINDOW:
MAIN-WINDOW: