let wp_panel (main_ui:Design.main_window_extension_points) =
  let vb = GPack.vbox  () in
  let hb1 = GPack.hbox  ~packing:vb#pack () in

  (* check_button wp_bottom *)
  let bottom = Wp_parameters.Bottom.get () in
  let bottom_button = GButton.check_button ~label:"use bottom"
                        ~packing:(hb1#pack) ~active:bottom ()
  in
  let _ = 
    bottom_button#connect#toggled
      ~callback: (fun () -> gui_set_wp_bottom main_ui bottom_button#active)
  in
  let lower, upper = Wp_parameters.Model.get_range () in
  let model_refresh = 
    Gtk_helper.on_int ~lower ~upper
      hb1 "Model" Wp_parameters.Model.get (gui_set_wp_model main_ui)
  in 
  let behavior_refresh = Gtk_helper.on_string vb "Behavior"
                          Wp_parameters.Behav.get Wp_parameters.Behav.set
  in 
  let refresh () =
    bottom_button#set_active (Wp_parameters.Bottom.get ());
    model_refresh ();
    behavior_refresh ()
  in
  "WP (very experimental)",vb#coerce,Some refresh