PRO NRHR_EVENT, Event

COMMON COM_NRHR,Red, Green, Blue, Ro, Go, Bo

WIDGET_CONTROL,Event.top, GET_UVALUE = Str, /NO_COPY
WIDGET_CONTROL, Event.id, GET_UVALUE = Ev

CASE Ev OF
    'Rep':  BEGIN
        Str.Rep = Event.Value
        WIDGET_CONTROL, EVENT.TOP, SET_UVALUE= Str
        END
    'Hdeb': BEGIN
        Str.Hdeb = Event.value
        WIDGET_CONTROL, EVENT.TOP, SET_UVALUE= Str
        END
    'Hfin': BEGIN
        Str.Hfin = Event.value
        WIDGET_CONTROL, EVENT.TOP, SET_UVALUE= Str
        END
    'File': BEGIN
        File= DIALOG_PICKFILE(FILTER='nr*.fts',PATH=Str.rep)
        IF File NE '' THEN BEGIN
            STR.File = File
            Str.Freq = 0
            WIDGET_CONTROL, EVENT.TOP, SET_UVALUE= Str
            HD0 = HEADFITS(Str.File)
            LFREQ = NRHR_LFREQ(HD0)
            WIDGET_CONTROL, Str.Idfreq, SET_VALUE=Lfreq
            DATA = MRDFITS(Str.file, 1, HD1,/SILENT)
                TIME= Data.time
                Str.Hdeb = MSH(Time[0])
                Str.Hfin = MSH(TIME(N_ELEMENTS(time)-1))
            WIDGET_CONTROL, STR.Ideb, SET_VALUE=MSH(data(0).time)
            WIDGET_CONTROL, STR.Ifin, $ 
               SET_VALUE=MSH(Data(N_ELEMENTS(Data.time)-1).time)
            ENDIF
        WIDGET_CONTROL, EVENT.TOP, SET_UVALUE= Str
        END
    'Freq': BEGIN
        Str.Freq = Event.Index
        WIDGET_CONTROL, EVENT.TOP, SET_UVALUE= Str
        END
    'Color':BEGIN
        Str.Color = Event.index
        WIDGET_CONTROL, EVENT.TOP, SET_UVALUE= Str
        END
    'Plot': BEGIN
        Str.tri=0
        NRHR_PLOTF, Str.File, Str.Freq,INDICE=Str.Tri, PSYM=10, $
            YRANGE=[0,5], HR_BEG=Str.Hdeb, HR_END=Str.hfin, $
            RED=Red, GREEN=Green, BLUE=Blue, NOCOLOR=Str.Color
        WIDGET_CONTROL, EVENT.TOP, SET_UVALUE= Str
        END
    'Oplot':BEGIN
        Str.tri = Str.tri +1            
        NRHR_PLOTF, Str.File, Str.Freq, INDICE = Str.tri,/OPLOT, $
            PSYM=10, HR_BEG=Str.Hdeb, HR_END=Str.hfin, $
            RED=Red, GREEN=Green, BLUE=Blue, NOCOLOR=Str.Color
        WIDGET_CONTROL, EVENT.TOP, SET_UVALUE= Str
        END
    'Png':  BEGIN
        Sav= TVRD()
        R= DIALOG_MESSAGE('Save on "rout.png"',DIALOG_PARENT=Event.Top)
        WRITE_PNG,'rout.png',Sav, Red, Green, Blue
        WIDGET_CONTROL, EVENT.TOP, SET_UVALUE= Str
        END

    'Exit': BEGIN
        TVLCT, Bo,Go,Bo
        WIDGET_CONTROL,Event.top, /DESTROY
        END

ENDCASE


END 



PRO NRHR, GROUP = Group

COMMON COM_NRHR,Red, Green, Blue, Ro, Go, Bo
STR = {STR_WD_NRHR, Rep :'', File :'', Hdeb:'', Hfin:'', Freq:0, $
        Idfreq:0L, Ideb:0L, Ifin:0L, Tri:0, Yrg:[0,0], Color:0}

Sep = '/'
    IF !VERSION.OS_FAMILY EQ 'Windows' THEN Sep= '\' $
    ELSE DEVICE, DECOMPOSED=0, PSEUDO_COLOR=8
    CD, CURRENT= Rep
        Str.Rep = Rep+Sep

TVLCT, R,G,B,/GET
    Ro=R & Go=G & Bo=B
    Red=R & Green=G & Blue=B

If N_ELEMENTS(Group) EQ 0 THEN GROUP = 0

BASE = WIDGET_BASE(GROUP_LEADER=Group, TITLE='PLOT NRH ROUTINES', /COLUMN, $
        /FRAME)
    B= CW_FIELD( Base, VALUE= Str.rep, UVALUE='Rep', XSIZE=40, $
        TITLE='Directory:',/ALL_EVENTS)
    B=WIDGET_BUTTON( Base, VALUE='Select File', UVALUE = 'File')
    Str.Idfreq=WIDGET_DROPLIST( Base, VALUE= ' ', UVALUE= 'Freq' , $
        TITLE= 'Frequencies')
    Str.Ideb= CW_FIELD(Base, VALUE= Str.Hdeb, UVALUE= 'Hdeb', $
        /STRING, /ALL_EVENTS,TITLE='BEGIN Time',XSIZE=12)
    Str.Ifin= CW_FIELD(Base, VALUE= Str.Hfin, UVALUE= 'Hfin', $
        /STRING, /ALL_EVENTS, TITLE='END Time  ',XSIZE=12)

    List = ['Color', 'B / W']
    B=WIDGET_DROPLIST(Base, VALUE=List, UVALUE = 'Color', TITLE= 'Plot:')
    B=WIDGET_BUTTON( Base, VALUE='Plot', UVALUE = 'Plot')
    B=WIDGET_BUTTON( Base, VALUE='OPlot', UVALUE = 'Oplot')
    B=WIDGET_BUTTON( Base, VALUE='Save on PNG', UVALUE = 'Png')

       b=WIDGET_BUTTON(Base,Value='Return', Uvalue='Exit')

    WIDGET_CONTROL, Base, SET_UVALUE= STR

widget_control,base,/Realize
Xmanager,'NRHR',Base, /NO_BLOCK

END