PRO eis_mk_raster_widgets , parentClass

eis_mk_raster_widgets = {eis_mk_raster_widgets}
tlbID = parentClass->tlbID()

; OK, eis_mk_raster has 2 event handlers. 1 automatically finishes
; with the method "::eis_raster_update" - which recalculates
; durations/volumes, updates the lineList and generates the raster
; title. Finally, (and this is the important bit) it creates a
; raster undo object, and adds it to the IDL_container

; The other is for QUIT, TLB, etc. Anything that doesn't require these.
Event_Pro_update = 'eis_mk_raster_gui_update_EV'
Event_Pro        = 'eis_mk_raster_gui_EV'

; Get eis_fonts
fonts = eis_fonts()

xySize  = [1024L,200]


ra_ll_tlb                   = WIDGET_BASE(tlbID ,                           $
                                    COLUMN      = 1 , frame = 6)

ra_ll_topBase               = WIDGET_BASE(ra_ll_tlb ,                       $
                                    ROW         = 1 )
; ______________________________________________________________________
;
; Raster Tab Line List Information
;
; ______________________________________________________________________
ra_ll_infoBase                  = WIDGET_BASE(ra_ll_topBase         ,       $
                                    COLUMN      = 1 ,/frame)

value = 'Line List'
ra_ll_idLabel               = WIDGET_LABEL(ra_ll_infoBase           ,       $
                                    value       = value             ,       $
                                    xSize       = 120 ,                     $
                                    /ALIGN_LEFT       ,                     $
                                    font        = fonts.bold)

;
; ID
;
ra_ll_IDBase                = WIDGET_BASE(ra_ll_infoBase ,                  $
                                    ROW         = 1 )

ra_ll_idLabel               = WIDGET_LABEL(ra_ll_IDBase           ,         $
                                    value       = 'ID:'           ,         $
                                    xSize       = 60 ,                      $
                                    /ALIGN_LEFT )

ra_ll_idID                  = WIDGET_LABEL(ra_ll_IDBase       ,             $
                                    value       = 'none' ,                  $
                                    /ALIGN_LEFT ,                           $
                                    xSize       = 90,                       $
                                    font        = fonts.mono)
eis_mk_raster_widgets.ra_ll_idID = ra_ll_idID
;
; Acronym
;
ra_ll_acronymBase           = WIDGET_BASE(ra_ll_infoBase        ,           $
                                    ROW         = 1)
ra_ll_acronymLabel          = WIDGET_LABEL(ra_ll_acronymBase      ,         $
                                    value       = 'Acronym:' ,              $
                                    xSize       = 60 ,                      $
                                    /ALIGN_LEFT)
ra_ll_acronymID             = WIDGET_LABEL(ra_ll_acronymBase       ,        $
                                    value       = 'none' ,                  $
                                    xSize       = 200 ,                     $
                                    /ALIGN_LEFT ,                           $
                                    font        = fonts.mono)
eis_mk_raster_widgets.ra_ll_acronymID = ra_ll_acronymID


;
; Date
;
ra_ll_dateBase              = WIDGET_BASE(ra_ll_infoBase ,                  $
                                    ROW         = 1 )


ra_ll_dateLabel             = WIDGET_LABEL(ra_ll_dateBase       ,           $
                                    value       = 'Created:'      ,         $
                                    xSize       = 60  ,                     $
                                    /ALIGN_LEFT )

ra_ll_dateID                = WIDGET_LABEL(ra_ll_dateBase       ,           $
                                    value       = '10-Feb-2004'   ,         $
                                    xSize       = 90  ,                     $
                                    /ALIGN_LEFT     ,                       $
                                    font        = fonts.mono)
eis_mk_raster_widgets.ra_ll_dateID = ra_ll_dateID

;
; Author
;
ra_ll_authorBase            = WIDGET_BASE(ra_ll_infoBase ,                  $
                                    ROW         = 1 )
ra_ll_authorLabel           = WIDGET_LABEL(ra_ll_authorBase       ,         $
                                    value       = 'Author:'       ,         $
                                    xSize       = 60  ,                     $
                                    /ALIGN_LEFT )

ra_ll_authorID              = WIDGET_LABEL(ra_ll_authorBase       ,         $
                                    value       = 'John Rainnie'  ,         $
                                    xSize       = 160 ,                     $
                                    /ALIGN_LEFT     ,                       $
                                    font        = fonts.mono)
eis_mk_raster_widgets.ra_ll_authorID = ra_ll_authorID

; ______________________________________________________________________
;
; Line List  - List Base
;
; ______________________________________________________________________
ra_ll_ListBase              = WIDGET_BASE(ra_ll_topBase ,            $
                                    COLUMN      = 1 ,                       $
                                    frame       = 1)

