;+
; NAME
;          eis_tl_entry_gui
;
; PURPOSE
;          This object
;
; INPUTS
;          None
;
; WRITTEN
;          JAR@RAL 25-Oct-2007
;
; HISTORY
;          v0.1 JAR 28-May-2008
;               1. Automatically select the last TL entry in the database
;               2. Added StudyRaster tab
;               3. Eliminated zero-raster bugs
;          v0.2 JAR 27-Jan-2009
;               Added event trigger flags to Time tab
;
;-
;______________________________________________________________________________
FUNCTION eis_tl_entry_gui::Init , parentClass = parentClass , seq_id = seq_id

;replace call to astrolib
    defsysv,'!DEBUG', 0
    defsysv,'!TEXTUNIT', 0
    defsysv,'!PRIV', 2
    defsysv,'!TEXTOUT', EXIST = EXIST

IF KEYWORD_SET(parentClass) THEN BEGIN

    Self.parentClass  = parentClass
    Self.group_leader = parentClass->tlbID()

ENDIF
;-------------------create the main base---------------------------------------;
pt_version = eis_get_pt_version_number()
widTitle = 'EIS Timeline Entry Viewer' + pt_version
TLB_EVENT                  = {eis_tl_entry_gui_Event}
TLB_EVENT.eis_tl_entry_gui = Self
TLB_EVENT.Type             = "TLB"
Self.tlbID                 = WIDGET_BASE(                                  $
                                   TITLE       = widTitle            ,     $
                                   COLUMN      = 1                   ,     $
                                   FLOATING    = KEYWORD_SET(parentClass), $
                                   GROUP_LEADER= Self.group_leader   ,     $
                                   UValue      = TLB_EVENT)

; ______________________________________________________________________
;
; TL Entry Number Base
;
; ______________________________________________________________________
tlIDBase                   = WIDGET_BASE(Self.tlbID ,                      $
                                    ROW         = 1  ,                     $
                                    frame       = 1)


value = "Timeline Entry Sequence ID:"
aLabel                     = WIDGET_LABEL(tlIDBase                   ,     $
                                   value       = value               ,     $
                                   /DYNAMIC_RESIZE)

TLID_EVENT                 = {eis_tl_entry_gui_Event}
TLID_EVENT.eis_tl_entry_gui   = Self
TLID_EVENT.Type            = "TLID"

IF (KEYWORD_SET(seq_id) EQ 1) THEN seq_id = seq_id ELSE seq_id = 0L

value = STRCOMPRESS(seq_id,/REMOVE_ALL)
Self.tlIDID                = WIDGET_TEXT(tlIDBase                       ,  $
                                    value       = value                 ,  $
                                    Event_Pro   = 'eis_tl_entry_gui_EV' ,  $
                                    xSize       = 8                     ,  $
                                    /EDITABLE                           ,  $
                                    uValue      = TLID_EVENT)

Self.entryTypeID           = WIDGET_LABEL(tlIDBase                   ,  $
                                   value       = 'N/A'               ,  $
                                   /DYNAMIC_RESIZE)

;-------------------create the GUI------------------------------;
Self->createGUI
;Self->refresh

RETURN, 1

END
;______________________________________________________________________________
;
;______________________________________________________________________________
PRO eis_tl_entry_gui::createGUI

; tab_base                   = WIDGET_BASE(Self.tlbID )
; Self.tabBaseID = tab_base
Self.tabBaseID             = WIDGET_TAB(Self.tlbID)
; ______________________________________________________________________
;
; Time Component Base
;
; ______________________________________________________________________
time_tab_base              = WIDGET_BASE(Self.tabBaseID               ,        $
                                   COLUMN      = 1                   ,     $
                                   title       = ' Time ')

TIMELIST_EVENT             = {eis_tl_entry_gui_Event}
TIMELIST_EVENT.eis_tl_entry_gui = Self
TIMELIST_EVENT.Type        = "TIMELIST"
Self.timeListID            = WIDGET_TEXT( time_tab_base              ,     $
                                    value       = 'None'             ,     $
                                    /SCROLL                          ,     $
                                    ySize       = 20                 ,     $
                                    xSize       = 90                 ,     $
                                    uValue      = TIMELIST_EVENT)

; ______________________________________________________________________
;
; Science Component Base
;
; ______________________________________________________________________
sci_tab_base               = WIDGET_BASE(Self.tabBaseID               ,     $
                                   COLUMN      = 1                   ,     $
                                   title       = ' Science ')

