sifflet-lib-1.0: Library of modules shared by sifflet and its tests and its exporters.Source codeContentsIndex
Sifflet.UI.Frame
Synopsis
data CanvFrame = CanvFrame {
cfHeader :: TextBox
cfFooter :: TextBox
cfVarNames :: [String]
cfParent :: Maybe Node
cfFrameNode :: Node
cfEnv :: Env
cfBox :: BBox
cfLevel :: Double
cfFunctoid :: Functoid
frameType :: FrameType
}
data FrameType
= EditFrame
| CallFrame
argIoletCounter :: [String] -> ExprNode -> (Int, Int)
atLeastSizeFrame :: Size -> CanvFrame -> CanvFrame
cfEvalReady :: CanvFrame -> Bool
cfPointInHeader :: CanvFrame -> Double -> Double -> Bool
cfPointInFooter :: CanvFrame -> Double -> Double -> Bool
cfRoot :: CanvFrame -> Node
frameNewWithLayout :: Style -> Position -> Double -> Functoid -> Maybe [Value] -> FrameType -> Node -> Env -> Maybe Node -> (CanvFrame, FunctoidLayout)
frameBodyBox :: CanvFrame -> BBox
frameNodeAt :: CanvFrame -> WGraph -> Position -> Maybe Node
frameOffset :: Style -> CanvFrame -> Position
levelOrder :: CanvFrame -> CanvFrame -> Ordering
nodeCompoundFunction :: WGraph -> CanvFrame -> Node -> Maybe Function
pointIolet :: Position -> Int -> [Iolet] -> Maybe Int
resizeFrame :: CanvFrame -> Double -> Double -> CanvFrame
translateFrame :: CanvFrame -> Double -> Double -> CanvFrame
grTranslateFrameNodes :: WGraph -> CanvFrame -> Double -> Double -> WGraph
Documentation
data CanvFrame Source
A CanvFrame represents (indirectly, through cfRoot, and we access to the graph which is provided by the VCanvas) a subgraph such as the expression tree of a function which is being edited or called.
Constructors
CanvFrame
cfHeader :: TextBoxtop area of the frame
cfFooter :: TextBoxbottom area
cfVarNames :: [String]variable (parameter) names
cfParent :: Maybe Nodethe node opened to make this frame
cfFrameNode :: Nodethis frame as a node in the graph; also serves as the ID of the frame.
cfEnv :: Envenvironment for evaluation
cfBox :: BBoxbox of the whole frame (header, tree, and footer)
cfLevel :: Double0 = bottom level, 1 = next higher, etc.
cfFunctoid :: Functoidincludes tlo for an edit frame
frameType :: FrameTypeedit or call frame
show/hide Instances
data FrameType Source
Constructors
EditFrame
CallFrame
show/hide Instances
argIoletCounter :: [String] -> ExprNode -> (Int, Int)Source
argIoletCounter returns (no. of inlets, no. of outlets) derived from the argument list of a function still being defined
atLeastSizeFrame :: Size -> CanvFrame -> CanvFrameSource
cfEvalReady :: CanvFrame -> BoolSource
A frame is eval ready -- that is, okay to run the Eval Frame dialog -- if it is a call frame with no parent
cfPointInHeader :: CanvFrame -> Double -> Double -> BoolSource
cfPointInFooter :: CanvFrame -> Double -> Double -> BoolSource
cfRoot :: CanvFrame -> NodeSource
The root of the tree displayed in the frame
frameNewWithLayout :: Style -> Position -> Double -> Functoid -> Maybe [Value] -> FrameType -> Node -> Env -> Maybe Node -> (CanvFrame, FunctoidLayout)Source
Figure out the frame layout for a function. Returns the layout and frame. Currently, the frame is marked as a call frame; if you want to edit it, call (editFrame? editFunction?)
frameBodyBox :: CanvFrame -> BBoxSource
frameNodeAt :: CanvFrame -> WGraph -> Position -> Maybe NodeSource
frameOffset :: Style -> CanvFrame -> PositionSource
Where to position a new frame that is grown out of an old frame? This is a very rough draft of frameOffset
levelOrder :: CanvFrame -> CanvFrame -> OrderingSource
Use levelOrder for sorting frames before drawing them
nodeCompoundFunction :: WGraph -> CanvFrame -> Node -> Maybe FunctionSource
pointIolet :: Position -> Int -> [Iolet] -> Maybe IntSource
resizeFrame :: CanvFrame -> Double -> Double -> CanvFrameSource
translateFrame :: CanvFrame -> Double -> Double -> CanvFrameSource
grTranslateFrameNodes :: WGraph -> CanvFrame -> Double -> Double -> WGraphSource
Produced by Haddock version 2.6.1