method refresh () =
      self#clean_files;
      self#refresh_data ;
      let g = self#build_graph in
      Odot.print_file dot_file g;
      let com = Printf.sprintf
        "%s -s%d -y %s > %s && %s -s%d -T png -o %s %s "
          (string_of_dot_program dot_program)
          (int_of_float default_dot_ppi)
          (Filename.quote dot_file)
          (Filename.quote annot_dot_file)
          (string_of_dot_program dot_program)
          (int_of_float default_dot_ppi)
          (Filename.quote png_file)
          (Filename.quote dot_file)
      in
      (
       match Sys.command com with
         0 ->
           self#update_info ;
           self#zoom ()
       | n -> GToolbox.message_box "Error"
           (Printf.sprintf "Exec error %d: %s" n com)
      );