  ;+
; Project     : SOHO - LASCO
;
; Name        : 
;
; Purpose     : 
;
; Category    : 
;
; Explanation : 
;
; Syntax      : 
;
; Examples    : 
;
; Inputs      : None
;
; Opt. Inputs : None
;
; Outputs     : None
;
; Opt. Outputs: None
;
; Keywords    : None
;
; Common      : 
;
; Restrictions:                                  
;
; Side effects: Not known
;
; History     : Version 1, 02-Sep-1995, B Podlipnik. Written
;
; Contact     : BP, borut@lasco1.mpae.gwdg.de
;-

PRO WTrackTable1_event,event

WIDGET_CONTROL,event.id,GET_UVALUE=uval
WIDGET_CONTROL,event.top,GET_UVALUE=info

CASE uval OF

	"OK":	   BEGIN
                     WIDGET_CONTROL,info.t0, GET_VALUE=table
                     Handle_Value, info.ptr, table, /Set, /No_Copy
                     WIDGET_CONTROL,event.top,/DESTROY             
		   END

	"CANCEL":  BEGIN	
	             WIDGET_CONTROL,info.t0, GET_VALUE=table
	             Handle_Value, info.ptr, table, /Set, /No_Copy
                     WIDGET_CONTROL,event.top,/DESTROY
                  END

         "PRINT": BEGIN
                     WIDGET_CONTROL,info.t0, GET_VALUE=table 
                     Handle_Value, info.ptr, table, /Set 
                     wdn = GETENV('WORK')+!delimiter + GETENV('USER') +!delimiter+'ps'+!delimiter
                     IF chk_dir(wdn) EQ 0 THEN wdn = GETENV('HOME') + !delimiter
                     pf = wdn + 'tmp.txt'
                     wrt_asc,pf,table
                     wprint,filename=pf

                     spawn,'/usr/bin/rm '+pf
                  END

          "SAVE": BEGIN
                     WIDGET_CONTROL,info.t0, GET_VALUE=table 
                     Handle_Value, info.ptr, table, /Set 
                     wdn = GETENV('WORK')+!delimiter + GETENV('USER') +!delimiter+'list'+!delimiter
                     IF chk_dir(wdn) EQ 0 THEN wdn = GETENV('HOME') + !delimiter
                     fname = 'tracktable.tht'
                     xvaredit, fname
                     pf = wdn + fname
                     wrt_asc,pf,table

                  END
                  
          "LOAD": BEGIN

                   work = GETENV('WORK')
                   
                   IF STRLEN(work) EQ 0 THEN BEGIN
                     wu = GETENV('HOME') 
                   ENDIF ELSE BEGIN
                     wu = work + !delimiter + GETENV('USER')
                   ENDELSE
                                             
                   wd = wu+!delimiter+'list'
                 
                   chk = chk_dir(wd)
                   IF chk EQ 0 THEN wd = wu
                                    
                   temps = PICKFILE( PATH = wd, FILTER = '*.tht')
                   IF STRLEN(temps) EQ 0 THEN RETURN

                   ;tempd = STRCOMPRESS(STRMID(temps,0,RSTRPOS(temps,!delimiter)+1))

                   table = rd_asc(temps)
                   WIDGET_CONTROL,info.t0, SET_VALUE=table
                   Handle_Value, info.ptr, table, /Set ;, /No_Copy                  
                  
                  END
                  
ELSE: donothing = 0
ENDCASE


END

PRO WTrackTable1,table,frame=frame,GROUP=GROUP

IF XRegistered("WTrackTable1") NE 0 THEN RETURN
;print,table

;table = arrtable2string(arrtable)

WTrackTableBase = WIDGET_BASE(TITLE = " Image Tracking Table ",/FRAME,/COLUMN)

ff = WIDGET_BASE(WTrackTableBase,/ROW)

tt = ''                   
;tt  =  "Date     "+"    Time    "+ "Inst" + "  Distance "+" km/s   " + " Angle" + " PixValue" + "  ~km/s"
l2  = WIDGET_LABEL(ff,VALUE=tt)

r2 = WIDGET_BASE(WTrackTableBase,/ROW)
t0 = WIDGET_TEXT(r2,XSIZE=105,YSIZE=15,UVALUE='OK',VALUE=table,/SCROLL,/EDITABLE)


r4  = WIDGET_BASE(WTrackTableBase, /ROW,/FRAME)
ro  = WIDGET_BUTTON(r4,VALUE='   OK   ',UVALUE='OK')
rc  = WIDGET_BUTTON(r4,VALUE=' Cancel ',UVALUE='CANCEL')
rp  = WIDGET_BUTTON(r4,VALUE=' Print ',UVALUE='PRINT')
rl  = WIDGET_BUTTON(r4,VALUE=' Load ',UVALUE='LOAD')
rs  = WIDGET_BUTTON(r4,VALUE=' Save ',UVALUE='SAVE')

WIDGET_CONTROL,WTrackTableBase,/REALIZE

ptr = Handle_create()

info = { t0:t0, ptr:ptr }

WIDGET_CONTROL, WTrackTableBase, SET_UVALUE = info, /NO_COPY

XMANAGER,"WTrackTable1",WTrackTableBase, GROUP_LEADER=GROUP,/MODAL

Handle_Value, ptr, table, /No_Copy
Handle_Free, ptr
		
RETURN		
END



