Combine the tables in data.c into a single array of appropriate
structs - make editing less fraught.

Mode change: should check that all window extents are a whole number of pixels
in the new mode.

Drag from a dirviewer to one of it's own template windows... what
should the behaviour be?  Obviously want at least to do something
about SHIFT-drag in this case!!

Check error returns tidy up on way out

All exits must free store and lose fonts.  I have seen a blow-up in
free_icon or somesuch once.

'On/off' on options and radios... need to have switch on editing dbox.  Also
need to enforce radio-ness when adding/removing radios of same ESG, and
when setting ESG.


Props dboxes
------------

Start with simple-minded code for each type.  Merge/parameterise later
if it seems worthwhile.  Different boxes needed for the following:

Group A
        Default Action button/Action button/Label
        Display field (as above + max text length)
        Writeable field (no sprite field, validation string exposed)

Group B
        HSlider, VSlider

Group C
        Option button
        Radio button (as above + ESG)

Group box
Pop-up menu button
Adjuster buttons


Tell open props window to update when any of corresponding icons
change (eg, are renumbered)

