graphviz-2999.20.2.1: Bindings to Graphviz for graph visualisation.

Copyright | (c) Ivan Lazar Miljenovic
License | 3-Clause BSD-style
Maintainer | Ivan.Miljenovic@gmail.com
Safe Haskell | None
Language | Haskell2010

Data.GraphViz.Types

Contents

- Common sub-types
- Helper types for looking up information within a `DotRepr`.
- Obtaining the `DotNode`s and `DotEdges`.
- Printing and parsing a `DotRepr`.
- Limitations and documentation

Description

Four different representations of Dot graphs are available, all of which are based loosely upon the specifications at: http://graphviz.org/doc/info/lang.html. The `DotRepr` class provides a common interface for them (the `PrintDotRepr`, `ParseDotRepr` and `PPDotRepr` classes are used until class aliases are implemented).

Every representation takes in a type parameter: this indicates the node type (e.g. `DotGraph Int` is a Dot graph with integer nodes). Sum types are allowed, though care must be taken when specifying their `ParseDot` instances if there is the possibility of overlapping definitions. The `GraphID` type is an existing sum type that allows textual and numeric values.

If you require using more than one Dot representation, you will most likely need to import at least one of them qualified, as they typically all use the same names.

As a comparison, all four representations provide how you would define the following Dot graph (or at least one isomorphic to it) (the original of which can be found at http://graphviz.org/content/cluster). Note that in all the examples, they are not necessarily done the best way (variables rather than repeated constants, etc.); they are just there to provide a comparison on the structure of each representation.

    digraph G {

      subgraph cluster_0 {
        style=filled;
        color=lightgrey;
        node [style=filled,color=white];
        a0 -> a1 -> a2 -> a3;
        label = "process #1";
      }

      subgraph cluster_1 {
        node [style=filled];
        b0 -> b1 -> b2 -> b3;
        label = "process #2";
        color=blue
      }
      start -> a0;
      start -> b0;
      a1 -> b3;
      b2 -> a3;
      a3 -> a0;
      a3 -> end;
      b3 -> end;

      start [shape=Mdiamond];
      end [shape=Msquare];
    }

Each representation is suited for different things:

Data.GraphViz.Types.Canonical
  is ideal for converting other graph-like data structures into Dot graphs (the Data.GraphViz module provides some functions for this). It is a structured representation of Dot code.
Data.GraphViz.Types.Generalised
  matches the actual structure of Dot code. As such, it is suited for parsing in existing Dot code.
Data.GraphViz.Types.Graph
  provides graph operations for manipulating Dot graphs; this is suited when you want to edit existing Dot code. It uses generalised Dot graphs for parsing and canonical Dot graphs for printing.
Data.GraphViz.Types.Monadic
  is a much easier representation to use when defining relatively static Dot graphs in Haskell code, and looks vaguely like actual Dot code if you squint a bit.

Please also read the limitations section at the end for advice on how to properly use these Dot representations.

Synopsis

- class Ord n => DotRepr (dg :: Type -> Type) n where
  - fromCanonical :: DotGraph n -> dg n
  - getID :: dg n -> Maybe GraphID
  - setID :: GraphID -> dg n -> dg n
  - graphIsDirected :: dg n -> Bool
  - setIsDirected :: Bool -> dg n -> dg n
  - graphIsStrict :: dg n -> Bool
  - setStrictness :: Bool -> dg n -> dg n
  - mapDotGraph :: DotRepr dg n' => (n -> n') -> dg n -> dg n'
  - graphStructureInformation :: dg n -> (GlobalAttributes, ClusterLookup)
  - nodeInformation :: Bool -> dg n -> NodeLookup n
  - edgeInformation :: Bool -> dg n -> [DotEdge n]
  - unAnonymise :: dg n -> dg n
- class PrintDot a where
  - unqtDot :: a -> DotCode
  - toDot :: a -> DotCode
  - unqtListToDot :: [a] -> DotCode
  - listToDot :: [a] -> DotCode
- class ParseDot a where
  - parseUnqt :: Parse a
  - parse :: Parse a
  - parseUnqtList :: Parse [a]
  - parseList :: Parse [a]
- class (DotRepr dg n, PrintDot (dg n)) => PrintDotRepr (dg :: Type -> Type) n
- class (DotRepr dg n, ParseDot (dg n)) => ParseDotRepr (dg :: Type -> Type) n
- class (PrintDotRepr dg n, ParseDotRepr dg n) => PPDotRepr (dg :: Type -> Type) n
- data GraphID
  - = Str Text
  - | Num Number
- data Number
  - = Int Int
  - | Dbl Double
- class ToGraphID a where
  - toGraphID :: a -> GraphID
- textGraphID :: Text -> GraphID
- data GlobalAttributes
  - = GraphAttrs {
    - attrs :: Attributes
    }
  - | NodeAttrs {
    - attrs :: Attributes
    }
  - | EdgeAttrs {
    - attrs :: Attributes
    }
- data DotNode n = DotNode {
  - nodeID :: n
  - nodeAttributes :: Attributes
  }
- data DotEdge n = DotEdge {
  - fromNode :: n
  - toNode :: n
  - edgeAttributes :: Attributes
  }
- type ClusterLookup = Map (Maybe GraphID) ([Path], GlobalAttributes)
- type NodeLookup n = Map n (Path, Attributes)
- type Path = Seq (Maybe GraphID)
- graphStructureInformationClean :: DotRepr dg n => dg n -> (GlobalAttributes, ClusterLookup)
- nodeInformationClean :: DotRepr dg n => Bool -> dg n -> NodeLookup n
- edgeInformationClean :: DotRepr dg n => Bool -> dg n -> [DotEdge n]
- graphNodes :: DotRepr dg n => dg n -> [DotNode n]
- graphEdges :: DotRepr dg n => dg n -> [DotEdge n]
- printDotGraph :: PrintDotRepr dg n => dg n -> Text
- parseDotGraph :: ParseDotRepr dg n => Text -> dg n
- parseDotGraphLiberally :: ParseDotRepr dg n => Text -> dg n

# Documentation

class Ord n => DotRepr (dg :: Type -> Type) n where Source #

This class is used to provide a common interface to different ways of representing a graph in Dot form.

You will most probably not need to create your own instances of this class.

The type variable represents the current node type of the Dot graph, and the `Ord` restriction is there because in practice most implementations of some of these methods require it.

Methods

fromCanonical :: DotGraph n -> dg n Source #

Convert from a graph in canonical form. This is especially useful when using the functions from Data.GraphViz.Algorithms.

See `FromGeneralisedDot` in Data.GraphViz.Types.Generalised for a semi-inverse of this function.

getID :: dg n -> Maybe GraphID Source #

Return the ID of the graph.

setID :: GraphID -> dg n -> dg n Source #

Set the ID of the graph.

graphIsDirected :: dg n -> Bool Source #

Is this graph directed?

setIsDirected :: Bool -> dg n -> dg n Source #

Set whether a graph is directed or not.

graphIsStrict :: dg n -> Bool Source #

Is this graph strict? Strict graphs disallow multiple edges.

setStrictness :: Bool -> dg n -> dg n Source #

A strict graph disallows multiple edges.

mapDotGraph :: DotRepr dg n' => (n -> n') -> dg n -> dg n' Source #

Change the node values. This function is assumed to be injective, otherwise the resulting graph will not be identical to the original (modulo labels).

graphStructureInformation :: dg n -> (GlobalAttributes, ClusterLookup) Source #

Return information on all the clusters contained within this `DotRepr`, as well as the top-level `GraphAttrs` for the overall graph.

nodeInformation :: Bool -> dg n -> NodeLookup n Source #

Return information on the `DotNode`s contained within this `DotRepr`. The `Bool` parameter indicates if applicable `NodeAttrs` should be included.

edgeInformation :: Bool -> dg n -> [DotEdge n] Source #

Return information on the `DotEdge`s contained within this `DotRepr`. The `Bool` parameter indicates if applicable `EdgeAttrs` should be included.

unAnonymise :: dg n -> dg n Source #

Give any anonymous sub-graphs or clusters a unique identifier (i.e. there will be no `Nothing` key in the `ClusterLookup` from `graphStructureInformation`).

#### Instances

Instances details

Ord n => DotRepr DotGraph n Source # |

Instance details

Defined in Data.GraphViz.Types

Methods

fromCanonical :: DotGraph n -> DotGraph n Source #

getID :: DotGraph n -> Maybe GraphID Source #

setID :: GraphID -> DotGraph n -> DotGraph n Source #

graphIsDirected :: DotGraph n -> Bool Source #

setIsDirected :: Bool -> DotGraph n -> DotGraph n Source #

graphIsStrict :: DotGraph n -> Bool Source #

setStrictness :: Bool -> DotGraph n -> DotGraph n Source #

mapDotGraph :: DotRepr DotGraph n' => (n -> n') -> DotGraph n -> DotGraph n' Source #

graphStructureInformation :: DotGraph n -> (GlobalAttributes, ClusterLookup) Source #

nodeInformation :: Bool -> DotGraph n -> NodeLookup n Source #

edgeInformation :: Bool -> DotGraph n -> [DotEdge n] Source #

unAnonymise :: DotGraph n -> DotGraph n Source #

Ord n => DotRepr DotGraph n Source # |

Instance details

Defined in Data.GraphViz.Types.Generalised

Methods

fromCanonical :: DotGraph n -> DotGraph n Source #

getID :: DotGraph n -> Maybe GraphID Source #

