method private _grab_input =
    let pkey =
      match pkey_w#store2#get_iter_first with
        | None      -> []
        | Some iter ->
            let rec grab = fun () ->
              let data = pkey_w#store2#get_data ~row:iter in
                if pkey_w#store2#iter_next iter then
                  data :: (grab ())
                else
                  [data]
            in
              grab ()
    in
    { tgi_name    = glade#name_entry#text;
      tgi_comment = glade#comments_textview#buffer#get_text ();
      tgi_logged  = glade#logged#active ;
      tgi_columns = defaults.tgi_columns;
      tgi_pkey    = pkey; }