let services_view ~packing model =
  let scroll =
    GBin.scrolled_window ~packing ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC ()
  in
  let delay_node v = not v.Service.is_root in
  let delay_edge e = match Service.CallG.E.label e with
    | Service.Inter_services | Service.Both -> false
    | Service.Inter_functions -> true
  in
  let view =
    DGraphView.view ~packing:scroll#add ~aa:true ~delay_node ~delay_edge model
  in
  (* not very nice *)
  ignore (new services_view view);
  view#connect_highlighting_event ();
  ignore $ view#set_center_scroll_region true;
  view