# Class type DGraphView.view

    class type [['a, 'b, 'c]] view = object .. end

Graph widget derived from `GnoCanvas.canvas`. Support zooming and scrolling.
Inherits

- `GnoCanvas.canvas`

    method model : ('a, 'b, 'c) DGraphModel.abstract_model

## Getters

    method get_node : 'a -> 'a DGraphViewItem.view_item

    method get_edge : 'b -> 'b DGraphViewItem.view_item

    method get_cluster : 'c -> 'c DGraphViewItem.view_item

## Iterators

    method iter_nodes : ('a DGraphViewItem.view_item -> unit) -> unit

    method iter_edges : ('a DGraphViewItem.view_item -> 'a DGraphViewItem.view_item -> unit) -> unit

    method iter_edges_e : ('b DGraphViewItem.view_item -> unit) -> unit

    method iter_clusters : ('c DGraphViewItem.view_item -> unit) -> unit

    method iter_succ : ('a DGraphViewItem.view_item -> unit) -> 'a DGraphViewItem.view_item -> unit

    method iter_pred : ('a DGraphViewItem.view_item -> unit) -> 'a DGraphViewItem.view_item -> unit

    method iter_succ_e : ('b DGraphViewItem.view_item -> unit) -> 'a DGraphViewItem.view_item -> unit

    method iter_pred_e : ('b DGraphViewItem.view_item -> unit) -> 'a DGraphViewItem.view_item -> unit

    method iter_associated_vertex : ('a DGraphViewItem.view_item -> unit) -> 'a DGraphViewItem.view_item -> unit

## Membership functions

    method mem_edge : 'a DGraphViewItem.view_item -> 'a DGraphViewItem.view_item -> bool

    method find_edge : 'a DGraphViewItem.view_item ->
           'a DGraphViewItem.view_item -> 'b DGraphViewItem.view_item

    method src : 'b DGraphViewItem.view_item -> 'a DGraphViewItem.view_item

    method dst : 'b DGraphViewItem.view_item -> 'a DGraphViewItem.view_item

## Zooming

    method zoom_factor : float

The current zoom factor.

    method zoom_to : float -> unit

Set an absolute zoom factor.

    method zoom_in : unit -> unit

Increase `zoom_factor` by `zoom_factor*zoom_padding`.

    method zoom_out : unit -> unit

Decrease `zoom_factor` by `zoom_factor*zoom_padding`.

    method adapt_zoom : unit -> unit

Zoom in order to view the whole graph (bird eye view).

    method set_zoom_padding : float -> unit

Set the zoom padding used by `zoom_in` and `zoom_out`. It defaults to 0.1.

    method center_node : 'a DGraphViewItem.view_item -> unit

Center canvas on a node.

## Highlighting

    method connect_highlighting_event : unit -> unit

    method highlight : ?color:int32 * int32 -> 'a DGraphViewItem.view_item -> unit

Change the color of the given vertex item. May be cancelled by `dehighlight`. If `color` is `primary,secondary`, then `primary` is used except if the current color is `primary`. In this case, `secondary` is used.

    method dehighlight : 'a DGraphViewItem.view_item -> unit

Cancel `highlight`.