value = STRING(format='(A-4,A-15,A-12,A-7,A-4,A-2,A-5)',         $
                '#','Wavelength'+'('+STRING("305B)+')','Name','Pixel','CCD','','Width')
ra_listLabel                = WIDGET_LABEL(ra_ll_ListBase ,                 $
                                    /ALIGN_LEFT  ,                          $
                                    value       = value ,                   $
                                    font        = fonts.mono)


LIST_EVENT                  = {eis_mk_raster_gui_Event}
;Set it's values
LIST_EVENT.eis_mk_raster_gui = parentClass
LIST_EVENT.Type             = "RASTERLIST"
ra_listID                   = WIDGET_LIST(ra_ll_ListBase ,                  $
                                    ySize       = 8 ,                      $
                                    xSize       = 50 ,                      $
                                    uValue      = LIST_EVENT,               $
                                    value       = '',                       $
                                    font        = fonts.mono ,              $
                                    /CONTEXT_EVENTS)
eis_mk_raster_widgets.ra_listID = ra_listID




; ______________________________________________________________________
;
; Line List Draw Area
;
; ______________________________________________________________________
spectrumPropsID             = WIDGET_BASE(ra_ll_tlb ,                       $
                                    ROW         = 1 ,                       $
                                    frame       = 1)

spectrumBase                = WIDGET_BASE(spectrumPropsID , row = 1,/frame)

spectrumBaseExc                = WIDGET_BASE(spectrumBase ,                  $
                                    ROW         = 1 ,                       $
                                    /EXCLUSIVE)


IMAGE_EVENT                 = {eis_mk_raster_gui_Event}
IMAGE_EVENT.eis_mk_raster_gui = parentClass
IMAGE_EVENT.Type            = "IMAGE"
IMAGE_EVENT.extra           = 0
IMAGETextID                 = WIDGET_BUTTON(spectrumBaseExc     ,                $
                                    value       = 'Quiet'  ,                  $
                                    Event_Pro   = Event_Pro       ,         $
                                    uValue      = IMAGE_EVENT)
WIDGET_CONTROL , IMAGETextID , set_button = 1

IMAGE_EVENT                 = {eis_mk_raster_gui_Event}
IMAGE_EVENT.eis_mk_raster_gui = parentClass
IMAGE_EVENT.Type            = "IMAGE"
IMAGE_EVENT.extra           = 1
IMAGETextID                 = WIDGET_BUTTON(spectrumBaseExc     ,                $
                                    value       = 'Active'  ,                  $
                                    Event_Pro   = Event_Pro       ,         $
                                    uValue      = IMAGE_EVENT)

;IMAGE_EVENT                 = {eis_mk_raster_gui_Event}
;IMAGE_EVENT.eis_mk_raster_gui = parentClass
;IMAGE_EVENT.Type            = "IMAGE"
;IMAGE_EVENT.extra           = 2
;IMAGETextID                 = WIDGET_BUTTON(spectrumBaseExc     ,                $
;                                    value       = 'Flare'  ,                  $
;                                    Event_Pro   = Event_Pro       ,         $
;                                    uValue      = IMAGE_EVENT)

;
; Colour Table Base
;
ctBase                      = WIDGET_BASE(spectrumPropsID , row = 1,/frame)

loadct , GET_NAMES = value
CT_EVENT                    = {eis_mk_raster_gui_Event}
CT_EVENT.eis_mk_raster_gui  = parentClass
CT_EVENT.Type               = "IMAGE_CT"
CTTextID                    = WIDGET_DROPLIST(ctBase,               $
                                    value       = value,                    $
                                    title       = 'Colour Table:'  ,        $
                                    Event_Pro   = event_pro            ,    $
                                    uValue      = CT_EVENT)
WIDGET_CONTROL , CTTextID , set_droplist_select = 3


;
; Pixel coordinates
;
pixelBase                   = WIDGET_BASE(spectrumPropsID , row = 1,/frame)

ra_cursor_posID             = WIDGET_LABEL(pixelBase     ,            $
                                    value       = 'Cursor:')
ra_cursor_posID             = WIDGET_text(pixelBase     ,            $
                                    value       = '0,0'        ,            $
                                    xSize       = 40          ,            $
                                    ;/SUNKEN_FRAME              ,            $
                                    /ALIGN_LEFT)
eis_mk_raster_widgets.ra_cursor_posID = ra_cursor_posID

; Draw Area
Draw_Event                  = {eis_mk_raster_gui_Event}
Draw_Event.eis_mk_raster_gui     = parentClass
Draw_Event.Type             = "DRAW"
ra_drawID                   = WIDGET_DRAW(ra_ll_tlb  ,                      $
                                XSize       = xySize[0],                    $
                                YSize       = xySize[1],                    $
                                FRAME       = 2,                            $
                                /BUTTON_EVENTS,                             $
                                /MOTION          ,                          $
                                uvalue      = DRAW_EVENT )

eis_mk_raster_widgets.ra_drawID = ra_drawID

WINDOW , /FREE , /PIXMAP , xSize = xySize[0] , ySize = xySize[1]
eis_mk_raster_widgets.ra_refID = !D.window
WINDOW , /FREE , /PIXMAP , xSize = xySize[0] , ySize = xySize[1]
eis_mk_raster_widgets.ra_cacID = !D.window






; ______________________________________________________________________
;
; Line List  - Selected Line Properties
;
; ______________________________________________________________________
ra_ll_lineBaseID            = WIDGET_BASE(ra_ll_topBase ,                   $
                                    COLUMN      = 1 ,                       $
                                    frame       = 1,sensitive=0)
eis_mk_raster_widgets.ra_ll_lineBaseID = ra_ll_lineBaseID


nameBase = widget_base(ra_ll_lineBaseID,row=1)

value = 'Selected Line: '
ra_ll_idLabel               = WIDGET_LABEL(nameBase           ,       $
                                    value       = value             ,       $
                                    ;xSize       = 120 ,                     $
                                    /DYNAMIC_RESIZE        ,           $
                                    /ALIGN_LEFT       ,                     $
                                    font        = fonts.bold)


;
; Name
;
ra_lineNameLabelID          = WIDGET_LABEL(nameBase   ,               $
                                    value       = '0'       ,               $
                                    /DYNAMIC_RESIZE        ,           $
                                    /ALIGN_LEFT )
;                                    xSize       = 50)
eis_mk_raster_widgets.ra_lineNameLabelID = ra_lineNameLabelID


;
; Line Name
;
FULL_EVENT                  = {eis_mk_raster_gui_Event}
FULL_EVENT.eis_mk_raster_gui   = parentClass
FULL_EVENT.Type             = "LINE_NAME"
ra_lineNameButtID           = WIDGET_BUTTON(nameBase    ,             $
                                    value       = ' Modify... '  ,          $
                                    Event_Pro   = Event_Pro       ,         $
                                    uValue      = FULL_EVENT)
eis_mk_raster_widgets.ra_lineNameButtID = ra_lineNameButtID


;
;
;



topBase                     = WIDGET_BASE(ra_ll_lineBaseID ,                $
                                    COLUMN      = 1 )

; ______________________________________________________________________
;
; Pixels Base
;
; ______________________________________________________________________
pixelsBase                  = WIDGET_BASE(topBase    ,                      $
                                    ROW         = 1 )


aLabel                      = WIDGET_LABEL(pixelsBase ,                       $
                                    value       = 'Pixels:' ,               $
                                    /ALIGN_LEFT ,                           $
                                    xSize       = 80)


;
; p1
;
ra_p1ID                     = WIDGET_LABEL(pixelsBase ,                       $
                                    value       = '0' ,               $
                                    /ALIGN_LEFT ,                           $
                                    xSize       = 50)
eis_mk_raster_widgets.ra_p1ID = ra_p1ID


;
; ";"
;
aLabel                      = WIDGET_LABEL(pixelsBase ,                       $
                                    value       = ':' ,               $
                                    /ALIGN_LEFT ,                           $
                                    xSize       = 10)

;
; p0
;
p0_EVENT                    = {eis_mk_raster_gui_Event}
p0_EVENT.eis_mk_raster_gui  = parentClass
p0_EVENT.Type               = "p0"
ra_p0ID                     = WIDGET_TEXT(pixelsBase ,                        $
                                    value       = '0',                      $
                                    Event_Pro   = Event_Pro_update      ,   $
                                    xSize       = 8                     ,   $
                                    /EDITABLE                           ,   $
                                    uValue      = p0_EVENT)
eis_mk_raster_widgets.ra_p0ID = ra_p0ID

;
; ";"
;
aLabel                      = WIDGET_LABEL(pixelsBase ,                       $
                                    value       = ':' ,                     $
                                    /ALIGN_LEFT ,                           $
                                    xSize       = 10)

;
; p2
;
ra_p2ID                     = WIDGET_LABEL(pixelsBase ,                       $
                                    value       = '0' ,                     $
                                    /ALIGN_LEFT ,                           $
                                    xSize       = 50)
eis_mk_raster_widgets.ra_p2ID = ra_p2ID

; ______________________________________________________________________
;
; Wavelength Base
;
; ______________________________________________________________________
waveBase                    = WIDGET_BASE(topBase    ,                      $
                                    ROW         = 1 )


aLabel                      = WIDGET_LABEL(waveBase   ,                     $
                                    value       = 'Wavelength:'  ,          $
                                    /ALIGN_LEFT ,                           $
                                    xSize       = 80)

ra_w1ID                     = WIDGET_LABEL(waveBase   ,                     $
                                    value       = '0' ,               $
                                    /ALIGN_LEFT ,                           $
                                    xSize       = 50)
eis_mk_raster_widgets.ra_w1ID = ra_w1ID

;
; ";"
;
aLabel                      = WIDGET_LABEL(waveBase ,                       $
                                    value       = ':' ,               $
                                    /ALIGN_LEFT ,                           $
                                    xSize       = 10)

w0_EVENT                    = {eis_mk_raster_gui_Event}
w0_EVENT.eis_mk_raster_gui  = parentClass
w0_EVENT.Type               = "w0"
ra_w0ID                     = WIDGET_TEXT(waveBase   ,                 $
                                    value       = '0',                      $
                                    Event_Pro   = Event_Pro_update      ,   $
                                    xSize       = 8                    ,    $
                                    /EDITABLE                           ,   $
                                    uValue      = w0_EVENT)
eis_mk_raster_widgets.ra_w0ID = ra_w0ID

;
; ";"
;
aLabel                      = WIDGET_LABEL(waveBase ,                       $
                                    value       = ':' ,               $
                                    /ALIGN_LEFT ,                           $
                                    xSize       = 10)

ra_w2ID                     = WIDGET_LABEL(waveBase   ,                 $
                                    value       = '0' ,                     $
                                    /ALIGN_LEFT ,                           $
                                    xSize       = 50)
eis_mk_raster_widgets.ra_w2ID = ra_w2ID

; ______________________________________________________________________
;
; Selected Line WIDTH Base
;
; ______________________________________________________________________
ra_ll_widthBase             = WIDGET_BASE(topBase    ,                      $
                                    ROW         = 1 )


aLabel                      = WIDGET_LABEL(ra_ll_widthBase ,                $
                                    value       = 'Width: ' ,               $
                                    /ALIGN_LEFT ,                           $
                                    xSize       = 80)

ra_lineWidthID              = WIDGET_LABEL(ra_ll_widthBase ,                $
                                    /ALIGN_RIGHT ,                           $
                                    xSize       = 30  ,                     $
                                    value       = '8')
eis_mk_raster_widgets.ra_lineWidthID = ra_lineWidthID

LWIDTH_EVENT                = {eis_mk_raster_gui_Event}
LWIDTH_EVENT.eis_mk_raster_gui = parentClass
LWIDTH_EVENT.Type           = "LINEWIDTH"
ra_sliderID                 = WIDGET_SLIDER(ra_ll_widthBase        ,        $
                                    value       = 1           ,             $
                                    Event_Pro   = Event_Pro_update ,        $
                                    minimum     = 1 ,                       $
                                    maximum     = 128 ,                     $
                                    xSize       = 150  ,                    $
                                    /DRAG             ,                     $
                                    /SUPPRESS_VALUE   ,                     $
                                    UValue      = LWIDTH_EVENT)
eis_mk_raster_widgets.ra_sliderID = ra_sliderID
;
; Full Button
;
FULL_EVENT                  = {eis_mk_raster_gui_Event}
FULL_EVENT.eis_mk_raster_gui   = parentClass
FULL_EVENT.Type             = "FULLQUADRANT"
FULLbutton                  = WIDGET_BUTTON(ra_ll_widthBase ,               $
                                    value       = ' Full Range ' ,          $
                                    Event_Pro   = Event_Pro_update,         $
                                    uValue      = FULL_EVENT)

; ______________________________________________________________________
;
; Raster Properties Base
;
; ______________________________________________________________________
ra_propsBase                = WIDGET_BASE(tlbID  ,            $
                                    COLUMN      = 1 )

; ______________________________________________________________________
;
; Slit/Slot
;
; ______________________________________________________________________
slitSlotBase                = WIDGET_BASE(ra_propsBase  ,                   $
                                    ROW         = 1)

value = "Slit/slot selection"
slitSlotLabel               = WIDGET_LABEL(slitSlotBase ,                   $
                                    value       = value  ,                  $
                                    xSize       = 160 ,                     $
                                    /ALIGN_LEFT )



SLITSLOT_EVENT              = {eis_mk_raster_gui_Event}
SLITSLOT_EVENT.eis_mk_raster_gui = parentClass
SLITSLOT_EVENT.Type         = "SLITSLOT"
value = ['  1  ','  266  ','  2  ','  40  ']
SLITSLOTTextID              = WIDGET_DROPLIST(slitSlotBase,                 $
                                    value       = value,                    $
                                    Event_Pro   = Event_Pro_update,         $
                                    uValue      = SLITSLOT_EVENT)
eis_mk_raster_widgets.ra_slitSlotID = SLITSLOTTextID

; ______________________________________________________________________
;
; Raster Type
;
; ______________________________________________________________________
rasterTypeBase              = WIDGET_BASE(slitSlotBase  ,                   $
                                    ROW         = 1)

rasterTypeLabel             = WIDGET_LABEL(rasterTypeBase ,                 $
                                    value       = '     Raster Type:',      $
                                    xSize       = 120 ,                     $
                                    /ALIGN_LEFT)


rasterTypeExcBase           = WIDGET_BASE(rasterTypeBase  ,                 $
                                    ROW         = 1 ,                       $
                                    /EXCLUSIVE)


RATYPE_EVENT                = {eis_mk_raster_gui_Event}
RATYPE_EVENT.eis_mk_raster_gui = parentClass
RATYPE_EVENT.Type           = "RATYPESCAN"
ra_typeScanID               = WIDGET_BUTTON(rasterTypeExcBase,              $
                                    value       = 'Scanning ',              $
                                    Event_Pro   = Event_Pro_update,         $
                                    uValue      = RATYPE_EVENT ,            $
                                    /NO_RELEASE)

eis_mk_raster_widgets.ra_typeScanID = ra_typeScanID
WIDGET_CONTROL , ra_typeScanID , set_button = 1

RATYPE_EVENT                = {eis_mk_raster_gui_Event}
RATYPE_EVENT.eis_mk_raster_gui   = parentClass
RATYPE_EVENT.Type           = "RATYPESTARE"
ra_typeSNSID                = WIDGET_BUTTON(rasterTypeExcBase,              $
                                    value       = "Sit'n'Stare" ,           $
                                    Event_Pro   = Event_Pro_update,         $
                                    uValue      = RATYPE_EVENT ,            $
                                    /NO_RELEASE)
eis_mk_raster_widgets.ra_typeSNSID = ra_typeSNSID

; ______________________________________________________________________
;
; Raster Type
;
; ______________________________________________________________________
rasterCompBase              = WIDGET_BASE(slitSlotBase  ,                   $
                                    ROW         = 1)

COMP_EVENT                  = {eis_mk_raster_gui_Event}
COMP_EVENT.eis_mk_raster_gui = parentClass
COMP_EVENT.Type             = "COMP"
value = eis_read_study_lists(/COMPRESSION)
COMPTextID                  = WIDGET_DROPLIST(rasterCompBase,               $
                                    value       = value,                    $
                                    Event_Pro   = Event_Pro_update,         $
                                    title       = '     Compression:'    ,  $
                                    uValue      = COMP_EVENT)
eis_mk_raster_widgets.ra_compID = COMPTextID

aLabel                      = WIDGET_LABEL(rasterCompBase,                  $
                                    /ALIGN_LEFT              ,              $
                                    /DYNAMIC_RESIZE)
eis_mk_raster_widgets.ra_comp_origID = aLabel


; ______________________________________________________________________
;
; Window Height
;
; ______________________________________________________________________
heightBase                  = WIDGET_BASE(ra_propsBase  ,                   $
                                    ROW         = 1)
value = "Window height (pixels)"
heightLabel                 = WIDGET_LABEL(heightBase ,                     $
                                    value       = value  ,                  $
                                    xSize       = 180 ,                     $
                                    /ALIGN_LEFT  )

ra_heightID                 = WIDGET_LABEL(heightBase,                      $
                                    value       = '1',                      $
                                    xSize       = 25 ,                      $
                                    /ALIGN_LEFT )
eis_mk_raster_widgets.ra_heightID = ra_heightID



HEIGHT_EVENT                = {eis_mk_raster_gui_Event}
HEIGHT_EVENT.eis_mk_raster_gui = parentClass
HEIGHT_EVENT.Type           = "HEIGHT"
ra_heightSliderID           = WIDGET_SLIDER(heightBase,                     $
                                    value       = 1  ,                      $
                                    Event_Pro   = Event_Pro_update,         $
                                    minimum     = 1 ,                       $
                                    maximum     = 64 ,                      $
                                    xSize       = 130 ,                     $
                                    /SUPPRESS_VALUE   ,                     $
                                    /DRAG             ,                     $
                                    uValue      = HEIGHT_EVENT)
eis_mk_raster_widgets.ra_heightSliderID = ra_heightSliderID

; ______________________________________________________________________
;
; Default Width
;
; ______________________________________________________________________
widthBase                   = WIDGET_BASE(heightBase  ,                     $
                                    ROW         = 1)

value = "     Default width (pixels)"
widthLabel                  = WIDGET_LABEL(widthBase ,                      $
                                    value       = value  ,                  $
                                    xSize       = 180 ,                     $
                                    /ALIGN_LEFT  )

ra_widthID                  = WIDGET_LABEL(widthBase ,                      $
                                    value       = '0'    ,                  $
                                    xSize       = 25  ,                     $
                                    /ALIGN_LEFT  )
eis_mk_raster_widgets.ra_widthID = ra_widthID


WIDTH_EVENT                 = {eis_mk_raster_gui_Event}
WIDTH_EVENT.eis_mk_raster_gui = parentClass
WIDTH_EVENT.Type            = "WIDTH"
ra_widthSliderID            = WIDGET_SLIDER(widthBase,                      $
                                    value       = 1  ,                      $
                                    Event_Pro   = Event_Pro_update,         $
                                    minimum     = 1 ,                       $
                                    maximum     = 128 ,                     $
                                    xSize       = 130 ,                     $
                                    /SUPPRESS_VALUE   ,                     $
                                    /DRAG             ,                     $
                                    uValue      = WIDTH_EVENT)
eis_mk_raster_widgets.ra_widthSliderID = ra_widthSliderID

DEFWIDTH_EVENT              = {eis_mk_raster_gui_Event}
DEFWIDTH_EVENT.eis_mk_raster_gui = parentClass
DEFWIDTH_EVENT.Type         = "DEFAULTWIDTH"
DEFWIDTHTextID              = WIDGET_BUTTON(widthBase,                      $
                                    value       = 'Set all',                $
                                    Event_Pro   = Event_Pro_update,         $
                                    uValue      = DEFWIDTH_EVENT)
; ______________________________________________________________________
;
; Number of exposures / pointing
;
; ______________________________________________________________________
nExpBase                    = WIDGET_BASE(ra_propsBase  ,                   $
                                    ROW         = 1)
value = "Number of exposures/step"
ra_nExpLabelID              = WIDGET_LABEL(nExpBase ,                       $
                                    value       = value  ,                  $
                                    xSize       = 180 ,                     $
                                    /ALIGN_LEFT)
eis_mk_raster_widgets.ra_nExpLabelID = ra_nExpLabelID


NEXP_EVENT                  = {eis_mk_raster_gui_Event}
NEXP_EVENT.eis_mk_raster_gui = parentClass
NEXP_EVENT.Type             = "NEXP"
value = ['  1  ','  2  ','  3  ','  4  ','  5  ','  6  ','  7  ','  8  ']
ra_nExpsID                  = WIDGET_DROPLIST(nExpBase,                     $
                                    value       = value  ,                  $
                                    Event_Pro   = Event_Pro_update,         $
                                    uValue      = NEXP_EVENT)
eis_mk_raster_widgets.ra_nExpsID = ra_nExpsID

SETEXPTIMES_EVENT           = {eis_mk_raster_gui_Event}
SETEXPTIMES_EVENT.eis_mk_raster_gui = parentClass
SETEXPTIMES_EVENT.Type      = "SETEXPOSURES"
value = " Set Exposure/Delay Times... "
SETEXPTIMESTextID           = WIDGET_BUTTON(nExpBase,                       $
                                    value       = value      ,              $
                                    Event_Pro   = Event_Pro,                $
                                    uValue      = SETEXPTIMES_EVENT)


value = "  Exposure(Delay) time s(ms)"
expTimeLabel                = WIDGET_LABEL(nExpBase ,                 $
                                    value       = value     ,               $
                                    xSize       = 170 ,                     $
                                    /ALIGN_LEFT)

ra_expTimesID               = WIDGET_LABEL(nExpBase ,              $
                                    value       = '0' ,                     $
                                    /SUNKEN_FRAME      ,                    $
                                    ;xSize       = 300  ,                    $
                                    /ALIGN_LEFT,/dynamic_resize)
eis_mk_raster_widgets.ra_expTimesID = ra_expTimesID


; ______________________________________________________________________
;
; Scanning Raster
;
; ______________________________________________________________________
fmrBase                     = WIDGET_BASE(ra_propsBase  ,                   $
                                    ROW         = 1)
; ______________________________________________________________________
;
; Number of Fine Mirror Steps (Pointings)
;
; ______________________________________________________________________
mapBase                     = WIDGET_BASE(fmrBase)
; ______________________________________________________________________
;
; Scanning Raster
;
; ______________________________________________________________________
nMirrStepsBase              = WIDGET_BASE(mapBase  ,                        $
                                    ROW         = 1)

eis_mk_raster_widgets.ra_typeScanBaseID = nMirrStepsBase

value = "Number of pointing positions"
widthLabel                  = WIDGET_LABEL(nMirrStepsBase ,                 $
                                    value       = value ,                   $
                                    xSize       = 200 ,                     $
                                    /ALIGN_LEFT )


NPOINTS_EVENT               = {eis_mk_raster_gui_Event}
NPOINTS_EVENT.eis_mk_raster_gui = parentClass
NPOINTS_EVENT.Type          = "NUM_FM_STEPS"
NPOINTSTextID               = WIDGET_TEXT(nMirrStepsBase,                   $
                                    value       = '0',                      $
                                    Event_Pro   = Event_Pro_update,         $
                                    /EDITABLE                          ,    $
                                    xSize       = 6 ,                       $
                                    uValue      = NPOINTS_EVENT)
eis_mk_raster_widgets.ra_nMirrStepsID = NPOINTSTextID


value = '  Step size (")'
widthLabel                  = WIDGET_LABEL(nMirrStepsBase ,                 $
                                    value       = value)

FINE_EVENT                  = {eis_mk_raster_gui_Event}
FINE_EVENT.eis_mk_raster_gui = parentClass
FINE_EVENT.Type             = "FM_STEP_SIZE"
FINETextID                  = WIDGET_TEXT(nMirrStepsBase,                   $
                                    value       = '0',                      $
                                    Event_Pro   = Event_Pro_update,         $
                                    /EDITABLE                          ,    $
                                    xSize       = 6 ,                       $
                                    uValue      = FINE_EVENT)

eis_mk_raster_widgets.ra_fMStepsID = FINETextID

; ______________________________________________________________________
;
; Sit'n'Stare Raster
;
; ______________________________________________________________________
snsNExpBase                 = WIDGET_BASE(mapBase  ,                        $
                                    ROW         = 1)

eis_mk_raster_widgets.ra_typeSNSBaseID = snsNExpBase

value = "Number of exposure sets"
snsNExpLabel                = WIDGET_LABEL(snsNExpBase ,                    $
                                    value       = value  ,                  $
                                    xSize       = 170 ,                     $
                                    /ALIGN_LEFT)
SNSNEXP_EVENT               = {eis_mk_raster_gui_Event}
SNSNEXP_EVENT.eis_mk_raster_gui = parentClass
SNSNEXP_EVENT.Type          = "SNS_NEXPS"
SNSNEXPTextID               = WIDGET_TEXT(snsNExpBase,                      $
                                    value       = '0',                      $
                                    Event_Pro   = Event_Pro_update,         $
                                    /EDITABLE                          ,    $
                                    xSize       = 6 ,                       $
                                    uValue      = SNSNEXP_EVENT)
eis_mk_raster_widgets.ra_snsNExpID = SNSNEXPTextID


snsNDurLabel                = WIDGET_LABEL(snsNExpBase ,                    $
                                    value       = "  Duration (s)")
SNSDUR_EVENT                = {eis_mk_raster_gui_Event}
SNSDUR_EVENT.eis_mk_raster_gui = parentClass
SNSDUR_EVENT.Type           = "SNS_DURATION"
SNSDURTextID                = WIDGET_TEXT(snsNExpBase,                      $
                                    value       = '0',                      $
                                    Event_Pro   = Event_Pro_update,         $
                                    /EDITABLE                          ,    $
                                    xSize       = 12 ,                      $
                                    uValue      = SNSDUR_EVENT)
eis_mk_raster_widgets.ra_snsDurationID = SNSDURTextID

; ______________________________________________________________________
;
; Only set if Scanning raster
;
; ______________________________________________________________________
ra_scanInfoLabelID          = WIDGET_LABEL(fmrBase ,                        $
                                    value       = 'nothing' ,               $
                                    /ALIGN_LEFT          ,                  $
                                    /DYNAMIC_RESIZE)
eis_mk_raster_widgets.ra_scanInfoLabelID = ra_scanInfoLabelID

; ______________________________________________________________________
;
; Raster information base
;
; ______________________________________________________________________
ra_infoBase_all                 = WIDGET_BASE(tlbID ,                       $
                                    ROW         = 1 , frame = 6)


ra_infoBase                 = WIDGET_BASE(ra_infoBase_all ,                 $
                                    COLUMN      = 1 )



rasterLabelBase             = WIDGET_BASE(ra_infoBase ,                     $
                                    ROW         = 1 )

rasterTitleLable            = WIDGET_LABEL(rasterLabelBase ,                $
                                    value       = 'Raster ID:' ,            $
                                    xSize       = 100 ,                     $
                                    /ALIGN_LEFT,font=fonts.bold)

ra_idID                     = WIDGET_LABEL(rasterLabelBase  ,               $
                                    value       = '000000' ,                $
                                    xSize       = 70  ,                     $
                                    /ALIGN_LEFT   ,                         $
                                    font        = fonts.mono)
eis_mk_raster_widgets.ra_idID = ra_idID

rasterTitleLable            = WIDGET_LABEL(rasterLabelBase ,                $
                                    value       = '  Acronym:' ,            $
                                    xSize       = 70 ,                      $
                                    /ALIGN_LEFT)

ra_acronymID                = WIDGET_LABEL(rasterLabelBase  ,               $
                                    value       = 'A_RASTER' ,              $
                                    xSize       = 170 ,                     $
                                    /ALIGN_LEFT ,                           $
                                    font        = fonts.mono)
eis_mk_raster_widgets.ra_acronymID = ra_acronymID




;
;
;
rasterAuthorBase            = WIDGET_BASE(ra_infoBase ,                     $
                                    ROW         = 1 )


rasterTitleLable            = WIDGET_LABEL(rasterLabelBase ,               $
                                    value       = '  Author:' ,               $
                                    xSize       = 80 ,                     $
                                    /ALIGN_LEFT)

ra_authorID                 = WIDGET_LABEL(rasterLabelBase  ,              $
                                    value       = '0' ,                     $
                                    xSize       = 120,                      $
                                    /ALIGN_LEFT ,                           $
                                    font=fonts.mono)
eis_mk_raster_widgets.ra_authorID = ra_authorID


rasterDateLable             = WIDGET_LABEL(rasterLabelBase ,               $
                                    value       = '  Created:',               $
                                    xSize       = 70 ,                      $
                                    /ALIGN_LEFT)
ra_dateID                   = WIDGET_LABEL(rasterLabelBase  ,              $
                                    value       = '0' ,                     $
                                    xSize       = 100,                      $
                                    /ALIGN_LEFT ,                           $
                                    font        = fonts.mono)
eis_mk_raster_widgets.ra_dateID = ra_dateID

;;; ______________________________________________________________________
;;;
;;; Data Info Base
;;;
;;; ______________________________________________________________________
; ______________________________________________________________________
;
; Duration Label
;
; ______________________________________________________________________
durationBase                = WIDGET_BASE(ra_infoBase  ,                    $
                                    ROW         = 1)

ra_durationTitle            = WIDGET_LABEL(durationBase ,                   $
                                    value       = 'Duration:',              $
                                    xSize       = 100 ,                     $
                                    /ALIGN_LEFT)

ra_durationID               = WIDGET_LABEL(durationBase ,                   $
                                    value       = '0' ,                     $
                                    /ALIGN_LEFT ,                           $
                                    xSize       = 70 ,                      $
                                    font        = fonts.mono)
eis_mk_raster_widgets.ra_durationID = ra_durationID

; ______________________________________________________________________
;
; Volume Label
;
; ______________________________________________________________________

ra_volumeTitle              = WIDGET_LABEL(durationBase ,                   $
                                    value       = '  Volume:',                $
                                    xSize       = 70 ,                      $
                                    /ALIGN_LEFT)

ra_volumeID                 = WIDGET_LABEL(durationBase ,                   $
                                    value       = '0' ,                     $
                                    /ALIGN_LEFT  ,                          $
                                    xSize       = 170 ,                     $
                                    font        = fonts.mono)
eis_mk_raster_widgets.ra_volumeID = ra_volumeID

; ______________________________________________________________________
;
; Data Rate Label
;
; ______________________________________________________________________
ra_volumeTitle              = WIDGET_LABEL(durationBase ,                   $
                                    value       = '  Data rate:',             $
                                    /ALIGN_LEFT,                            $
                                    xSize       = 80)


ra_dataRateID               = WIDGET_LABEL(durationBase ,                   $
                                    value       = '0' ,                     $
                                    /ALIGN_LEFT        ,                    $
                                    xSize       = 120 ,                     $
                                    font        = fonts.mono)
eis_mk_raster_widgets.ra_dataRateID = ra_dataRateID



; ______________________________________________________________________
;
; Raster Title
;
; ______________________________________________________________________
rasterTitleBase             = WIDGET_BASE(ra_infoBase ,                     $
                                    ROW         = 1 )


rasterTitleLable            = WIDGET_LABEL(rasterTitleBase ,                $
                                    value       = 'Title:' ,                $
                                    xSize       = 100 ,                     $
                                    /ALIGN_LEFT)

ra_titleID                  = WIDGET_LABEL(rasterTitleBase  ,               $
                                    value       = 'title' ,                 $
                                    xSize       = 750,                      $
                                    /ALIGN_LEFT ,font=fonts.mono)
eis_mk_raster_widgets.ra_titleID = ra_titleID

; ______________________________________________________________________
;
; Logo Button
;
; ______________________________________________________________________
ra_iconBase                 = WIDGET_BASE(ra_infoBase_all  ,            $
                                    COLUMN      = 1 )

ICON_EVENT                  = {eis_mk_raster_gui_Event}
ICON_EVENT.eis_mk_raster_gui     = parentClass
ICON_EVENT.Type             = "DRAW"
ra_iconID                   = WIDGET_DRAW(ra_iconBase  ,                      $
                                XSize       = 160,                    $
                                YSize       = 80,                    $
                                uvalue      = ICON_EVENT ,                  $
                                frame       = 1)
eis_mk_raster_widgets.ra_iconID = ra_iconID


; ______________________________________________________________________
;
; Quit Button
;
; ______________________________________________________________________
QUIT_EVENT                  = {eis_mk_raster_gui_Event}
QUIT_EVENT.eis_mk_raster_gui = parentClass
QUIT_EVENT.Type             = "QUIT"
quitbutton                  = WIDGET_BUTTON(tlbID,                          $
                                    value       = 'Exit',                   $
                                    Event_Pro   = Event_Pro,                $
                                    uValue      = QUIT_EVENT,/separator)


parentClass->setProperty, eis_mk_raster_widgets = eis_mk_raster_widgets

END

