method update l =
      (* set the new list in the provided listref *)
      listref := l;
      (* insert the elements in the clist *)
      wlist#freeze ();
      wlist#clear ();
      List.iter
        (fun ele ->
          ignore (wlist#append (f_strings ele));
          match f_color ele with
            None -> ()
          | Some c ->
              try wlist#set_row ~foreground: (`NAME c) (wlist#rows - 1)
              with _ -> ()
        )
        !listref;

      (match titles_opt with
        None -> wlist#columns_autosize ()
      |        Some _ -> GToolbox.autosize_clist wlist);
      wlist#thaw ();
      (* the list of selectd elements is now empty *)
      list_select <- []