SCI_LIST_EVENT             = {eis_tl_entry_gui_Event}
SCI_LIST_EVENT.eis_tl_entry_gui = Self
SCI_LIST_EVENT.Type        = "SCI_LIST"
Self.sciListID             = WIDGET_TEXT( sci_tab_base               ,     $
                                    value       = 'N/A'              ,     $
                                    /SCROLL                          ,     $
                                    ySize       = 20                 ,     $
                                    xSize       = 90                 ,     $
                                    uValue      = SCI_LIST_EVENT)

; ______________________________________________________________________
;
; Study Raster Base
;
; ______________________________________________________________________
sra_base                   = WIDGET_BASE(Self.tabBaseID              ,     $
                                   COLUMN      = 1                   ,     $
                                   title       = ' StudyRasters ')

; value = 'Blah blah blah'
; aLabel                     = WIDGET_LABEL(sra_base                   ,     $
;                                    value       = value)

SRA_LIST_EVENT             = {eis_tl_entry_gui_Event}
SRA_LIST_EVENT.eis_tl_entry_gui = Self
SRA_LIST_EVENT.Type        = "SRA_LIST"
Self.sraListID             = WIDGET_TEXT( sra_base                   ,     $
                                    value       = 'N/A'              ,     $
                                    /SCROLL                          ,     $
                                    ySize       = 20                 ,     $
                                    xSize       = 90                 ,     $
                                    uValue      = SRA_LIST_EVENT)

; ______________________________________________________________________
;
; Raster Base
;
; ______________________________________________________________________
raster_base                = WIDGET_BASE(Self.tabBaseID              ,     $
                                   COLUMN      = 1                   ,     $
                                   title       = ' Rasters ')

value = 'Double-click an entry to view the raster details'
aLabel                     = WIDGET_LABEL(raster_base                ,     $
                                   value       = value)

RA_LIST_EVENT              = {eis_tl_entry_gui_Event}
RA_LIST_EVENT.eis_tl_entry_gui = Self
RA_LIST_EVENT.Type         = "RA_LIST"
Self.raListID              = WIDGET_LIST( raster_base                ,     $
                                    value       = 'N/A'              ,     $
                                    ySize       = 20                 ,     $
                                    xSize       = 90                 ,     $
                                    uValue      = RA_LIST_EVENT)

; ______________________________________________________________________
;
; Planner/Obserevr Base
;
; ______________________________________________________________________
planner_tab_base           = WIDGET_BASE(Self.tabBaseID               ,     $
                                   COLUMN      = 1                   ,     $
                                   title       = ' Planners ')

PLAN_LIST_EVENT            = {eis_tl_entry_gui_Event}
PLAN_LIST_EVENT.eis_tl_entry_gui = Self
PLAN_LIST_EVENT.Type       = "PLAN_LIST"
Self.plannerListID         = WIDGET_TEXT( planner_tab_base           ,     $
                                    value       = 'N/A'              ,     $
                                    ySize       = 20                 ,     $
                                    xSize       = 90                 ,     $
                                    uValue      = PLAN_LIST_EVENT)

; ______________________________________________________________________
;
; Response Study Base
;
; ______________________________________________________________________
response_tab_base          = WIDGET_BASE(Self.tabBaseID              ,     $
                                   COLUMN      = 1                   ,     $
                                   title       = ' Triggers ')

RESP_LIST_EVENT            = {eis_tl_entry_gui_Event}
RESP_LIST_EVENT.eis_tl_entry_gui = Self
RESP_LIST_EVENT.Type       = "RESP_LIST"
Self.responseListID        = WIDGET_TEXT( response_tab_base          ,     $
                                    value       = 'N/A'              ,     $
                                    ySize       = 20                 ,     $
                                    xSize       = 90                 ,     $
                                    uValue      = RESP_LIST_EVENT)
; ______________________________________________________________________
;
; Bottom Base
;
; ______________________________________________________________________
bottomBase                  = WIDGET_BASE(Self.tlbID ,                      $
                                    ROW         = 1,/frame)

; ______________________________________________________________________
;
; Quit Button
;
; ______________________________________________________________________
REFRESH_EVENT              = {eis_tl_entry_gui_Event}
REFRESH_EVENT.eis_tl_entry_gui = Self
REFRESH_EVENT.Type         = "REFRESH"
refreshbutton              = WIDGET_BUTTON(bottomBase ,                    $
                                    value       = ' Refresh ' ,             $
                                    Event_Pro   = 'eis_tl_entry_gui_EV',    $
                                    uValue      = REFRESH_EVENT)

