Binding for the daVinci graph visualization tool.
This library supports the visualization of graphs by the
daVinci graph drawing tool
through the following features:
Author: Johannes Koj (with modifications by Michael Hanus)
Version: August 2003
| Exported names: |
Datatypes:
DvEdge
| DvGraph
| DvId
| DvNode
| DvScheduleMsg
| DvWindow
Functions:
dvAddEdge
| dvAddNode
| dvDelEdge
| dvDisplay
| dvDisplayInit
| dvEmptyH
| dvNewGraph
| dvNodeWithEdges
| dvSetClickHandler
| dvSetEdgeColor
| dvSetNodeColor
| dvSimpleEdge
| dvSimpleNode
| Summary of exported functions: |
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
| Imported modules: |
| Exported datatypes: |
Type synonym: DvWindow = Port DvScheduleMsg
The abstract datatype for identifying nodes in a graph. Used by the various functions to create and manipulate graphs.
Constructors:
The abstract datatype for graphs represented by daVinci.
Such graphs are constructed from a list of nodes by the
function dvNewGraph.
Constructors:
The abstract datatype for nodes in a graph represented by daVinci.
Nodes are constructed by the functions
dvSimpleNode and dvNodeWithEdges.
Constructors:
The abstract datatype for edges in a graph represented by daVinci.
Edges are constructed by the function dvSimpleEdge.
Constructors:
The abstract datatype for communicating with the daVinci
visualization tool. The constructors of this datatype
are not important since all communications are wrapped
in this library. The only relevant point is that
Port DvScheduleMsg -> Success
is the type of an event handler that can manipulate a graph
visualized by daVinci (see dvSetNodeColor,
dvAddNode etc).
Constructors:
| Exported functions: |
:: DvGraph -> IO ()
Displays a graph with daVinci and run the scheduler for handling events.
:: DvGraph -> (Port DvScheduleMsg -> Success) -> IO ()
Displays a graph with daVinci and run the scheduler for handling events after performing some initialization events.
:: [DvNode] -> DvGraph
Constructs a new graph from a list of nodes.
:: DvId -> String -> (Port DvScheduleMsg -> Success) -> DvNode
A node without outgoing edges.
Example call: (dvSimpleNode node label clickH)
node
- a graph identifier (usually: a free variable)
label
- a label written at this node
clickH
- an event hander to be executed whenver the user clicks
on this node
:: DvId -> String -> [DvEdge] -> (Port DvScheduleMsg -> Success) -> DvNode
A node with a list of outgoing edges.
Example call: (dvNodeWithEdges node label edges clickH)
node
- a graph identifier (usually: a free variable)
label
- a label written at this node
edges
- a list of outgoing edges
clickH
- an event hander to be executed whenver the user clicks
on this node
:: DvId -> DvId -> (Port DvScheduleMsg -> Success) -> DvEdge
An edge to a particular node.
Example call: (dvSimpleEdge edge node clickH)
edge
- a graph identifier for this edge (usually: a free variable)
node
- a graph identifier of the target node
clickH
- an event hander to be executed whenver the user clicks
on this edge
:: DvId -> String -> Port DvScheduleMsg -> Success
An event handler that sets the color (second argument) of a node.
:: DvId -> String -> (Port DvScheduleMsg -> Success) -> Port DvScheduleMsg -> Success
An event handler that adds a new node to the graph.
:: DvId -> String -> Port DvScheduleMsg -> Success
An event handler that sets the color (second argument) of an edge.
:: DvId -> DvId -> DvId -> (Port DvScheduleMsg -> Success) -> Port DvScheduleMsg -> Success
An event handler that adds a new edge to the graph.
:: DvId -> Port DvScheduleMsg -> Success
An event handler that deletes an existing edge from the graph.
:: DvId -> (Port DvScheduleMsg -> Success) -> Port DvScheduleMsg -> Success
An event handler that changes the event handler of a node or edge.
:: Port DvScheduleMsg -> Success
The "empty" event handler.