PRO wloadinfo1,GROUP=GROUP COMMON info_block,WInfoBase,p_info,int_base,flag,tv_flag,image1,name1, $ s_flag,p_sel0,p_sel1,p_sel2,p_sel3,p_sel4,bl,br COMMON dirs_files, dirs, files, hdrs, sel_method, s_method, a_files, $ dirs_f,files_f,dirs_s,files_s, new_dirs, new_hdrs, new_text COMMON tmp_block, p_files @lasco.com @chandle.com IF (XRegistered("wloadinfo1") NE 0) THEN RETURN message = load_message() new_message = ' ' flag = 0 press = 0 s_flag=0 xs = 30 ; XSIZE in widget WIDGET_TEXT xwins = 64 ywins = n_elements(string_name) * 64 n_ext = 3 IF n_elements(new_path) EQ 0 then cd, CURRENT = new_path IF n_elements(name) EQ 0 THEN name = ' ' IF files_f(0) EQ 'No files found' THEN RETURN n_files = N_ELEMENTS(files_f) img_info = STRARR(n_files) FOR j=0,n_files-1 DO BEGIN new_name = dirs_f(j) + !delimiter + files_f(j) check_path = RSTRPOS(new_name,!delimiter) IF check_path GT 0 THEN BEGIN new_path = STRMID(new_name,0,check_path) new_name=STRMID(new_name,check_path+1,STRLEN(new_name)) ENDIF name = new_path + new_name ;name = new_path + !delimiter + new_name cmd = "ls" spawn,cmd + " " + name,c IF c(0) GT "" THEN BEGIN head = HEADFITS(name) IF datatype(head) NE "INT" THEN img_info = head_info( head, img_info, files_f,j ) ENDIF ENDFOR new_text=img_info WInfoBase = WIDGET_BASE(TITLE = "LASCO/EIT Image Info ",/FRAME,/COLUMN) junk = { CW_PDMENU_I, flags:0, name:'' } desc = [ { CW_PDMENU_I, 0, 'Save List' }, $ { CW_PDMENU_I, 0, 'Add to List' }, $ ; { CW_PDMENU_I, 0, 'Info' }, $ { CW_PDMENU_I, 0, 'Help' }, $ { CW_PDMENU_I, 0, 'Done' } ] menu = CW_PDMENU( WInfoBase, desc, UVALUE = 'PDMENU', /RETURN_FULL_NAME ) lcol4 = WIDGET_BASE(WInfoBase, /FRAME, /ROW) int_base = WIDGET_BASE(lcol4,/COLUMN) ; *** Files found *** li1 = WIDGET_LABEL(int_base,VALUE = "Files found: ") p_info = CW_BGROUP(int_base, new_text,UVALUE='SELECT', XSIZE=800, YSIZE=4000, $ /SCROLL,X_SCROLL_SIZE=800,Y_SCROLL_SIZE=200,/NONEXCLUSIVE,$ /RETURN_INDEX) sel_base = WIDGET_BASE(int_base,/ROW,/EXCLUSIVE) p_sel0 = WIDGET_BUTTON(sel_base,VALUE='All on',UVALUE='S_ALL_ON',/NO_RELEASE) p_sel2 = WIDGET_BUTTON(sel_base,VALUE='Swap',UVALUE='S_SWAP2',/NO_RELEASE) p_sel3 = WIDGET_BUTTON(sel_base,VALUE='Pick',UVALUE='S_PICK',/NO_RELEASE) p_sel4 = WIDGET_BUTTON(sel_base,VALUE='Select',UVALUE='S_SEL',/NO_RELEASE) ;p_go = WIDGET_BUTTON(int_base,UVALUE='OK',VALUE='O.K.') ; *** Files selected *** wb1 = WIDGET_BASE(int_base,/COLUMN) bl2 = WIDGET_BASE(wb1,/COLUMN,/FRAME) li2 = WIDGET_LABEL(bl2,VALUE = "Files selected: ") bi2 = WIDGET_BASE(bl2,/ROW,/FRAME) pi3 = WIDGET_TEXT(bi2,XSIZE=109,YSIZE=12,VALUE=new_text,UVALUE='SEL_FILES',/SCROLL,/EDITABLE) ;p_go = WIDGET_BUTTON(bl2,UVALUE='OK',VALUE='O.K.') sws = '' ml = strlen(message(0)) ws = (xs - ml) / 2 while strlen(sws) LT ws do sws = sws + ' ' ;Make ws chars long message(0) = sws + message(0) WIDGET_CONTROL, WInfoBase, /REALIZE index = where(string_name EQ name) IF N_ELEMENTS(files_f) GT 0 THEN WIDGET_CONTROL,p_info, SET_VALUE = files_f IF N_ELEMENTS(files_f) GE 0 THEN WIDGET_CONTROL,p_info, GET_VALUE = a_files print,"SET_files",files_f print,"GET_afiles",a_files ;WIDGET_CONTROL, draw1, GET_VALUE = win1,SET_DRAW_VIEW=[0,ywins] p_files = [''] help,p_files wiuv = { WInfoBase:WInfoBase, $ Gimg:p_info, $ files:files, $ dirs:dirs, $ press:press, $ pi3:pi3 $ } WIDGET_CONTROL, WInfoBase, SET_UVALUE = wiuv ;*** default select settings *** CASE s_flag OF 0: WIDGET_CONTROL,p_sel0, /SET_BUTTON 1: WIDGET_CONTROL,p_sel1, /SET_BUTTON 2: WIDGET_CONTROL,p_sel2, /SET_BUTTON 3: WIDGET_CONTROL,p_sel3, /SET_BUTTON 4: WIDGET_CONTROL,p_sel4, /SET_BUTTON ELSE: donothing=0 ENDCASE IF s_flag EQ 0 THEN BEGIN a_files(0:N_ELEMENTS(files_f)-1) = 1 END print,"a_files",a_files WIDGET_CONTROL,p_info, SET_VALUE = a_files ;*** end of default select settings *** XMANAGER,"wloadinfo1",WInfoBase, $ EVENT_HANDLER = "wloadinfo1_event", $ GROUP_LEADER = GROUP, $ /MODAL END