pro xdelfile_event,ev

Common Exch_xdelfile,base,Value

WIDGET_CONTROL,ev.id,GET_UVALUE = uv

CASE uv OF
"Yes":	Value=1
"No":	Value=0
ENDCASE
WIDGET_CONTROL,ev.top,/DESTROY
end

;*************************************

pro xdelfile, Filename, group_leader=group_leader, $
	silent=silent, path=path

;	Interactively deletes a file.

Common Exch_xdelfile,base,Value


if xregistered('xdelfile') then return
if n_elements(group_leader) le 0 then group_leader=0
if n_elements(path) gt 0 then pushd,path

Sz=Size(Filename)

IF not ((Sz(0) eq 0L) and Sz(n_elements(Sz)-2) eq 7L) THEN BEGIN
	if n_params() lt 1 then goto, L1
print,'Invalid file name'
goto,exit1		;if Filename is not a scalar string
ENDIF			;then return

L1:
if n_elements(Filename) le 0 then Filename=''
if Filename eq '' then Filename=pickfile(title= $
	'Please select a file for DELETING')
if Filename eq '' then goto, exit1

	if keyword_set(silent) then begin
value=1		&	goto, exit
	endif

device,get_scr=scr
prompt='Delete'
xpos=scr(0)/3
ypos=scr(1)/3

margin="         "

base=widget_base(/colu,xoff=xpos,yoff=ypos, $
	tit=prompt,group=group_leader, $
     space=scr(1)/40,ypad=scr(1)/40)

text=['  You are deleting the file',Filename]

length=2*strlen(margin)+max(strlen(text(*)))

Ques=widget_text(base,ysiz=2,val=margin+text,xsiz=length)

base1=widget_base(base,/row, xpad=scr(0)/12, $
     space=scr(0)/40,ypad=scr(1)/40)

But0 = WIDGET_BUTTON(base1,Uval='Yes',val='OK')
But1 = WIDGET_BUTTON(base1,Uval='No',val='Cancel')

WIDGET_CONTROL,base,/realize,/hourglass

xmanager,'xdelfile',base,/modal

exit:
	if value eq 1 then begin
openr,lun,Filename,/get_lun,/del
free_lun,lun
print,'File '+Filename+' is deleted'
	endif
exit1:
if n_elements(path) gt 0 then popd
end
