Copyright | (c) Thiemo Wiedemeyer, T. Mossakowski, Uni Bremen 2002-2008 |
---|---|
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.
- type OurGraph = Graph DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms
- type NodeId = Int
- type NodeValue = (String, NodeId)
- type EdgeValue = (String, EdgeId, Maybe (LEdge DGLinkLab))
- type GraphInfo = IORef AbstractionGraph
- initGraph :: IO GraphInfo
- makeGraph :: GraphInfo -> String -> Maybe (IO ()) -> Maybe (IO ()) -> Maybe (IO ()) -> IO Bool -> Maybe (IO ()) -> [GlobalMenu] -> [(DGNodeType, DaVinciNodeTypeParms NodeValue)] -> [(DGEdgeType, DaVinciArcTypeParms EdgeValue)] -> String -> IO () -> IO ()
- redisplay :: GraphInfo -> IO ()
- isHiddenNode :: GraphInfo -> NodeId -> IO Bool
- focusNode :: GraphInfo -> NodeId -> IO ()
- hideSetOfEdgeTypes :: GraphInfo -> [DGEdgeType] -> IO ()
- isHiddenEdge :: GraphInfo -> EdgeId -> IO Bool
- applyChanges :: GraphInfo -> [DGChange] -> [NodeId] -> [EdgeId] -> [(NodeId, NodeId, DGEdgeType, Bool)] -> IO ()
- convert :: DGraph -> [DGChange]
- layoutImproveAll :: GraphInfo -> IO ()
- showTemporaryMessage :: GraphInfo -> String -> IO ()
- deactivateGraphWindow :: GraphInfo -> IO ()
- activateGraphWindow :: GraphInfo -> IO ()
- closeGraphWindow :: GraphInfo -> IO ()
Types
type OurGraph = Graph DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms
uDrawGraph graph
Creation and display
:: GraphInfo | The graph |
-> String | Title |
-> Maybe (IO ()) | FileOpen menu |
-> Maybe (IO ()) | FileSave menu |
-> Maybe (IO ()) | FileSaveAs menu |
-> IO Bool | FileClose menu |
-> Maybe (IO ()) | FileExit menu |
-> [GlobalMenu] | Edit menu |
-> [(DGNodeType, DaVinciNodeTypeParms NodeValue)] | Node types |
-> [(DGEdgeType, DaVinciArcTypeParms EdgeValue)] | Edge types |
-> String | Compressed edge color |
-> IO () | Expand menu action |
-> IO () |
Creates the uDrawGraph graph
Node interface
Checks whether a node is hidden or not
Edge interface
:: GraphInfo | The graph |
-> [DGEdgeType] | IDs of the edgetypes to hide |
-> IO () |
Hides a set of edgetypes (type ids)
Checks whether an edge is hidden or not
Conversion and update of graph
:: GraphInfo | The graph |
-> [DGChange] | List of changes |
-> [NodeId] | IDs of the nodes to hide |
-> [EdgeId] | IDs of the edges to hide |
-> [(NodeId, NodeId, DGEdgeType, Bool)] | A list of new edges |
-> IO () |
Apply changes to the uDrawGraph graph
Converts a DGraph to a list of changes
Direct manipulation of uDrawGraph
Improve the layout of a graph like calling "Layout->Improve All"
Display a message in a uDrawGraph window controlled by AbstractGraphView
Deactivate the input of all uDrawGraph windows; Warning: every deactivate event must be paired an activate event