graphviz-2999.11.0.0: Graphviz bindings for Haskell.

MaintainerIvan.Miljenovic@gmail.com

Data.GraphViz.Types.Generalised

Contents

Description

This module provides an alternate definition of the types found in Data.GraphViz.Types, in that the ordering constraint found in DotStatements is no longer present. All other limitations/constraints are still present however.

The types here have the same names as those in Data.GraphViz.Types but with a prefix of "G".

This module is partially experimental, and may change in the future.

Synopsis

The overall representation of a graph in generalised Dot format.

data GDotGraph a Source

The internal representation of a generalised graph in Dot form.

Constructors

GDotGraph 

Fields

gStrictGraph :: Bool

If True, no multiple edges are drawn.

gDirectedGraph :: Bool
 
gGraphID :: Maybe GraphID
 
gGraphStatements :: GDotStatements a
 

Instances

Sub-components of a GDotGraph.

Re-exported from Data.GraphViz.Types.

data GraphID Source

A polymorphic type that covers all possible ID values allowed by Dot syntax. Note that whilst the ParseDot and PrintDot instances for String will properly take care of the special cases for numbers, they are treated differently here.

Constructors

Str String 
Int Int 
Dbl Double 

data GlobalAttributes Source

Represents a list of top-level list of Attributes for the entire graph/sub-graph. Note that GraphAttrs also applies to DotSubGraphs.

Note that Dot allows a single Attribute to be listen on a line; if this is the case then when parsing, the type of Attribute it is determined and that type of GlobalAttribute is created.

Constructors

GraphAttrs 

Fields

attrs :: Attributes
 
NodeAttrs 

Fields

attrs :: Attributes
 
EdgeAttrs 

Fields

attrs :: Attributes
 

data DotNode a Source

A node in DotGraph.

Constructors

DotNode 

Instances

Functor DotNode 
Eq a => Eq (DotNode a) 
Ord a => Ord (DotNode a) 
Read a => Read (DotNode a) 
Show a => Show (DotNode a) 
ParseDot a => ParseDot (DotNode a) 
PrintDot a => PrintDot (DotNode a) 

data DotEdge a Source

An edge in DotGraph.

Instances

Functor DotEdge 
Eq a => Eq (DotEdge a) 
Ord a => Ord (DotEdge a) 
Read a => Read (DotEdge a) 
Show a => Show (DotEdge a) 
ParseDot a => ParseDot (DotEdge a) 
PrintDot a => PrintDot (DotEdge a) 

Conversion from a DotGraph.

generaliseDotGraph :: DotGraph a -> GDotGraph aSource

Convert a DotGraph to a GDotGraph, keeping the same order of statements.