
pro shackhartf_event,event

widget_control,event.id,get_value=v

;if (event.tag eq 'SELREG') then begin
;  v.star=dialog_pickfile()
;endif

;if (event.tag eq 'SELREF') then begin
;  v.ref=dialog_pickfile()
;endif

;if (event.tag eq 'FINDSTAR') then findxy,v.star,peak=v.peakstar,/smooth,/divflat
;if (event.tag eq 'FINDREF') then findxy,v.ref,peak=v.peakref,/smooth,/divflat
if (event.tag eq 'FINDSTAR') then findxy,v.star,peak=v.peakstar,/smooth
if (event.tag eq 'FINDREF') then findxy,v.ref,peak=v.peakref,/smooth
if (event.tag eq 'SORTXY') then sortxy,v.ref,v.star,fidref=v.fidref, $
	fidstar=v.fidstar
if (event.tag eq 'HARTFIT') then hartfit,v.star,nofocus=v.solvemode(0), $
	notilt=v.solvemode(1)
if (event.tag eq 'WAVEFRONT') then d11xy,v.star
if (event.tag eq 'RUNSTAR') then runstar,v.ref,v.star,v.peakstar, $
	v.fidref, v.fidstar, v.solvemode(0), v.solvemode(1)
if (event.tag eq 'RAYSPOT') then hartplot,v.star
if (event.tag eq 'REFSPOT') then winhart,v.ref,/histeq
if (event.tag eq 'STARSPOT') then winhart,v.star,/histeq
if (event.tag eq 'EXIT') then widget_control,/destroy,event.top

return
end

pro shackhartf

a=widget_base(/column,title='HIPO S-H')

hartgui=['0,LABEL, HIPO: Shack-Hartmann Analysis', $
'1, BASE, , COLUMN, FRAME', $
'1, BASE, ,ROW', $
'0, TEXT, , LABEL_LEFT= Reference image:, WIDTH=20, TAG=ref', $
'0, BUTTON, Find , TAG=findref', $
'2, FLOAT, 400.0, LABEL_LEFT= Peak min: , WIDTH=6, TAG=peakref', $
'1, BASE, ,ROW', $
'0, TEXT, , LABEL_LEFT=      Star image:, WIDTH=20, TAG=star', $
'0, BUTTON, Find , TAG=findstar', $
'2, FLOAT, 5000.0, LABEL_LEFT= Peak min: , WIDTH=6, TAG=peakstar', $
;'1, BASE, ,ROW'
;'0, TEXT, , LABEL_LEFT=      Flat image:, WIDTH=20, TAG='flat', $
;'0, BUTTON, 
'1, BASE, ,ROW', $
'0, BUTTON, Register, TAG=sortxy', $
'0, INTEGER, 0, LABEL_LEFT= Ref fiducial: , WIDTH=5, TAG=fidref', $
'2, INTEGER, 0, LABEL_LEFT= Star fiducial: , WIDTH=5, TAG=fidstar', $
'1, BASE, ,ROW, CENTER', $
'0, BUTTON, Displacements, TAG=hartfit', $
'0, BUTTON, Focus|Tilt, ROW, SET_VALUE=0|0, TAG=solvemode', $
'0, BUTTON, Wavefront, TAG=wavefront', $
'2, BUTTON, RUN STAR, TAG=runstar', $
'1, BASE, ,ROW, CENTER', $
'0, BUTTON, Ray Diagram, TAG=rayspot', $
'0, BUTTON, Ref Spot ID, TAG=refspot', $
'0, BUTTON, Star Spot ID, TAG=starspot', $
'2, BUTTON, Exit, TAG=exit']

b = cw_form(a,hartgui,/column)
widget_control,b,/realize
xmanager,'shackhartf',a, /no_block

end

