uni-uDrawGraph-2.2.1.4: Graphs binding

Safe HaskellNone
LanguageHaskell98

UDrawGraph.Graph

Description

This is the implementation of modules GraphDisp and GraphConfigure for daVinci. See those files for explanation of the names. We encode, for example, the type parameter node as DaVinciNode, and so on for other type parameters, prefixing with "DaVinci" and capitalising the next letter. But the only variable you should normally need from this module is daVinciSort.

Synopsis

Documentation

data DaVinciGraph Source #

Instances
Eq DaVinciGraph Source # 
Instance details

Defined in UDrawGraph.Graph

Ord DaVinciGraph Source # 
Instance details

Defined in UDrawGraph.Graph

Destroyable DaVinciGraph Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

destroy :: DaVinciGraph -> IO () #

Destructible DaVinciGraph Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

destroyed :: DaVinciGraph -> Event () #

GraphClass DaVinciGraph Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

redrawPrim :: DaVinciGraph -> IO () #

HasDelayer DaVinciGraph Source # 
Instance details

Defined in UDrawGraph.Graph

NewGraph DaVinciGraph DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

DeleteNode DaVinciGraph DaVinciNode Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

deleteNodePrim :: Typeable value => DaVinciGraph -> DaVinciNode value -> IO () #

getNodeValuePrim :: Typeable value => DaVinciGraph -> DaVinciNode value -> IO value #

setNodeValuePrim :: Typeable value => DaVinciGraph -> DaVinciNode value -> value -> IO () #

getMultipleNodesPrim :: DaVinciGraph -> (Event (WrappedNode DaVinciNode) -> IO a) -> IO a #

SetNodeFocus DaVinciGraph DaVinciNode Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

setNodeFocusPrim :: Typeable value => DaVinciGraph -> DaVinciNode value -> IO () #

DeleteArc DaVinciGraph DaVinciArc Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

deleteArcPrim :: Typeable value => DaVinciGraph -> DaVinciArc value -> IO () #

setArcValuePrim :: Typeable value => DaVinciGraph -> DaVinciArc value -> value -> IO () #

getArcValuePrim :: Typeable value => DaVinciGraph -> DaVinciArc value -> IO value #

HasModifyValue NodeArcsHidden DaVinciGraph DaVinciNode Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

modify :: Typeable value => NodeArcsHidden -> DaVinciGraph -> DaVinciNode value -> IO () #

HasModifyValue Attribute DaVinciGraph DaVinciNode Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

modify :: Typeable value => Attribute -> DaVinciGraph -> DaVinciNode value -> IO () #

NewNode DaVinciGraph DaVinciNode DaVinciNodeType Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

newNodePrim :: Typeable value => DaVinciGraph -> DaVinciNodeType value -> value -> IO (DaVinciNode value) #

setNodeTypePrim :: Typeable value => DaVinciGraph -> DaVinciNode value -> DaVinciNodeType value -> IO () #

NewNodeType DaVinciGraph DaVinciNodeType DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

SetArcType DaVinciGraph DaVinciArc DaVinciArcType Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

setArcTypePrim :: Typeable value => DaVinciGraph -> DaVinciArc value -> DaVinciArcType value -> IO () #

NewArcType DaVinciGraph DaVinciArcType DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

NewArc DaVinciGraph DaVinciNode DaVinciNode DaVinciArc DaVinciArcType Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

newArcPrim :: (Typeable value, Typeable nodeFromValue, Typeable nodeToValue) => DaVinciGraph -> DaVinciArcType value -> value -> DaVinciNode nodeFromValue -> DaVinciNode nodeToValue -> IO (DaVinciArc value) #

newArcListDrawerPrim :: (Typeable value, Typeable nodeFromValue) => DaVinciGraph -> DaVinciNode nodeFromValue -> ListDrawer (DaVinciArcType value, value, WrappedNode DaVinciNode) (DaVinciArc value) #

