Added function to keep symetry with g_node_insert_before. 2000-09-29
authorJonathan Blandford <jrb@redhat.com>
Fri, 29 Sep 2000 23:13:02 +0000 (23:13 +0000)
committerJonathan Blandford <jrb@src.gnome.org>
Fri, 29 Sep 2000 23:13:02 +0000 (23:13 +0000)
2000-09-29  Jonathan Blandford  <jrb@redhat.com>

* gnode.c (g_node_insert_after): Added function to keep symetry
with g_node_insert_before.
2000-09-29  Jonathan Blandford  <jrb@redhat.com>

* glib/tmpl/trees-nary.sgml: Add g_node_insert_after().

16 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
docs/reference/ChangeLog
docs/reference/glib/glib-sections.txt
docs/reference/glib/tmpl/trees-nary.sgml
glib.h
glib/glib.h
glib/gnode.c
gnode.c
gobject/gobject.c

index f7acbb0..00b2e03 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2000-09-29  Jonathan Blandford  <jrb@redhat.com>
+
+       * gnode.c (g_node_insert_after): Added function to keep symetry
+       with g_node_insert_before. 
+
 2000-09-30  Martin Baulig  <baulig@suse.de>
 
        * configure.in (HAVE_THREADS): New automake conditional.
index f7acbb0..00b2e03 100644 (file)
@@ -1,3 +1,8 @@
+2000-09-29  Jonathan Blandford  <jrb@redhat.com>
+
+       * gnode.c (g_node_insert_after): Added function to keep symetry
+       with g_node_insert_before. 
+
 2000-09-30  Martin Baulig  <baulig@suse.de>
 
        * configure.in (HAVE_THREADS): New automake conditional.
index f7acbb0..00b2e03 100644 (file)
@@ -1,3 +1,8 @@
+2000-09-29  Jonathan Blandford  <jrb@redhat.com>
+
+       * gnode.c (g_node_insert_after): Added function to keep symetry
+       with g_node_insert_before. 
+
 2000-09-30  Martin Baulig  <baulig@suse.de>
 
        * configure.in (HAVE_THREADS): New automake conditional.
index f7acbb0..00b2e03 100644 (file)
@@ -1,3 +1,8 @@
+2000-09-29  Jonathan Blandford  <jrb@redhat.com>
+
+       * gnode.c (g_node_insert_after): Added function to keep symetry
+       with g_node_insert_before. 
+
 2000-09-30  Martin Baulig  <baulig@suse.de>
 
        * configure.in (HAVE_THREADS): New automake conditional.
index f7acbb0..00b2e03 100644 (file)
@@ -1,3 +1,8 @@
+2000-09-29  Jonathan Blandford  <jrb@redhat.com>
+
+       * gnode.c (g_node_insert_after): Added function to keep symetry
+       with g_node_insert_before. 
+
 2000-09-30  Martin Baulig  <baulig@suse.de>
 
        * configure.in (HAVE_THREADS): New automake conditional.
index f7acbb0..00b2e03 100644 (file)
@@ -1,3 +1,8 @@
+2000-09-29  Jonathan Blandford  <jrb@redhat.com>
+
+       * gnode.c (g_node_insert_after): Added function to keep symetry
+       with g_node_insert_before. 
+
 2000-09-30  Martin Baulig  <baulig@suse.de>
 
        * configure.in (HAVE_THREADS): New automake conditional.
index f7acbb0..00b2e03 100644 (file)
@@ -1,3 +1,8 @@
+2000-09-29  Jonathan Blandford  <jrb@redhat.com>
+
+       * gnode.c (g_node_insert_after): Added function to keep symetry
+       with g_node_insert_before. 
+
 2000-09-30  Martin Baulig  <baulig@suse.de>
 
        * configure.in (HAVE_THREADS): New automake conditional.
index f7acbb0..00b2e03 100644 (file)
@@ -1,3 +1,8 @@
+2000-09-29  Jonathan Blandford  <jrb@redhat.com>
+
+       * gnode.c (g_node_insert_after): Added function to keep symetry
+       with g_node_insert_before. 
+
 2000-09-30  Martin Baulig  <baulig@suse.de>
 
        * configure.in (HAVE_THREADS): New automake conditional.
index 6e7c13e..a71589b 100644 (file)
@@ -1,3 +1,7 @@
+2000-09-29  Jonathan Blandford  <jrb@redhat.com>
+
+       * glib/tmpl/trees-nary.sgml: Add g_node_insert_after().
+
 Thu Sep  7 12:35:35 2000  Owen Taylor  <otaylor@redhat.com>
 
         * Some further makefile improvement.
index c644286..aeb80ca 100644 (file)
@@ -1319,6 +1319,7 @@ g_node_copy
 <SUBSECTION>
 g_node_insert
 g_node_insert_before
