Viewing contents of file '../idllib/contrib/tappin/graffer/gr_opt_set.pro'
;+
; GR_OPT_SET
; Set GRAFFER special options, e.g updating state etc.
;
; Usage:
; gr_opt_set, pdefs
;
; Argument:
; pdefs struct in/out The ubiquitous GRAFFER structure.
;
; History:
; Original: 4/7/97; SJT
; Add mouse-editing default option: 13/8/97; SJT
;-
function Gr_opt_event, event
widget_control, event.id, get_uvalue = but
widget_control, event.top, get_uvalue = opts, /no_copy
iexit = 0
case but of
'SH2D': opts.s2d = event.value
'UPDATE': opts.update = event.value
'TIME': opts.auto_delay = event.value > 10 ; Safety valve of 10
; seconds.
'MOUSE': opts.mouse = event.value
'DONT': iexit = -1
'DO': iexit = 1
'SAVE': begin
cd, current = cdir, getenv('HOME')
openw, ilu, /get, '.grafferrc'
printf, ilu, 'Autosave: ', opts.auto_delay
printf, ilu, 'Update: ', opts.update
printf, ilu, 'Supp2D: ', opts.s2d
printf, ilu, 'MouseEdit:', opts.mouse
free_lun, ilu
cd, cdir
end
endcase
widget_control, event.top, set_uvalue = opts, /no_copy
return, {id:event.id, top:event.top, handler:0l, exited:iexit}
end
pro Gr_opt_set, pdefs
widget_control, pdefs.ids.graffer, sensitive = 0
if (widget_info(pdefs.ids.graffer2, /valid)) then $
widget_control, pdefs.ids.graffer2, sensitive = 0
base = widget_base(resource = 'Graffer', title = 'Graffer Options', $
/column)
junk = widget_label(base, value = 'Graffer special options')
junk = cw_bbselector(base, ['Display', 'Suppress'], $
label_left = 'Show 2-D data?', set_value = $
pdefs.opts.s2d, uvalue = 'SH2D')
junk = cw_bbselector(base, ['Automatic', 'Semi-automatic', 'Manual'], $
label_left = 'Plot updating', set_value = $
pdefs.opts.update, uvalue = 'UPDATE')
junk = cw_bbselector(base, ['Disabled', 'Enabled'], label_left = $
'Default mouse editing', set_value = $
pdefs.opts.mouse, uvalue = 'MOUSE')
junk = graff_enter(base, label = 'Autosave interval:', value = $
pdefs.opts.auto_delay, /float, /all_events, $
/capture, format = "(F6.1)", xsize = 7, uvalue = $
'TIME')
jb = widget_base(base, /row)
junk = widget_button(jb, value = ' Cancel ', uvalue = 'DONT')
junk = widget_button(jb, value = ' Do it ', uvalue = 'DO')
junk = widget_button(jb, value = ' Save ', uvalue = 'SAVE')
widget_control, base, /real, event_fun = 'gr_opt_event', set_uvalue = $
pdefs.opts
repeat begin
ev = widget_event(base)
end until (ev.exited ne 0)
if (ev.exited eq 1) then begin
widget_control, base, get_uvalue = opts, /no_copy
pdefs.opts = opts
widget_control, pdefs.ids.update, map = pdefs.opts.update ne 0
endif
widget_control, base, /destroy
widget_control, pdefs.ids.graffer, sensitive = 1
if (widget_info(pdefs.ids.graffer2, /valid)) then $
widget_control, pdefs.ids.graffer2, sensitive = 1
if (pdefs.opts.update eq 0) then gr_plot_object, pdefs
end