[Contents] [index] [Help] [Retrace] [browse <] [Browse >]

The addglist() function adds gadgets to intuition's internal lists but do
not display their imagery.  Subsequently calls to refreshglist() must be
made to draw the gadgets into the window or requester.

Programs may use refreshglist() to update the display after making changes
to their gadgets.  The supported changes include (not an exhaustive list):
changing the gflg_selected flag for boolean gadgets to implement mutually
exclusive gadgets, changing the gadgettext of a gadget to change its
label, changing the gflg_disabled flag, and changing the contents of the
stringinfo structure buffer of a string gadget.  when making changes to a
gadget, be sure to remove the gadget from the system with removeglist()
before altering it.  Remember to add the gadget back and refresh its
imagery.

boolean gadgets rendered with borders, instead of images, or highlighted
with surrounding boxes (gflg_gadghbox) are handled very simply by
Intuition, and complicated transitions done by the program can get the
rendering out of phase.  Applications should avoid modifying the imagery
and refreshing gadgets that may be highlighted due to selection by the
user.  Such operations may leave pixels highlighted when the gadget is no
longer selected.  The problems with such transitions can often be avoided
by providing imagery, either image or border, that covers all pixels in
the select box.  For gflg_gadghimage gadgets, the select imagery should
cover all pixels covered in the normal imagery.

 updating a gadget's imagery    gadget refresh function