Copyright | (c) Till Mossakowski, Uni Bremen 2002-2007 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | raider@informatik.uni-bremen.de |
Stability | provisional |
Portability | non-portable (relies on Logic via DevGraph) |
Safe Haskell | None |
Interface for graph viewing and abstraction. It is possible to hide sets of nodes and edges. Using a composition table for edge types, paths through hidden nodes can be displayed. Graphs, nodes, and edges are handled via descriptors (here: integers), while node and edge types are handled by user-supplied strings.
- type OurGraph = Graph DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms
- initgraphs :: IO GraphInfo
- data Result = Result Descr (Maybe String)
- makegraph :: String -> Maybe (IO ()) -> Maybe (IO ()) -> Maybe (IO ()) -> [GlobalMenu] -> [(String, DaVinciNodeTypeParms (String, Descr, Descr))] -> [(String, DaVinciArcTypeParms EdgeValue)] -> CompTable -> GraphInfo -> IO Result
- makegraphExt :: String -> Maybe (IO ()) -> Maybe (IO ()) -> Maybe (IO ()) -> IO Bool -> Maybe (IO ()) -> [GlobalMenu] -> [(String, DaVinciNodeTypeParms (String, Descr, Descr))] -> [(String, DaVinciArcTypeParms EdgeValue)] -> CompTable -> GraphInfo -> IO Result
- redisplay :: Descr -> GraphInfo -> IO Result
- getGraphid :: Descr -> GraphInfo -> IO OurGraph
- type Descr = Int
- type GraphInfo = IORef ([(Descr, AbstractionGraph)], Descr)
- data RelationViewSpec = RelViewSpec String Bool Bool
- writeRelViewSpecs :: Descr -> [RelationViewSpec] -> GraphInfo -> IO Result
- data AbstractionGraph
- type NodeMapping = Map Int Descr
- writeNodeMap :: Descr -> NodeMapping -> GraphInfo -> IO Result
- addnode :: Descr -> String -> String -> GraphInfo -> IO Result
- addlink :: Descr -> String -> String -> Maybe (LEdge DGLinkLab) -> Descr -> Descr -> GraphInfo -> IO Result
- delnode :: Descr -> Descr -> GraphInfo -> IO Result
- dellink :: Descr -> Descr -> GraphInfo -> IO Result
- type EdgeValue = (String, Int, Maybe (LEdge DGLinkLab))
- writeOntoGraph :: Descr -> Gr (String, String, OntoObjectType) String -> GraphInfo -> IO Result
- showIt :: Descr -> Descr -> GraphInfo -> IO Result
- type CompTable = [(String, String, String)]
- hidenodes :: Descr -> [Descr] -> GraphInfo -> IO Result
- changeNodeType :: Descr -> Descr -> String -> GraphInfo -> IO Result
- checkHasHiddenNodes :: Descr -> Descr -> GraphInfo -> IO Result
- hideSetOfNodeTypes :: Descr -> [String] -> Bool -> GraphInfo -> IO Result
- hideSetOfEdgeTypes :: Descr -> [String] -> GraphInfo -> IO Result
- layoutImproveAll :: Descr -> GraphInfo -> IO Result
- showTemporaryMessage :: Descr -> GraphInfo -> String -> IO Result
- deactivateGraphWindow :: Descr -> GraphInfo -> IO Result
- activateGraphWindow :: Descr -> GraphInfo -> IO Result
Documentation
type OurGraph = Graph DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms
makegraph :: String -> Maybe (IO ()) -> Maybe (IO ()) -> Maybe (IO ()) -> [GlobalMenu] -> [(String, DaVinciNodeTypeParms (String, Descr, Descr))] -> [(String, DaVinciArcTypeParms EdgeValue)] -> CompTable -> GraphInfo -> IO Result
makegraphExt :: String -> Maybe (IO ()) -> Maybe (IO ()) -> Maybe (IO ()) -> IO Bool -> Maybe (IO ()) -> [GlobalMenu] -> [(String, DaVinciNodeTypeParms (String, Descr, Descr))] -> [(String, DaVinciArcTypeParms EdgeValue)] -> CompTable -> GraphInfo -> IO Result
getGraphid :: Descr -> GraphInfo -> IO OurGraph
type GraphInfo = IORef ([(Descr, AbstractionGraph)], Descr)
writeRelViewSpecs :: Descr -> [RelationViewSpec] -> GraphInfo -> IO Result
data AbstractionGraph
type NodeMapping = Map Int Descr
writeNodeMap :: Descr -> NodeMapping -> GraphInfo -> IO Result
addlink :: Descr -> String -> String -> Maybe (LEdge DGLinkLab) -> Descr -> Descr -> GraphInfo -> IO Result
writeOntoGraph :: Descr -> Gr (String, String, OntoObjectType) String -> GraphInfo -> IO Result
:: Descr | the graph id |
-> Descr | the id of the to be set node |
-> String | the new node type |
-> GraphInfo | the enviroment |
-> IO Result |
change the node type of the given node in the given graph. it firstly checks if the node exists in the graph and if the given node type is valid, then does the setting.
checkHasHiddenNodes :: Descr -> Descr -> GraphInfo -> IO Result
function to check whether the internal nodes are hidden or not
Direct manipulation of uDrawGraph
layoutImproveAll :: Descr -> GraphInfo -> IO Result
improve the layout of a graph like calling "Layout->Improve All"
display a message in a uDrawGraph window controlled by AbstractGraphView
deactivateGraphWindow :: Descr -> GraphInfo -> IO Result
deactivate the input of all uDrawGraph windows;
Warning: every deactivate event must be paired an activate event
activateGraphWindow :: Descr -> GraphInfo -> IO Result
activate the input of a uDrawGraph display