| Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.GLib.Structs.Node
Contents
Description
The Node struct represents one node in a [n-ary tree][glib-N-ary-Trees].
- newtype Node = Node (ManagedPtr Node)
- newZeroNode :: MonadIO m => m Node
- noNode :: Maybe Node
- data NodeChildIndexMethodInfo
- nodeChildIndex :: (HasCallStack, MonadIO m) => Node -> Ptr () -> m Int32
- data NodeChildPositionMethodInfo
- nodeChildPosition :: (HasCallStack, MonadIO m) => Node -> Node -> m Int32
- data NodeDepthMethodInfo
- nodeDepth :: (HasCallStack, MonadIO m) => Node -> m Word32
- data NodeDestroyMethodInfo
- nodeDestroy :: (HasCallStack, MonadIO m) => Node -> m ()
- data NodeIsAncestorMethodInfo
- nodeIsAncestor :: (HasCallStack, MonadIO m) => Node -> Node -> m Bool
- data NodeMaxHeightMethodInfo
- nodeMaxHeight :: (HasCallStack, MonadIO m) => Node -> m Word32
- data NodeNChildrenMethodInfo
- nodeNChildren :: (HasCallStack, MonadIO m) => Node -> m Word32
- data NodeNNodesMethodInfo
- nodeNNodes :: (HasCallStack, MonadIO m) => Node -> [TraverseFlags] -> m Word32
- data NodeReverseChildrenMethodInfo
- nodeReverseChildren :: (HasCallStack, MonadIO m) => Node -> m ()
- data NodeUnlinkMethodInfo
- nodeUnlink :: (HasCallStack, MonadIO m) => Node -> m ()
- clearNodeChildren :: MonadIO m => Node -> m ()
- getNodeChildren :: MonadIO m => Node -> m (Maybe Node)
- node_children :: AttrLabelProxy "children"
- setNodeChildren :: MonadIO m => Node -> Ptr Node -> m ()
- clearNodeData :: MonadIO m => Node -> m ()
- getNodeData :: MonadIO m => Node -> m (Ptr ())
- node_data :: AttrLabelProxy "data"
- setNodeData :: MonadIO m => Node -> Ptr () -> m ()
- clearNodeNext :: MonadIO m => Node -> m ()
- getNodeNext :: MonadIO m => Node -> m (Maybe Node)
- node_next :: AttrLabelProxy "next"
- setNodeNext :: MonadIO m => Node -> Ptr Node -> m ()
- clearNodeParent :: MonadIO m => Node -> m ()
- getNodeParent :: MonadIO m => Node -> m (Maybe Node)
- node_parent :: AttrLabelProxy "parent"
- setNodeParent :: MonadIO m => Node -> Ptr Node -> m ()
- clearNodePrev :: MonadIO m => Node -> m ()
- getNodePrev :: MonadIO m => Node -> m (Maybe Node)
- node_prev :: AttrLabelProxy "prev"
- setNodePrev :: MonadIO m => Node -> Ptr Node -> m ()
Exported types
Constructors
| Node (ManagedPtr Node) |
Instances
Methods
childIndex
data NodeChildIndexMethodInfo Source #
Instances
| ((~) * signature (Ptr () -> m Int32), MonadIO m) => MethodInfo * NodeChildIndexMethodInfo Node signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> Ptr () |
|
| -> m Int32 | Returns: the index of the child of |
Gets the position of the first child of a Node
which contains the given data.
childPosition
data NodeChildPositionMethodInfo Source #
Instances
| ((~) * signature (Node -> m Int32), MonadIO m) => MethodInfo * NodeChildPositionMethodInfo Node signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> Node |
|
| -> m Int32 | Returns: the position of |
Gets the position of a Node with respect to its siblings.
child must be a child of node. The first child is numbered 0,
the second 1, and so on.
depth
data NodeDepthMethodInfo Source #
Instances
| ((~) * signature (m Word32), MonadIO m) => MethodInfo * NodeDepthMethodInfo Node signature Source # | |
destroy
data NodeDestroyMethodInfo Source #
Instances
| ((~) * signature (m ()), MonadIO m) => MethodInfo * NodeDestroyMethodInfo Node signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> m () |
Removes root and its children from the tree, freeing any memory
allocated.
isAncestor
data NodeIsAncestorMethodInfo Source #
Instances
| ((~) * signature (Node -> m Bool), MonadIO m) => MethodInfo * NodeIsAncestorMethodInfo Node signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> Node |
|
| -> m Bool | Returns: |
Returns True if node is an ancestor of descendant.
This is true if node is the parent of descendant,
or if node is the grandparent of descendant etc.
maxHeight
data NodeMaxHeightMethodInfo Source #
Instances
| ((~) * signature (m Word32), MonadIO m) => MethodInfo * NodeMaxHeightMethodInfo Node signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> m Word32 | Returns: the maximum height of the tree beneath |
nChildren
data NodeNChildrenMethodInfo Source #
Instances
| ((~) * signature (m Word32), MonadIO m) => MethodInfo * NodeNChildrenMethodInfo Node signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> m Word32 | Returns: the number of children of |
Gets the number of children of a Node.
nNodes
data NodeNNodesMethodInfo Source #
Instances
| ((~) * signature ([TraverseFlags] -> m Word32), MonadIO m) => MethodInfo * NodeNNodesMethodInfo Node signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> [TraverseFlags] |
|
| -> m Word32 | Returns: the number of nodes in the tree |
Gets the number of nodes in a tree.
reverseChildren
data NodeReverseChildrenMethodInfo Source #
Instances
| ((~) * signature (m ()), MonadIO m) => MethodInfo * NodeReverseChildrenMethodInfo Node signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> m () |
Reverses the order of the children of a Node.
(It doesn't change the order of the grandchildren.)
unlink
data NodeUnlinkMethodInfo Source #
Instances
| ((~) * signature (m ()), MonadIO m) => MethodInfo * NodeUnlinkMethodInfo Node signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> m () |
Unlinks a Node from a tree, resulting in two separate trees.
Properties
children
clearNodeChildren :: MonadIO m => Node -> m () Source #
node_children :: AttrLabelProxy "children" Source #
data
clearNodeData :: MonadIO m => Node -> m () Source #
node_data :: AttrLabelProxy "data" Source #
next
clearNodeNext :: MonadIO m => Node -> m () Source #
node_next :: AttrLabelProxy "next" Source #
parent
clearNodeParent :: MonadIO m => Node -> m () Source #
node_parent :: AttrLabelProxy "parent" Source #
prev
clearNodePrev :: MonadIO m => Node -> m () Source #
node_prev :: AttrLabelProxy "prev" Source #