
;+ ***********************************************************************
; NAME:
;	CW_RD_STRING
;
; PURPOSE:
;	Cette fonction saisit une chaine de caracteres 
;
; CATEGORY:
;	Compound widget
;
; CALLING SEQUENCE:
;	Chaine = CW_RD_STRING()
;
; INPUTS:
;
; KEYWORD PARAMETERS:
;	GROUP	Identifieur du widget appelant
;
;	TITLE	Titre a donner au widget
;
; OUTPUTS:
;	CHAINE	chaine de caracteres saisie
;
; RESTRICTIONS:
;	Describe any "restrictions" here.  Delete this section if there are
;	no important restrictions.
;
; PROCEDURE:
;	Controle de nom de fichier. Remplcee pae CW_FILE_NAME
;
; EXAMPLE:
;	Please provide a simple example here
;
; MODIFICATION HISTORY:
;	Ecrit par: J Bonmartin le 05/03/98 (bonmartin@obspm.fr)
;-*******************************************************************

PRO CW_RD_STRING_EVENT, event

COMMON CW_RD_STR, Chaine

ON_ERROR, 2
Parent = event.handler
Stash = WIDGET_INFO(parent, /Child)

WIDGET_CONTROL, event.id, GET_UVALUE = ev

Case ev of
        'Chaine': BEGIN
                 Chaine = event.value
                 WIDGET_CONTROL, event.top, /Destroy
                 END

        'Cancel': WIDGET_CONTROL, event.top, /Destroy

ENDCase

END

FUNCTION CW_RD_STRING, GROUP= group, Title=title
COMMON CW_RD_STR, Chaine

CHAINE = ''

IF N_ELEMENTS(Group) EQ 0 THEN Group = 0

Base = WIDGET_BASE(GROUP_LEADER = group, /Column, /Align_center,Title=title)

     CD,Current=Rep
     b= CW_FIELD(Base,Value=Rep+'/',Uvalue='Chaine',/String,TITLE='Name:', $
				         Xsize=50,/return_event)
     b= WIDGET_BUTTON(Base, Uvalue='Cancel',Value='Cancel')

WIDGET_CONTROL,Base,/Realize

XMANAGER, 'CW_RD_STRING', Base

RET = ''
 IF Chaine NE '' THEN BEGIN
	Ret= chaine
	r= FINDFILE(Ret)
	If R(0) NE '' THEN BEGIN
	    r=dialog_message('One old file will be scratched',/Question)
        	If r eq 'No' THEN Return, ''
	end
  END

Return, Ret

End 