;+
;PROJECT:
;           SolarB EIS
;
;NAME:      
;           db_save_raster_entry_update
;
;PURPOSE:
;           Function to update an entry in the EIS raster databse
;
;CATEGORY:
;           EIS Technical Planning
;           Database
;
;INPUTS:
;           an eis_raster structure
;
;OPTIONAL INPUTS:
;           the top-level-base; useful if calling from a widget tool 
;           (eg; mk_raster). 
;
;MODIFICATION HISTORY:
;           Written by: John Rainnie, RAL - j.rainnie@rl.ac.uk (Dec 2005)
;
;-
;************************************************************************
PRO db_save_raster_entry_update , eis_raster , tlbID = tlbID

mText = "Are you sure you want to modify this Raster in the Database?"
sure = DIALOG_MESSAGE(mText , DIALOG_PARENT = tlbID , /QUESTION)
IF (sure EQ 'No') THEN RETURN

status = eis_open_db(/RASTER,/UPDATE)

dbput, 'ID'               , eis_raster.id               , eis_raster.id
dbput, 'WRITE_LOCKED'     , eis_raster.write_locked     , eis_raster.id
dbput, 'ACRONYM'          , eis_raster.acronym          , eis_raster.id
dbput, 'TITLE'            , eis_raster.title            , eis_raster.id
dbput, 'AUTHOR'           , eis_raster.author           , eis_raster.id
dbput, 'DATE'             , eis_raster.date             , eis_raster.id
dbput, 'RASTERTYPE'       , eis_raster.rasterType       , eis_raster.id
dbput, 'SCAN_FM_NSTEPS'   , eis_raster.scan_FM_nSteps   , eis_raster.id
dbput, 'SCAN_FM_STEPSIZE' , eis_raster.scan_FM_stepSize , eis_raster.id
dbput, 'SNS_NEXPS'        , eis_raster.sns_nExps        , eis_raster.id
dbput, 'SNS_DURATION'     , eis_raster.sns_duration     , eis_raster.id
dbput, 'LL_ID'            , eis_raster.ll_id            , eis_raster.id
dbput, 'N_WINDOWS'        , eis_raster.nWindows         , eis_raster.id
dbput, 'DATA_WINDOWS'     , eis_raster.dataWindows[*]   , eis_raster.id
dbput, 'WIND_HEIGHT'      , eis_raster.windHeight       , eis_raster.id
dbput, 'WIND_WIDTH'       , eis_raster.windWidth        , eis_raster.id
dbput, 'SLIT_INDEX'       , eis_raster.slitIndex        , eis_raster.id
dbput, 'NEXP'             , eis_raster.nExp             , eis_raster.id
dbput, 'EXPOSURES'        , eis_raster.exposures[*]     , eis_raster.id
dbput, 'DELAYS'           , eis_raster.delays[*]        , eis_raster.id
dbput, 'COMPRESSION'      , eis_raster.compression      , eis_raster.id
dbput, 'SPLIT'            , eis_raster.split            , eis_raster.id
dbput, 'RA_DURATION'      , eis_raster.duration         , eis_raster.id
dbput, 'RA_DATA_VOLUME'   , eis_raster.volume           , eis_raster.id

dbclose

; ID needs to be in 000001 format
idValue = STRING(format='(I06)',eis_raster.ID)
messageText = ["Raster has been successfully updated."  ,                   $
               ""                                       ,                   $
               "ID          = " + idValue               ,                   $
               "Description = " + eis_raster.acronym  ]
complain = DIALOG_MESSAGE( messageText ,                                    $
                                 DIALOG_PARENT = tlbID,                     $
                                 /INFORMATION )



END
