sig
type cluster = string
type status = Global | Tree | Both
class type
['vertex, 'edge, 'cluster, 'tree_vertex, 'tree_edge, 'tree_cluster]
view_container_type =
object
method adapt_zoom : unit -> unit
method depth_backward : int
method depth_forward : int
method global_view : ('vertex, 'edge, 'cluster) DGraphView.view option
method set_depth_backward : int -> unit
method set_depth_forward : int -> unit
method set_tree_root : 'vertex -> unit
method status : DGraphContainer.status
method switch : DGraphContainer.status -> unit
method tree_root : 'vertex option
method tree_view :
('tree_vertex, 'tree_edge, 'tree_cluster) DGraphView.view option
end
module type S =
sig
type graph
type vertex
type edge
module Tree :
sig
type t
module V :
sig
type t
val compare : t -> t -> int
val hash : t -> int
val equal : t -> t -> bool
type label = vertex
val create : label -> t
val label : t -> label
end
type vertex = V.t
module E :
sig
type t
val compare : t -> t -> int
type vertex = vertex
val src : t -> vertex
val dst : t -> vertex
type label
val create : vertex -> label -> vertex -> t
val label : t -> label
end
type edge = E.t
val is_directed : bool
val is_empty : t -> bool
val nb_vertex : t -> int
val nb_edges : t -> int
val out_degree : t -> vertex -> int
val in_degree : t -> vertex -> int
val mem_vertex : t -> vertex -> bool
val mem_edge : t -> vertex -> vertex -> bool
val mem_edge_e : t -> edge -> bool
val find_edge : t -> vertex -> vertex -> edge
val find_all_edges : t -> vertex -> vertex -> edge list
val succ : t -> vertex -> vertex list
val pred : t -> vertex -> vertex list
val succ_e : t -> vertex -> edge list
val pred_e : t -> vertex -> edge list
val iter_vertex : (vertex -> unit) -> t -> unit
val fold_vertex : (vertex -> 'a -> 'a) -> t -> 'a -> 'a
val iter_edges : (vertex -> vertex -> unit) -> t -> unit
val fold_edges : (vertex -> vertex -> 'a -> 'a) -> t -> 'a -> 'a
val iter_edges_e : (edge -> unit) -> t -> unit
val fold_edges_e : (edge -> 'a -> 'a) -> t -> 'a -> 'a
val map_vertex : (vertex -> vertex) -> t -> t
val iter_succ : (vertex -> unit) -> t -> vertex -> unit
val iter_pred : (vertex -> unit) -> t -> vertex -> unit
val fold_succ : (vertex -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
val fold_pred : (vertex -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
val iter_succ_e : (edge -> unit) -> t -> vertex -> unit
val fold_succ_e : (edge -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
val iter_pred_e : (edge -> unit) -> t -> vertex -> unit
val fold_pred_e : (edge -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
end
module GView :
sig
type vertex = vertex
type edge = edge
type cluster = cluster
val view :
?aa:bool ->
?delay_node:(vertex -> bool) ->
?delay_edge:(edge -> bool) ->
?delay_cluster:(cluster -> bool) ->
?border_width:int ->
?width:int ->
?height:int ->
?packing:(GObj.widget -> unit) ->
?show:bool ->
(vertex, edge, cluster) DGraphModel.abstract_model ->
(vertex, edge, cluster) DGraphView.view
end
module TView :
sig
type vertex = Tree.V.t
type edge = Tree.E.t
type cluster = cluster
val view :
?aa:bool ->
?delay_node:(vertex -> bool) ->
?delay_edge:(edge -> bool) ->
?delay_cluster:(cluster -> bool) ->
?border_width:int ->
?width:int ->
?height:int ->
?packing:(GObj.widget -> unit) ->
?show:bool ->
(vertex, edge, cluster) DGraphModel.abstract_model ->
(vertex, edge, cluster) DGraphView.view
end
type global_view =
(DGraphContainer.S.vertex, DGraphContainer.S.edge,
DGraphContainer.cluster)
DGraphView.view
type tree_view =
(DGraphContainer.S.Tree.V.t, DGraphContainer.S.Tree.E.t,
DGraphContainer.cluster)
DGraphView.view
class view_container :
?packing:(GObj.widget -> unit) ->
?status:DGraphContainer.status ->
?default_callbacks:bool ->
mk_global_view:(unit -> DGraphContainer.S.global_view) ->
mk_tree_view:(depth_backward:int ->
depth_forward:int ->
Gtk.widget Gtk.obj ->
DGraphContainer.S.vertex -> DGraphContainer.S.tree_view) ->
DGraphContainer.S.vertex option ->
[DGraphContainer.S.vertex, DGraphContainer.S.edge,
DGraphContainer.cluster, DGraphContainer.S.Tree.V.t,
DGraphContainer.S.Tree.E.t, DGraphContainer.cluster]
view_container_type
end
module Make :
functor (G : Graph.Graphviz.GraphWithDotAttrs) ->
sig
type graph = G.t
type vertex = G.V.t
type edge = G.E.t
module Tree :
sig
type t
module V :
sig
type t
val compare : t -> t -> int
val hash : t -> int
val equal : t -> t -> bool
type label = vertex
val create : label -> t
val label : t -> label
end
type vertex = V.t
module E :
sig
type t
val compare : t -> t -> int
type vertex = vertex
val src : t -> vertex
val dst : t -> vertex
type label
val create : vertex -> label -> vertex -> t
val label : t -> label
end
type edge = E.t
val is_directed : bool
val is_empty : t -> bool
val nb_vertex : t -> int
val nb_edges : t -> int
val out_degree : t -> vertex -> int
val in_degree : t -> vertex -> int
val mem_vertex : t -> vertex -> bool
val mem_edge : t -> vertex -> vertex -> bool
val mem_edge_e : t -> edge -> bool
val find_edge : t -> vertex -> vertex -> edge
val find_all_edges : t -> vertex -> vertex -> edge list
val succ : t -> vertex -> vertex list
val pred : t -> vertex -> vertex list
val succ_e : t -> vertex -> edge list
val pred_e : t -> vertex -> edge list
val iter_vertex : (vertex -> unit) -> t -> unit
val fold_vertex : (vertex -> 'a -> 'a) -> t -> 'a -> 'a
val iter_edges : (vertex -> vertex -> unit) -> t -> unit
val fold_edges : (vertex -> vertex -> 'a -> 'a) -> t -> 'a -> 'a
val iter_edges_e : (edge -> unit) -> t -> unit
val fold_edges_e : (edge -> 'a -> 'a) -> t -> 'a -> 'a
val map_vertex : (vertex -> vertex) -> t -> t
val iter_succ : (vertex -> unit) -> t -> vertex -> unit
val iter_pred : (vertex -> unit) -> t -> vertex -> unit
val fold_succ : (vertex -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
val fold_pred : (vertex -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
val iter_succ_e : (edge -> unit) -> t -> vertex -> unit
val fold_succ_e : (edge -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
val iter_pred_e : (edge -> unit) -> t -> vertex -> unit
val fold_pred_e : (edge -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
end
module GView :
sig
type vertex = vertex
type edge = edge
type cluster = cluster
val view :
?aa:bool ->
?delay_node:(vertex -> bool) ->
?delay_edge:(edge -> bool) ->
?delay_cluster:(cluster -> bool) ->
?border_width:int ->
?width:int ->
?height:int ->
?packing:(GObj.widget -> unit) ->
?show:bool ->
(vertex, edge, cluster) DGraphModel.abstract_model ->
(vertex, edge, cluster) DGraphView.view
end
module TView :
sig
type vertex = Tree.V.t
type edge = Tree.E.t
type cluster = cluster
val view :
?aa:bool ->
?delay_node:(vertex -> bool) ->
?delay_edge:(edge -> bool) ->
?delay_cluster:(cluster -> bool) ->
?border_width:int ->
?width:int ->
?height:int ->
?packing:(GObj.widget -> unit) ->
?show:bool ->
(vertex, edge, cluster) DGraphModel.abstract_model ->
(vertex, edge, cluster) DGraphView.view
end
type global_view = (vertex, edge, cluster) DGraphView.view
type tree_view = (Tree.V.t, Tree.E.t, cluster) DGraphView.view
class view_container :
?packing:(GObj.widget -> unit) ->
?status:status ->
?default_callbacks:bool ->
mk_global_view:(unit -> global_view) ->
mk_tree_view:(depth_backward:int ->
depth_forward:int ->
Gtk.widget Gtk.obj -> vertex -> tree_view) ->
vertex option ->
[vertex, edge, cluster, Tree.V.t, Tree.E.t, cluster]
view_container_type
val from_graph :
?packing:(GObj.widget -> unit) ->
?status:DGraphContainer.status ->
?default_callbacks:bool ->
?mk_global_view:((G.V.t, G.E.t, DGraphContainer.cluster)
DGraphModel.abstract_model -> global_view) ->
?mk_tree_view:((Tree.V.t, Tree.E.t, DGraphContainer.cluster)
DGraphModel.abstract_model -> tree_view) ->
?root:G.vertex -> G.t -> view_container
val from_graph_with_commands :
?packing:(GObj.widget -> unit) ->
?status:DGraphContainer.status ->
?default_callbacks:bool ->
?mk_global_view:((G.V.t, G.E.t, DGraphContainer.cluster)
DGraphModel.abstract_model -> global_view) ->
?mk_tree_view:((Tree.V.t, Tree.E.t, DGraphContainer.cluster)
DGraphModel.abstract_model -> tree_view) ->
?root:G.vertex -> G.t -> GPack.table * view_container
end
module Dot :
sig
type graph = DGraphModel.DotG.t
type vertex = DGraphModel.DotG.V.t
type edge = DGraphModel.DotG.E.t
module Tree :
sig
type t
module V :
sig
type t
val compare : t -> t -> int
val hash : t -> int
val equal : t -> t -> bool
type label = vertex
val create : label -> t
val label : t -> label
end
type vertex = V.t
module E :
sig
type t
val compare : t -> t -> int
type vertex = vertex
val src : t -> vertex
val dst : t -> vertex
type label
val create : vertex -> label -> vertex -> t
val label : t -> label
end
type edge = E.t
val is_directed : bool
val is_empty : t -> bool
val nb_vertex : t -> int
val nb_edges : t -> int
val out_degree : t -> vertex -> int
val in_degree : t -> vertex -> int
val mem_vertex : t -> vertex -> bool
val mem_edge : t -> vertex -> vertex -> bool
val mem_edge_e : t -> edge -> bool
val find_edge : t -> vertex -> vertex -> edge
val find_all_edges : t -> vertex -> vertex -> edge list
val succ : t -> vertex -> vertex list
val pred : t -> vertex -> vertex list
val succ_e : t -> vertex -> edge list
val pred_e : t -> vertex -> edge list
val iter_vertex : (vertex -> unit) -> t -> unit
val fold_vertex : (vertex -> 'a -> 'a) -> t -> 'a -> 'a
val iter_edges : (vertex -> vertex -> unit) -> t -> unit
val fold_edges : (vertex -> vertex -> 'a -> 'a) -> t -> 'a -> 'a
val iter_edges_e : (edge -> unit) -> t -> unit
val fold_edges_e : (edge -> 'a -> 'a) -> t -> 'a -> 'a
val map_vertex : (vertex -> vertex) -> t -> t
val iter_succ : (vertex -> unit) -> t -> vertex -> unit
val iter_pred : (vertex -> unit) -> t -> vertex -> unit
val fold_succ : (vertex -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
val fold_pred : (vertex -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
val iter_succ_e : (edge -> unit) -> t -> vertex -> unit
val fold_succ_e : (edge -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
val iter_pred_e : (edge -> unit) -> t -> vertex -> unit
val fold_pred_e : (edge -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
end
module GView :
sig
type vertex = vertex
type edge = edge
type cluster = cluster
val view :
?aa:bool ->
?delay_node:(vertex -> bool) ->
?delay_edge:(edge -> bool) ->
?delay_cluster:(cluster -> bool) ->
?border_width:int ->
?width:int ->
?height:int ->
?packing:(GObj.widget -> unit) ->
?show:bool ->
(vertex, edge, cluster) DGraphModel.abstract_model ->
(vertex, edge, cluster) DGraphView.view
end
module TView :
sig
type vertex = Tree.V.t
type edge = Tree.E.t
type cluster = cluster
val view :
?aa:bool ->
?delay_node:(vertex -> bool) ->
?delay_edge:(edge -> bool) ->
?delay_cluster:(cluster -> bool) ->
?border_width:int ->
?width:int ->
?height:int ->
?packing:(GObj.widget -> unit) ->
?show:bool ->
(vertex, edge, cluster) DGraphModel.abstract_model ->
(vertex, edge, cluster) DGraphView.view
end
type global_view = (vertex, edge, cluster) DGraphView.view
type tree_view = (Tree.V.t, Tree.E.t, cluster) DGraphView.view
class view_container :
?packing:(GObj.widget -> unit) ->
?status:status ->
?default_callbacks:bool ->
mk_global_view:(unit -> global_view) ->
mk_tree_view:(depth_backward:int ->
depth_forward:int ->
Gtk.widget Gtk.obj -> vertex -> tree_view) ->
vertex option ->
[vertex, edge, cluster, Tree.V.t, Tree.E.t, cluster]
view_container_type
val from_dot :
?packing:(GObj.widget -> unit) ->
?status:DGraphContainer.status ->
?default_callbacks:bool ->
?mk_global_view:((DGraphModel.DotG.V.t, DGraphModel.DotG.E.t,
DGraphModel.cluster)
DGraphModel.abstract_model -> global_view) ->
?mk_tree_view:((Tree.V.t, Tree.E.t, DGraphModel.cluster)
DGraphModel.abstract_model -> tree_view) ->
string -> view_container
val from_dot_with_commands :
?packing:(GObj.widget -> unit) ->
?status:DGraphContainer.status ->
?default_callbacks:bool ->
?mk_global_view:((DGraphModel.DotG.V.t, DGraphModel.DotG.E.t,
DGraphModel.cluster)
DGraphModel.abstract_model -> global_view) ->
?mk_tree_view:((Tree.V.t, Tree.E.t, DGraphModel.cluster)
DGraphModel.abstract_model -> tree_view) ->
string -> GPack.table * view_container
end
end