
;+ ***********************************************************************
; NAME:
;	MENULIMFOV
;
; PURPOSE:
;	Widget pour delimiter le champ de vue du trace des positions 
;	heliographiques
;	"Button" Field of view du menu MAP
;
; CATEGORY:
;	NRH1 Menu
;
; CALLING SEQUENCE:
;	MENULIMFOV
;
; INPUTS:
;	Non
;
; KEYWORD PARAMETERS:
;	Non
;
; OUTPUTS:
;	Non
;
; COMMON BLOCKS:
;	NRH1_HELIO
;	fov	(champ de vue en rayons solaires)
;
; MODIFICATION HISTORY: (bonmartin@obspm.fr)
;	Ecrit le 02/04/1999 (Ludwig.klein@obspm.fr)
;+ ***********************************************************************

PRO MENULIMFOV_EVENT, ev

common NRH1_HELIO,mainstruct
common fov, edge

; on charge les variables locales 
stash = WIDGET_INFO ( ev.top, /CHILD )
WIDGET_CONTROL, stash, GET_UVALUE = state

IF (ev.id EQ state.default) THEN BEGIN	; RAZ des valeurs du bord du cdv 
		defedge=[-2., -2., 2., 2.] 
	       	WIDGET_CONTROL, state.LimSud, SET_VALUE = defedge(1)
        	WIDGET_CONTROL, state.LimNord, SET_VALUE = defedge(3)
        	WIDGET_CONTROL, state.LimEst, SET_VALUE = defedge(0)
        	WIDGET_CONTROL, state.LimOuest, SET_VALUE = defedge(2)
ENDIF ELSE IF( ev.id EQ state.quit) THEN BEGIN
	       	WIDGET_CONTROL, state.LimSud, GET_VALUE = sud
        	WIDGET_CONTROL, state.LimNord, GET_VALUE = nord
        	WIDGET_CONTROL, state.LimEst, GET_VALUE = est
        	WIDGET_CONTROL, state.LimOuest, GET_VALUE = ouest
		edge=[est,sud, ouest, nord]
		WIDGET_CONTROL, stash, SET_UVALUE = state
		WIDGET_CONTROL, ev.top, /DESTROY
		RETURN
ENDIF
END

PRO MENULIMFOV

common NRH1_HELIO,mainstruct
common fov, edge

Title = "Field"
base = WIDGET_BASE (TITLE = title,/FRAME,/COLUMN, xoffset=400, yoffset=190)

; Parametres du bord du champ a tracer
IF NOT KEYWORD_SET(edge) THEN edge=[-2., -2., 2., 2.] 
LimEst = CW_FIELD(base,TITLE="East",/FLOAT,VALUE=edge(0),$
                     /RETURN_EVENTS,XSIZE=9)
LimOuest = CW_FIELD(base,TITLE="West",/FLOAT,VALUE=edge(2),$
                     /RETURN_EVENTS,XSIZE=9)
LimNord = CW_FIELD(base,TITLE="North",/FLOAT,VALUE=edge(3),$
                     /RETURN_EVENTS,XSIZE=9)
LimSud = CW_FIELD(base,TITLE="South",/FLOAT,VALUE=edge(1),$
                     /RETURN_EVENTS,XSIZE=9)

default = WIDGET_BUTTON(base,VALUE='Default')
quit = WIDGET_BUTTON(base,VALUE='Done')

state = { base:base, default:default, quit:quit, $
	limsud:limsud, limnord:limnord, limest:limest,limouest:limouest}

WIDGET_CONTROL, WIDGET_INFO ( base, /CHILD ), SET_UVALUE = state 

WIDGET_CONTROL, base ,/REALIZE
XMANAGER,'MENULIMFOV', base ,GROUP_LEADER = mainstruct.root, /NO_BLOCK

END
