PRO RH_W_DP_Event, Event

  COMMON rh_wdpim, np, larg , period, mode_inter, rot_p, i_affich_lobe

  COMMON rh_wdphar, i_redond, tab_sel_ext, tab_sel_ant, iuv, $
                   i_recentrage, x_centrage, y_centrage
  COMMON rh_wdpcl, i_clean, crit_arret, larg_2

  COMMON rh_dpim_base, bnp, brs, bper, bmode_inter, brot_p, baffich_lobe
  COMMON rh_dphar_base, biuv, bredond , $
                       bmode_centr, bx_centr, by_centr, hbase2, hbase3
  COMMON rh_dpcl_base, bicl , blarg2_ew, blarg2_ns


  WIDGET_CONTROL,Event.Id,GET_UVALUE = Ev

  CASE Ev OF

  'std'   : BEGIN
            def_str_dp, str_dp
            np          = str_dp.np
            larg        = str_dp.larg
            period      = str_dp.n_period
            mode_inter  = str_dp.mode_interpol - 1
            rot_p       = str_dp.rot_p
            i_affich_lobe = str_dp.i_affich_lobe
            if (XREGISTERED('RH_W_DPIMAGE')) then begin 
                tab = ['128','256','64']
                ind = where (np eq fix(tab))
                WIDGET_CONTROL, bnp, SET_DROPLIST_SELECT = ind(0)
                tab = ['4','6','8','10']
                ind = where (larg eq fix(tab))
                WIDGET_CONTROL, brs, SET_DROPLIST_SELECT = ind(0)
                tab = ['1.','1.5']
                ind = where (period eq float(tab))
                WIDGET_CONTROL, bper, SET_DROPLIST_SELECT = ind(0)
                WIDGET_CONTROL, bmode_inter, SET_DROPLIST_SELECT = mode_inter
                WIDGET_CONTROL, brot_p, SET_DROPLIST_SELECT = rot_p
              WIDGET_CONTROL, baffich_lobe, SET_DROPLIST_SELECT = i_affich_lobe
            ENDIF
            IF (XREGISTERED('RH_W_DPHARMONIC')) then begin 
                i_redond    = str_dp.i_redond
                tab_sel_ext = intarr(7)
                tab_sel_ext(0) = str_dp.ie0_ew 
                tab_sel_ext(1) = str_dp.ie0_ns 
                tab_sel_ext(2) = str_dp.ie1_ew 
                tab_sel_ext(3) = str_dp.ie2_ew 
                tab_sel_ext(4) = str_dp.ie2_ns 
                tab_sel_ext(5) = str_dp.ins45_ew
                tab_sel_ext(6) = str_dp.ins45_ns
                tab_sel_ant = str_dp.sel_ant
                iuv         = str_dp.i_pave_plein
                i_recentrage = str_dp.i_recentrage
                x_centrage = str_dp.x_centrage
                y_centrage = str_dp.y_centrage

                WIDGET_CONTROL, biuv, SET_DROPLIST_SELECT = iuv
                WIDGET_CONTROL, bredond, SET_DROPLIST_SELECT = i_redond
                WIDGET_CONTROL, bmode_centr, SET_DROPLIST_SELECT = i_recentrage
                WIDGET_CONTROL, bx_centr, SET_VALUE = x_centrage
                WIDGET_CONTROL, by_centr, SET_VALUE = y_centrage
                WIDGET_CONTROL, hbase2, SENSITIVE = 0
                WIDGET_CONTROL, hbase3, SENSITIVE = 0
            ENDIF
            IF (XREGISTERED('RH_W_DPCLEAN')) then begin 
                i_clean     = str_dp.mode_clean
                crit_arret  = str_dp.crit_arret(0:3)
                larg_2       = str_dp.larg_2
                WIDGET_CONTROL, bicl, SET_DROPLIST_SELECT = i_clean
                WIDGET_CONTROL, blarg2_ew, SET_VALUE = larg_2(0)
                WIDGET_CONTROL, blarg2_ns, SET_VALUE = larg_2(1)
            ENDIF
	  END
 'image'   : rh_w_dpimage
 'harmonics'   : rh_w_dpharmonic
 'clean'   : rh_w_dpclean
  'ok':  BEGIN
;         print,'ok',np, larg, period, iuv, i_clean, tab_sel_ext, mode_inter
         WIDGET_CONTROL,EVENT.TOP,/DESTROY   
         END
  ENDCASE
END


PRO RH_W_DP

  COMMON rh_wdpim, np, larg , period, mode_inter, rot_p, i_affich_lobe
  COMMON rh_wdphar, i_redond, tab_sel_ext, tab_sel_ant, iuv,  $
                   i_recentrage, x_centrage, y_centrage
  COMMON rh_wdpcl, i_clean, crit_arret, larg_2

;  COMMON rh_dpim_base, bnp, brs, bper, bmode_inter 
;  COMMON rh_dphar_base, biuv 
;  COMMON rh_dpcl_base, bicl, l_crit, b_crit 

  if (xregistered('RH_W_DP')) then begin     ; Don't make a second copy.
     print,' " Parameters for image calculation " already in use'
     return
  end

;  IF N_ELEMENTS(Group) EQ 0 THEN GROUP=0

  imBASE = WIDGET_BASE(COLUMN=1,$ 
             TITLE='Parameters for image calculation', SPACE= 20, $
	    /BASE_ALIGN_CENTER)

  BASE = WIDGET_BASE(imbase, /COLUMN, SPACE= 15,/BASE_ALIGN_CENTER,/FRAME)

  b = WIDGET_BUTTON( BASE, UVALUE='harmonics', VALUE='Selection of Harmonics',$
                     xs=7., ys=1, units=2)

  b = WIDGET_BUTTON( BASE, UVALUE='image', VALUE='Specifying the Image', $
                     xs=7., ys=1, units=2)

  b = WIDGET_BUTTON( BASE, UVALUE='clean', VALUE='Clean Parameters', $
                     xs=7., ys=1, units=2)
 
  b = WIDGET_BUTTON( BASE, UVALUE='std', $
                     VALUE='Back to Global Std Parameters', $
                     xs=7., ys=1, units=2)

  b = WIDGET_BUTTON( BASE, UVALUE='ok', VALUE='ok', $
                     xs=2., ys=1, units = 2)

  WIDGET_CONTROL, imBASE, /REALIZE
  
  XMANAGER, 'RH_W_DP', imBASE, /NO_BLOCK

END
