(** {1 LablGtk "widget" for rendering Graphviz graphs and connecting to clicks
* on nodes, edges, ...} *)
+type attribute = string * string (* <key, value> pair *)
+
class type graphviz_widget =
object
* GtkImage widget
* 2) render it to a (HTML) map, internalizing its data.
* Remember that map entries are generated only for nodes, (edges, ...)
- * that have an "href" (or "URL", a synonym) attribute *)
- method load_graph_from_file: string -> unit
+ * that have an "href" (or "URL", a synonym) attribute
+ * Interesting values for gviz_cmd are:
+ * 'neato'
+ * 'dot'
+ * 'tred | dot'
+ *)
+ method load_graph_from_file: ?gviz_cmd:string -> string -> unit
(** Callback invoked when a click on a node listed in the map is received.
* @param gdk's button event
* (e.g.: [ "shape","rect"; "href","http://foo.bar.com/";
* "title","foo"; "alt","description"; "coords","41,6,113,54" ] *)
method connect_href:
- (GdkEvent.Button.t -> (string * string) list -> unit) -> unit
+ (GdkEvent.Button.t -> attribute list -> unit) -> unit
+
+ (** Center the viewport on the node having the given href value, if any *)
+ method center_on_href: string -> unit
(** {3 low level access to embedded widgets}
* Containment hierarchy:
(** {2 Constructors} *)
-val gDot: ?packing:(GObj.widget -> unit) -> unit -> graphviz_widget
-val gNeato: ?packing:(GObj.widget -> unit) -> unit -> graphviz_widget
-val gTwopi: ?packing:(GObj.widget -> unit) -> unit -> graphviz_widget
-val gCirco: ?packing:(GObj.widget -> unit) -> unit -> graphviz_widget
-val gFdp: ?packing:(GObj.widget -> unit) -> unit -> graphviz_widget
+val graphviz: ?packing:(GObj.widget -> unit) -> unit -> graphviz_widget