GraphAllConfig DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfig (FileMenuOption, Maybe (DaVinciGraph -> IO ())) DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasModifyValue (String, String) DaVinciGraph DaVinciNode Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

modify :: Typeable value => (String, String) -> DaVinciGraph -> DaVinciNode value -> IO () #

data DaVinciGraphParms Source #

Instances
GraphParms DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

NewGraph DaVinciGraph DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

GraphConfig graphConfig => HasConfig graphConfig DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$) :: graphConfig -> DaVinciGraphParms -> DaVinciGraphParms #

configUsed :: graphConfig -> DaVinciGraphParms -> Bool #

HasConfig Delayer DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfig GlobalMenu DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfig GraphTitle DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfig GraphGesture DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfig OptimiseLayout DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfig SurveyView DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfig AllowDragging DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfig AllowClose DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfig FileMenuAct DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfig Orientation DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfig ActionWrapper DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

GraphAllConfig DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfig (SimpleSource GraphTitle) DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfig (FileMenuOption, Maybe (DaVinciGraph -> IO ())) DaVinciGraphParms Source # 
Instance details

Defined in UDrawGraph.Graph

data DaVinciNode value Source #

Instances
NodeClass DaVinciNode Source # 
Instance details

Defined in UDrawGraph.Graph

Eq1 DaVinciNode Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

eq1 :: DaVinciNode value1 -> DaVinciNode value1 -> Bool #

Ord1 DaVinciNode Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

compare1 :: DaVinciNode value1 -> DaVinciNode value1 -> Ordering #

DeleteNode DaVinciGraph DaVinciNode Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

deleteNodePrim :: Typeable value => DaVinciGraph -> DaVinciNode value -> IO () #

getNodeValuePrim :: Typeable value => DaVinciGraph -> DaVinciNode value -> IO value #

setNodeValuePrim :: Typeable value => DaVinciGraph -> DaVinciNode value -> value -> IO () #

getMultipleNodesPrim :: DaVinciGraph -> (Event (WrappedNode DaVinciNode) -> IO a) -> IO a #

SetNodeFocus DaVinciGraph DaVinciNode Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

setNodeFocusPrim :: Typeable value => DaVinciGraph -> DaVinciNode value -> IO () #

HasModifyValue NodeArcsHidden DaVinciGraph DaVinciNode Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

modify :: Typeable value => NodeArcsHidden -> DaVinciGraph -> DaVinciNode value -> IO () #

HasModifyValue Attribute DaVinciGraph DaVinciNode Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

modify :: Typeable value => Attribute -> DaVinciGraph -> DaVinciNode value -> IO () #

NewNode DaVinciGraph DaVinciNode DaVinciNodeType Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

newNodePrim :: Typeable value => DaVinciGraph -> DaVinciNodeType value -> value -> IO (DaVinciNode value) #

setNodeTypePrim :: Typeable value => DaVinciGraph -> DaVinciNode value -> DaVinciNodeType value -> IO () #

NewArc DaVinciGraph DaVinciNode DaVinciNode DaVinciArc DaVinciArcType Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

newArcPrim :: (Typeable value, Typeable nodeFromValue, Typeable nodeToValue) => DaVinciGraph -> DaVinciArcType value -> value -> DaVinciNode nodeFromValue -> DaVinciNode nodeToValue -> IO (DaVinciArc value) #

newArcListDrawerPrim :: (Typeable value, Typeable nodeFromValue) => DaVinciGraph -> DaVinciNode nodeFromValue -> ListDrawer (DaVinciArcType value, value, WrappedNode DaVinciNode) (DaVinciArc value) #

GraphAllConfig DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasModifyValue (String, String) DaVinciGraph DaVinciNode Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

modify :: Typeable value => (String, String) -> DaVinciGraph -> DaVinciNode value -> IO () #

data DaVinciNodeType value Source #

Tiresomely we need to make the "real" node type untyped. This is so that the interactor which handles drag-and-drop can get the type out without knowing what it is.

