]> Pileus Git - ~andy/gtk/commitdiff
New function gtk_menu_reorder_child() from Tim Janik.
authorCST 1999 Shawn T. Amundson <amundson@gtk.org>
Thu, 25 Feb 1999 08:17:13 +0000 (08:17 +0000)
committerShawn Amundson <amundson@src.gnome.org>
Thu, 25 Feb 1999 08:17:13 +0000 (08:17 +0000)
Thu Feb 25 02:13:20 CST 1999 Shawn T. Amundson <amundson@gtk.org>

* gtk/gtkmenu.[ch]: New function gtk_menu_reorder_child()
  from Tim Janik.

This will be used in GIMP, so it is tested there.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkmenu.c
gtk/gtkmenu.h

index 67f4464c2f565f95245da302e0257b8c1a1d67d5..203836ffc80361b65ef00fb5420f887f1e8ca497 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Feb 25 02:13:20 CST 1999 Shawn T. Amundson <amundson@gtk.org>
+
+       * gtk/gtkmenu.[ch]: New function gtk_menu_reorder_child()
+         from Tim Janik.  
+
 Thu Feb 25 00:48:51 1999  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkfontsel.c: Don't access *bitmapped_sizes
index 67f4464c2f565f95245da302e0257b8c1a1d67d5..203836ffc80361b65ef00fb5420f887f1e8ca497 100644 (file)
@@ -1,3 +1,8 @@
+Thu Feb 25 02:13:20 CST 1999 Shawn T. Amundson <amundson@gtk.org>
+
+       * gtk/gtkmenu.[ch]: New function gtk_menu_reorder_child()
+         from Tim Janik.  
+
 Thu Feb 25 00:48:51 1999  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkfontsel.c: Don't access *bitmapped_sizes
index 67f4464c2f565f95245da302e0257b8c1a1d67d5..203836ffc80361b65ef00fb5420f887f1e8ca497 100644 (file)
@@ -1,3 +1,8 @@
+Thu Feb 25 02:13:20 CST 1999 Shawn T. Amundson <amundson@gtk.org>
+
+       * gtk/gtkmenu.[ch]: New function gtk_menu_reorder_child()
+         from Tim Janik.  
+
 Thu Feb 25 00:48:51 1999  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkfontsel.c: Don't access *bitmapped_sizes
index 67f4464c2f565f95245da302e0257b8c1a1d67d5..203836ffc80361b65ef00fb5420f887f1e8ca497 100644 (file)
@@ -1,3 +1,8 @@
+Thu Feb 25 02:13:20 CST 1999 Shawn T. Amundson <amundson@gtk.org>
+
+       * gtk/gtkmenu.[ch]: New function gtk_menu_reorder_child()
+         from Tim Janik.  
+
 Thu Feb 25 00:48:51 1999  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkfontsel.c: Don't access *bitmapped_sizes
index 67f4464c2f565f95245da302e0257b8c1a1d67d5..203836ffc80361b65ef00fb5420f887f1e8ca497 100644 (file)
@@ -1,3 +1,8 @@
+Thu Feb 25 02:13:20 CST 1999 Shawn T. Amundson <amundson@gtk.org>
+
+       * gtk/gtkmenu.[ch]: New function gtk_menu_reorder_child()
+         from Tim Janik.  
+
 Thu Feb 25 00:48:51 1999  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkfontsel.c: Don't access *bitmapped_sizes
index 67f4464c2f565f95245da302e0257b8c1a1d67d5..203836ffc80361b65ef00fb5420f887f1e8ca497 100644 (file)
@@ -1,3 +1,8 @@
+Thu Feb 25 02:13:20 CST 1999 Shawn T. Amundson <amundson@gtk.org>
+
+       * gtk/gtkmenu.[ch]: New function gtk_menu_reorder_child()
+         from Tim Janik.  
+
 Thu Feb 25 00:48:51 1999  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkfontsel.c: Don't access *bitmapped_sizes
index 67f4464c2f565f95245da302e0257b8c1a1d67d5..203836ffc80361b65ef00fb5420f887f1e8ca497 100644 (file)
@@ -1,3 +1,8 @@
+Thu Feb 25 02:13:20 CST 1999 Shawn T. Amundson <amundson@gtk.org>
+
+       * gtk/gtkmenu.[ch]: New function gtk_menu_reorder_child()
+         from Tim Janik.  
+
 Thu Feb 25 00:48:51 1999  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkfontsel.c: Don't access *bitmapped_sizes
index 2808b50c512d66adcef5be44ab8670b64ed9adcc..207f9cc0cea88817a6b14f8561ca29696b6de33c 100644 (file)
@@ -669,6 +669,24 @@ gtk_menu_set_title (GtkMenu     *menu,
                            g_strdup (title), (GtkDestroyNotify) g_free);
 }
 
+void
+gtk_menu_reorder_child (GtkMenu   *menu,
+                        GtkWidget *child,
+                        gint       position)
+{
+  GtkMenuShell *menu_shell;
+  g_return_if_fail (GTK_IS_MENU (menu));
+  g_return_if_fail (GTK_IS_MENU_ITEM (child));
+  menu_shell = GTK_MENU_SHELL (menu);
+  if (g_list_find (menu_shell->children, child))
+    {   
+      menu_shell->children = g_list_remove (menu_shell->children, child);
+      menu_shell->children = g_list_insert (menu_shell->children, child, position);   
+      if (GTK_WIDGET_VISIBLE (menu_shell))
+        gtk_widget_queue_resize (GTK_WIDGET (menu_shell));
+    }   
+}
+
 static void
 gtk_menu_realize (GtkWidget *widget)
 {
index 4df8fd0a184e9c3408eb328ecd2c671e3abed6ce..7e37a0bcd62a62728ed2b88d4f3eb797930f92f0 100644 (file)
@@ -145,6 +145,10 @@ void       gtk_menu_set_tearoff_state     (GtkMenu             *menu,
 void       gtk_menu_set_title             (GtkMenu             *menu,
                                           const gchar         *title);
 
+void       gtk_menu_reorder_child         (GtkMenu             *menu,
+                                           GtkWidget           *child,
+                                           gint                position);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */