PRO filestab_event, ev
end
PRO filestab_print, ev
common FILESTAB, files_tab, lines, print_from_txt, print_to_txt
widget_control, print_from_txt, get_value=fromdate
widget_control, print_to_txt, get_value=todate
if (fromdate[0] ne '' and todate[0] ne '') then begin
fromdate=long(strmid(strtrim(fromdate[0], 2), 4, 3))
todate=long(strmid(strtrim(todate[0], 2), 4, 3))
widget_control, files_tab, get_value=dirfiles
dim2=(size(dirfiles))[2]
i=0l
found=0
while (i lt dim2) and (found eq 0) do begin
if (lines[i] ne fromdate) then begin
i=i+1
endif else begin
found=1
endelse
endwhile
if i ge dim2 then begin
return
endif
if lines[i] ne fromdate then begin
return
endif
indfrom=i
found=0
while (i lt dim2) and (found eq 0) do begin
if (lines[i] ne todate) then begin
i=i+1
endif else begin
found=1
endelse
endwhile
if i ge dim2 then begin
return
endif
if lines[i] ne todate then begin
return
endif
indto=i
size=indto-indfrom+1
files=strarr(25, size)
for j=0, size-1 do begin
files[*, j]=dirfiles[*, indfrom+j]
endfor
endif else begin
widget_control, files_tab, get_value=files
endelse
dim2=(size(files))[2]+1
printtab=strarr(9, 12*dim2)
for i=1, 4 do begin
for k=0, 5 do begin
for j=0, dim2-2 do begin
printtab[i*2, (k*dim2+j+1)*2]=files[i+k*4, j]
printtab[0, 2*(dim2*k+j+1)]=lines[j]
endfor
endfor
endfor
for j=0, 6*dim2-2 do begin
printtab[*, 2*j+1]='-----------'
endfor
for j=0, 5 do begin
printtab[0, 2*j*dim2]=' '
for i=0, 3 do begin
if j gt 0 then begin
printtab[*, 2*dim2*j-1]='***********'
endif
printtab[(1+i)*2, 2*dim2*j]=strtrim(string(i+j*4), 2)
endfor
endfor
for i=0, 3 do begin
printtab[2*i+1, *]='|'
endfor
openw, unit, 'temp'+strtrim(string(files_tab), 2), /get_lun
for j=0, 12*dim2-1 do begin
list2=""
for i=1, 6 do begin
list2=list2+"a, T"+strtrim(string(12*i+1), 2)+", a,"
endfor
list2=strmid(list2, 0, strlen(list2)-1)
list2="("+list2+")"
printf, unit, printtab[*, j], format=list2
endfor
close, unit
spawn, 'lp -c -d bat16_rv '+'temp'+strtrim(string(files_tab), 2)
spawn, '/rm '+'temp'+strtrim(string(files_tab), 2)
end
PRO filestab, directory, answer, bg_ephem
common COM
common FILESTAB, files_tab, lines, print_from_txt, print_to_txt
wrong=0
case directory of
'Turn_on': begin
lines=['1997298', '1997299']
end
'Venus1': begin
lines=['1998116']
end
'Ico_m14': begin
lines=['1998364', '1998365', '1999001', '1999002', '1999003', '1999004', '1999005']
end
'Venus2': begin
lines=['1999175']
end
'Earth': begin
lines=strarr(31)
for i=0, 30 do begin
lines[i]='19992'+strtrim(string(27+i), 2)
endfor
end
else: begin
if (strmid(directory, 4, 1) eq '_' and strmid(directory, 8, 1) eq '_') then begin
beg=long(strmid(directory, 5, 3))
finish=long(strmid(directory, 9, 3))
lines=indgen(finish-beg+1)+beg
lines=strtrim(string(lines), 2)
endif else begin
wrong=1
endelse
end
endcase
filestab_base=widget_base(/column, title=directory, group_leader=mWind, unit=0,xsize=1200, ysize=800)
if wrong then begin
files_lbl=widget_label(filestab_base, value='This is not a data directory.')
endif else begin
files_tab=widget_table(filestab_base, alignment=1, $
column_labels=[bg_ephem,'00', '01', '02', '03', '04', '05', '06', '07', $
'08', '09', '10', '11', '12', '13', '14', '15', '16', $
'17', '18', '19', '20', '21', '22', '23'], $
row_labels=lines, units=2, scr_xsize=42, scr_ysize=42, column_widths=1.6, /resizeable_columns, $
/resizeable_rows, value=answer, /scroll)
print_base=widget_base(filestab_base, /row)
print_but=widget_button(print_base, value='Print', event_pro='filestab_print')
print_lbl=widget_label(print_base, value='from')
print_from_txt=widget_text(print_base, value='', /editable)
print_to_lbl=widget_label(print_base, value='to')
print_to_txt=widget_text(print_base, value='', /editable)
endelse
widget_control, filestab_base, /realize
xmanager, 'filestab', filestab_base
end