data DaVinciNodeTypeParms value Source #

Instances
NodeTypeParms DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

emptyNodeTypeParms :: Typeable value => DaVinciNodeTypeParms value #

coMapNodeTypeParms :: (Typeable value1, Typeable value2) => (value2 -> value1) -> DaVinciNodeTypeParms value1 -> DaVinciNodeTypeParms value2 #

NodeTypeConfig graphConfig => HasConfigValue graphConfig DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => graphConfig value -> DaVinciNodeTypeParms value -> DaVinciNodeTypeParms value #

configUsed' :: Typeable value => graphConfig value -> DaVinciNodeTypeParms value -> Bool #

HasConfigValue LocalMenu DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => LocalMenu value -> DaVinciNodeTypeParms value -> DaVinciNodeTypeParms value #

configUsed' :: Typeable value => LocalMenu value -> DaVinciNodeTypeParms value -> Bool #

HasConfigValue ValueTitle DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => ValueTitle value -> DaVinciNodeTypeParms value -> DaVinciNodeTypeParms value #

configUsed' :: Typeable value => ValueTitle value -> DaVinciNodeTypeParms value -> Bool #

HasConfigValue ValueTitleSource DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfigValue NodeGesture DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => NodeGesture value -> DaVinciNodeTypeParms value -> DaVinciNodeTypeParms value #

configUsed' :: Typeable value => NodeGesture value -> DaVinciNodeTypeParms value -> Bool #

HasConfigValue NodeDragAndDrop DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfigValue DoubleClickAction DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfigValue Shape DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => Shape value -> DaVinciNodeTypeParms value -> DaVinciNodeTypeParms value #

configUsed' :: Typeable value => Shape value -> DaVinciNodeTypeParms value -> Bool #

HasConfigValue Color DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => Color value -> DaVinciNodeTypeParms value -> DaVinciNodeTypeParms value #

configUsed' :: Typeable value => Color value -> DaVinciNodeTypeParms value -> Bool #

HasConfigValue BorderSource DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => BorderSource value -> DaVinciNodeTypeParms value -> DaVinciNodeTypeParms value #

configUsed' :: Typeable value => BorderSource value -> DaVinciNodeTypeParms value -> Bool #

HasConfigValue FontStyleSource DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

NewNodeType DaVinciGraph DaVinciNodeType DaVinciNodeTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

GraphAllConfig DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

data DaVinciArc value Source #

Instances
ArcClass DaVinciArc Source # 
Instance details

Defined in UDrawGraph.Graph

Eq1 DaVinciArc Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

eq1 :: DaVinciArc value1 -> DaVinciArc value1 -> Bool #

Ord1 DaVinciArc Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

compare1 :: DaVinciArc value1 -> DaVinciArc value1 -> Ordering #

DeleteArc DaVinciGraph DaVinciArc Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

deleteArcPrim :: Typeable value => DaVinciGraph -> DaVinciArc value -> IO () #

setArcValuePrim :: Typeable value => DaVinciGraph -> DaVinciArc value -> value -> IO () #

getArcValuePrim :: Typeable value => DaVinciGraph -> DaVinciArc value -> IO value #

SetArcType DaVinciGraph DaVinciArc DaVinciArcType Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

setArcTypePrim :: Typeable value => DaVinciGraph -> DaVinciArc value -> DaVinciArcType value -> IO () #

NewArc DaVinciGraph DaVinciNode DaVinciNode DaVinciArc DaVinciArcType Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

newArcPrim :: (Typeable value, Typeable nodeFromValue, Typeable nodeToValue) => DaVinciGraph -> DaVinciArcType value -> value -> DaVinciNode nodeFromValue -> DaVinciNode nodeToValue -> IO (DaVinciArc value) #

newArcListDrawerPrim :: (Typeable value, Typeable nodeFromValue) => DaVinciGraph -> DaVinciNode nodeFromValue -> ListDrawer (DaVinciArcType value, value, WrappedNode DaVinciNode) (DaVinciArc value) #

