pro spread_done, Event widget_control, event.top, /destroy end pro sdwspread_event, Event widget_control,Event.Id,get_uvalue=Ev end pro sdw_spreadsheet, data, header, x1, x2, y1, y2, group=Group common surfcom,thedata if x1 eq x2 or y1 eq y2 then return thedata = data for i = x1,x2 do begin if i eq x1 then xstrings = string(format='(i4)',i) $ else xstrings = [xstrings,string(format='(i4)',i)] endfor for i = y2,y1,-1 do begin if i eq y2 then ystrings = string(format='(i4)',i) $ else ystrings = [ystrings,string(format='(i4)',i)] endfor data = reverse(data,2) sdwspread = widget_base (group_leader=Group, xoffset=300, yoffset=300,/column) sdwsstable = widget_table(sdwspread,value=data,/scroll,x_scroll_size=15, $ y_scroll_size=20,column_labels=xstrings, $ row_labels=ystrings) buttonbase = widget_base(sdwspread,/row) surfbutton = widget_button (buttonbase, value='Surface', $ Event_Pro='sdw_spreadsurf') savebutton = widget_button (buttonbase, value='Save Image', $ Event_Pro='sdw_spreadsave') donebutton = widget_button (buttonbase, value='Done', Event_Pro='spread_done') info = { data : data, $ header : header, $ x1 : x1, $ y1 : y1 } widget_control, sdwspread, set_uvalue=info widget_control, sdwspread, /realize xmanager, 'sdwspread', sdwspread end