Hets - the Heterogeneous Tool Set

Copyright(c) Jorina Freya Gerken, Till Mossakowski, Uni Bremen 2002-2006
LicenseGPLv2 or higher, see LICENSE.txt
Maintainertill@informatik.uni-bremen.de
Stabilityprovisional
Portabilitynon-portable (imports Logic)
Safe HaskellNone

GUI.GraphLogic

Description

This module provides functions for all the menus in the Hets GUI. These are then assembled to the GUI in GUI.GraphMenu.

Synopsis

Documentation

undo :: GInfo -> Bool -> IO ()

Undo one step of the History

openProofStatus :: GInfo -> FilePath -> ConvFunc -> LibFunc -> IO ()

implementation of open menu, read in a proof status

proofMenu :: GInfo -> Command -> (LibEnv -> IO (Result LibEnv)) -> IO ()

apply a rule of the development graph calculus

showDGraph :: GInfo -> LibName -> ConvFunc -> LibFunc -> IO ()

show development graph for library

showReferencedLibrary :: Int -> GInfo -> ConvFunc -> LibFunc -> IO ()

show library referened by a DGRef node (=node drawn as a box)

getTheoryOfNode :: GInfo -> Int -> DGraph -> IO ()

outputs the theory of a node in a window; used by the node menu

translateTheoryOfNode :: GInfo -> Int -> DGraph -> IO ()

translate the theory of a node in a window; used by the node menu

showProofStatusOfNode :: GInfo -> Int -> DGraph -> IO ()

Show proof status of a node

proveAtNode :: GInfo -> Int -> DGraph -> IO ()

start local theorem proving or consistency checking at a node

showEdgeInfo :: Int -> Maybe (LEdge DGLinkLab) -> IO ()

print the id, origin, type, proof-status and morphism of the edge

checkconservativityOfEdge :: Int -> GInfo -> Maybe (LEdge DGLinkLab) -> IO ()

check conservativity of the edge

toggleHideNames :: GInfo -> IO ()

Toggles to display internal node names

translateGraph :: GInfo -> IO (Maybe LibEnv)

display a window of translated graph with maximal sublogic.

runAndLock :: GInfo -> IO () -> IO ()

Locks the global lock and runs function

saveUDGraph :: GInfo -> Map DGNodeType (Shape value, String) -> Map DGEdgeType (EdgePattern EdgeValue, String) -> IO ()

saves the uDrawGraph graph to a file

focusNode :: GInfo -> IO ()

Let the user select a Node to focus