
;******************************************************************************
;* File name: ql_cldol_trt.pro                                                *
;*                                                                            *
;* Content  : 	ql_cldol_event                                                *
;*		ql_cldot_trt                                                  *
;*                                                                            *
;*                                                                            *
;* Date		Author		Comment                                       *
;* -------------------------------------------------------------------------- *
;* 11-01-95	E.PETIT		Creation                                      *
;*                                                                            *
;******************************************************************************

;***
;###############################################################################
;#                                                                             #
;# Procedure name  : QL_CLDOL_TRT                                              #
;#                                                                             #
;# Author          : E.PETIT                                                   #
;# Purpose         : Detector odd line calibration/event loop                  #
;# Creation date   : 10-01-95                                                  #
;# Update date     :                                                           #
;# Call sequence   : Called by Event handler                                   #
;#                                                                             #
;# Arguments       :                                                           #
;# Description     :                                                           #
;###############################################################################
;***
PRO ql_cldol_event, ev

  ;============================================================================
  ;                       Common Block in use
  ;============================================================================
  COMMON curr_data_i_com
  COMMON const_com
  COMMON cldol_com

  ;==============================================================================
  ;                               Initialization
  ;===============================================================================
  sz_x      = curr_dctrl_i.x.nb_dot 
  sz_y      = curr_dctrl_i.y.nb_dot 

  ;===============================================================================
  ;                                Processing
  ;===============================================================================

  WIDGET_CONTROL, ev.id, GET_UVALUE=val
  
  CASE val OF
    'TXT': BEGIN
        WIDGET_CONTROL, ev.id, GET_VALUE=str
        calval = FLOAT(str(0))
      END
    'VALID': BEGIN
        WIDGET_CONTROL, cldol_txt, GET_VALUE=str
        calval = FLOAT(str(0))
      END
    'CANCEL': BEGIN
        WIDGET_CONTROL, ev.top, /DESTROY
      END
    ELSE:
  ENDCASE

  IF (val EQ 'VALID') OR (val EQ 'TXT') THEN BEGIN
    pp = TOTAL(curr_data_i(*,0))
    FOR i=2, N_ELEMENTS(curr_data_i(0,*))-1, 2 DO $
      pp = pp + TOTAL(curr_data_i(*,i))

    ii = TOTAL(curr_data_i(*,1))
    FOR i=3, N_ELEMENTS(curr_data_i(0,*))-1, 2 DO $
      ii = ii + TOTAL(curr_data_i(*,i))

    p_i     = FLOAT(pp)/ FLOAT(ii)
  

    ; Update header   
    ; -------------                                
    curr_header_i.SSTYPIMG = -1
    curr_header_i.DATAFMT  = 4
    curr_data_i = FLOAT(curr_data_i)

    FOR i=0, N_ELEMENTS(curr_data_i(0,*))-1, 2 DO $
      curr_data_i(*,i) = curr_data_i(*,i) * calval

    ql_init_banner, curr_data_i, IMAGE, err
    curr_header_i.SSBPADDY = maxpix MOD sz_x
    curr_header_i.SSBPADDZ = maxpix/sz_x
    curr_header_i.SSIMGTOT = LONG(TOTAL(curr_data_i))
    curr_header_i.SSBPCNTS = LONG(curr_banner_i.max)

    ret = ql_manage_proc(curr_dctrl_i, PUSH, 21)
    ret = ql_display_data(curr_data_i, 0, curr_dctrl_i, err)
    WIDGET_CONTROL, ev.top, /DESTROY
  ENDIF
END

;***
;###############################################################################
;#                                                                             #
;# Procedure name  : QL_CLDOL_TRT                                              #
;#                                                                             #
;# Author          : E.PETIT                                                   #
;# Purpose         : Detector odd line calibration/event loop                  #
;# Creation date   : 10-01-95                                                  #
;# Update date     :                                                           #
;# Call sequence   : Called by Event handler                                   #
;#                                                                             #
;# Arguments       :                                                           #
;# Description     :                                                           #
;###############################################################################
;***
PRO ql_cldol_trt, ev
  ;============================================================================
  ;                       Common Block in use
  ;============================================================================
  COMMON curr_data_i_com
  COMMON const_com
  COMMON cldol_com

  ;==============================================================================
  ;                               Initialization
  ;===============================================================================
  title = 'Even line calibration'
  ;===============================================================================
  ;                                Processing
  ;===============================================================================
  
  base  = WIDGET_BASE (XOFFSET=300, YOFFSET=300, TITLE=Title, /COLUMN, /MODAL)
   ctrl = WIDGET_BASE (base, /ROW)
   cmd  = WIDGET_BASE (base, /ROW)
  
  ret       = WIDGET_LABEL(ctrl, VALUE='Every even line multiply by: ') 
  cldol_txt = WIDGET_TEXT (ctrl, VALUE=STRING(CAL_STRANGE_VAL, FORMAT='(F5.3)'),XSIZE=5,YSIZE=1,UVALUE='TXT',/EDITABLE)

  ok = WIDGET_BUTTON (cmd, VALUE='VALID', UVALUE='VALID')
  ko = WIDGET_BUTTON (cmd, VALUE='CANCEL', UVALUE='CANCEL')
 
  WIDGET_CONTROL, base, /REALIZE
  XMANAGER, 'ql_cldol', base
END
