
;+ ***********************************************************************
; NAME:
;	MENUVERIF
;
; PURPOSE:
;	Cette procedure contient les WIDGETS pour la verification des headers
;	des fichiers NRH1 au format HELIO ou FITS (extension '.fts').
;	Elle appelle NRH_VERIF pour les fichiers HELIO
;		     CW_HEADER pour les fichiers FITS
;
; CATEGORY:
;	NRH1 Menu
;
; CALLING SEQUENCE:
;	MENUVERIF
;
; INPUTS:
;	Non
;
; KEYWORD PARAMETERS:
;	Non
;
; OUTPUTS:
;	Non
;
; COMMON BLOCKS:
;	NRH1_GLOBAL
;
;	NRH1_HELIO
;
; MODIFICATION HISTORY: (bonmartin@obspm.fr)
;	13/11/92 adapte du logiciel XHELIO (JB)
;-*******************************************************************


PRO MENUVERIF_EVENT, ev

common NRH1_GLOBAL,nomfich,fichinfo
common NRH1_HELIO,mainstruct

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


IF (ev.id EQ state.files(0)) THEN BEGIN
        WIDGET_CONTROL,/HOURGLASS
        WIDGET_CONTROL, state.files(0), GET_VALUE = fichier
	   S= STR_SEP(fichier(0), '.')
	   Sz= SIZE(s)
	   IF S(1) EQ 'fts' THEN BEGIN	;Fichiers FITS
		EXTEN = 0
		   REPEAT BEGIN
			CW_header,Fichier(0),EXTEN=Exten,GROUP=ev.top 
			Exten = Exten+1 
			Res= DIALOG_MESSAGE('Extension num: '+$
					STRCOMPRESS(STRING(exten)),/QUESTION)
		   ENDREP UNTIL Res EQ 'No'
;         WIDGET_CONTROL, ev.top,/DESTROY
		RETURN & END

        NRH_VERIF,fichier(0),lun=1  ; lecture de l'entete dans lun 1 

	RETURN    
ENDIF

IF Ev.Id EQ State.Bg_print THEN BEGIN
        WIDGET_CONTROL, state.files(0), GET_VALUE = fichier
	err=NewLitEntete(1,Fichier(0),FileInfo)    ; lecture de l'entete
	I=0
	WHILE Fileinfo.texte.Mot(i) NE 'END' DO BEGIN
		PRINT,Fileinfo.texte.mot(i),'		',$
				Fileinfo.texte.val(i)
		I= I + 1
	ENDWHILE
ENDIF

; bouton de controle

IF ( ev.id EQ state.bgroup_control ) THEN BEGIN 
  ; ******* done ********* on change le fichier rh
         WIDGET_CONTROL,state.files(0),GET_VALUE = temp                      
         WIDGET_CONTROL, stash, SET_UVALUE = state
         WIDGET_CONTROL, ev.top,/DESTROY
         RETURN
ENDIF


; on sauve les modifications
WIDGET_CONTROL, stash, SET_UVALUE = state
END



PRO MENUVERIF
;          Utilisations des fenetres 11 et 12 pour les affichages 
;          (mainstruct.windows(11:12))

common NRH1_GLOBAL,nomfich,fichinfo
common NRH1_HELIO,mainstruct

Title = "CHECK FILE HEADERS"
;         initialisation du button group

files = lonarr ( 1 ) 

base = WIDGET_BASE (TITLE = title,/FRAME,/COLUMN, XOFFSET = 200,$
                                                  YOFFSET = 200 )
base_file = WIDGET_BASE ( base,/COLUMN,/FRAME )

str = 'FILE :'
files(0)= CW_pickfile_nrh(base_file, TITLE = str, $
              VALUE = mainstruct.ewfile, FILTER='*.[e,.n,fts]*')

WIDGET_CONTROL,files(0),GET_VALUE = fichier

Bg_print = WIDGET_BUTTON(Base, VALUE= 'Print HEADER')
bgroup_control = WIDGET_BUTTON( base,VALUE='EXIT')

state = { base:base,Bg_print:Bg_print,$
          bgroup_control:bgroup_control , $
          files:files}

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

WIDGET_CONTROL, base ,/REALIZE


XMANAGER,'MENUVERIF', base,GROUP_LEADER = mainstruct.root

;stash = WIDGET_INFO ( base, /CHILD )
;WIDGET_CONTROL, stash, GET_UVALUE = state


END


 

