PRO qImage_Clean, state, event

;+
; NAME:
;	qImage_Clean
; PURPOSE:
;	Removes glitches from single image
; CATEGORY:
;	Widget qImage
; CALLING SEQUENCE:
;	qImage_Clean, state, event
; INPUTS:
;	state		array[1]; type: structure
;					qImage state structure
;	event		array[1]; type: structure
;					event structure send by 'Clean' widget
; OUTPUTS:
;	(none)
; OPTIONAL OUTPUT PARAMETERS:
; INCLUDE:
	@compile_opt.pro		; On error, return to caller
; CALLS:
;	qImage_cw_box, qImage_cw_BoxImage, qGlitch
; COMMON BLOCKS:
; SIDE EFFECTS:
; RESTRICTIONS:
; PROCEDURE:
; MODIFICATION HISTORY:
;	APR-2000, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
;-

wid_child = widget_info(state.wid_qimage_cw, /child)
widget_control, wid_child, get_uvalue=qImage_cw_state, /no_copy

qImage_cw_Box, qImage_cw_state, box, /get

IF qImage_cw_BoxImage(qImage_cw_state, box, sub_img=sub_img, sub_box=sub_box) THEN BEGIN
	widget_control, state.wid_send, sensitive=0

	widget_control, state.wid_clean, set_uvalue=sub_img
	qGlitch, wid_frames=state.wid_clean, /block

	widget_control, qImage_cw_state.wid_image, get_uvalue=image, /no_copy
	widget_control, wid_child, set_uvalue=qImage_cw_state, /no_copy

	widget_control, state.wid_clean, get_uvalue=sub_img
	image[sub_box[0]:sub_box[2], sub_box[1]:sub_box[3]] = sub_img

	widget_control, state.wid_qimage_cw, set_value=image

	widget_control, state.wid_send, /sensitive
ENDIF

RETURN  &  END