GraphAllConfig DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

data DaVinciArcType value Source #

Instances
ArcTypeClass DaVinciArcType Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

invisibleArcType :: Typeable value => DaVinciArcType value #

Eq1 DaVinciArcType Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

eq1 :: DaVinciArcType value1 -> DaVinciArcType value1 -> Bool #

Ord1 DaVinciArcType Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

compare1 :: DaVinciArcType value1 -> DaVinciArcType value1 -> Ordering #

SetArcType DaVinciGraph DaVinciArc DaVinciArcType Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

setArcTypePrim :: Typeable value => DaVinciGraph -> DaVinciArc value -> DaVinciArcType value -> IO () #

NewArcType DaVinciGraph DaVinciArcType DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

NewArc DaVinciGraph DaVinciNode DaVinciNode DaVinciArc DaVinciArcType Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

newArcPrim :: (Typeable value, Typeable nodeFromValue, Typeable nodeToValue) => DaVinciGraph -> DaVinciArcType value -> value -> DaVinciNode nodeFromValue -> DaVinciNode nodeToValue -> IO (DaVinciArc value) #

newArcListDrawerPrim :: (Typeable value, Typeable nodeFromValue) => DaVinciGraph -> DaVinciNode nodeFromValue -> ListDrawer (DaVinciArcType value, value, WrappedNode DaVinciNode) (DaVinciArc value) #

GraphAllConfig DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

data DaVinciArcTypeParms value Source #

Instances
ArcTypeParms DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

emptyArcTypeParms :: Typeable value => DaVinciArcTypeParms value #

invisibleArcTypeParms :: Typeable value => DaVinciArcTypeParms value #

coMapArcTypeParms :: (Typeable value1, Typeable value2) => (value2 -> value1) -> DaVinciArcTypeParms value1 -> DaVinciArcTypeParms value2 #

ArcTypeConfig arcTypeConfig => HasConfigValue arcTypeConfig DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => arcTypeConfig value -> DaVinciArcTypeParms value -> DaVinciArcTypeParms value #

configUsed' :: Typeable value => arcTypeConfig value -> DaVinciArcTypeParms value -> Bool #

HasConfigValue LocalMenu DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => LocalMenu value -> DaVinciArcTypeParms value -> DaVinciArcTypeParms value #

configUsed' :: Typeable value => LocalMenu value -> DaVinciArcTypeParms value -> Bool #

HasConfigValue ValueTitle DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => ValueTitle value -> DaVinciArcTypeParms value -> DaVinciArcTypeParms value #

configUsed' :: Typeable value => ValueTitle value -> DaVinciArcTypeParms value -> Bool #

HasConfigValue DoubleClickAction DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

HasConfigValue Color DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => Color value -> DaVinciArcTypeParms value -> DaVinciArcTypeParms value #

configUsed' :: Typeable value => Color value -> DaVinciArcTypeParms value -> Bool #

HasConfigValue EdgePattern DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => EdgePattern value -> DaVinciArcTypeParms value -> DaVinciArcTypeParms value #

configUsed' :: Typeable value => EdgePattern value -> DaVinciArcTypeParms value -> Bool #

HasConfigValue EdgeDir DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => EdgeDir value -> DaVinciArcTypeParms value -> DaVinciArcTypeParms value #

configUsed' :: Typeable value => EdgeDir value -> DaVinciArcTypeParms value -> Bool #

HasConfigValue Head DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

Methods

($$$) :: Typeable value => Head value -> DaVinciArcTypeParms value -> DaVinciArcTypeParms value #

configUsed' :: Typeable value => Head value -> DaVinciArcTypeParms value -> Bool #

NewArcType DaVinciGraph DaVinciArcType DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph

GraphAllConfig DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms Source # 
Instance details

Defined in UDrawGraph.Graph