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