let reset (main_ui:Design.main_window_extension_points) =
  Globals.Functions.iter
      (fun kf ->
         try
           let vi = Kernel_function.get_vi kf in

           main_ui#file_tree#set_global_attribute
             ~strikethrough:(Value.is_computed () && not (!Value.is_called kf))
             vi
         with Not_found -> ());
  Globals.Vars.iter
    (fun vi _ ->
       if vi.vlogic = false then
         main_ui#file_tree#set_global_attribute
           ~strikethrough:(Value.is_computed () && not (used_var vi))
           vi
    );
  List.iter
    (fun file ->
       (* the display name removes the path *)
       let name, _globals = Globals.FileIndex.find file in
       let globals_state = main_ui#file_tree#get_file_globals name in
       main_ui#file_tree#set_file_attribute
         ~strikethrough:(Value.is_computed () &&
                         List.for_all snd globals_state)
         name
    )
    (Globals.FileIndex.get_files ())