setID :: GraphID -> DotGraph n -> DotGraph n Source #

graphIsDirected :: DotGraph n -> Bool Source #

setIsDirected :: Bool -> DotGraph n -> DotGraph n Source #

graphIsStrict :: DotGraph n -> Bool Source #

setStrictness :: Bool -> DotGraph n -> DotGraph n Source #

mapDotGraph :: DotRepr DotGraph n' => (n -> n') -> DotGraph n -> DotGraph n' Source #

graphStructureInformation :: DotGraph n -> (GlobalAttributes, ClusterLookup) Source #

nodeInformation :: Bool -> DotGraph n -> NodeLookup n Source #

edgeInformation :: Bool -> DotGraph n -> [DotEdge n] Source #

unAnonymise :: DotGraph n -> DotGraph n Source #

Ord n => DotRepr DotGraph n Source # |

Instance details

Defined in Data.GraphViz.Types.Graph

Methods

fromCanonical :: DotGraph n -> DotGraph n Source #

getID :: DotGraph n -> Maybe GraphID Source #

setID :: GraphID -> DotGraph n -> DotGraph n Source #

graphIsDirected :: DotGraph n -> Bool Source #

setIsDirected :: Bool -> DotGraph n -> DotGraph n Source #

graphIsStrict :: DotGraph n -> Bool Source #

setStrictness :: Bool -> DotGraph n -> DotGraph n Source #

mapDotGraph :: DotRepr DotGraph n' => (n -> n') -> DotGraph n -> DotGraph n' Source #

graphStructureInformation :: DotGraph n -> (GlobalAttributes, ClusterLookup) Source #

nodeInformation :: Bool -> DotGraph n -> NodeLookup n Source #

edgeInformation :: Bool -> DotGraph n -> [DotEdge n] Source #

unAnonymise :: DotGraph n -> DotGraph n Source #

class PrintDot a where Source #

A class used to correctly print parts of the Graphviz Dot language. Minimal implementation is `unqtDot`.

Minimal complete definition

unqtDot

Methods

unqtDot :: a -> DotCode Source #

The unquoted representation, for use when composing values to produce a larger printing value.

toDot :: a -> DotCode Source #

The actual quoted representation; this should be quoted if it contains characters not permitted a plain ID String, a number or it is not an HTML string. Defaults to `unqtDot`.

unqtListToDot :: [a] -> DotCode Source #

The correct way of representing a list of this value when printed; not all Dot values require this to be implemented. Defaults to Haskell-like list representation.

listToDot :: [a] -> DotCode Source #

The quoted form of `unqtListToDot`; defaults to wrapping double quotes around the result of `unqtListToDot` (since the default implementation has characters that must be quoted).

#### Instances

Instances details

