pro test_event,event ;dummy event since some systems (VMS) require it return end ;----------------------------------------------- pro done_event,event widget_control,event.top,/destroy return end ;----------------------------------------------- pro get_dis_event,event widget_control,event.top,get_uvalue=state widget_control,state.dis_unit,get_value=entry widget_control,state.dis_field,set_value=entry return end ;----------------------------------------------- pro set_dis_event,event widget_control,event.top,get_uvalue=state widget_control,state.dis_field,get_value=entry widget_control,state.dis_unit,set_value=entry return end ;------------------------------------------------ pro get_ang_event,event widget_control,event.top,get_uvalue=state widget_control,state.ang_unit,get_value=entry widget_control,state.ang_field,set_value=entry return end ;----------------------------------------------- pro set_ang_event,event widget_control,event.top,get_uvalue=state widget_control,state.ang_field,get_value=entry widget_control,state.ang_unit,set_value=entry return end ;------------------------------------------------ pro get_tim_event,event widget_control,event.top,get_uvalue=state widget_control,state.tim_unit,get_value=entry widget_control,state.tim_field,set_value=entry return end ;----------------------------------------------- pro set_tim_event,event widget_control,event.top,get_uvalue=state widget_control,state.tim_field,get_value=entry widget_control,state.tim_unit,set_value=entry return end ;------------------------------------------------ pro cw_unit_test,keep=keep ;testing program for cw_unit_field. ;To force the values to stay in the initial units ;then set the keep keyword. restore,'cw_unit_field.sav' title = 'Fields are in the keep mode' if not keyword_set(keep) then begin keep = 0 title = 'FIELDS ARE NOT IN THE KEEP MODE' endif base= widget_base(/row,title=title) base1 = widget_base(base,/column,/frame) dis_unit = cw_unit_field(base1,/row,value='1.0 kilom',xsize=10,ysize=1,$ title='distance',/distance,keep=keep,format='(f8.3)') dis_field = cw_field(base1,/row,value='',/string,title='get/set display',xsize=10) void = widget_button(base1,value='get distance',event_pro='get_dis_event') void = widget_button(base1,value='set distance',event_pro='set_dis_event') base2 = widget_base(base,/column,/frame) ang_unit = cw_unit_field(base2,/row,value='45 deg',xsize=10,ysize=1,$ title='angle',/angle,keep=keep,format='(f5.1)') ang_field = cw_field(base2,/row,value='',/string,title='get/set display',xsize=10) void = widget_button(base2,value='get angle',event_pro='get_ang_event') void = widget_button(base2,value='set angle',event_pro='set_ang_event') base3 = widget_base(base,/column,/frame) tim_unit = cw_unit_field(base3,/row,value='360 sec',xsize=10,ysize=1,$ title='time',/time,keep=keep,format='(f10.3)') tim_field = cw_field(base3,/row,value='',/string,title='get/set display',xsize=10) void = widget_button(base3,value='get time',event_pro='get_tim_event') void = widget_button(base3,value='set time',event_pro='set_tim_event') void = widget_button(base,value='done',event_pro='done_event') state = {dis_unit : dis_unit, dis_field : dis_field, $ ang_unit : ang_unit, ang_field : ang_field, $ tim_unit : tim_unit, tim_field : tim_field} widget_control,base,/realize widget_control,base,set_uvalue=state xmanager,'test',base,/no_block return end