[libdazzle] tree: add helper to rebuild node
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libdazzle] tree: add helper to rebuild node
- Date: Tue, 12 Dec 2017 06:34:42 +0000 (UTC)
commit c0ce642a75306e0d1503b90539478b51c1f6fcbb
Author: Christian Hergert <chergert redhat com>
Date: Mon Dec 11 22:33:55 2017 -0800
tree: add helper to rebuild node
This allows rebuilding a node without invalidating children.
src/tree/dzl-tree-node.c | 22 ++++++++++++++++++++++
src/tree/dzl-tree-node.h | 2 ++
2 files changed, 24 insertions(+), 0 deletions(-)
---
diff --git a/src/tree/dzl-tree-node.c b/src/tree/dzl-tree-node.c
index 16f4e18..a420de2 100644
--- a/src/tree/dzl-tree-node.c
+++ b/src/tree/dzl-tree-node.c
@@ -1364,3 +1364,25 @@ dzl_tree_node_set_foreground_rgba (DzlTreeNode *self,
self->foreground_rgba_set = !!foreground_rgba;
}
+
+/**
+ * dzl_tree_node_rebuild:
+ * @self: a #DzlTreeNode
+ *
+ * Rebuilds a node, without invalidating children nodes. If you want to
+ * ensure that children are also rebuilt, use dzl_tree_node_invalidate().
+ *
+ * Since: 3.28
+ */
+void
+dzl_tree_node_rebuild (DzlTreeNode *self)
+{
+ DzlTree *tree;
+
+ g_return_if_fail (DZL_IS_TREE_NODE (self));
+
+ tree = dzl_tree_node_get_tree (self);
+
+ if (tree != NULL)
+ _dzl_tree_build_node (tree, self);
+}
diff --git a/src/tree/dzl-tree-node.h b/src/tree/dzl-tree-node.h
index 40d39f0..3cf1637 100644
--- a/src/tree/dzl-tree-node.h
+++ b/src/tree/dzl-tree-node.h
@@ -77,6 +77,8 @@ void dzl_tree_node_get_area (DzlTreeNode *nod
GdkRectangle *area);
DZL_AVAILABLE_IN_ALL
void dzl_tree_node_invalidate (DzlTreeNode *node);
+DZL_AVAILABLE_IN_3_28
+void dzl_tree_node_rebuild (DzlTreeNode *self);
DZL_AVAILABLE_IN_ALL
gboolean dzl_tree_node_get_expanded (DzlTreeNode *node);
DZL_AVAILABLE_IN_ALL
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]