+g_node_insert_after
 g_node_append
 g_node_prepend
 
index 2019c86..8916fa6 100644 (file)
@@ -113,6 +113,18 @@ the node is inserted as the last child of @parent.
 @Returns: the inserted #GNode.
 
 
+<!-- ##### FUNCTION g_node_insert_after ##### -->
+<para>
+Inserts a #GNode beneath the parent after the given sibling.
+</para>
+
+@parent: the #GNode to place @node under.
+@sibling: the sibling #GNode to place @node after. If sibling is NULL,
+the node is inserted as the first child of @parent.
+@node: the #GNode to insert.
+@Returns: the inserted #GNode.
+
+
 <!-- ##### MACRO g_node_append ##### -->
 <para>
 Inserts a #GNode as the last child of the given parent.
diff --git a/glib.h b/glib.h
index f485552..7ba589b 100644 (file)
--- a/glib.h
+++ b/glib.h
@@ -1267,6 +1267,9 @@ GNode*     g_node_insert          (GNode            *parent,
 GNode*  g_node_insert_before   (GNode            *parent,
                                 GNode            *sibling,
                                 GNode            *node);
+GNode*  g_node_insert_after    (GNode            *parent,
+                                GNode            *sibling,
+                                GNode            *node);
 GNode*  g_node_prepend         (GNode            *parent,
                                 GNode            *node);
 guint   g_node_n_nodes         (GNode            *root,
index f485552..7ba589b 100644 (file)
@@ -1267,6 +1267,9 @@ GNode*     g_node_insert          (GNode            *parent,
 GNode*  g_node_insert_before   (GNode            *parent,
                                 GNode            *sibling,
                                 GNode            *node);
+GNode*  g_node_insert_after    (GNode            *parent,
+                                GNode            *sibling,
+                                GNode            *node);
 GNode*  g_node_prepend         (GNode            *parent,
                                 GNode            *node);
 guint   g_node_n_nodes         (GNode            *root,
index d09c8ef..5b72300 100644 (file)
@@ -281,6 +281,42 @@ g_node_insert_before (GNode *parent,
 }
 
 GNode*
+g_node_insert_after (GNode *parent,
+                    GNode *sibling,
+                    GNode *node)
+{
+  g_return_val_if_fail (parent != NULL, node);
+  g_return_val_if_fail (node != NULL, node);
+  g_return_val_if_fail (G_NODE_IS_ROOT (node), node);
+  if (sibling)
+    g_return_val_if_fail (sibling->parent == parent, node);
+
+  node->parent = parent;
+
+  if (sibling)
+    {
+      if (sibling->next)
+       {
+         sibling->next->prev = node;
+       }
+      node->next = sibling->next;
+      node->prev = sibling;
+      sibling->next = node;
+    }
+  else
+    {
+      if (parent->children)
+       {
+         node->next = parent->children;
+         parent->children->prev = node;
+       }
+      parent->children = node;
+    }
+
+  return node;
+}
+
+GNode*
 g_node_prepend (GNode *parent,
                GNode *node)
 {
diff --git a/gnode.c b/gnode.c
index d09c8ef..5b72300 100644 (file)
--- a/gnode.c
+++ b/gnode.c
@@ -281,6 +281,42 @@ g_node_insert_before (GNode *parent,
 }
 
 GNode*
+g_node_insert_after (GNode *parent,
+                    GNode *sibling,
+                    GNode *node)
+{
+  g_return_val_if_fail (parent != NULL, node);
+  g_return_val_if_fail (node != NULL, node);
+  g_return_val_if_fail (G_NODE_IS_ROOT (node), node);
+  if (sibling)
+    g_return_val_if_fail (sibling->parent == parent, node);
+
+  node->parent = parent;
+
+  if (sibling)
+    {
+      if (sibling->next)
+       {
+         sibling->next->prev = node;
+       }
+      node->next = sibling->next;
+      node->prev = sibling;
+      sibling->next = node;
+    }
+  else
+    {
+      if (parent->children)
+       {
+         node->next = parent->children;
+         parent->children->prev = node;
+       }
+      parent->children = node;
+    }
+
+  return node;
+}
+
+GNode*
 g_node_prepend (GNode *parent,
                GNode *node)
 {
index e772769..5a703ce 100644 (file)
@@ -338,9 +338,9 @@ static void
 g_object_do_dispatch_param_changed (GObject    *object,
                                    GParamSpec *pspec)
 {
-  g_message ("NOTIFICATION: parameter `%s' changed on object `%s'",
+/*  g_message ("NOTIFICATION: parameter `%s' changed on object `%s'",
             pspec->name,
-            G_OBJECT_TYPE_NAME (object));
+            G_OBJECT_TYPE_NAME (object));*/
 }
 
 static gboolean