
;+ ***********************************************************************
; NAME:
;	NEWLECP2D
;
; PURPOSE:
;	Cette fonction lit le contenu d'un fichier de position de centroid
;
; CATEGORY:
;	NRH1 Positions
;
; CALLING SEQUENCE:
;	NEWLECP2D, Unit, Positions, Str
;
; INPUTS:
;	UNIT	Unite asociee au fichier
;	
; KEYWORD PARAMETERS:
;	FICHIER	Nom du fichier, si abscent UNIT definit le fichier
;	OLDMODE	A voir
;
; OUTPUTS:
;	POSITIONS	Tableau de resultat de la lecture (voir LECP2D)
;
;	STR		Structure associee (NRH1_STR_IMAGES)
;
; COMMON BLOCKS:
;	NRH1_GLOBAL
;	NRH1_HELIO
;
; MODIFICATION HISTORY: (bonmartin@obspm.fr)
;	26/11/98	adapte de XHELIO (JB)
;-*******************************************************************

FUNCTION newlecp2d,lun,x,stx,FICHIER=fichier,OLDMODE=oldmode

Common NRH1_GLOBAL,nomfich,fichinfo
Common NRH1_HELIO,mainstruct

chemin=!chemin
pos=STRPOS(fichier,']')

IF ( pos NE -1) THEN BEGIN
  !chemin = STRMID(fichier,0,pos+1)
  fichier = STRMID(fichier,pos+1,100)
ENDIF
	SZ = SIZE(FINDFILE(!chemin+fichier))
IF SZ(0) EQ 0 THEN BEGIN
   !chemin=chemin
   Mes = WIDGET_MESSAGE('2D centroid file '+!chemin+fichier+' not found')
   RETURN,1
ENDIF

WIDGET_CONTROL,/HOURGLASS
if not keyword_set(fichier) THEN $
fichier = nomfich(lun)
IF keyword_set(oldmode) THEN BEGIN
   lecp2d,lun,x,stx,FICHIER=fichier
ENDIF ELSE BEGIN
   x = FILELOAD(fichier)
   IF N_elements(x) EQ 1 THEN BEGIN
       lecp2d,lun,x,stx,FICHIER=fichier
       ret=FILESTORE(x,fichier)
   ENDIF ELSE BEGIN
   err = newlitentete(lun,fichier,file)
   IF err EQ 1 THEN RETURN,err
   fichinfo(lun)=file
   nomfich(lun)=fichier
   ENDELSE
ENDELSE

; regarde si c'est bien un fichier de positions 2D
; attention a l'espace devant POSITION
IF (MOTCLE(lun,'ENTETDESC1') NE ' POSITION') THEN BEGIN
    Mes = WIDGET_MESSAGE('This is not a Centroid position File')
    RETURN,1
ENDIF
mainstruct.p2dfile=fichier 

IF (pos NE -1) THEN $
!chemin=chemin
   

RETURN,0
END







