1 import "Visualization/Graphviz/AbstractTypes"
\r
2 import "Visualization/Graphviz/Property"
\r
3 import "JavaBuiltin" as Java
\r
5 importJava "org.simantics.graphviz.Graph" where
\r
8 newPrimitiveGraph :: <Proc> Graph
\r
9 setLabel :: Graph -> String -> <Proc> ()
\r
10 setRankdir :: Graph -> String -> <Proc> ()
\r
12 setGenericProperty :: Graph -> String -> String -> <Proc> ()
\r
14 instance IGraph Graph where
\r
15 iGraph = Java.unsafeCoerce
\r
17 applyGraphProperty :: Graph -> Property -> <Proc> ()
\r
18 applyGraphProperty graph (Label str) = setLabel graph str
\r
19 applyGraphProperty graph (Rankdir str) = setRankdir graph str
\r
20 applyGraphProperty graph (GenericProperty property str) = setGenericProperty graph property str
\r
22 newGraph :: [Property] -> <Proc> Graph
\r
23 newGraph properties = graph
\r
25 graph = newPrimitiveGraph
\r
26 for properties (applyGraphProperty graph)
\r