sig
  exception DotError of string
  type t_point = float * float
  type t_coord = ViewGraph_core.t_point * ViewGraph_core.t_point
  type t_graph
  type t_node
  type t_gtk_obj = GnomeCanvas.re_p GnoCanvas.item
  val get_id : ViewGraph_core.t_node -> string
  val get_coord : ViewGraph_core.t_node -> ViewGraph_core.t_coord option
  val get_obj : ViewGraph_core.t_node -> ViewGraph_core.t_gtk_obj option
  val get_neighbours :
    ViewGraph_core.t_graph ->
    ViewGraph_core.t_node ->
    ViewGraph_core.t_node list * ViewGraph_core.t_node list
  module type SigCb =
    sig
      type t_env
      val button_one_press_on_graph : ViewGraph_core.SigCb.t_env -> unit
      val button_two_press_on_graph : ViewGraph_core.SigCb.t_env -> unit
      val button_three_press_on_graph : ViewGraph_core.SigCb.t_env -> unit
      val button_one_press_on_node :
        ViewGraph_core.SigCb.t_env -> ViewGraph_core.t_node -> unit
      val button_two_press_on_node :
        ViewGraph_core.SigCb.t_env -> ViewGraph_core.t_node -> unit
      val button_three_press_on_node :
        ViewGraph_core.SigCb.t_env -> ViewGraph_core.t_node -> unit
      val enter_node :
        ViewGraph_core.SigCb.t_env -> ViewGraph_core.t_node -> unit
      val leave_node :
        ViewGraph_core.SigCb.t_env -> ViewGraph_core.t_node -> unit
    end
  module EmptyCb :
    sig
      type t_env = unit
      val button_one_press_on_graph : t_env -> unit
      val button_two_press_on_graph : t_env -> unit
      val button_three_press_on_graph : t_env -> unit
      val button_one_press_on_node : t_env -> t_node -> unit
      val button_two_press_on_node : t_env -> t_node -> unit
      val button_three_press_on_node : t_env -> t_node -> unit
      val enter_node : t_env -> t_node -> unit
      val leave_node : t_env -> t_node -> unit
    end
  module M :
    functor (Cb : SigCb->
      sig
        val open_dot_file :
          Cb.t_env ->
          GnoCanvas.canvas ->
          ?dot_cmd:string -> string -> ViewGraph_core.t_graph
        val clear : GnoCanvas.canvas -> ViewGraph_core.t_graph -> unit
      end
end