import "Visualization/Graphviz/AbstractTypes" import "Visualization/Graphviz/Property" importJava "org.simantics.graphviz.Edge" where data Edge @JavaName "" newPrimitiveEdge :: Identifiable -> Identifiable -> Edge setLabel :: Edge -> String -> () @JavaName set setGenericProperty :: Edge -> String -> String -> () applyEdgeProperty :: Edge -> Property -> () applyEdgeProperty graph (Label str) = setLabel graph str applyEdgeProperty graph (GenericProperty property str) = setGenericProperty graph property str newEdge :: Identifiable a => Identifiable b => a -> b -> [Property] -> Edge newEdge node1 node2 properties = edge where edge = newPrimitiveEdge (identifiable node1) (identifiable node2) for properties (applyEdgeProperty edge)