Below is the file 'agraph.mli' from this revision. You can also download the file.

open Viz_types

type layout = Viz_types.cgraph
type layout_params = {
    box_w     : float ;
    box_h     : float ;
    lr_layout : bool ;
  }
type t

type done_cb = [`LAYOUT_DONE | `LAYOUT_ERROR of string] -> unit
val make : Database.t -> query -> layout_params -> done_cb -> t
    (* SQL: fetch ancestry graph, determine node kind (NORMAL, MERGE, DISAPPROVE), spawn dot *)

exception Not_yet
val get_layout : t -> layout
val abort_layout : t -> unit

val get_query : t -> query
val get_db : t -> Database.t

val mem : t -> string -> bool
val get_ancestors : t -> string -> string list

val get_parents  : t -> string -> (string * c_node) list (* keyboard nav *)
val get_children : t -> string -> (string * c_node) list (* keyboard nav *)
val get_siblings : t -> string -> (string * c_node) list (* keyboard nav *)