QUIT_EVENT                  = {eis_tl_entry_gui_Event}
QUIT_EVENT.eis_tl_entry_gui = Self
QUIT_EVENT.Type             = "QUIT"
quitbutton                  = WIDGET_BUTTON(bottomBase ,                    $
                                    value       = ' Dismiss ' ,             $
                                    Event_Pro   = 'eis_tl_entry_gui_EV',    $
                                    uValue      = QUIT_EVENT)

END

;______________________________________________________________________________
;
;______________________________________________________________________________
PRO eis_tl_entry_gui_Cleanup , wid

WIDGET_CONTROL , wid , get_uvalue = eis_tl_entry_gui_Event
OBJ_DESTROY    , eis_tl_entry_gui_Event.eis_tl_entry_gui

END
;______________________________________________________________________________
; Cleanup
;______________________________________________________________________________
PRO eis_tl_entry_gui::CleanUp


END
;______________________________________________________________________________
;
;______________________________________________________________________________
PRO eis_tl_entry_gui::setProperty, seq_id = seq_id

IF (N_ELEMENTS(seq_id) GT 0) THEN BEGIN
    stop
ENDIF

End
;______________________________________________________________________________
;
;______________________________________________________________________________
PRO eis_tl_entry_gui::GetProperty, tlbID   = tlbID

tlbID = Self.tlbID

End
;______________________________________________________________________________
; Return widget id
;______________________________________________________________________________
Function eis_tl_entry_gui::tlbID

    Return, Self.tlbID
End

;______________________________________________________________________________
; Widget_Control wrapper
;______________________________________________________________________________
PRO eis_tl_entry_gui::Control, _Ref_Extra=Widget_Control_Keywords

Widget_Control, Self.tlbID, _Extra=Widget_Control_Keywords

End

;______________________________________________________________________________
; Widget_Info wrapper
;______________________________________________________________________________
Function eis_tl_entry_gui::Info, _Ref_Extra=Widget_Info_Keywords

Return, Widget_Info(Self.tlbID, _Extra=Widget_Info_Keywords)

End

;______________________________________________________________________________
; Realize wrapper
;______________________________________________________________________________
PRO eis_tl_entry_gui::Realize

Widget_Control, Self.tlbID, /Realize

End

;______________________________________________________________________________
; XManager wrapper
;______________________________________________________________________________
PRO eis_tl_entry_gui::XManager

XMANAGER , "eis_tl_entry_gui" ,   Self.tlbID ,                                 $
    Event_Handler  = "eis_tl_entry_gui_EV",                                    $
    cleanup        = "eis_tl_entry_gui_Cleanup",                               $
    GROUP_LEADER   = Self.group_leader ,                                   $
    /NO_BLOCK

END

;______________________________________________________________________________
;
;______________________________________________________________________________
PRO eis_tl_entry_gui_Event__Define

    struct = {  eis_tl_entry_gui_Event,                                         $
                Type                 : "",         $ ;Unique identifier for event
                eis_tl_entry_gui   : OBJ_NEW(),  $ ;Reference to object passed
                extra                : 0           $ ;to - often object associated
             }
END
;______________________________________________________________________________
; Event Handler wrapper
;______________________________________________________________________________
PRO eis_tl_entry_gui_EV , Event

;Get event handler structure containing eis_tl_entry_gui type object
Widget_CONTROL,Event.ID,get_uvalue = eis_tl_entry_gui_Event
;If a WIDGET_TAB event , just quit
IF (TAG_NAMES(event, /STRUCTURE_NAME) EQ 'WIDGET_TAB') THEN BEGIN
    ;print,'tab event'
    RETURN
ENDIF

;Call eis_tl_entry_gui's class member procedure "Handler"
eis_tl_entry_gui_Event.eis_tl_entry_gui->Handler,Event

END
;______________________________________________________________________________
;
; * THIS is the routine for putting in event handling NOT eis_tl_entry_gui_Ev above.
;
; Event Handler - handle events.  Derived classes must
; contain their own implementation in order to handle events or else pass in an
; procedure name/function name using the Event_Pro/Event_Func keywords to
; CWidget::Init()-
;______________________________________________________________________________
PRO eis_tl_entry_gui::Handler, Event

