This namespace contains utilities for displaying trees as flow graphs.

Classes

  ClassDescription
Public classFlowLayoutModel<(Of <(<'TNode>)>)>
Stores the information used to display a tree as a flow graph.
Public classFlowLayoutTransformer<(Of <(<'TNode>)>)>
This class generates a flow graph layout based on a tree.

Interfaces

  InterfaceDescription
Public interfaceIFlowCanvas<(Of <(<'TNode>)>)>
This interface represents the drawing area that the flow graph is drawn on.
Public interfaceIFlowNodeTransformer<(Of <(<'TNode>)>)>
This interface provides some information on how to represent tree nodes in a flow graph.

Enumerations

  EnumerationDescription
Public enumerationElementType
The values in this enumeration represent the elements found in a flow graph.

Remarks

This namespace contains types for displaying a tree as a (non-circular) flow graph. This can be used, for example, to transform boolean expression trees into filter/flow graphs as described by Ben Shneiderman in his 1991 publication Visual User Interfaces for Information Exploration (and more in-depth by Degi Young and Ben Shneiderman in their 1993 publication A Graphical Filter/Flow Representation of Boolean Queries: A Prototype Implementation and Evaluation).

The first step in the transformation is an implementation of the INodeTransformer<(Of <(<'TNode>)>)> interface. That implementation determines which tree nodes will be converted into sequences, junctions, or simple nodes in the resulting graph. A FlowLayoutTransformer<(Of <(<'TNode>)>)> instance can then create an appropriate flow graph.