pro sdwexts_done, event common sdwexts,fcb,list ua_fits_close, fcb Widget_Control,event.top,/Destroy end pro sdwexts_event, event common sdwcom,c_image,c_extver,c_extnam,c_zoom,c_size,c_printer,doexit,pressed common sdwcom1, im, him, ptr, drawfield_id, maxdim, mask, maskim, newimage common sdwcom2, ixdim, iydim, plotmin, plotmax, goodmaskval, fix0, fiy0 common sdwcom3, logscale, oldplotmin, oldplotmax, immin, immax, boxx0, boxy0 common sdwcom4, tempxbox, tempybox, g_fnc, wcstype, aaa, newlog,iminp,imaxp common sdwexts, fcb, list common sdwexts,fcb,list Widget_Control,event.top,Get_UValue=estate ; Figure out which image name the user clicked on. pos = event.offset columnRow = Widget_Info(estate.allExts, Text_Offset_To_XY=pos) row = columnRow(1) ni = n_elements(list) if row gt ni-1 then row = ni-1 ua_fits_read,fcb,im,him,EXTEN_NO=row Widget_Control, estate.state.iextverField, Set_Value = fcb.extver(row) Widget_Control, estate.state.iextnamField, Set_Value = fcb.extname(row) immin = float(min(im)) immax = float(max(im)) temp = imscale(im,10.0) plotmin = float(temp(0)) plotmax = float(temp(1)) Widget_Control, estate.state.iminpField, Set_Value = plotmin Widget_Control, estate.state.imaxpField, Set_Value = plotmax tmpstr = string(format='("image min,max: ",E13.3,", ",E13.3)',immin,immax) Widget_Control, estate.state.minmaxlab, Set_Value = tmpstr Widget_Control, estate.state.iextverField, Set_Value = fcb.extver(row) Widget_Control, estate.state.iextnamField, Set_Value = fcb.extname(row) if logscale eq 1 then newlog = 1 pp end pro sdw_exts, event common sdwcom,c_image,c_extver,c_extnam,c_zoom,c_size,c_printer,doexit,pressed common sdwcom1, im, him, ptr, drawfield_id, maxdim, mask, maskim, newimage common sdwcom2, ixdim, iydim, plotmin, plotmax, goodmaskval, fix0, fiy0 common sdwcom3, logscale, oldplotmin, oldplotmax, immin, immax, boxx0, boxy0 common sdwcom4, tempxbox, tempybox, g_fnc, wcstype, aaa, newlog,iminp,imaxp common sdwexts, fcb, list if (XRegistered('sdw_exts')) then return Widget_Control, event.top, Get_UValue=state extsWidget = Widget_Base(Title = 'SDW Extensions Widget', /Column, $ Group_Leader = event.top, $ XOffset = 600, YOffset = 000) allExts = Widget_Text(extsWidget, xsize=30, ysize=40, value='', $ /SCROLL, /ALL_EVENTS) doneButton = Widget_Button(extsWidget, Value='Done', UValue='donebutton', $ Event_Pro = 'sdwexts_done') widget_control,/hourglass ua_fits_open,c_image,fcb ; Assemble extensions list and display if (fcb.nextend gt 0) then begin for i = 1,fcb.nextend+1 do begin thestring = string(format='(i3," ",a5," ",a4," ",i2," ",i3)', $ i-1, $ fcb.xtension(i-1), $ fcb.extname(i-1), $ fcb.extver(i-1), $ fcb.bitpix(i-1)) if (i eq 1) then begin list = thestring endif else begin list = [list,thestring] endelse endfor widget_control,allExts,set_value=list endif else begin ; image with no extensions. widget_control,allExts,set_value='no extensions' endelse estate = { $ allExts : allExts, $ state : state } Widget_Control, extsWidget, Set_UValue=estate Widget_Control, extsWidget, /Realize XManager, 'sdw_exts', extsWidget,Event_Handler='sdwexts_event' end