WIDGET_CONTROL, Event.ID, Get_UValue = eis_tl_entry_gui_Event
CASE eis_tl_entry_gui_Event.Type OF
    "QUIT"       : Self->Control, /Destroy
    "TLID"       : Self->refresh
    "REFRESH"    : Self->refresh
    "RA_LIST"    : Self->raster_list , event
    ELSE         : print,eis_tl_entry_gui_Event.Type
ENDCASE

END
;______________________________________________________________________________
; Refersh Timeline Entry ID
;______________________________________________________________________________
FUNCTION eis_tl_entry_gui::check_seq_id_is_valid , seq_id

; 1. Check seq_id is a number
; 2. It's +VE
; 3. Check this seq_id exists

; 1.
IF (is_number(seq_id) NE 1) THEN BEGIN
   BEEP
   mText = "This is a NOT a number - stupid!"
   complain = DIALOG_MESSAGE( mText                            ,           $
                                 DIALOG_PARENT = Self.tlbID    ,           $
                                 /ERROR )
   RETURN , 0
ENDIF

; 3.
tl = eis_get_tl_entry(seq_id)

RETURN , tl

END
;______________________________________________________________________________
; Raster List
;______________________________________________________________________________
PRO eis_tl_entry_gui::raster_list , event

IF (event.clicks EQ 1) THEN RETURN

; Get index of selected studyRaster
ra_index = WIDGET_INFO(Self.raListID , /LIST_SELECT)
IF (ra_index EQ -1) THEN RETURN

sc   = Self.tl.science_component
IF (sc.nRasters EQ 0) THEN RETURN

sra  = sc.studyRasters[ra_index]
ra   = db_read_raster_entry(sra.ra_id)
ll   = db_read_linelist_entry(sra.ll_id)

; Invoke Raster Details GUI
o_rasterDetails = OBJ_NEW("eis_raster_details_gui" , ra , ll         ,      $
                                    group_leader = Self.tlbID)
o_rasterDetails->Realize
o_rasterDetails->XMANAGER

END
;______________________________________________________________________________
; Refersh Timeline Entry ID
;______________________________________________________________________________
PRO eis_tl_entry_gui::refresh

WIDGET_CONTROL , /HOURGLASS
;Read seq_id from text box, and check it exists
WIDGET_CONTROL , Self.tlIDID , get_value = seq_id
tl = Self->check_seq_id_is_valid(LONG(seq_id[0]))

IF (N_TAGS(tl) EQ 0) THEN BEGIN

    WIDGET_CONTROL , Self.tabBaseID , sensitive = 0
    RETURN

ENDIF ELSE BEGIN

    WIDGET_CONTROL , Self.tabBaseID , sensitive = 1

ENDELSE

Self.tl = tl
Self->display_time_component
Self->display_science_component
Self->display_raster_info
Self->display_planner_info
Self->display_response_info

END
;______________________________________________________________________________
; Create Raster droplist
;______________________________________________________________________________
PRO eis_tl_entry_gui::display_raster_info

nRasters = Self.tl.science_component.nrasters
IF (nRasters EQ 0) THEN BEGIN
    WIDGET_CONTROL , Self.raListID  , set_value = ''
    WIDGET_CONTROL , Self.sraListID , set_value = ''
    RETURN
ENDIF
ra_lines = STRARR(nRasters)
; Create a line for each studyRaster
; Clicking on an entry will invoke the "View Raster Details" gui
FOR i = 0, nRasters - 1 DO BEGIN
    ra_lines[i] = Self.tl.science_component.studyRasters[i].ra_title
ENDFOR
WIDGET_CONTROL , Self.raListID , set_value = STRTRIM(ra_lines,2)

