
;+ ***********************************************************************
; NAME:
;	NRH_INTGCOMP
;
; PURPOSE:
;	Cette procedure affiche les widgets correspondant a l'integration
;	des fichiers NRH 
;
; CATEGORY:
;	Fichiers NRH
;
; CALLING SEQUENCE:
;	NRH_INTGCOMP
;
; INPUTS:
;	
; KEYWORD PARAMETERS:
;	GROUP	identification du widget appelant
;
; OUTPUTS:
;	Describe any outputs here
;
; COMMON BLOCKS:
;	FICHR	contient la structure STR_FIC (oir RH_2D)
;
;	INFO2D	contient la structure STR_INF2D (oir RH_2D)
;
;	LIMIT	contient la structure STR_LIM (oir RH_2D)
;
; PROCEDURE:
;	Cette procedure fournit les widgets pour
;		Choisir un fichier
;		Visualiser le Header
;		Integrer les donnees
;		Calculer les images a partir d'un fichier d'harmoniques
;
; EXAMPLE:
;	Please provide a simple example here
;
; MODIFICATION HISTORY:
;	Ecrit par: J Bonmartin le 16/03/98 (bonmartin@obspm.fr)
;-*******************************************************************
PRO NRH_INTGCOMP_EVENT, event

COMMON FICRH, Str_fic
COMMON INFO2D, Str_inf2d
COMMON LIMIT, Str_lim

COMMON INF_NRH_INTGCOMP, Duree, Rep, Indice, Name, Stk,$
		Bintg, Bhd, Bhf, Bstk, Binfo

WIDGET_CONTROL, event.id, Get_Uvalue = ev

CASE EV of
	'Select': BEGIN
		NRH_PICKFILE, Str_fic, Str_inf2d, Str_lim, List_stk, Lfreq
		IF Str_fic.file NE '' THEN BEGIN
	 		WIDGET_CONTROL,Bstk, SET_VALUE= List_stk
			WIDGET_CONTROL,Bhd, SET_VALUE= str_lim.hd
			WIDGET_CONTROL,Bhf, SET_VALUE= str_lim.hf
			Binfo = cw_infonrh(binfo,Str_inf2d, / INFO)
		  END
		END

	'Integ': BEGIN
		If Str_fic.file EQ ' ' OR strlen(Str_fic.file) EQ 0 THEN BEGIN
			R=WIDGET_MESSAGE('First select a file')
			Return
			END
		IF Str_inf2d.Physpar EQ 0 AND Stk EQ 1 THEN BEGIN
		       R=WIDGET_MESSAGE('StokesV no exist for the input file')
			Return
			END
		WIDGET_CONTROL,/HOURGLASS
		Durint = FLOAT(duree)
		Indic = Durint
		If Name EQ 1 THEN Indic = Indice
		INTGCOMP_NRH2, str_fic.file, Durint, $
			REPERT= rep, INDICE = indic, STOKESV = Stk, $
			HDEB = str_lim.hd, HFIN = Str_lim.hf
		END

	'Hdeb':	IF event.value GE Str_inf2d.hd AND $
			event.value LT Str_inf2d.hf THEN $
				str_lim.hd = event.value

	'Hfin':	IF event.value GT Str_inf2d.hd AND $
			event.value LE Str_inf2d.hf THEN $
				str_lim.hf = event.value

	'Duree': begin
                 Durev = event.value
;                 help,durev
                 duree = durev(0)
;                 print,'chgt duree',duree
                 end

	'Stokes': Stk = event.index

	'Name':	  Name= event.index

	'Indice': Indice= event.value

	'RepEcr': Rep = event.value

	'Return': BEGIN
			WIDGET_CONTROL, event.top, /DESTROY
			NRH_FCLOSE,Str_inf2d
			END

ENDCASE

END

PRO NRH_INTGCOMP, GROUP=Group

COMMON FICRH, Str_fic
COMMON INFO2D, Str_inf2d
COMMON LIMIT, Str_lim

