;****************************b**************************************************
;* File name: ql_err_msg.pro                                                  *
;*                                                                            *
;* Content  : 	ql_err_msg_event                                              *
;*            	ql_err_msg                                                    *
;*                                                                            *
;*                                                                            *
;* Date		Author		Comment                                       *
;* -------------------------------------------------------------------------- *
;* 12-01-94	E.PETIT		Creation                                      *
;* 28-01-94	E.PETIT		Add common inclusion                          *
;*                                                                            *
;******************************************************************************
;***


;##############################################################################
;#Function  name   : ql_err_msg_event                                         #
;#LEVEL            :                                                          #
;#                                                                            #
;#Author           : Emmanuel PETIT                                           #
;#Language         : IDL                                                      #
;#Purpose          : manage visualization of error message                    #
;#Creation date    : January 1994                                             #
;#Update date      : 28-01-94 	E.PETIT		Add common inclusion          #
;#External modules :                                                          #
;#                                                                            #
;#Call sequence    :                                                          #
;#                                                                            #
;#Arguments        :                                                          #
;#                                                                            #
;#Description      :                                                          #
;#                                                                            #
;#                                                                            #
;##############################################################################
;*** 

PRO ql_err_msg_event, ev

  ;============================================================================
  ;                       Common Block in use
  ;============================================================================
  COMMON err_display_com
                                     
  ;============================================================================
  ;                       Initialization
  ;============================================================================
  ret = 0

  ;============================================================================
  ;                       Processing 
  ;============================================================================
  WIDGET_CONTROL, ev.id, GET_UVALUE = value
  CASE  value OF
    "OK": $
       BEGIN
         WIDGET_CONTROL, err_display_base, /DESTROY
       END
  ENDCASE                                                   
END      
    
;***
;##############################################################################
;#Function  name   : ql_err_msg                                               #
;#LEVEL            : 1                                                        #
;#                                                                            #
;#Author           : Emmanuel PETIT                                           #
;#Language         : IDL                                                      #
;#Purpose          :                                                          #
;#Creation date    : January 1994                                             #
;#Update date      :                                                          #
;#External modules :                                                          #
;#                                                                            #
;#Call sequence    : Called by Event Handler                                  #
;#                                                                            #
;#Arguments        :                                                          #
;#                                                                            #
;#Description      :                                                          #
;#                                                                            #
;#                                                                            #
;##############################################################################
;***
                                              
PRO ql_err_msg, err_num
  ;============================================================================
  ;                       Common Block in use
  ;============================================================================
  COMMON err_display_com
  COMMON err_msg_com

  ;============================================================================
  ;                       Initialization
  ;============================================================================
  idx     = -1
  display_string = 'Error in error processing'

  ;============================================================================
  ;                       Processing 
  ;============================================================================
  
  WIDGET_CONTROL, /HOURGLASS 

  title = 'Error Message'
 
  ; Locate error 
  ; ------------
  FOR i=0,nb_err_msg-1 DO BEGIN
    IF (err_msg_lst(i).err_msg_id EQ err_num) THEN idx = i
  ENDFOR    
  
  IF (idx NE -1) THEN display_string = STRTRIM (err_msg_lst(idx).err_msg_txt,2)
  
  ;Base Hierarchie
  ;---------------
  err_display_base = WIDGET_BASE (TITLE  = title   , $
                                  XOFFSET = 150    , $
                                  YOFFSET = 250    , $
                                  /COLUMN)
  ; ------------------
  ; Widgets Definition
  ; ------------------
  err_text = WIDGET_TEXT   (err_display_base     , $
                            /FRAME               , $
                            XSIZE = 70           , $
                            YSIZE = 1            , $
                            VALUE = display_string)

  err_ok   = WIDGET_BUTTON (err_display_base     , $
                            /FRAME               , $
                            VALUE  = "OK"        , $
                            UVALUE = "OK")
  ; ----------------
  ; Widgets Creation
  ; ----------------   
  WIDGET_CONTROL, err_display_base , /REALIZE
  WIDGET_CONTROL, err_ok, /INPUT_FOCUS


  ; ------------------
  ; Call Event manager
  ; ------------------
   XMANAGER, "ql_err_msg"      , $
             err_display_base   , $
             GROUP_LEADER = GROUP, $
             /MODAL
END