FOR i = 0, nRasters - 1 DO BEGIN
    sra = Self.tl.science_component.studyRasters[i]
    no_line  = '++++++++++++++++++++++++++++++++++++++++++++++'

    ra_index = STRCOMPRESS(i,/REMOVE)
    ra_index = STRING(format='(A-20,A-24)','Index',ra_index)

    start_t  = anytim2utc(sra.ra_start_time,/STIME)
    start_t  = STRING(format='(A-20,A-24)','Start Time',start_t)

    stop_t  = anytim2utc(sra.ra_stop_time ,/STIME)
    stop_t  = STRING(format='(A-20,A-24)','Stop Time',stop_t)

    ra_id   = STRING(format='(I06)',sra.ra_id)
    ra_id   = STRING(format='(A-20,A-24)','Raster ID', ra_id)

    ra_acro = STRING(format='(A-20,A-30)','Acronym',sra.ra_acronym)

    ll_id   = STRING(format='(I06)',sra.ll_id)
    ll_id   = STRING(format='(A-20,A-24)','Linelist ID', ll_id)

    CASE sra.ra_compression OF
       0    : ra_comp = 'None'
       1    : ra_comp = 'DPCM'
       2    : ra_comp = 'JPEG98'
       3    : ra_comp = 'JPEG90'
       4    : ra_comp = 'JPEG75'
       5    : ra_comp = 'JPEG50'
       6    : ra_comp = 'JPEG95'
       7    : ra_comp = 'JPEG92'
       8    : ra_comp = 'JPEG85'
       9    : ra_comp = 'JPEG65'
       ELSE : ra_comp = 'None'
    ENDCASE
    ra_comp = STRING(format='(A-20,A-24)','Compression', ra_comp)

    lines = STRTRIM([ra_index,start_t , stop_t  ,ra_id,ra_acro,     $
                     ra_comp , ll_id , no_line],2)
    WIDGET_CONTROL , Self.sraListID , set_value = lines , append = i

ENDFOR



END
;______________________________________________________________________________
; Planner Info
;______________________________________________________________________________
PRO eis_tl_entry_gui::display_planner_info

sc = Self.tl.science_component

IF (STRLEN(STRTRIM(sc.observer,2))     EQ 0) THEN sc.observer   = 'None'
IF (STRLEN(STRTRIM(sc.planner,2))      EQ 0) THEN sc.planner    = 'None'
IF (STRLEN(STRTRIM(sc.tohbans[0],2))   EQ 0) THEN sc.tohbans[0] = 'None'
IF (STRLEN(STRTRIM(sc.tohbans[1],2))   EQ 0) THEN sc.tohbans[1] = 'None'
; OBSTITLE
l_obs    = STRING(format='(A-20,A-80)','Observer', STRTRIM(sc.observer,2))
l_plan   = STRING(format='(A-20,A-80)','Planner', STRTRIM(sc.planner,2))
l_toh_1  = STRING(format='(A-20,A-80)','Tohban 1', STRTRIM(sc.tohbans[0],2))
l_toh_2  = STRING(format='(A-20,A-80)','Tohban 2', STRTRIM(sc.tohbans[1],2))

wid_text = [l_obs,l_plan,l_toh_1,l_toh_2]
WIDGET_CONTROL , Self.plannerListID , set_value = STRTRIM(wid_text,2)

END
;______________________________________________________________________________
; Science Component Info
;______________________________________________________________________________
PRO eis_tl_entry_gui::display_science_component

sc = Self.tl.science_component

; OBSTITLE
l_obstitle = STRING(format='(A-20,A-80)','OBSTITLE', STRTRIM(sc.obstitle,2))
; SCI_OBJ
l_sci_obj = STRING(format='(A-20,A-24)','SCI_OBJ', STRTRIM(sc.sci_obj,2))
; OBS_DEC
l_obs_dec = STRING(format='(A-20,A-80)','OBS_DEC', STRTRIM(sc.obs_dec,2))
; JOIN_SB
l_join_sb = STRING(format='(A-20,A-24)','JOIN_SB', STRTRIM(sc.join_sb,2))
; NOAA_NUM
l_noaa_num = STRING(format='(A-20,A-24)','NOAA Number', STRTRIM(sc.noaa_num,2))
; TARGET
l_target = STRING(format='(A-20,A-24)','Target', STRTRIM(sc.target,2))
; Duration
l_dur = STRING(format='(A-20,A-24)','Duration', sec2dhms(sc.duration/1000.))

;
; Volume
;
l_vol_by = STRING(format='(A-20,A-24)','Volume (B)', STRCOMPRESS(sc.volume,/REM))
l_vol_kb = STRING(format='(A-20,A-24)','Volume (KB)', STRCOMPRESS(sc.volume/1024.,/REM))
l_vol_mb = STRING(format='(A-20,A-24)','Volume (MB)', STRCOMPRESS(sc.volume/(1024.^2),/REM))

; NRasters
l_nRasters = STRING(format='(A-20,A-24)','Number of Rasters', STRCOMPRESS(sc.nRasters,/REM))

; solarb_science
l_sb_sci = STRING(format='(A-20,A-24)','solarb_science', STRCOMPRESS(sc.solarb_science,/REM))