COMMON INF_NRH_INTGCOMP, Duree, Rep, Indice, Name, Stk,$
		Bintg, Bhd, Bhf, Bstk, Binfo

	CD, CURRENT=rep
		rep=rep + '/'
	DUREE= '2.0'
	WIDTH = 4.0
	SIZE = 1
	INDICE=1
	NAME = 0
	STK = 0

IF N_ELEMENTS(Group) EQ 0 THEN GROUP=0

ISCROLL = 0
DEVICE, GET_SCREEN_SIZE = SCR_SIZE
RETBASE:			;Retour pour  Ascenseur
IF ISCROLL THEN $
    base = WIDGET_BASE (TITLE = title,/COLUMN,$
       /SCROLL,X_SCROLL_SIZE = Xss,Y_SCROLL_SIZE = Yss ) $
ELSE $

BASE = WIDGET_BASE(GROUP_LEADER= group, TITLE= 'Compute NRH files', /COLUMN)

	PHYSPAR ='' & LFREQ=''
	IF str_fic.file EQ ' ' OR strlen(str_fic.file) EQ '' THEN $
		NRH_PICKFILE, Str_fic, Str_inf2d, Str_lim, Physpar, Lfreq $
	ELSE IF Str_inf2d.Physpar NE 0 THEN $
		NRH_FOPEN, Str_fic.File, Str_inf2d, Str_lim, Physpar, Lfreq 

		Bstk = 0

B3 = WIDGET_BASE(base,/column,/align_center,/frame)
	B= WIDGET_LABEL(B3,Value='NRH COMPUTE CONDITIONS',/align_center)
    B31=Widget_base(b3,column=2,/align_center)
	Bhd= CW_FIELD(B31,/all_events,TITLE='Begin TIME:', Uvalue='Hdeb', $
		Value= str_lim.hd, /string,Xsize=12) 
	Bhf= CW_FIELD(B31,/all_events,TITLE=' End  TIME:', Uvalue='Hfin', $
		Value= str_lim.hf, /string,Xsize=12)
	Bintg= CW_FIELD(B31,/all_events,TITLE=' Integration(s):', $
			Uvalue='Duree', Value= Duree, /string,Xsize=6) 

	Bstk= WIDGET_DROPLIST(B31, Value= Physpar, Uvalue= 'Stokes')
	LIST=['Filename:auto','Filename:Indic']
	B= WIDGET_DROPLIST(B31, Value= List, Uvalue= 'Name')
	B= CW_FIELD(B31,/all_events,TITLE=' File indic:', Uvalue='Indice', $
		Value= Indice, /integer,Xsize=3)

    B32=  CW_FIELD(B3,/all_events,TITLE='Write on:', Uvalue='RepEcr', $
		Value= rep, /string, Xsize=30)

Binfo = cw_infonrh(base, Str_inf2d)

B12= WIDGET_BASE(Base,column=3,/align_center,/Frame)
	B= WIDGET_LABEL(B12,Value='NRH COMPUTE:',/align_center)
	B= WIDGET_BUTTON(B12, Value='Integration', Uvalue='Integ')

B= WIDGET_BUTTON(Base, Value='Select File', Uvalue='Select')
B4 = WIDGET_BUTTON(Base, Value='RETURN', Uvalue='Return')

WIDGET_CONTROL, base, /Realize,TLB_GET_SIZE = Wid_size
	IF (Wid_size(0) GT 0.9*Scr_size(0) OR Wid_size(1) GT  0.9*Scr_size(1) $
			AND NOT Iscroll ) THEN BEGIN
		WIDGET_CONTROL, Base, /DESTROY
		Iscroll = 1
		XSS = Scr_size(0) * 0.5
		YSS = Scr_size(1) * 0.8
				GOTO, RETBASE
	ENDIF

XMANAGER, 'NRH_INTGCOMP', base,/NO_BLOCK

END

 
