pro vmain, value, name, default_name = default_name, group = group if n_params() eq 1 then begin if keyword_set(default_name) then dn = default_name $ else dn = '' if keyword_set(group) then begin base = widget_base(/column, $ title = "Top-level name", $ /modal, $ group = group) label = widget_label(base, $ value = "Save value to $MAIN$") junk = widget_label(base, $ value = "or to file") junk = cw_ffield(base, $ label = "Name:", $ uvalue = 'NAME', $ /text, $ xsize = 10, $ /all_events, $ value = dn) junk = cw_bgroup(base, $ /row, $ ['Apply', 'Cancel'], $ button_uvalue = ['DO', 'DONT'], $ uvalue = 'DO', $ ids = bids) widget_control, bids[1], sensitive = dn ne '' state = {vmain_state, $ doid: bids[1], $ name: dn, $ value: ptr_new(value)} widget_control, label, set_uvalue = state widget_control, base, /real xmanager, 'vmain', base endif else begin name = '' read, "Enter variable name (or space to cancel) ["+dn+"] :_", $ name if name eq '' then name = dn if name ne ' ' then (scope_varfetch(name, level = 1, /enter)) $ = value ; junk = routine_names(name, value, $ ; store = 1) endelse endif else if n_params() eq 2 then (scope_varfetch(name, level = 1, /enter)) $ = value ; junk = routine_names(name, value, $ ; store = 1) end