Hets - the Heterogeneous Tool Set
Copyright(c) Thiemo Wiedemeyer T. Mossakowski Uni Bremen 2002-2008
LicenseGPLv2 or higher, see LICENSE.txt
Maintainerraider@informatik.uni-bremen.de
Stabilityprovisional
Portabilitynon-portable (relies on Logic via DevGraph)
Safe HaskellNone

GUI.GraphAbstraction

Description

Interface for graph viewing and abstraction.

Synopsis

Types

type OurGraph = Graph DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms Source #

uDrawGraph graph

type NodeId = Int Source #

Node id type

type NodeValue = (String, NodeId) Source #

Node value

type EdgeValue = (String, EdgeId, Maybe (LEdge DGLinkLab)) Source #

Edge value

type GraphInfo = IORef AbstractionGraph Source #

IORef for main datastructure

Creation and display

initGraph Source #

Arguments

:: IO GraphInfo

The graph

Creates the empty AbstractionGraph

makeGraph Source #

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

redisplay Source #

Arguments

:: GraphInfo

The graph

-> IO () 

Node interface

isHiddenNode Source #

Arguments

:: GraphInfo

The graph

-> NodeId

ID of the node

-> IO Bool

Is hidden

Checks whether a node is hidden or not

focusNode Source #

Arguments

:: GraphInfo

The graph

-> NodeId

ID of the node

-> IO () 

Focus a node

Edge interface

hideSetOfEdgeTypes Source #

Arguments

:: GraphInfo

The graph

-> [DGEdgeType]

IDs of the edgetypes to hide

-> IO () 

Hides a set of edgetypes (type ids)

isHiddenEdge Source #

Arguments

:: GraphInfo

The graph

-> EdgeId

ID of the edge

-> IO Bool

Is edge hidden

Checks whether an edge is hidden or not

Conversion and update of graph

applyChanges Source #

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

convert Source #

Arguments

:: DGraph

The development graph

-> [DGChange]

List of changes

Converts a DGraph to a list of changes

Direct manipulation of uDrawGraph

layoutImproveAll Source #

Arguments

:: GraphInfo

The graph

-> IO () 

Improve the layout of a graph like calling "Layout->Improve All"

showTemporaryMessage Source #

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

activateGraphWindow Source #

Arguments

:: GraphInfo

The graph

-> IO () 

Activate the input of a uDrawGraph display

closeGraphWindow Source #

Arguments

:: GraphInfo

The graph

-> IO () 

Closes the Window

Orphan instances

Eq (DaVinciArc EdgeValue) Source # 
Instance details

Methods

(==) :: DaVinciArc EdgeValue -> DaVinciArc EdgeValue -> Bool

(/=) :: DaVinciArc EdgeValue -> DaVinciArc EdgeValue -> Bool

Eq (DaVinciNode NodeValue) Source # 
Instance details

Methods

(==) :: DaVinciNode NodeValue -> DaVinciNode NodeValue -> Bool

(/=) :: DaVinciNode NodeValue -> DaVinciNode NodeValue -> Bool