wid_text = [l_obstitle,l_obs_dec,l_sci_obj,l_join_sb,l_noaa_num,l_target,  $
            l_dur,l_vol_by,l_vol_kb,l_vol_mb,l_nRasters,l_sb_sci]

WIDGET_CONTROL , Self.sciListID , set_value = STRTRIM(wid_text,2)

END
;______________________________________________________________________________
; Time Component Info
;______________________________________________________________________________
PRO eis_tl_entry_gui::display_time_component

tc = Self.tl.time_component
sc = Self.tl.science_component
;
; Time Info
;
; Start Time
l_start_time = STRING(format='(A-20,A-24)','Start Time',                   $
                                anytim2utc(tc.start_time,/STIME,/trun))
; Stop Time
l_stop_time  = STRING(format='(A-20,A-24)','Stop Time',                    $
                                anytim2utc(tc.end_time,/STIME,/trun))
; Duration
dur = sec2dhms(tc.end_time - tc.start_time)
l_dur  = STRING(format='(A-20,A-24)','Duration',dur)

; Time Tagged
CASE tc.time_tagged OF
    0    : tt = 'No'
    ELSE : tt = 'Yes'
ENDCASE
l_tt = STRING(format='(A-20,A-24)','Time Tagged', tt)
; Recursive
CASE tc.recursive OF
    0    : rec = 'No'
    ELSE : rec = 'Yes'
ENDCASE
l_rec = STRING(format='(A-20,A-24)','Recursive', rec)

;
; Study Info
;
st_id    = STRING(format='(I06)',tc.st_id)
st_id    = STRING(format='(A-20,A-24)','Study ID', st_id)
st_title = STRING(format='(A-20,A-80)','Study Title', STRTRIM(tc.title,2))
st_acr   = STRING(format='(A-20,A-24)','Study Acronym', STRTRIM(tc.acronym,2))
st_auth  = STRING(format='(A-20,A-24)','Study Author', STRTRIM(tc.author,2))
st_cat   = STRING(format='(A-20,A-24)','Category', STRTRIM(tc.category,2))

; Trigger/Response Flags
eise_on  = sc.eis_event_response.respond_to_eis_event
eise_l   = STRING(format='(A-20,I-1)','EIS Event (BP)', eise_on)
eisf_on  = sc.eis_flare_response.respond_to_eis_flare
eisf_l   = STRING(format='(A-20,I-1)','EIS Flare', eisf_on)
xrtf_on  = sc.xrt_flare_response.respond_to_xrt_flare
xrtf_l   = STRING(format='(A-20,I-1)','XRT Flare', xrtf_on)
aece_on  = 0;sc.xrt_flare_response.respond_to_xrt_flare
aece_l   = STRING(format='(A-20,I-1)','AEC Event', aece_on)

wid_text = [l_start_time,l_stop_time,l_dur,l_tt,l_rec,st_id,st_title,      $
            st_acr,st_auth,st_cat,eise_l,xrtf_l,eisf_l,aece_l]

WIDGET_CONTROL , Self.timeListID , set_value = STRTRIM(wid_text,2)


;help,tc,/str
CASE STRTRIM(tc.entry_type,2) OF
    'D'   : entry_type = '   Entry Type: DELETED'
    'S'   : entry_type = '   Entry Type: SCIENCE'
    'E'   : entry_type = '   Entry Type: ENGINEERING'
    ELSE  : entry_type = '   Entry Type: NOT SURE'
ENDCASE
WIDGET_CONTROL , Self.entryTypeID , set_value = entry_type

END
;______________________________________________________________________________
; Define Data members
;______________________________________________________________________________
PRO eis_tl_entry_gui::display_response_info

;stop

END
;______________________________________________________________________________
; Define Data members
;______________________________________________________________________________
PRO eis_tl_entry_gui__define

    struct          =   { eis_tl_entry_gui                            ,     $
                                    tlbID           : 0L              ,     $
                                    group_leader    : 0L              ,     $
                                    parentClass     : OBJ_NEW()       ,     $
                                    tlIDID          : 0L              ,     $
                                    entryTypeID     : 0L              ,     $
                                    timeListID      : 0L              ,     $
                                    sciListID       : 0L              ,     $
                                    plannerListID   : 0L              ,     $
                                    responseListID  : 0L              ,     $
                                    tabBaseID       : 0L              ,     $
                                    raListID        : 0L              ,     $
                                    sraListID       : 0L              ,     $
                                    tl              : {eis_timeline_entry}  $
                      }

END