PrintDot Version Source # | Ignores `versionTags` and assumes 'not . null . versionBranch' (usually you want 'length . versionBranch == 2').
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: Version -> DotCode Source # toDot :: Version -> DotCode Source # unqtListToDot :: [Version] -> DotCode Source # listToDot :: [Version] -> DotCode Source #
PrintDot Word16 Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: Word16 -> DotCode Source # toDot :: Word16 -> DotCode Source # unqtListToDot :: [Word16] -> DotCode Source # listToDot :: [Word16] -> DotCode Source #
PrintDot Word32 Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: Word32 -> DotCode Source # toDot :: Word32 -> DotCode Source # unqtListToDot :: [Word32] -> DotCode Source # listToDot :: [Word32] -> DotCode Source #
PrintDot Word64 Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: Word64 -> DotCode Source # toDot :: Word64 -> DotCode Source # unqtListToDot :: [Word64] -> DotCode Source # listToDot :: [Word64] -> DotCode Source #
PrintDot Word8 Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: Word8 -> DotCode Source # toDot :: Word8 -> DotCode Source # unqtListToDot :: [Word8] -> DotCode Source # listToDot :: [Word8] -> DotCode Source #
PrintDot ArrowFill Source # |
Instance details Defined in Data.GraphViz.Attributes.Arrows Methods unqtDot :: ArrowFill -> DotCode Source # toDot :: ArrowFill -> DotCode Source # unqtListToDot :: [ArrowFill] -> DotCode Source # listToDot :: [ArrowFill] -> DotCode Source #
PrintDot ArrowModifier Source # |
Instance details Defined in Data.GraphViz.Attributes.Arrows Methods unqtDot :: ArrowModifier -> DotCode Source # toDot :: ArrowModifier -> DotCode Source # unqtListToDot :: [ArrowModifier] -> DotCode Source # listToDot :: [ArrowModifier] -> DotCode Source #
PrintDot ArrowShape Source # |
Instance details Defined in Data.GraphViz.Attributes.Arrows Methods unqtDot :: ArrowShape -> DotCode Source # toDot :: ArrowShape -> DotCode Source # unqtListToDot :: [ArrowShape] -> DotCode Source # listToDot :: [ArrowShape] -> DotCode Source #
PrintDot ArrowSide Source # |
Instance details Defined in Data.GraphViz.Attributes.Arrows Methods unqtDot :: ArrowSide -> DotCode Source # toDot :: ArrowSide -> DotCode Source # unqtListToDot :: [ArrowSide] -> DotCode Source # listToDot :: [ArrowSide] -> DotCode Source #
PrintDot ArrowType Source # |
Instance details Defined in Data.GraphViz.Attributes.Arrows Methods unqtDot :: ArrowType -> DotCode Source # toDot :: ArrowType -> DotCode Source # unqtListToDot :: [ArrowType] -> DotCode Source # listToDot :: [ArrowType] -> DotCode Source #
PrintDot BrewerName Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: BrewerName -> DotCode Source # toDot :: BrewerName -> DotCode Source # unqtListToDot :: [BrewerName] -> DotCode Source # listToDot :: [BrewerName] -> DotCode Source #
PrintDot BrewerScheme Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: BrewerScheme -> DotCode Source # toDot :: BrewerScheme -> DotCode Source # unqtListToDot :: [BrewerScheme] -> DotCode Source # listToDot :: [BrewerScheme] -> DotCode Source #
PrintDot ColorScheme Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: ColorScheme -> DotCode Source # toDot :: ColorScheme -> DotCode Source # unqtListToDot :: [ColorScheme] -> DotCode Source # listToDot :: [ColorScheme] -> DotCode Source #
PrintDot Color Source # |
Instance details Defined in Data.GraphViz.Attributes.Colors Methods unqtDot :: Color -> DotCode Source # toDot :: Color -> DotCode Source # unqtListToDot :: [Color] -> DotCode Source # listToDot :: [Color] -> DotCode Source #
PrintDot WeightedColor Source # |
Instance details Defined in Data.GraphViz.Attributes.Colors Methods unqtDot :: WeightedColor -> DotCode Source # toDot :: WeightedColor -> DotCode Source # unqtListToDot :: [WeightedColor] -> DotCode Source # listToDot :: [WeightedColor] -> DotCode Source #
PrintDot SVGColor Source # |
Instance details Defined in Data.GraphViz.Attributes.Colors.SVG Methods unqtDot :: SVGColor -> DotCode Source # toDot :: SVGColor -> DotCode Source # unqtListToDot :: [SVGColor] -> DotCode Source # listToDot :: [SVGColor] -> DotCode Source #
PrintDot X11Color Source # |
Instance details Defined in Data.GraphViz.Attributes.Colors.X11 Methods unqtDot :: X11Color -> DotCode Source # toDot :: X11Color -> DotCode Source # unqtListToDot :: [X11Color] -> DotCode Source # listToDot :: [X11Color] -> DotCode Source #
PrintDot Attribute Source # |
Instance details Defined in Data.GraphViz.Attributes.Complete Methods unqtDot :: Attribute -> DotCode Source # toDot :: Attribute -> DotCode Source # unqtListToDot :: [Attribute] -> DotCode Source # listToDot :: [Attribute] -> DotCode Source #
PrintDot Align Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: Align -> DotCode Source # toDot :: Align -> DotCode Source # unqtListToDot :: [Align] -> DotCode Source # listToDot :: [Align] -> DotCode Source #
PrintDot Attribute Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: Attribute -> DotCode Source # toDot :: Attribute -> DotCode Source # unqtListToDot :: [Attribute] -> DotCode Source # listToDot :: [Attribute] -> DotCode Source #
PrintDot Cell Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: Cell -> DotCode Source # toDot :: Cell -> DotCode Source # unqtListToDot :: [Cell] -> DotCode Source # listToDot :: [Cell] -> DotCode Source #
PrintDot CellFormat Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: CellFormat -> DotCode Source # toDot :: CellFormat -> DotCode Source # unqtListToDot :: [CellFormat] -> DotCode Source # listToDot :: [CellFormat] -> DotCode Source #
PrintDot Format Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: Format -> DotCode Source # toDot :: Format -> DotCode Source # unqtListToDot :: [Format] -> DotCode Source # listToDot :: [Format] -> DotCode Source #
PrintDot Img Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: Img -> DotCode Source # toDot :: Img -> DotCode Source # unqtListToDot :: [Img] -> DotCode Source # listToDot :: [Img] -> DotCode Source #
PrintDot Label Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: Label -> DotCode Source # toDot :: Label -> DotCode Source # unqtListToDot :: [Label] -> DotCode Source # listToDot :: [Label] -> DotCode Source #
PrintDot Row Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: Row -> DotCode Source # toDot :: Row -> DotCode Source # unqtListToDot :: [Row] -> DotCode Source # listToDot :: [Row] -> DotCode Source #
PrintDot Scale Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: Scale -> DotCode Source # toDot :: Scale -> DotCode Source # unqtListToDot :: [Scale] -> DotCode Source # listToDot :: [Scale] -> DotCode Source #
PrintDot Side Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: Side -> DotCode Source # toDot :: Side -> DotCode Source # unqtListToDot :: [Side] -> DotCode Source # listToDot :: [Side] -> DotCode Source #
PrintDot Style Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: Style -> DotCode Source # toDot :: Style -> DotCode Source # unqtListToDot :: [Style] -> DotCode Source # listToDot :: [Style] -> DotCode Source #
PrintDot Table Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: Table -> DotCode Source # toDot :: Table -> DotCode Source # unqtListToDot :: [Table] -> DotCode Source # listToDot :: [Table] -> DotCode Source #
PrintDot TextItem Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: TextItem -> DotCode Source # toDot :: TextItem -> DotCode Source # unqtListToDot :: [TextItem] -> DotCode Source # listToDot :: [TextItem] -> DotCode Source #
PrintDot VAlign Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods unqtDot :: VAlign -> DotCode Source # toDot :: VAlign -> DotCode Source # unqtListToDot :: [VAlign] -> DotCode Source # listToDot :: [VAlign] -> DotCode Source #
PrintDot CompassPoint Source # |
Instance details Defined in Data.GraphViz.Attributes.Internal Methods unqtDot :: CompassPoint -> DotCode Source # toDot :: CompassPoint -> DotCode Source # unqtListToDot :: [CompassPoint] -> DotCode Source # listToDot :: [CompassPoint] -> DotCode Source #
PrintDot PortName Source # |
Instance details Defined in Data.GraphViz.Attributes.Internal Methods unqtDot :: PortName -> DotCode Source # toDot :: PortName -> DotCode Source # unqtListToDot :: [PortName] -> DotCode Source # listToDot :: [PortName] -> DotCode Source #
PrintDot PortPos Source # |
Instance details Defined in Data.GraphViz.Attributes.Internal Methods unqtDot :: PortPos -> DotCode Source # toDot :: PortPos -> DotCode Source # unqtListToDot :: [PortPos] -> DotCode Source # listToDot :: [PortPos] -> DotCode Source #
PrintDot ClusterMode Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: ClusterMode -> DotCode Source # toDot :: ClusterMode -> DotCode Source # unqtListToDot :: [ClusterMode] -> DotCode Source # listToDot :: [ClusterMode] -> DotCode Source #
PrintDot DEConstraints Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: DEConstraints -> DotCode Source # toDot :: DEConstraints -> DotCode Source # unqtListToDot :: [DEConstraints] -> DotCode Source # listToDot :: [DEConstraints] -> DotCode Source #
PrintDot DPoint Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: DPoint -> DotCode Source # toDot :: DPoint -> DotCode Source # unqtListToDot :: [DPoint] -> DotCode Source # listToDot :: [DPoint] -> DotCode Source #
PrintDot DirType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: DirType -> DotCode Source # toDot :: DirType -> DotCode Source # unqtListToDot :: [DirType] -> DotCode Source # listToDot :: [DirType] -> DotCode Source #
PrintDot EdgeType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: EdgeType -> DotCode Source # toDot :: EdgeType -> DotCode Source # unqtListToDot :: [EdgeType] -> DotCode Source # listToDot :: [EdgeType] -> DotCode Source #
PrintDot FocusType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: FocusType -> DotCode Source # toDot :: FocusType -> DotCode Source # unqtListToDot :: [FocusType] -> DotCode Source # listToDot :: [FocusType] -> DotCode Source #
PrintDot GraphSize Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: GraphSize -> DotCode Source # toDot :: GraphSize -> DotCode Source # unqtListToDot :: [GraphSize] -> DotCode Source # listToDot :: [GraphSize] -> DotCode Source #
PrintDot Justification Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Justification -> DotCode Source # toDot :: Justification -> DotCode Source # unqtListToDot :: [Justification] -> DotCode Source # listToDot :: [Justification] -> DotCode Source #
PrintDot Label Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Label -> DotCode Source # toDot :: Label -> DotCode Source # unqtListToDot :: [Label] -> DotCode Source # listToDot :: [Label] -> DotCode Source #
PrintDot LabelScheme Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: LabelScheme -> DotCode Source # toDot :: LabelScheme -> DotCode Source # unqtListToDot :: [LabelScheme] -> DotCode Source # listToDot :: [LabelScheme] -> DotCode Source #
PrintDot LayerID Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: LayerID -> DotCode Source # toDot :: LayerID -> DotCode Source # unqtListToDot :: [LayerID] -> DotCode Source # listToDot :: [LayerID] -> DotCode Source #
PrintDot LayerList Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: LayerList -> DotCode Source # toDot :: LayerList -> DotCode Source # unqtListToDot :: [LayerList] -> DotCode Source # listToDot :: [LayerList] -> DotCode Source #
PrintDot LayerListSep Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: LayerListSep -> DotCode Source # toDot :: LayerListSep -> DotCode Source # unqtListToDot :: [LayerListSep] -> DotCode Source # listToDot :: [LayerListSep] -> DotCode Source #
PrintDot LayerRangeElem Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: LayerRangeElem -> DotCode Source # toDot :: LayerRangeElem -> DotCode Source # unqtListToDot :: [LayerRangeElem] -> DotCode Source # listToDot :: [LayerRangeElem] -> DotCode Source #
PrintDot LayerSep Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: LayerSep -> DotCode Source # toDot :: LayerSep -> DotCode Source # unqtListToDot :: [LayerSep] -> DotCode Source # listToDot :: [LayerSep] -> DotCode Source #
PrintDot ModeType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: ModeType -> DotCode Source # toDot :: ModeType -> DotCode Source # unqtListToDot :: [ModeType] -> DotCode Source # listToDot :: [ModeType] -> DotCode Source #
PrintDot Model Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Model -> DotCode Source # toDot :: Model -> DotCode Source # unqtListToDot :: [Model] -> DotCode Source # listToDot :: [Model] -> DotCode Source #
PrintDot NodeSize Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: NodeSize -> DotCode Source # toDot :: NodeSize -> DotCode Source # unqtListToDot :: [NodeSize] -> DotCode Source # listToDot :: [NodeSize] -> DotCode Source #
PrintDot Normalized Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Normalized -> DotCode Source # toDot :: Normalized -> DotCode Source # unqtListToDot :: [Normalized] -> DotCode Source # listToDot :: [Normalized] -> DotCode Source #
PrintDot Number Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Number -> DotCode Source # toDot :: Number -> DotCode Source # unqtListToDot :: [Number] -> DotCode Source # listToDot :: [Number] -> DotCode Source #
PrintDot Order Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Order -> DotCode Source # toDot :: Order -> DotCode Source # unqtListToDot :: [Order] -> DotCode Source # listToDot :: [Order] -> DotCode Source #
PrintDot OutputMode Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: OutputMode -> DotCode Source # toDot :: OutputMode -> DotCode Source # unqtListToDot :: [OutputMode] -> DotCode Source # listToDot :: [OutputMode] -> DotCode Source #
PrintDot Overlap Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Overlap -> DotCode Source # toDot :: Overlap -> DotCode Source # unqtListToDot :: [Overlap] -> DotCode Source # listToDot :: [Overlap] -> DotCode Source #
PrintDot Pack Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Pack -> DotCode Source # toDot :: Pack -> DotCode Source # unqtListToDot :: [Pack] -> DotCode Source # listToDot :: [Pack] -> DotCode Source #
PrintDot PackMode Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: PackMode -> DotCode Source # toDot :: PackMode -> DotCode Source # unqtListToDot :: [PackMode] -> DotCode Source # listToDot :: [PackMode] -> DotCode Source #
PrintDot PageDir Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: PageDir -> DotCode Source # toDot :: PageDir -> DotCode Source # unqtListToDot :: [PageDir] -> DotCode Source # listToDot :: [PageDir] -> DotCode Source #
PrintDot Paths Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Paths -> DotCode Source # toDot :: Paths -> DotCode Source # unqtListToDot :: [Paths] -> DotCode Source # listToDot :: [Paths] -> DotCode Source #
PrintDot Point Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Point -> DotCode Source # toDot :: Point -> DotCode Source # unqtListToDot :: [Point] -> DotCode Source # listToDot :: [Point] -> DotCode Source #
PrintDot Pos Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Pos -> DotCode Source # toDot :: Pos -> DotCode Source # unqtListToDot :: [Pos] -> DotCode Source # listToDot :: [Pos] -> DotCode Source #
PrintDot QuadType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: QuadType -> DotCode Source # toDot :: QuadType -> DotCode Source # unqtListToDot :: [QuadType] -> DotCode Source # listToDot :: [QuadType] -> DotCode Source #
PrintDot RankDir Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: RankDir -> DotCode Source # toDot :: RankDir -> DotCode Source # unqtListToDot :: [RankDir] -> DotCode Source # listToDot :: [RankDir] -> DotCode Source #
PrintDot RankType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: RankType -> DotCode Source # toDot :: RankType -> DotCode Source # unqtListToDot :: [RankType] -> DotCode Source # listToDot :: [RankType] -> DotCode Source #
PrintDot Ratios Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Ratios -> DotCode Source # toDot :: Ratios -> DotCode Source # unqtListToDot :: [Ratios] -> DotCode Source # listToDot :: [Ratios] -> DotCode Source #
PrintDot RecordField Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: RecordField -> DotCode Source # toDot :: RecordField -> DotCode Source # unqtListToDot :: [RecordField] -> DotCode Source # listToDot :: [RecordField] -> DotCode Source #
PrintDot Rect Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Rect -> DotCode Source # toDot :: Rect -> DotCode Source # unqtListToDot :: [Rect] -> DotCode Source # listToDot :: [Rect] -> DotCode Source #
PrintDot Root Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Root -> DotCode Source # toDot :: Root -> DotCode Source # unqtListToDot :: [Root] -> DotCode Source # listToDot :: [Root] -> DotCode Source #
PrintDot STStyle Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: STStyle -> DotCode Source # toDot :: STStyle -> DotCode Source # unqtListToDot :: [STStyle] -> DotCode Source # listToDot :: [STStyle] -> DotCode Source #
PrintDot SVGFontNames Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: SVGFontNames -> DotCode Source # toDot :: SVGFontNames -> DotCode Source # unqtListToDot :: [SVGFontNames] -> DotCode Source # listToDot :: [SVGFontNames] -> DotCode Source #
PrintDot ScaleType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: ScaleType -> DotCode Source # toDot :: ScaleType -> DotCode Source # unqtListToDot :: [ScaleType] -> DotCode Source # listToDot :: [ScaleType] -> DotCode Source #
PrintDot Shape Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Shape -> DotCode Source # toDot :: Shape -> DotCode Source # unqtListToDot :: [Shape] -> DotCode Source # listToDot :: [Shape] -> DotCode Source #
PrintDot SmoothType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: SmoothType -> DotCode Source # toDot :: SmoothType -> DotCode Source # unqtListToDot :: [SmoothType] -> DotCode Source # listToDot :: [SmoothType] -> DotCode Source #
PrintDot Spline Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Spline -> DotCode Source # toDot :: Spline -> DotCode Source # unqtListToDot :: [Spline] -> DotCode Source # listToDot :: [Spline] -> DotCode Source #
PrintDot StartType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: StartType -> DotCode Source # toDot :: StartType -> DotCode Source # unqtListToDot :: [StartType] -> DotCode Source # listToDot :: [StartType] -> DotCode Source #
PrintDot StyleItem Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: StyleItem -> DotCode Source # toDot :: StyleItem -> DotCode Source # unqtListToDot :: [StyleItem] -> DotCode Source # listToDot :: [StyleItem] -> DotCode Source #
PrintDot StyleName Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: StyleName -> DotCode Source # toDot :: StyleName -> DotCode Source # unqtListToDot :: [StyleName] -> DotCode Source # listToDot :: [StyleName] -> DotCode Source #
PrintDot VerticalPlacement Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: VerticalPlacement -> DotCode Source # toDot :: VerticalPlacement -> DotCode Source # unqtListToDot :: [VerticalPlacement] -> DotCode Source # listToDot :: [VerticalPlacement] -> DotCode Source #
PrintDot ViewPort Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: ViewPort -> DotCode Source # toDot :: ViewPort -> DotCode Source # unqtListToDot :: [ViewPort] -> DotCode Source # listToDot :: [ViewPort] -> DotCode Source #
PrintDot GraphvizCommand Source # |
Instance details Defined in Data.GraphViz.Commands.Available Methods unqtDot :: GraphvizCommand -> DotCode Source # toDot :: GraphvizCommand -> DotCode Source # unqtListToDot :: [GraphvizCommand] -> DotCode Source # listToDot :: [GraphvizCommand] -> DotCode Source #
PrintDot GlobalAttributes Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods unqtDot :: GlobalAttributes -> DotCode Source # toDot :: GlobalAttributes -> DotCode Source # unqtListToDot :: [GlobalAttributes] -> DotCode Source # listToDot :: [GlobalAttributes] -> DotCode Source #
PrintDot GraphID Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods unqtDot :: GraphID -> DotCode Source # toDot :: GraphID -> DotCode Source # unqtListToDot :: [GraphID] -> DotCode Source # listToDot :: [GraphID] -> DotCode Source #
PrintDot Text Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: Text -> DotCode Source # toDot :: Text -> DotCode Source # unqtListToDot :: [Text] -> DotCode Source # listToDot :: [Text] -> DotCode Source #
PrintDot Text Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: Text -> DotCode Source # toDot :: Text -> DotCode Source # unqtListToDot :: [Text] -> DotCode Source # listToDot :: [Text] -> DotCode Source #
PrintDot Integer Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: Integer -> DotCode Source # toDot :: Integer -> DotCode Source # unqtListToDot :: [Integer] -> DotCode Source # listToDot :: [Integer] -> DotCode Source #
PrintDot Bool Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: Bool -> DotCode Source # toDot :: Bool -> DotCode Source # unqtListToDot :: [Bool] -> DotCode Source # listToDot :: [Bool] -> DotCode Source #
PrintDot Char Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: Char -> DotCode Source # toDot :: Char -> DotCode Source # unqtListToDot :: [Char] -> DotCode Source # listToDot :: [Char] -> DotCode Source #
PrintDot Double Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: Double -> DotCode Source # toDot :: Double -> DotCode Source # unqtListToDot :: [Double] -> DotCode Source # listToDot :: [Double] -> DotCode Source #
PrintDot Int Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: Int -> DotCode Source # toDot :: Int -> DotCode Source # unqtListToDot :: [Int] -> DotCode Source # listToDot :: [Int] -> DotCode Source #
PrintDot n => PrintDot (DotGraph n) Source # |
Instance details Defined in Data.GraphViz.Types.Canonical Methods unqtDot :: DotGraph n -> DotCode Source # toDot :: DotGraph n -> DotCode Source # unqtListToDot :: [DotGraph n] -> DotCode Source # listToDot :: [DotGraph n] -> DotCode Source #
PrintDot n => PrintDot (DotStatements n) Source # |
Instance details Defined in Data.GraphViz.Types.Canonical Methods unqtDot :: DotStatements n -> DotCode Source # toDot :: DotStatements n -> DotCode Source # unqtListToDot :: [DotStatements n] -> DotCode Source # listToDot :: [DotStatements n] -> DotCode Source #
PrintDot n => PrintDot (DotSubGraph n) Source # |
Instance details Defined in Data.GraphViz.Types.Canonical Methods unqtDot :: DotSubGraph n -> DotCode Source # toDot :: DotSubGraph n -> DotCode Source # unqtListToDot :: [DotSubGraph n] -> DotCode Source # listToDot :: [DotSubGraph n] -> DotCode Source #
PrintDot n => PrintDot (DotGraph n) Source # |
Instance details Defined in Data.GraphViz.Types.Generalised Methods unqtDot :: DotGraph n -> DotCode Source # toDot :: DotGraph n -> DotCode Source # unqtListToDot :: [DotGraph n] -> DotCode Source # listToDot :: [DotGraph n] -> DotCode Source #
PrintDot n => PrintDot (DotStatement n) Source # |
Instance details Defined in Data.GraphViz.Types.Generalised Methods unqtDot :: DotStatement n -> DotCode Source # toDot :: DotStatement n -> DotCode Source # unqtListToDot :: [DotStatement n] -> DotCode Source # listToDot :: [DotStatement n] -> DotCode Source #
PrintDot n => PrintDot (DotSubGraph n) Source # |
Instance details Defined in Data.GraphViz.Types.Generalised Methods unqtDot :: DotSubGraph n -> DotCode Source # toDot :: DotSubGraph n -> DotCode Source # unqtListToDot :: [DotSubGraph n] -> DotCode Source # listToDot :: [DotSubGraph n] -> DotCode Source #
PrintDot n => PrintDot (DotGraph n) Source # | Uses the PrintDot instance for canonical `DotGraph`s.
Instance details Defined in Data.GraphViz.Types.Graph Methods unqtDot :: DotGraph n -> DotCode Source # toDot :: DotGraph n -> DotCode Source # unqtListToDot :: [DotGraph n] -> DotCode Source # listToDot :: [DotGraph n] -> DotCode Source #
PrintDot n => PrintDot (DotEdge n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods unqtDot :: DotEdge n -> DotCode Source # toDot :: DotEdge n -> DotCode Source # unqtListToDot :: [DotEdge n] -> DotCode Source # listToDot :: [DotEdge n] -> DotCode Source #
PrintDot n => PrintDot (DotNode n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods unqtDot :: DotNode n -> DotCode Source # toDot :: DotNode n -> DotCode Source # unqtListToDot :: [DotNode n] -> DotCode Source # listToDot :: [DotNode n] -> DotCode Source #
PrintDot a => PrintDot [a] Source # |
Instance details Defined in Data.GraphViz.Printing Methods unqtDot :: [a] -> DotCode Source # toDot :: [a] -> DotCode Source # unqtListToDot :: [[a]] -> DotCode Source # listToDot :: [[a]] -> DotCode Source #

class ParseDot a where Source #

Minimal complete definition

parseUnqt

Methods

parseUnqt :: Parse a Source #

parse :: Parse a Source #

parseUnqtList :: Parse [a] Source #

parseList :: Parse [a] Source #

#### Instances

Instances details

ParseDot Version Source # | Ignores `versionTags` and assumes 'not . null . versionBranch' (usually you want 'length . versionBranch == 2') and that all such values are non-negative.
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse Version Source # parse :: Parse Version Source # parseUnqtList :: Parse [Version] Source # parseList :: Parse [Version] Source #
ParseDot Word16 Source # |
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse Word16 Source # parse :: Parse Word16 Source # parseUnqtList :: Parse [Word16] Source # parseList :: Parse [Word16] Source #
ParseDot Word8 Source # |
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse Word8 Source # parse :: Parse Word8 Source # parseUnqtList :: Parse [Word8] Source # parseList :: Parse [Word8] Source #
ParseDot ArrowFill Source # |
Instance details Defined in Data.GraphViz.Attributes.Arrows Methods parseUnqt :: Parse ArrowFill Source # parse :: Parse ArrowFill Source # parseUnqtList :: Parse [ArrowFill] Source # parseList :: Parse [ArrowFill] Source #
ParseDot ArrowModifier Source # |
Instance details Defined in Data.GraphViz.Attributes.Arrows Methods parseUnqt :: Parse ArrowModifier Source # parse :: Parse ArrowModifier Source # parseUnqtList :: Parse [ArrowModifier] Source # parseList :: Parse [ArrowModifier] Source #
ParseDot ArrowShape Source # |
Instance details Defined in Data.GraphViz.Attributes.Arrows Methods parseUnqt :: Parse ArrowShape Source # parse :: Parse ArrowShape Source # parseUnqtList :: Parse [ArrowShape] Source # parseList :: Parse [ArrowShape] Source #
ParseDot ArrowSide Source # |
Instance details Defined in Data.GraphViz.Attributes.Arrows Methods parseUnqt :: Parse ArrowSide Source # parse :: Parse ArrowSide Source # parseUnqtList :: Parse [ArrowSide] Source # parseList :: Parse [ArrowSide] Source #
ParseDot ArrowType Source # |
Instance details Defined in Data.GraphViz.Attributes.Arrows Methods parseUnqt :: Parse ArrowType Source # parse :: Parse ArrowType Source # parseUnqtList :: Parse [ArrowType] Source # parseList :: Parse [ArrowType] Source #
ParseDot BrewerName Source # |
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse BrewerName Source # parse :: Parse BrewerName Source # parseUnqtList :: Parse [BrewerName] Source # parseList :: Parse [BrewerName] Source #
ParseDot BrewerScheme Source # |
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse BrewerScheme Source # parse :: Parse BrewerScheme Source # parseUnqtList :: Parse [BrewerScheme] Source # parseList :: Parse [BrewerScheme] Source #
ParseDot ColorScheme Source # |
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse ColorScheme Source # parse :: Parse ColorScheme Source # parseUnqtList :: Parse [ColorScheme] Source # parseList :: Parse [ColorScheme] Source #
ParseDot Color Source # |
Instance details Defined in Data.GraphViz.Attributes.Colors Methods parseUnqt :: Parse Color Source # parse :: Parse Color Source # parseUnqtList :: Parse [Color] Source # parseList :: Parse [Color] Source #
ParseDot WeightedColor Source # |
Instance details Defined in Data.GraphViz.Attributes.Colors Methods parseUnqt :: Parse WeightedColor Source # parse :: Parse WeightedColor Source # parseUnqtList :: Parse [WeightedColor] Source # parseList :: Parse [WeightedColor] Source #
ParseDot SVGColor Source # |
Instance details Defined in Data.GraphViz.Attributes.Colors.SVG Methods parseUnqt :: Parse SVGColor Source # parse :: Parse SVGColor Source # parseUnqtList :: Parse [SVGColor] Source # parseList :: Parse [SVGColor] Source #
ParseDot X11Color Source # |
Instance details Defined in Data.GraphViz.Attributes.Colors.X11 Methods parseUnqt :: Parse X11Color Source # parse :: Parse X11Color Source # parseUnqtList :: Parse [X11Color] Source # parseList :: Parse [X11Color] Source #
ParseDot Attribute Source # |
Instance details Defined in Data.GraphViz.Attributes.Complete Methods parseUnqt :: Parse Attribute Source # parse :: Parse Attribute Source # parseUnqtList :: Parse [Attribute] Source # parseList :: Parse [Attribute] Source #
ParseDot Align Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse Align Source # parse :: Parse Align Source # parseUnqtList :: Parse [Align] Source # parseList :: Parse [Align] Source #
ParseDot Attribute Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse Attribute Source # parse :: Parse Attribute Source # parseUnqtList :: Parse [Attribute] Source # parseList :: Parse [Attribute] Source #
ParseDot Cell Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse Cell Source # parse :: Parse Cell Source # parseUnqtList :: Parse [Cell] Source # parseList :: Parse [Cell] Source #
ParseDot CellFormat Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse CellFormat Source # parse :: Parse CellFormat Source # parseUnqtList :: Parse [CellFormat] Source # parseList :: Parse [CellFormat] Source #
ParseDot Format Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse Format Source # parse :: Parse Format Source # parseUnqtList :: Parse [Format] Source # parseList :: Parse [Format] Source #
ParseDot Img Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse Img Source # parse :: Parse Img Source # parseUnqtList :: Parse [Img] Source # parseList :: Parse [Img] Source #
ParseDot Label Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse Label Source # parse :: Parse Label Source # parseUnqtList :: Parse [Label] Source # parseList :: Parse [Label] Source #
ParseDot Row Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse Row Source # parse :: Parse Row Source # parseUnqtList :: Parse [Row] Source # parseList :: Parse [Row] Source #
ParseDot Scale Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse Scale Source # parse :: Parse Scale Source # parseUnqtList :: Parse [Scale] Source # parseList :: Parse [Scale] Source #
ParseDot Side Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse Side Source # parse :: Parse Side Source # parseUnqtList :: Parse [Side] Source # parseList :: Parse [Side] Source #
ParseDot Style Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse Style Source # parse :: Parse Style Source # parseUnqtList :: Parse [Style] Source # parseList :: Parse [Style] Source #
ParseDot Table Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse Table Source # parse :: Parse Table Source # parseUnqtList :: Parse [Table] Source # parseList :: Parse [Table] Source #
ParseDot TextItem Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse TextItem Source # parse :: Parse TextItem Source # parseUnqtList :: Parse [TextItem] Source # parseList :: Parse [TextItem] Source #
ParseDot VAlign Source # |
Instance details Defined in Data.GraphViz.Attributes.HTML Methods parseUnqt :: Parse VAlign Source # parse :: Parse VAlign Source # parseUnqtList :: Parse [VAlign] Source # parseList :: Parse [VAlign] Source #
ParseDot CompassPoint Source # |
Instance details Defined in Data.GraphViz.Attributes.Internal Methods parseUnqt :: Parse CompassPoint Source # parse :: Parse CompassPoint Source # parseUnqtList :: Parse [CompassPoint] Source # parseList :: Parse [CompassPoint] Source #
ParseDot PortName Source # |
Instance details Defined in Data.GraphViz.Attributes.Internal Methods parseUnqt :: Parse PortName Source # parse :: Parse PortName Source # parseUnqtList :: Parse [PortName] Source # parseList :: Parse [PortName] Source #
ParseDot PortPos Source # |
Instance details Defined in Data.GraphViz.Attributes.Internal Methods parseUnqt :: Parse PortPos Source # parse :: Parse PortPos Source # parseUnqtList :: Parse [PortPos] Source # parseList :: Parse [PortPos] Source #
ParseDot ClusterMode Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse ClusterMode Source # parse :: Parse ClusterMode Source # parseUnqtList :: Parse [ClusterMode] Source # parseList :: Parse [ClusterMode] Source #
ParseDot DEConstraints Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse DEConstraints Source # parse :: Parse DEConstraints Source # parseUnqtList :: Parse [DEConstraints] Source # parseList :: Parse [DEConstraints] Source #
ParseDot DPoint Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse DPoint Source # parse :: Parse DPoint Source # parseUnqtList :: Parse [DPoint] Source # parseList :: Parse [DPoint] Source #
ParseDot DirType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse DirType Source # parse :: Parse DirType Source # parseUnqtList :: Parse [DirType] Source # parseList :: Parse [DirType] Source #
ParseDot EdgeType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse EdgeType Source # parse :: Parse EdgeType Source # parseUnqtList :: Parse [EdgeType] Source # parseList :: Parse [EdgeType] Source #
ParseDot FocusType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse FocusType Source # parse :: Parse FocusType Source # parseUnqtList :: Parse [FocusType] Source # parseList :: Parse [FocusType] Source #
ParseDot GraphSize Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse GraphSize Source # parse :: Parse GraphSize Source # parseUnqtList :: Parse [GraphSize] Source # parseList :: Parse [GraphSize] Source #
ParseDot Justification Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Justification Source # parse :: Parse Justification Source # parseUnqtList :: Parse [Justification] Source # parseList :: Parse [Justification] Source #
ParseDot Label Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Label Source # parse :: Parse Label Source # parseUnqtList :: Parse [Label] Source # parseList :: Parse [Label] Source #
ParseDot LabelScheme Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse LabelScheme Source # parse :: Parse LabelScheme Source # parseUnqtList :: Parse [LabelScheme] Source # parseList :: Parse [LabelScheme] Source #
ParseDot LayerID Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse LayerID Source # parse :: Parse LayerID Source # parseUnqtList :: Parse [LayerID] Source # parseList :: Parse [LayerID] Source #
ParseDot LayerList Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse LayerList Source # parse :: Parse LayerList Source # parseUnqtList :: Parse [LayerList] Source # parseList :: Parse [LayerList] Source #
ParseDot LayerListSep Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse LayerListSep Source # parse :: Parse LayerListSep Source # parseUnqtList :: Parse [LayerListSep] Source # parseList :: Parse [LayerListSep] Source #
ParseDot LayerRangeElem Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse LayerRangeElem Source # parse :: Parse LayerRangeElem Source # parseUnqtList :: Parse [LayerRangeElem] Source # parseList :: Parse [LayerRangeElem] Source #
ParseDot LayerSep Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse LayerSep Source # parse :: Parse LayerSep Source # parseUnqtList :: Parse [LayerSep] Source # parseList :: Parse [LayerSep] Source #
ParseDot ModeType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse ModeType Source # parse :: Parse ModeType Source # parseUnqtList :: Parse [ModeType] Source # parseList :: Parse [ModeType] Source #
ParseDot Model Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Model Source # parse :: Parse Model Source # parseUnqtList :: Parse [Model] Source # parseList :: Parse [Model] Source #
ParseDot NodeSize Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse NodeSize Source # parse :: Parse NodeSize Source # parseUnqtList :: Parse [NodeSize] Source # parseList :: Parse [NodeSize] Source #
ParseDot Normalized Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Normalized Source # parse :: Parse Normalized Source # parseUnqtList :: Parse [Normalized] Source # parseList :: Parse [Normalized] Source #
ParseDot Number Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Number Source # parse :: Parse Number Source # parseUnqtList :: Parse [Number] Source # parseList :: Parse [Number] Source #
ParseDot Order Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Order Source # parse :: Parse Order Source # parseUnqtList :: Parse [Order] Source # parseList :: Parse [Order] Source #
ParseDot OutputMode Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse OutputMode Source # parse :: Parse OutputMode Source # parseUnqtList :: Parse [OutputMode] Source # parseList :: Parse [OutputMode] Source #
ParseDot Overlap Source # | Note that `overlap=false` defaults to ``PrismOverlap` Nothing`, but if the Prism library isn't available then it is equivalent to `VoronoiOverlap`.
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Overlap Source # parse :: Parse Overlap Source # parseUnqtList :: Parse [Overlap] Source # parseList :: Parse [Overlap] Source #
ParseDot Pack Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Pack Source # parse :: Parse Pack Source # parseUnqtList :: Parse [Pack] Source # parseList :: Parse [Pack] Source #
ParseDot PackMode Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse PackMode Source # parse :: Parse PackMode Source # parseUnqtList :: Parse [PackMode] Source # parseList :: Parse [PackMode] Source #
ParseDot PageDir Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse PageDir Source # parse :: Parse PageDir Source # parseUnqtList :: Parse [PageDir] Source # parseList :: Parse [PageDir] Source #
ParseDot Paths Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Paths Source # parse :: Parse Paths Source # parseUnqtList :: Parse [Paths] Source # parseList :: Parse [Paths] Source #
ParseDot Point Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Point Source # parse :: Parse Point Source # parseUnqtList :: Parse [Point] Source # parseList :: Parse [Point] Source #
ParseDot Pos Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Pos Source # parse :: Parse Pos Source # parseUnqtList :: Parse [Pos] Source # parseList :: Parse [Pos] Source #
ParseDot QuadType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse QuadType Source # parse :: Parse QuadType Source # parseUnqtList :: Parse [QuadType] Source # parseList :: Parse [QuadType] Source #
ParseDot RankDir Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse RankDir Source # parse :: Parse RankDir Source # parseUnqtList :: Parse [RankDir] Source # parseList :: Parse [RankDir] Source #
ParseDot RankType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse RankType Source # parse :: Parse RankType Source # parseUnqtList :: Parse [RankType] Source # parseList :: Parse [RankType] Source #
ParseDot Ratios Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Ratios Source # parse :: Parse Ratios Source # parseUnqtList :: Parse [Ratios] Source # parseList :: Parse [Ratios] Source #
ParseDot RecordField Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse RecordField Source # parse :: Parse RecordField Source # parseUnqtList :: Parse [RecordField] Source # parseList :: Parse [RecordField] Source #
ParseDot Rect Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Rect Source # parse :: Parse Rect Source # parseUnqtList :: Parse [Rect] Source # parseList :: Parse [Rect] Source #
ParseDot Root Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Root Source # parse :: Parse Root Source # parseUnqtList :: Parse [Root] Source # parseList :: Parse [Root] Source #
ParseDot STStyle Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse STStyle Source # parse :: Parse STStyle Source # parseUnqtList :: Parse [STStyle] Source # parseList :: Parse [STStyle] Source #
ParseDot SVGFontNames Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse SVGFontNames Source # parse :: Parse SVGFontNames Source # parseUnqtList :: Parse [SVGFontNames] Source # parseList :: Parse [SVGFontNames] Source #
ParseDot ScaleType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse ScaleType Source # parse :: Parse ScaleType Source # parseUnqtList :: Parse [ScaleType] Source # parseList :: Parse [ScaleType] Source #
ParseDot Shape Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Shape Source # parse :: Parse Shape Source # parseUnqtList :: Parse [Shape] Source # parseList :: Parse [Shape] Source #
ParseDot SmoothType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse SmoothType Source # parse :: Parse SmoothType Source # parseUnqtList :: Parse [SmoothType] Source # parseList :: Parse [SmoothType] Source #
ParseDot Spline Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Spline Source # parse :: Parse Spline Source # parseUnqtList :: Parse [Spline] Source # parseList :: Parse [Spline] Source #
ParseDot StartType Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse StartType Source # parse :: Parse StartType Source # parseUnqtList :: Parse [StartType] Source # parseList :: Parse [StartType] Source #
ParseDot StyleItem Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse StyleItem Source # parse :: Parse StyleItem Source # parseUnqtList :: Parse [StyleItem] Source # parseList :: Parse [StyleItem] Source #
ParseDot StyleName Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse StyleName Source # parse :: Parse StyleName Source # parseUnqtList :: Parse [StyleName] Source # parseList :: Parse [StyleName] Source #
ParseDot VerticalPlacement Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse VerticalPlacement Source # parse :: Parse VerticalPlacement Source # parseUnqtList :: Parse [VerticalPlacement] Source # parseList :: Parse [VerticalPlacement] Source #
ParseDot ViewPort Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse ViewPort Source # parse :: Parse ViewPort Source # parseUnqtList :: Parse [ViewPort] Source # parseList :: Parse [ViewPort] Source #
ParseDot GraphvizCommand Source # |
Instance details Defined in Data.GraphViz.Commands.Available Methods parseUnqt :: Parse GraphvizCommand Source # parse :: Parse GraphvizCommand Source # parseUnqtList :: Parse [GraphvizCommand] Source # parseList :: Parse [GraphvizCommand] Source #
ParseDot GlobalAttributes Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods parseUnqt :: Parse GlobalAttributes Source # parse :: Parse GlobalAttributes Source # parseUnqtList :: Parse [GlobalAttributes] Source # parseList :: Parse [GlobalAttributes] Source #
ParseDot GraphID Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods parseUnqt :: Parse GraphID Source # parse :: Parse GraphID Source # parseUnqtList :: Parse [GraphID] Source # parseList :: Parse [GraphID] Source #
ParseDot Text Source # |
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse Text Source # parse :: Parse Text Source # parseUnqtList :: Parse [Text] Source # parseList :: Parse [Text] Source #
ParseDot Text Source # |
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse Text Source # parse :: Parse Text Source # parseUnqtList :: Parse [Text] Source # parseList :: Parse [Text] Source #
ParseDot Integer Source # |
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse Integer Source # parse :: Parse Integer Source # parseUnqtList :: Parse [Integer] Source # parseList :: Parse [Integer] Source #
ParseDot Bool Source # |
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse Bool Source # parse :: Parse Bool Source # parseUnqtList :: Parse [Bool] Source # parseList :: Parse [Bool] Source #
ParseDot Char Source # |
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse Char Source # parse :: Parse Char Source # parseUnqtList :: Parse [Char] Source # parseList :: Parse [Char] Source #
ParseDot Double Source # |
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse Double Source # parse :: Parse Double Source # parseUnqtList :: Parse [Double] Source # parseList :: Parse [Double] Source #
ParseDot Int Source # |
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse Int Source # parse :: Parse Int Source # parseUnqtList :: Parse [Int] Source # parseList :: Parse [Int] Source #
ParseDot n => ParseDot (DotGraph n) Source # |
Instance details Defined in Data.GraphViz.Types.Canonical Methods parseUnqt :: Parse (DotGraph n) Source # parse :: Parse (DotGraph n) Source # parseUnqtList :: Parse [DotGraph n] Source # parseList :: Parse [DotGraph n] Source #
ParseDot n => ParseDot (DotStatements n) Source # |
Instance details Defined in Data.GraphViz.Types.Canonical Methods parseUnqt :: Parse (DotStatements n) Source # parse :: Parse (DotStatements n) Source # parseUnqtList :: Parse [DotStatements n] Source # parseList :: Parse [DotStatements n] Source #
ParseDot n => ParseDot (DotSubGraph n) Source # |
Instance details Defined in Data.GraphViz.Types.Canonical Methods parseUnqt :: Parse (DotSubGraph n) Source # parse :: Parse (DotSubGraph n) Source # parseUnqtList :: Parse [DotSubGraph n] Source # parseList :: Parse [DotSubGraph n] Source #
ParseDot n => ParseDot (DotGraph n) Source # |
Instance details Defined in Data.GraphViz.Types.Generalised Methods parseUnqt :: Parse (DotGraph n) Source # parse :: Parse (DotGraph n) Source # parseUnqtList :: Parse [DotGraph n] Source # parseList :: Parse [DotGraph n] Source #
ParseDot n => ParseDot (DotStatement n) Source # |
Instance details Defined in Data.GraphViz.Types.Generalised Methods parseUnqt :: Parse (DotStatement n) Source # parse :: Parse (DotStatement n) Source # parseUnqtList :: Parse [DotStatement n] Source # parseList :: Parse [DotStatement n] Source #
ParseDot n => ParseDot (DotSubGraph n) Source # |
Instance details Defined in Data.GraphViz.Types.Generalised Methods parseUnqt :: Parse (DotSubGraph n) Source # parse :: Parse (DotSubGraph n) Source # parseUnqtList :: Parse [DotSubGraph n] Source # parseList :: Parse [DotSubGraph n] Source #
(Ord n, ParseDot n) => ParseDot (DotGraph n) Source # | Uses the ParseDot instance for generalised `DotGraph`s.
Instance details Defined in Data.GraphViz.Types.Graph Methods parseUnqt :: Parse (DotGraph n) Source # parse :: Parse (DotGraph n) Source # parseUnqtList :: Parse [DotGraph n] Source # parseList :: Parse [DotGraph n] Source #
ParseDot n => ParseDot (DotEdge n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods parseUnqt :: Parse (DotEdge n) Source # parse :: Parse (DotEdge n) Source # parseUnqtList :: Parse [DotEdge n] Source # parseList :: Parse [DotEdge n] Source #
ParseDot n => ParseDot (DotNode n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods parseUnqt :: Parse (DotNode n) Source # parse :: Parse (DotNode n) Source # parseUnqtList :: Parse [DotNode n] Source # parseList :: Parse [DotNode n] Source #
ParseDot a => ParseDot [a] Source # |
Instance details Defined in Data.GraphViz.Parsing Methods parseUnqt :: Parse [a] Source # parse :: Parse [a] Source # parseUnqtList :: Parse [[a]] Source # parseList :: Parse [[a]] Source #

class (DotRepr dg n, PrintDot (dg n)) => PrintDotRepr (dg :: Type -> Type) n Source #

This class exists just to make type signatures nicer; all instances of `DotRepr` should also be an instance of `PrintDotRepr`.

#### Instances

Instances details

(Ord n, PrintDot n) => PrintDotRepr DotGraph n Source # |
Instance details Defined in Data.GraphViz.Types
(Ord n, PrintDot n) => PrintDotRepr DotGraph n Source # |
Instance details Defined in Data.GraphViz.Types.Generalised
(Ord n, PrintDot n) => PrintDotRepr DotGraph n Source # |
Instance details Defined in Data.GraphViz.Types.Graph

class (DotRepr dg n, ParseDot (dg n)) => ParseDotRepr (dg :: Type -> Type) n Source #

This class exists just to make type signatures nicer; all instances of `DotRepr` should also be an instance of `ParseDotRepr`.

#### Instances

Instances details

(Ord n, ParseDot n) => ParseDotRepr DotGraph n Source # |
Instance details Defined in Data.GraphViz.Types
(Ord n, ParseDot n) => ParseDotRepr DotGraph n Source # |
Instance details Defined in Data.GraphViz.Types.Generalised
(Ord n, ParseDot n) => ParseDotRepr DotGraph n Source # |
Instance details Defined in Data.GraphViz.Types.Graph

class (PrintDotRepr dg n, ParseDotRepr dg n) => PPDotRepr (dg :: Type -> Type) n Source #

This class exists just to make type signatures nicer; all instances of `DotRepr` should also be an instance of `PPDotRepr`.

#### Instances

Instances details

(Ord n, PrintDot n, ParseDot n) => PPDotRepr DotGraph n Source # |
Instance details Defined in Data.GraphViz.Types
(Ord n, PrintDot n, ParseDot n) => PPDotRepr DotGraph n Source # |
Instance details Defined in Data.GraphViz.Types.Generalised
(Ord n, PrintDot n, ParseDot n) => PPDotRepr DotGraph n Source # |
Instance details Defined in Data.GraphViz.Types.Graph

# Common sub-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 Text |
Num Number |

#### Instances

Instances details

Read GraphID Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods readsPrec :: Int -> ReadS GraphID Source # readList :: ReadS [GraphID] Source # readPrec :: ReadPrec GraphID Source # readListPrec :: ReadPrec [GraphID] Source #
Show GraphID Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods showsPrec :: Int -> GraphID -> ShowS Source # show :: GraphID -> String Source # showList :: [GraphID] -> ShowS Source #
Eq GraphID Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods (==) :: GraphID -> GraphID -> Bool Source # (/=) :: GraphID -> GraphID -> Bool Source #
Ord GraphID Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods compare :: GraphID -> GraphID -> Ordering Source # (<) :: GraphID -> GraphID -> Bool Source # (<=) :: GraphID -> GraphID -> Bool Source # (>) :: GraphID -> GraphID -> Bool Source # (>=) :: GraphID -> GraphID -> Bool Source # max :: GraphID -> GraphID -> GraphID Source # min :: GraphID -> GraphID -> GraphID Source #
ParseDot GraphID Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods parseUnqt :: Parse GraphID Source # parse :: Parse GraphID Source # parseUnqtList :: Parse [GraphID] Source # parseList :: Parse [GraphID] Source #
PrintDot GraphID Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods unqtDot :: GraphID -> DotCode Source # toDot :: GraphID -> DotCode Source # unqtListToDot :: [GraphID] -> DotCode Source # listToDot :: [GraphID] -> DotCode Source #

data Number Source #

A numeric type with an explicit separation between integers and floating-point values.

Constructors

Int Int |
Dbl Double |

#### Instances

Instances details

Read Number Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods readsPrec :: Int -> ReadS Number Source # readList :: ReadS [Number] Source # readPrec :: ReadPrec Number Source # readListPrec :: ReadPrec [Number] Source #
Show Number Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods showsPrec :: Int -> Number -> ShowS Source # show :: Number -> String Source # showList :: [Number] -> ShowS Source #
Eq Number Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods (==) :: Number -> Number -> Bool Source # (/=) :: Number -> Number -> Bool Source #
Ord Number Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods compare :: Number -> Number -> Ordering Source # (<) :: Number -> Number -> Bool Source # (<=) :: Number -> Number -> Bool Source # (>) :: Number -> Number -> Bool Source # (>=) :: Number -> Number -> Bool Source # max :: Number -> Number -> Number Source # min :: Number -> Number -> Number Source #
ParseDot Number Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods parseUnqt :: Parse Number Source # parse :: Parse Number Source # parseUnqtList :: Parse [Number] Source # parseList :: Parse [Number] Source #
PrintDot Number Source # |
Instance details Defined in Data.GraphViz.Attributes.Values Methods unqtDot :: Number -> DotCode Source # toDot :: Number -> DotCode Source # unqtListToDot :: [Number] -> DotCode Source # listToDot :: [Number] -> DotCode Source #

class ToGraphID a where Source #

A convenience class to make it easier to convert data types to `GraphID` values, e.g. for cluster identifiers.

In most cases, conversion would be via the `Text` or `String` instances (e.g. using `show`).

Methods

toGraphID :: a -> GraphID Source #

#### Instances

Instances details

ToGraphID Text Source # |
Instance details Defined in Data.GraphViz.Types Methods toGraphID :: Text -> GraphID Source #
ToGraphID Integer Source # | This instance loses precision by going via `Int`.
Instance details Defined in Data.GraphViz.Types Methods toGraphID :: Integer -> GraphID Source #
ToGraphID String Source # |
Instance details Defined in Data.GraphViz.Types Methods toGraphID :: String -> GraphID Source #
ToGraphID Char Source # |
Instance details Defined in Data.GraphViz.Types Methods toGraphID :: Char -> GraphID Source #
ToGraphID Double Source # |
Instance details Defined in Data.GraphViz.Types Methods toGraphID :: Double -> GraphID Source #
ToGraphID Int Source # |
Instance details Defined in Data.GraphViz.Types Methods toGraphID :: Int -> GraphID Source #

textGraphID :: Text -> GraphID Source #

An alias for `toGraphID` for use with the `OverloadedStrings` extension.

data GlobalAttributes Source #

Represents a list of top-level list of `Attribute`s for the entire graph/sub-graph. Note that `GraphAttrs` also applies to `DotSubGraph`s.

Note that Dot allows a single `Attribute` to be listed 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

#### Instances

Instances details

Read GlobalAttributes Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods readsPrec :: Int -> ReadS GlobalAttributes Source # readList :: ReadS [GlobalAttributes] Source # readPrec :: ReadPrec GlobalAttributes Source # readListPrec :: ReadPrec [GlobalAttributes] Source #
Show GlobalAttributes Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods showsPrec :: Int -> GlobalAttributes -> ShowS Source # show :: GlobalAttributes -> String Source # showList :: [GlobalAttributes] -> ShowS Source #
Eq GlobalAttributes Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods (==) :: GlobalAttributes -> GlobalAttributes -> Bool Source # (/=) :: GlobalAttributes -> GlobalAttributes -> Bool Source #
Ord GlobalAttributes Source # |

Instance details

Defined in Data.GraphViz.Types.Internal.Common

Methods

compare :: GlobalAttributes -> GlobalAttributes -> Ordering Source #

(<) :: GlobalAttributes -> GlobalAttributes -> Bool Source #

(<=) :: GlobalAttributes -> GlobalAttributes -> Bool Source #

(>) :: GlobalAttributes -> GlobalAttributes -> Bool Source #

(>=) :: GlobalAttributes -> GlobalAttributes -> Bool Source #

max :: GlobalAttributes -> GlobalAttributes -> GlobalAttributes Source #

min :: GlobalAttributes -> GlobalAttributes -> GlobalAttributes Source #

ParseDot GlobalAttributes Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods parseUnqt :: Parse GlobalAttributes Source # parse :: Parse GlobalAttributes Source # parseUnqtList :: Parse [GlobalAttributes] Source # parseList :: Parse [GlobalAttributes] Source #
PrintDot GlobalAttributes Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods unqtDot :: GlobalAttributes -> DotCode Source # toDot :: GlobalAttributes -> DotCode Source # unqtListToDot :: [GlobalAttributes] -> DotCode Source # listToDot :: [GlobalAttributes] -> DotCode Source #

data DotNode n Source #

A node in `DotGraph`.

Constructors

DotNode |

Fields

- nodeID :: n
- nodeAttributes :: Attributes

#### Instances

Instances details

Functor DotNode Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods fmap :: (a -> b) -> DotNode a -> DotNode b Source # (<$) :: a -> DotNode b -> DotNode a Source #
Read n => Read (DotNode n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods readsPrec :: Int -> ReadS (DotNode n) Source # readList :: ReadS [DotNode n] Source # readPrec :: ReadPrec (DotNode n) Source # readListPrec :: ReadPrec [DotNode n] Source #
Show n => Show (DotNode n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods showsPrec :: Int -> DotNode n -> ShowS Source # show :: DotNode n -> String Source # showList :: [DotNode n] -> ShowS Source #
Eq n => Eq (DotNode n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods (==) :: DotNode n -> DotNode n -> Bool Source # (/=) :: DotNode n -> DotNode n -> Bool Source #
Ord n => Ord (DotNode n) Source # |

Instance details

Defined in Data.GraphViz.Types.Internal.Common

Methods

compare :: DotNode n -> DotNode n -> Ordering Source #

(<) :: DotNode n -> DotNode n -> Bool Source #

(<=) :: DotNode n -> DotNode n -> Bool Source #

(>) :: DotNode n -> DotNode n -> Bool Source #

(>=) :: DotNode n -> DotNode n -> Bool Source #

max :: DotNode n -> DotNode n -> DotNode n Source #

min :: DotNode n -> DotNode n -> DotNode n Source #

ParseDot n => ParseDot (DotNode n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods parseUnqt :: Parse (DotNode n) Source # parse :: Parse (DotNode n) Source # parseUnqtList :: Parse [DotNode n] Source # parseList :: Parse [DotNode n] Source #
PrintDot n => PrintDot (DotNode n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods unqtDot :: DotNode n -> DotCode Source # toDot :: DotNode n -> DotCode Source # unqtListToDot :: [DotNode n] -> DotCode Source # listToDot :: [DotNode n] -> DotCode Source #

data DotEdge n Source #

An edge in `DotGraph`.

Constructors

DotEdge |

Fields

- fromNode :: n
- toNode :: n
- edgeAttributes :: Attributes

#### Instances

Instances details

Functor DotEdge Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods fmap :: (a -> b) -> DotEdge a -> DotEdge b Source # (<$) :: a -> DotEdge b -> DotEdge a Source #
Read n => Read (DotEdge n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods readsPrec :: Int -> ReadS (DotEdge n) Source # readList :: ReadS [DotEdge n] Source # readPrec :: ReadPrec (DotEdge n) Source # readListPrec :: ReadPrec [DotEdge n] Source #
Show n => Show (DotEdge n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods showsPrec :: Int -> DotEdge n -> ShowS Source # show :: DotEdge n -> String Source # showList :: [DotEdge n] -> ShowS Source #
Eq n => Eq (DotEdge n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods (==) :: DotEdge n -> DotEdge n -> Bool Source # (/=) :: DotEdge n -> DotEdge n -> Bool Source #
Ord n => Ord (DotEdge n) Source # |

Instance details

Defined in Data.GraphViz.Types.Internal.Common

Methods

compare :: DotEdge n -> DotEdge n -> Ordering Source #

(<) :: DotEdge n -> DotEdge n -> Bool Source #

(<=) :: DotEdge n -> DotEdge n -> Bool Source #

(>) :: DotEdge n -> DotEdge n -> Bool Source #

(>=) :: DotEdge n -> DotEdge n -> Bool Source #

max :: DotEdge n -> DotEdge n -> DotEdge n Source #

min :: DotEdge n -> DotEdge n -> DotEdge n Source #

ParseDot n => ParseDot (DotEdge n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods parseUnqt :: Parse (DotEdge n) Source # parse :: Parse (DotEdge n) Source # parseUnqtList :: Parse [DotEdge n] Source # parseList :: Parse [DotEdge n] Source #
PrintDot n => PrintDot (DotEdge n) Source # |
Instance details Defined in Data.GraphViz.Types.Internal.Common Methods unqtDot :: DotEdge n -> DotCode Source # toDot :: DotEdge n -> DotCode Source # unqtListToDot :: [DotEdge n] -> DotCode Source # listToDot :: [DotEdge n] -> DotCode Source #

# Helper types for looking up information within a `DotRepr`.

type ClusterLookup = Map (Maybe GraphID) ([Path], GlobalAttributes) Source #

The available information for each cluster; the `[`Path`]` denotes all locations where that particular cluster is located (more than one location can indicate possible problems).

type NodeLookup n = Map n (Path, Attributes) Source #

The available information on each `DotNode` (both explicit and implicit).

type Path = Seq (Maybe GraphID) Source #

The path of clusters that must be traversed to reach this spot.

graphStructureInformationClean :: DotRepr dg n => dg n -> (GlobalAttributes, ClusterLookup) Source #

A variant of `graphStructureInformation` with default attributes removed and only attributes usable by graph/cluster kept (where applicable).

nodeInformationClean :: DotRepr dg n => Bool -> dg n -> NodeLookup n Source #

A variant of `nodeInformation` with default attributes removed and only attributes used by nodes kept.

edgeInformationClean :: DotRepr dg n => Bool -> dg n -> [DotEdge n] Source #

A variant of `edgeInformation` with default attributes removed and only attributes used by edges kept.

# Obtaining the `DotNode`s and `DotEdges`.

graphNodes :: DotRepr dg n => dg n -> [DotNode n] Source #

Returns all resultant `DotNode`s in the `DotRepr` (not including `NodeAttr`s).

graphEdges :: DotRepr dg n => dg n -> [DotEdge n] Source #

Returns all resultant `DotEdge`s in the `DotRepr` (not including `EdgeAttr`s).

# Printing and parsing a `DotRepr`.

printDotGraph :: PrintDotRepr dg n => dg n -> Text Source #

The actual Dot code for an instance of `DotRepr`. Note that it is expected that ``parseDotGraph` . `printDotGraph` == `id`` (this might not be true the other way around due to un-parseable components).

parseDotGraph :: ParseDotRepr dg n => Text -> dg n Source #

Parse a limited subset of the Dot language to form an instance of `DotRepr`. Each instance may have its own limitations on what may or may not be parseable Dot code.

Also removes any comments, etc. before parsing.

parseDotGraphLiberally :: ParseDotRepr dg n => Text -> dg n Source #

As with `parseDotGraph`, but if an `Attribute` cannot be parsed strictly according to the known rules, let it fall back to being parsed as an `UnknownAttribute`. This is especially useful for when using a version of Graphviz that is either newer (especially for the XDot attributes) or older (when some attributes have changed) but you'd still prefer it to parse rather than throwing an error.

# Limitations and documentation

Printing of Dot code is done as strictly as possible, whilst parsing is as permissive as possible. For example, if the types allow it then `"2"` will be parsed as an `Int` value. Note that quoting and escaping of textual values is done automagically.

A summary of known limitations/differences:

- When creating `GraphID` values for graphs and sub-graphs, you should ensure that none of them have the same printed value as one of the node identifiers values to avoid any possible problems.
- If you want any `GlobalAttributes` in a sub-graph and want them to only apply to that sub-graph, then you must ensure it does indeed have a valid `GraphID`.
- All sub-graphs which represent clusters should have unique identifiers (well, only if you want them to be generated sensibly).
- If eventually outputting to a format such as SVG, then you should make sure to specify an identifier for the overall graph, as that is used as the title of the resulting image.
- Whilst the graphs, etc. are polymorphic in their node type, you should ensure that you use a relatively simple node type (that is, it only covers a single line, etc.).
- Also, whilst Graphviz allows you to mix the types used for nodes, this library requires/assumes that they are all the same type (but you can use a sum-type).
- `DotEdge` defines an edge `(a, b)` (with an edge going from `a` to `b`); in Dot parlance the edge has a head at `a` and a tail at `b`. Care must be taken when using the related `Head*` and `Tail*` `Attribute`s. See the differences section in Data.GraphViz.Attributes for more information.
- It is common to see multiple edges defined on the one line in Dot (e.g. `n1 -> n2 -> n3` means to create a directed edge from `n1` to `n2` and from `n2` to `n3`). These types of edge definitions are parseable; however, they are converted to singleton edges.
- It is not yet possible to create or parse edges with subgraphs/clusters as one of the end points.
- The parser will strip out comments and pre-processor lines, join together multiline statements and concatenate split strings together. However, pre-processing within HTML-like labels is currently not supported.
- Graphviz allows a node to be "defined" twice (e.g. the actual node definition, and then in a subgraph with extra global attributes applied to it). This actually represents the same node, but when parsing they will be considered as separate `DotNode`s (such that `graphNodes` will return both "definitions"). `canonicalise` from Data.GraphViz.Algorithms can be used to fix this.

See Data.GraphViz.Attributes.Complete for more limitations.