September 1, 1993 Version 1.0 O V E R V I E W The Widget Builder (wided) is a Widget previewer. It allows one to add, delete and reorder widgets to create an IDL widget interface. Although its primary intent is as previewer -- to allow the user to view a widget interface before coding it -- wided will create a skeleton of IDL code which the user then may flesh out with various event code. Every widget in the interface has an associated control panel which allows you to change the values of the keywords and parameters used to build that widget. The interface does not update the changes immediately, instead, only when the "Rebuild" button on the main control panel is pressed. The interface is then regenerated to reflect the current state of the widget tree being previewed. M A I N D I A L O G The main dialog box is central to using the wided. It controls the keywords associated with the top-level widget. In addition there are general wided functions which are accesses via its menu bar. The menu bar: File: New - Destroy the current widget tree. Open - Destroy the current widget tree and then read in a widget tree which was previously saved in a file. Widget trees are saved in .WID files. Save - Save the current widget tree to disk. Create .PRO - Create an IDL script which will create the current widget tree. The widget builder can NOT recreate an interface from a .PRO file, only from a .WID file. Show Object Tree - Shows in text form, the widget hierarchy Quit - Exit wided Edit: Cut - Allows one to remove a subtree from the widget tree. Copy - Allows one to copy a subtree of the widget tree. Paste - Allows one to add a subtree (previously cut or copied) to the widget tree. Edit - Allows one to access the dialog box associated with any of the widgets in the widget tree. Add: Add a widget of the specified type to the top level base. dependent bases are not actually contained in the top level base, rather, the top level base becomes that base's group leader. Currently, the following objects are supported: Bases, Buttons, Bitmapped Buttons, Button Groups (CW_BGROUP), Draw Widgets, Fields (CW_FIELD), Label, List, Text Widgets, Pull Down Menus (CW_PDMENU), Sliders, and Floating Point Sliders (CW_FSLIDER). Rebuild: Updates the preview of the widget tree. Help: Displays this document. ----------------------------------------- It is not possible to 'Cancel' a base. Use 'Cut' to remove a base. When editing a bitmapped button using a 3 button mouse, the left button flips colors, the middle button draws in white and the right button draws in black. Random plots are placed in draw widgets. This happens only in the preview to help you see the effects of backing store and scrolling. Plots are not drawn in code generated by the widget builder. On some platforms lists, button groups, and multi-line text will have an extra line already in the edit field. This will cause an extra button, list item, or blank line at the end. You can always delete this line when editing its value. A Button Group with no buttons will be given a single button: A List with no entries will be given a single entry: A pull down menu with no entries will be given the entry: The user may override the normal help file and the normal widget definition file: The widget builder looks in the current directory for "widdef.dat" and then in $IDL_DIR/lib/obsolete/wided. "widdef.dat" is an ascii data file which describes what widgets the widget builder supports. The widget builder looks in the current directory and then $IDL_DIR/help/widget to find its help file, "WidAbout".