ui.gadgets vocabulary
Factor handbook ยป Vocabulary index

Gadget hierarchy and layout management

Authors:Slava Pestov


Tuple classes
gadget rectpref-dim parent children orientation focus visible? root? clipped? layout-state graft-state graft-node interior boundary model

Generic words
WordStack effect
children-on( rect gadget -- seq )
focusable-child*( gadget -- child/f )
gadget-selection( gadget -- string/f )
gadget-selection?( gadget -- ? )
gadget-text*( gadget -- )
gadget-text-separator( gadget -- str )
graft*( gadget -- )
layout*( gadget -- )
preedit?( gadget -- ? )
pref-dim*( gadget -- dim )
remove-gadget( gadget parent -- )
request-focus-on( child gadget -- )
temp-im-input( str gadget -- ? )
ungraft*( gadget -- )
user-input*( str gadget -- ? )

Ordinary words
WordStack effect
<gadget>( -- gadget )
add-gadget( parent child -- parent )
add-gadgets( parent children -- parent )
child?( parent child -- ? )
clear-gadget( gadget -- )
control-value( control -- value )
each-child( gadget quot -- )
each-parent( gadget quot -- ? )
fast-children-on( rect axis children quot -- slice )
find-parent( gadget quot -- parent )
focus-path( gadget -- seq )
focusable-child( gadget -- child )
gadget-child( gadget -- child )
gadget-seq-text( seq gadget -- )
gadget-text( gadget -- string )
hide-gadget( gadget -- )
horizontal( -- value )
layout( gadget -- )
max-dims( seq -- dim )
not-in-layout( -- )
nth-gadget( n gadget -- child )
parents( gadget -- seq )
pick-up( point gadget -- child/f )
pref-dim( gadget -- dim )
pref-dims( gadgets -- seq )
prefer( gadget -- )
relative-loc( fromgadget togadget -- loc )
relayout( gadget -- )
relayout-1( gadget -- )
request-focus( gadget -- )
screen-loc( gadget -- loc )
screen-rect( gadget -- rect )
set-control-value( value control -- )
show-gadget( gadget -- )
sum-dims( seq -- dim )
unparent( gadget -- )
vertical( -- value )

Class predicate words
WordStack effect
gadget?( object -- ? )


Metadata files

Children from resource:basis
ui.gadgets.booksBook gadget displays one child at a time
ui.gadgets.bordersBorder gadget adds padding around a child
ui.gadgets.buttonsButton gadgets invoke commands when clicked
ui.gadgets.canvasCanvas gadget for caching rendering to a display list
ui.gadgets.editorsEditors edit a plain text document
ui.gadgets.framesFrames position children around a center child which fills up any remaining space
ui.gadgets.grid-linesGrid lines visibly separate children of grids and frames
ui.gadgets.gridsGrids arrange children in a variable-size grid
ui.gadgets.incrementalChildren can be added to incremental layouts in constant time
ui.gadgets.labeledLabelled gadgets display a border with a text label surrounding a child
ui.gadgets.labelsLabel gadgets display one or more lines of text with a single font and color
ui.gadgets.line-supportCode shared between table and editor gadgets
ui.gadgets.menusMenu gadgets pop up as a list of commands at the mouse location
ui.gadgets.packsPack gadgets arrange children horizontally or vertically
ui.gadgets.panesPane gadgets display formatted stream output
ui.gadgets.paragraphsParagraph gadgets lay out their children from left to right, wrapping at a fixed margin
ui.gadgets.presentationsPresentations display an interactive view of an object
ui.gadgets.scrollersScrollers display a user-chosen portion of a child which may have arbitrary dimensions
ui.gadgets.slidersSlider gadgets provide a graphical view of an integer-valued model
ui.gadgets.status-barStatus bar gadgets display mouse-over help for other gadgets
ui.gadgets.toolbarToolbars contain several buttons side-by-side
ui.gadgets.tracksTrack gadgets arrange children horizontally or vertically, giving each child a specified fraction of total available space
ui.gadgets.viewportsViewport gadgets display a portion of a child gadget and are used to implement scrollers
ui.gadgets.worldsWorld gadgets are the top level of the gadget hierarchy and are displayed in native windows

Children from resource:extra
ui.gadgets.alertsReally simple dialog boxes
ui.gadgets.book-extrasEasily switch between pages of book views
ui.gadgets.comboboxesCombo boxes have a model choosen from a list of options
ui.gadgets.controlsGadgets with expanded model usage
ui.gadgets.flex-bordersA border implementation that doesn't fixate the contained gadget size
ui.gadgets.layoutSyntax for easily building GUIs and using templates
ui.gadgets.listsList gadgets display a keyboard-navigatable list of presentations
ui.gadgets.worldsWorld gadgets are the top level of the gadget hierarchy and are displayed in native windows