-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Graphs binding
--
-- Binding to uDrawGraph (formerly daVinci)
-- http://www.informatik.uni-bremen.de/uDrawGraph/
@package uni-uDrawGraph
@version 2.2.0.2
-- | This file was taken from Sven Panne's page on 31st July 2001. I have
-- since changed it a little. The version before these changes may be
-- found in DaVinciTypes.hs.orig.
module UDrawGraph.Types
data DaVinciCmd
Graph :: GraphCmd -> DaVinciCmd
Multi :: MultiCmd -> DaVinciCmd
Menu :: MenuCmd -> DaVinciCmd
AppMenu :: AppMenuCmd -> DaVinciCmd
DVSet :: SetCmd -> DaVinciCmd
Window :: WindowCmd -> DaVinciCmd
Tcl :: TclCmd -> DaVinciCmd
Special :: SpecialCmd -> DaVinciCmd
DVNothing :: DaVinciCmd
Visual :: VisualCmd -> DaVinciCmd
DragAndDrop :: DragAndDropCmd -> DaVinciCmd
data GraphCmd
New :: [Node] -> GraphCmd
NewPlaced :: [Node] -> GraphCmd
Update :: [NodeUpdate] -> [EdgeUpdate] -> GraphCmd
ChangeAttr :: [AttrChange] -> GraphCmd
UpdateAndChangeAttr :: [NodeUpdate] -> [EdgeUpdate] -> [AttrChange] -> GraphCmd
UpdateMixed :: [MixedUpdate] -> GraphCmd
UpdateAndChangeAttrMixed :: [MixedUpdate] -> [AttrChange] -> GraphCmd
ChangeType :: [TypeChange] -> GraphCmd
data MultiCmd
NewContext :: MultiCmd
OpenContext :: ContextId -> MultiCmd
SetContext :: ContextId -> MultiCmd
SetContextWindow :: ContextId -> WindowId -> MultiCmd
data MenuCmd
File :: FileMenuCmd -> MenuCmd
View :: ViewMenuCmd -> MenuCmd
Navigation :: NavigationMenuCmd -> MenuCmd
Abstraction :: AbstractionMenuCmd -> MenuCmd
Layout :: LayoutMenuCmd -> MenuCmd
data FileMenuCmd
ClearGraph :: FileMenuCmd
OpenGraph :: Filename -> FileMenuCmd
OpenGraphPlaced :: Filename -> FileMenuCmd
OpenStatus :: Filename -> FileMenuCmd
SaveGraph :: Filename -> FileMenuCmd
SaveStatus :: Filename -> FileMenuCmd
Print :: (Maybe Filename) -> FileMenuCmd
Close :: FileMenuCmd
Exit :: FileMenuCmd
data ViewMenuCmd
OpenNewView :: ViewMenuCmd
OpenSurveyView :: ViewMenuCmd
FullScale :: ViewMenuCmd
FitScaleToWindow :: ViewMenuCmd
Scale :: (Maybe Int) -> ViewMenuCmd
GraphInfo :: ViewMenuCmd
DaVinciInfo :: ViewMenuCmd
data NavigationMenuCmd
SelectParents :: [NodeId] -> NavigationMenuCmd
SelectSiblings :: [NodeId] -> NavigationMenuCmd
SelectChilds :: [NodeId] -> NavigationMenuCmd
SelectChildren :: [NodeId] -> NavigationMenuCmd
Navigator :: (Maybe (NodeId, Direction, Bool)) -> NavigationMenuCmd
Find :: (Maybe (String, Bool, Bool)) -> NavigationMenuCmd
data AbstractionMenuCmd
HideSubgraph :: [NodeId] -> AbstractionMenuCmd
ShowSubgraph :: [NodeId] -> AbstractionMenuCmd
RestoreAllSubgraphs :: AbstractionMenuCmd
HideEdges :: [NodeId] -> AbstractionMenuCmd
ShowEdges :: [NodeId] -> AbstractionMenuCmd
RestoreAllEdges :: AbstractionMenuCmd
data LayoutMenuCmd
ImproveAll :: LayoutMenuCmd
ImproveVisible :: LayoutMenuCmd
CompactAll :: LayoutMenuCmd
Orientation :: Orient -> LayoutMenuCmd
data AppMenuCmd
CreateMenus :: [MenuEntry] -> AppMenuCmd
CreateIcons :: [IconEntry] -> AppMenuCmd
ActivateMenus :: [MenuId] -> AppMenuCmd
ActivateIcons :: [IconId] -> AppMenuCmd
ControlFileEvents :: AppMenuCmd
data SetCmd
LayoutAccuracy :: Int -> SetCmd
KeepNodesAtLevels :: Bool -> SetCmd
FontSize :: Int -> SetCmd
GapWidth :: Int -> SetCmd
GapHeight :: Int -> SetCmd
MultiEdgeGap :: Int -> SetCmd
SelfEdgeRadius :: Int -> SetCmd
ScrollingOnSelection :: Bool -> SetCmd
AnimationSpeed :: Int -> SetCmd
NoCache :: Bool -> SetCmd
RulesFirst :: Bool -> SetCmd
data WindowCmd
Title :: String -> WindowCmd
ShowMessage :: String -> WindowCmd
ShowStatus :: String -> WindowCmd
Position :: Int -> Int -> WindowCmd
Size :: Int -> Int -> WindowCmd
Raise :: WindowCmd
Iconify :: WindowCmd
Deiconify :: WindowCmd
Activate :: WindowCmd
Deactivate :: WindowCmd
FileBrowser :: Bool -> String -> String -> String -> String -> [Btype] -> Bool -> WindowCmd
data TclCmd
DVEval :: String -> TclCmd
EvalFile :: Filename -> TclCmd
data SpecialCmd
SelectNodes :: [NodeId] -> SpecialCmd
SelectEdge :: EdgeId -> SpecialCmd
FocusNode :: NodeId -> SpecialCmd
FocusNodeAnimated :: NodeId -> SpecialCmd
ShowUrl :: String -> SpecialCmd
Version :: SpecialCmd
data VisualCmd
NewRules :: [VisualRule] -> VisualCmd
AddRules :: [VisualRule] -> VisualCmd
data DragAndDropCmd
DraggingOn :: DragAndDropCmd
DragAndDropOn :: DragAndDropCmd
DraggingOff :: DragAndDropCmd
NewNodeAtCoord :: NodeUpdate -> DragAndDropCmd
NewEdgeAndNodeAtCoord :: NodeUpdate -> EdgeUpdate -> DragAndDropCmd
data DaVinciAnswer
Ok :: DaVinciAnswer
CommunicationError :: String -> DaVinciAnswer
NodeSelectionsLabels :: [NodeId] -> DaVinciAnswer
NodeDoubleClick :: DaVinciAnswer
EdgeSelectionLabel :: EdgeId -> DaVinciAnswer
EdgeSelectionLabels :: NodeId -> NodeId -> DaVinciAnswer
EdgeDoubleClick :: DaVinciAnswer
MenuSelection :: MenuId -> DaVinciAnswer
IconSelection :: IconId -> DaVinciAnswer
Context :: ContextId -> DaVinciAnswer
TclAnswer :: String -> DaVinciAnswer
BrowserAnswer :: String -> String -> DaVinciAnswer
Disconnect :: DaVinciAnswer
Closed :: DaVinciAnswer
Quit :: DaVinciAnswer
PopupSelectionNode :: NodeId -> MenuId -> DaVinciAnswer
PopupSelectionEdge :: EdgeId -> MenuId -> DaVinciAnswer
CreateNode :: DaVinciAnswer
CreateNodeAndEdge :: NodeId -> DaVinciAnswer
CreateEdge :: NodeId -> NodeId -> DaVinciAnswer
DropNode :: NodeId -> ContextId -> WindowId -> NodeId -> DaVinciAnswer
ContextWindow :: ContextId -> WindowId -> DaVinciAnswer
OpenWindow :: DaVinciAnswer
CloseWindow :: WindowId -> DaVinciAnswer
Versioned :: String -> DaVinciAnswer
data Node
N :: NodeId -> Type -> [Attribute] -> [Edge] -> Node
R :: NodeId -> Node
data Edge
E :: EdgeId -> Type -> [Attribute] -> Node -> Edge
data Attribute
A :: String -> String -> Attribute
M :: [MenuEntry] -> Attribute
data NodeUpdate
DeleteNode :: NodeId -> NodeUpdate
NewNode :: NodeId -> Type -> [Attribute] -> NodeUpdate
data EdgeUpdate
DeleteEdge :: EdgeId -> EdgeUpdate
NewEdge :: EdgeId -> Type -> [Attribute] -> NodeId -> NodeId -> EdgeUpdate
NewEdgeBehind :: EdgeId -> EdgeId -> Type -> [Attribute] -> NodeId -> NodeId -> EdgeUpdate
data AttrChange
Node :: NodeId -> [Attribute] -> AttrChange
Edge :: EdgeId -> [Attribute] -> AttrChange
data MixedUpdate
NU :: NodeUpdate -> MixedUpdate
EU :: EdgeUpdate -> MixedUpdate
data TypeChange
NodeType :: NodeId -> Type -> TypeChange
EdgeType :: EdgeId -> Type -> TypeChange
data MenuEntry
MenuEntry :: MenuId -> MenuLabel -> MenuEntry
MenuEntryMne :: MenuId -> MenuLabel -> MenuMne -> MenuMod -> MenuAcc -> MenuEntry
SubmenuEntry :: MenuId -> MenuLabel -> [MenuEntry] -> MenuEntry
SubmenuEntryMne :: MenuId -> MenuLabel -> [MenuEntry] -> MenuMne -> MenuEntry
BlankMenuEntry :: MenuEntry
MenuEntryDisabled :: MenuId -> MenuLabel -> MenuEntry
SubmenuEntryDisabled :: MenuId -> MenuLabel -> [MenuEntry] -> MenuEntry
data IconEntry
IconEntry :: IconId -> Filename -> String -> IconEntry
BlankIconEntry :: IconEntry
data VisualRule
NR :: Type -> [Attribute] -> VisualRule
ER :: Type -> [Attribute] -> VisualRule
newtype NodeId
NodeId :: String -> NodeId
newtype EdgeId
EdgeId :: String -> EdgeId
newtype MenuId
MenuId :: String -> MenuId
newtype MenuLabel
MenuLabel :: String -> MenuLabel
newtype MenuMne
MenuMne :: String -> MenuMne
newtype MenuAcc
MenuAcc :: String -> MenuAcc
newtype IconId
IconId :: String -> IconId
newtype Type
Type :: String -> Type
newtype Filename
Filename :: String -> Filename
newtype ContextId
ContextId :: String -> ContextId
newtype WindowId
WindowId :: String -> WindowId
data Orient
TopDown :: Orient
BottomUp :: Orient
LeftRight :: Orient
RightLeft :: Orient
data Direction
Up :: Direction
Down :: Direction
DVLeft :: Direction
DVRight :: Direction
data Btype
Bt :: String -> String -> String -> Btype
data MenuMod
Alternate :: MenuMod
Shift :: MenuMod
Control :: MenuMod
Meta :: MenuMod
None :: MenuMod
instance Eq ViewMenuCmd
instance Eq SetCmd
instance Eq NodeId
instance Ord NodeId
instance Eq AbstractionMenuCmd
instance Eq EdgeId
instance Ord EdgeId
instance Eq SpecialCmd
instance Eq MenuId
instance Ord MenuId
instance Eq MenuLabel
instance Eq MenuMne
instance Eq MenuAcc
instance Eq IconId
instance Ord IconId
instance Eq Type
instance Ord Type
instance Eq TypeChange
instance Eq Filename
instance Eq IconEntry
instance Eq TclCmd
instance Eq FileMenuCmd
instance Eq ContextId
instance Ord ContextId
instance Eq WindowId
instance Ord WindowId
instance Eq DaVinciAnswer
instance Ord DaVinciAnswer
instance Eq MultiCmd
instance Eq Orient
instance Eq LayoutMenuCmd
instance Eq Direction
instance Eq NavigationMenuCmd
instance Eq MenuCmd
instance Eq Btype
instance Eq WindowCmd
instance Eq MenuMod
instance Eq MenuEntry
instance Eq Attribute
instance Eq VisualRule
instance Eq VisualCmd
instance Eq AttrChange
instance Eq EdgeUpdate
instance Eq NodeUpdate
instance Eq MixedUpdate
instance Eq DragAndDropCmd
instance Eq Node
instance Eq Edge
instance Eq GraphCmd
instance Eq AppMenuCmd
instance Eq DaVinciCmd
instance Show MenuMod
instance Show Btype
instance Show Direction
instance Show Orient
instance Show WindowId
instance Show ContextId
instance Show Filename
instance Show Type
instance Show IconId
instance Show MenuAcc
instance Show MenuMne
instance Show MenuLabel
instance Show MenuId
instance Show EdgeId
instance Show NodeId
instance Show VisualRule
instance Show IconEntry
instance Show MenuEntry
instance Show TypeChange
instance Show AttrChange
instance Show MixedUpdate
instance Show EdgeUpdate
instance Show NodeUpdate
instance Show Attribute
instance Show Edge
instance Show Node
instance Read DaVinciAnswer
instance Show DaVinciAnswer
instance Show DragAndDropCmd
instance Show VisualCmd
instance Show SpecialCmd
instance Show TclCmd
instance Show WindowCmd
instance Show SetCmd
instance Show AppMenuCmd
instance Show LayoutMenuCmd
instance Show AbstractionMenuCmd
instance Show NavigationMenuCmd
instance Show ViewMenuCmd
instance Show FileMenuCmd
instance Show MenuCmd
instance Show MultiCmd
instance Show GraphCmd
instance Show DaVinciCmd
-- | DaVinciBasic contains the code to do the following things: (1) get
-- daVinci going (it calls it via a ChildProcess). (2) open new contexts.
-- (3) pass on events and sort answers out for particular contexts. It
-- uses the DaVinciTypes module to parse the different results, but makes
-- minimal attempts to interpret the different datatypes (the main reason
-- for doing so is to interpret DaVinciAnswer to work out what to do with
-- a particular answer).
module UDrawGraph.Basic
data Context
newContext :: (DaVinciAnswer -> IO ()) -> IO Context
doInContextGeneral :: DaVinciCmd -> Context -> IO DaVinciAnswer
doInContext :: DaVinciCmd -> Context -> IO ()
withHandler :: (DaVinciAnswer -> IO ()) -> Context -> IO a -> IO a
newType :: Context -> IO Type
newNodeId :: Context -> IO NodeId
newEdgeId :: Context -> IO EdgeId
newMenuId :: Context -> IO MenuId
daVinciVersion :: Maybe String
exitDaVinci :: Context -> IO ()
instance Ord Context
instance Eq Context
instance Destructible Context
instance Destroyable Context
instance Object DaVinci
instance Destroyable DaVinci
-- | 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.
module UDrawGraph.Graph
daVinciSort :: Graph DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms
data DaVinciGraph
data DaVinciGraphParms
data DaVinciNode value
-- | 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 DaVinciNodeType value
data DaVinciNodeTypeParms value
data DaVinciArc value
data DaVinciArcType value
data DaVinciArcTypeParms value
getDaVinciGraphContext :: DaVinciGraph -> Context
instance [overlap ok] Typeable1 DaVinciNode
instance [overlap ok] Typeable1 DaVinciNodeType
instance [overlap ok] Typeable1 DaVinciArc
instance [overlap ok] Typeable1 DaVinciArcType
instance [overlap ok] Typeable DaVinciGraph
instance [overlap ok] HasConfigValue LocalMenu Attributes
instance [overlap ok] HasConfigValue Att Attributes
instance [overlap ok] HasConfigValue ValueTitle DaVinciArcTypeParms
instance [overlap ok] HasConfigValue DoubleClickAction DaVinciArcTypeParms
instance [overlap ok] ArcTypeConfig arcTypeConfig => HasConfigValue arcTypeConfig DaVinciArcTypeParms
instance [overlap ok] HasConfigValue LocalMenu DaVinciArcTypeParms
instance [overlap ok] HasConfigValue EdgePattern DaVinciArcTypeParms
instance [overlap ok] HasConfigValue Head DaVinciArcTypeParms
instance [overlap ok] HasConfigValue EdgeDir DaVinciArcTypeParms
instance [overlap ok] HasConfigValue Color DaVinciArcTypeParms
instance [overlap ok] ArcTypeParms DaVinciArcTypeParms
instance [overlap ok] NewArcType DaVinciGraph DaVinciArcType DaVinciArcTypeParms
instance [overlap ok] ArcTypeClass DaVinciArcType
instance [overlap ok] Ord1 DaVinciArcType
instance [overlap ok] Eq1 DaVinciArcType
instance [overlap ok] ArcClass DaVinciArc
instance [overlap ok] DeleteArc DaVinciGraph DaVinciArc
instance [overlap ok] SetArcType DaVinciGraph DaVinciArc DaVinciArcType
instance [overlap ok] NewArc DaVinciGraph DaVinciNode DaVinciNode DaVinciArc DaVinciArcType
instance [overlap ok] Ord1 DaVinciArc
instance [overlap ok] Eq1 DaVinciArc
instance [overlap ok] HasConfigValue NodeDragAndDrop DaVinciNodeTypeParms
instance [overlap ok] HasConfigValue NodeGesture DaVinciNodeTypeParms
instance [overlap ok] HasModifyValue (String, String) DaVinciGraph DaVinciNode
instance [overlap ok] HasModifyValue Attribute DaVinciGraph DaVinciNode
instance [overlap ok] HasModifyValue NodeArcsHidden DaVinciGraph DaVinciNode
instance [overlap ok] HasConfigValue DoubleClickAction DaVinciNodeTypeParms
instance [overlap ok] HasConfigValue LocalMenu DaVinciNodeTypeParms
instance [overlap ok] HasConfigValue Color DaVinciNodeTypeParms
instance [overlap ok] HasConfigValue Shape DaVinciNodeTypeParms
instance [overlap ok] HasConfigValue BorderSource DaVinciNodeTypeParms
instance [overlap ok] HasConfigValue FontStyleSource DaVinciNodeTypeParms
instance [overlap ok] HasConfigValue ValueTitleSource DaVinciNodeTypeParms
instance [overlap ok] HasConfigValue ValueTitle DaVinciNodeTypeParms
instance [overlap ok] NodeTypeConfig graphConfig => HasConfigValue graphConfig DaVinciNodeTypeParms
instance [overlap ok] NodeTypeParms DaVinciNodeTypeParms
instance [overlap ok] NewNodeType DaVinciGraph DaVinciNodeType DaVinciNodeTypeParms
instance [overlap ok] NodeTypeClass DaVinciNodeType
instance [overlap ok] NodeClass DaVinciNode
instance [overlap ok] SetNodeFocus DaVinciGraph DaVinciNode
instance [overlap ok] DeleteNode DaVinciGraph DaVinciNode
instance [overlap ok] NewNode DaVinciGraph DaVinciNode DaVinciNodeType
instance [overlap ok] Eq1 DaVinciNodeType
instance [overlap ok] Ord1 DaVinciNode
instance [overlap ok] Eq1 DaVinciNode
instance [overlap ok] GraphConfig graphConfig => HasConfig graphConfig DaVinciGraphParms
instance [overlap ok] HasConfig GraphGesture DaVinciGraphParms
instance [overlap ok] HasConfig GlobalMenu DaVinciGraphParms
instance [overlap ok] HasConfig AllowDragging DaVinciGraphParms
instance [overlap ok] HasConfig ActionWrapper DaVinciGraphParms
instance [overlap ok] HasConfig Orientation DaVinciGraphParms
instance [overlap ok] HasConfig (FileMenuOption, Maybe (DaVinciGraph -> IO ())) DaVinciGraphParms
instance [overlap ok] HasConfig FileMenuAct DaVinciGraphParms
instance [overlap ok] HasConfig AllowClose DaVinciGraphParms
instance [overlap ok] HasConfig SurveyView DaVinciGraphParms
instance [overlap ok] HasConfig OptimiseLayout DaVinciGraphParms
instance [overlap ok] HasConfig (SimpleSource GraphTitle) DaVinciGraphParms
instance [overlap ok] HasConfig Delayer DaVinciGraphParms
instance [overlap ok] HasConfig GraphTitle DaVinciGraphParms
instance [overlap ok] GraphParms DaVinciGraphParms
instance [overlap ok] NewGraph DaVinciGraph DaVinciGraphParms
instance [overlap ok] GraphClass DaVinciGraph
instance [overlap ok] HasDelayer DaVinciGraph
instance [overlap ok] Destructible DaVinciGraph
instance [overlap ok] Destroyable DaVinciGraph
instance [overlap ok] Ord DaVinciGraph
instance [overlap ok] Eq DaVinciGraph
instance [overlap ok] GraphAllConfig DaVinciGraph DaVinciGraphParms DaVinciNode DaVinciNodeType DaVinciNodeTypeParms DaVinciArc DaVinciArcType DaVinciArcTypeParms