| 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 | 
GUI.GraphAbstraction
Description
Interface for graph viewing and abstraction.
Synopsis
- 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 Source #
uDrawGraph graph
Creation and display
Arguments
| :: 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
Arguments
| :: 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
Arguments
| :: 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
Arguments
| :: GraphInfo | The graph  | 
| -> IO () | 
Improve the layout of a graph like calling "Layout->Improve All"
Arguments
| :: GraphInfo | The graph  | 
| -> String | message to be displayed  | 
| -> IO () | 
Display a message in a uDrawGraph window controlled by AbstractGraphView
deactivateGraphWindow Source #
Arguments
| :: GraphInfo | The graph  | 
| -> IO () | 
Deactivate the input of all uDrawGraph windows; Warning: every deactivate event must be paired an activate event
Arguments
| :: GraphInfo | The graph  | 
| -> IO () | 
Activate the input of a uDrawGraph display