hets -- a heterogenous Specification (CASL) tool setContentsIndex
GUI.AbstractGraphView
Synopsis
type OurGraph = Graph DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms
type CompTable = [(String, String, String)]
data AbstractionGraph = AbstractionGraph {
theGraph :: OurGraph
nodeTypes :: [(String, DaVinciNodeType (String, Int, Int))]
edgeTypes :: [(String, DaVinciArcType EdgeValue)]
nodes :: [(Int, (String, DaVinciNode (String, Int, Int)))]
edges :: [(Int, (Int, Int, String, DaVinciArc EdgeValue))]
edgeComp :: CompTable
eventTable :: [(Int, Entry)]
}
type Descr = Int
type EdgeValue = (String, Int, Maybe (LEdge DGLinkLab))
type GraphInfo = IORef ([(Descr, AbstractionGraph)], Descr)
data Result = Result Descr (Maybe String)
data Entry = Entry {
newNodes :: [(Descr, (String, DaVinciNode (String, Int, Int)))]
oldNodes :: [(Descr, (String, String))]
newEdges :: [(Int, (Int, Int, String, DaVinciArc EdgeValue))]
oldEdges :: [(Int, (Int, Int, String, EdgeValue))]
}
createEntry :: [(Descr, (String, DaVinciNode (String, Int, Int)))] -> [(Descr, (String, String))] -> [(Descr, (Int, Int, String, DaVinciArc EdgeValue))] -> [(Descr, (Int, Int, String, EdgeValue))] -> Descr -> (Int, Entry)
specialzip :: [a] -> [b] -> [(a, b)]
get :: Descr -> [(Descr, a)] -> (Descr, a)
remove :: Eq a => a -> [(a, b)] -> [(a, b)]
initgraphs :: IO GraphInfo
makegraph :: String -> [GlobalMenu] -> [(String, DaVinciNodeTypeParms (String, Descr, Descr))] -> [(String, DaVinciArcTypeParms (String, Descr, Maybe (LEdge DGLinkLab)))] -> CompTable -> GraphInfo -> IO Result
delgraph :: Descr -> GraphInfo -> IO Result
delallgraphs :: GraphInfo -> IO ()
addnode :: Descr -> String -> String -> GraphInfo -> IO Result
delnode :: Descr -> Descr -> GraphInfo -> IO Result
addlink :: Descr -> String -> String -> Maybe (LEdge DGLinkLab) -> Descr -> Descr -> GraphInfo -> IO Result
getNodeNameAndTypeAsString :: AbstractionGraph -> Descr -> IO String
dellink :: Descr -> Descr -> GraphInfo -> IO Result
redisplay :: Descr -> GraphInfo -> IO Result
determineedgetype :: AbstractionGraph -> (String, String) -> Maybe String
fetchEdgesOfNode :: AbstractionGraph -> Descr -> Maybe ([Descr], [Descr])
hidenodes :: Descr -> [Descr] -> GraphInfo -> IO Result
hidenodesaux :: Descr -> [Descr] -> GraphInfo -> IO Result
makepathsMain :: AbstractionGraph -> [Descr] -> Maybe ([(Descr, Descr, String)], [([Descr], [Descr])])
removeDanglingEdges :: [(Descr, Descr, String)] -> [Descr] -> [(Descr, Descr, String)]
makepaths :: AbstractionGraph -> [Descr] -> ([Descr], [Descr]) -> Maybe [(Descr, Descr, String)]
makepathsaux :: AbstractionGraph -> [Descr] -> [Descr] -> ((Descr, Descr, String, DaVinciArc EdgeValue), (Descr, Descr, String, DaVinciArc EdgeValue)) -> Maybe [(Descr, Descr, String)]
checkpath :: AbstractionGraph -> [Descr] -> [Descr] -> (Descr, Descr, String, DaVinciArc EdgeValue) -> Maybe [(Descr, Descr, String)]
addpaths :: Descr -> [(Descr, Descr, String)] -> GraphInfo -> IO Result
hidenodetype :: Descr -> String -> GraphInfo -> IO Result
hideSetOfNodeTypes :: Descr -> [String] -> GraphInfo -> IO Result
abstractnodes :: Descr -> [Descr] -> GraphInfo -> IO Result
replaceByAbstractNode :: Descr -> [Descr] -> [(String, DaVinciNode (String, Int, Int))] -> [Descr] -> GraphInfo -> IO Result
hideedges :: Descr -> [Descr] -> GraphInfo -> IO Result
hideedgesaux :: Descr -> [Descr] -> GraphInfo -> IO Result
hideedgetype :: Descr -> String -> GraphInfo -> IO Result
showIt :: Descr -> Descr -> GraphInfo -> IO Result
shownodes :: Descr -> [(Descr, (String, String))] -> GraphInfo -> IO Result
showedges :: Descr -> [(Int, (Int, Int, String, EdgeValue))] -> GraphInfo -> IO Result
saveOldNodes :: AbstractionGraph -> [(Int, (String, DaVinciNode (String, Int, Int)))] -> IO [(Int, (String, String))]
saveOldEdges :: AbstractionGraph -> [(Int, (Int, Int, String, DaVinciArc EdgeValue))] -> IO [(Int, (Int, Int, String, EdgeValue))]
getEdgeName :: EdgeValue -> String
getEdgeLabel :: EdgeValue -> Maybe (LEdge DGLinkLab)
Produced by Haddock version 0.6