[gtk+] gtk-demo: Make the menu example work again



commit d93934ba6c4e0412ca0314d3a92c7ad98a1574fd
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Feb 17 16:40:00 2011 -0500

    gtk-demo: Make the menu example work again

 demos/gtk-demo/menus.c |   44 +++++++-------------------------------------
 1 files changed, 7 insertions(+), 37 deletions(-)
---
diff --git a/demos/gtk-demo/menus.c b/demos/gtk-demo/menus.c
index 316e853..7ea2984 100644
--- a/demos/gtk-demo/menus.c
+++ b/demos/gtk-demo/menus.c
@@ -74,47 +74,17 @@ change_orientation (GtkWidget *button,
                     GtkWidget *menubar)
 {
   GtkWidget *parent;
-  GtkWidget *box = NULL;
+  GtkOrientation orientation;
 
   parent = gtk_widget_get_parent (menubar);
+  orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (parent));
+  gtk_orientable_set_orientation (GTK_ORIENTABLE (parent), 1 - orientation);
 
-  if (GTK_IS_VBOX (parent))
-    {
-      box = gtk_widget_get_parent (parent);
-
-      g_object_ref (menubar);
-      gtk_container_remove (GTK_CONTAINER (parent), menubar);
-      gtk_container_add (GTK_CONTAINER (box), menubar);
-      gtk_box_reorder_child (GTK_BOX (box), menubar, 0);
-      g_object_unref (menubar);
-      g_object_set (menubar, 
-		    "pack-direction", GTK_PACK_DIRECTION_TTB,
-		    NULL);
-    }
+  if (orientation == GTK_ORIENTATION_VERTICAL)
+    g_object_set (menubar, "pack-direction", GTK_PACK_DIRECTION_TTB, NULL);
   else
-    {
-      GList *children, *l;
-
-      children = gtk_container_get_children (GTK_CONTAINER (parent));
-      for (l = children; l; l = l->next)
-	{
-	  if (GTK_IS_VBOX (l->data))
-	    {
-	      box = l->data;
-	      break;
-	    }
-	}
-      g_list_free (children);
-
-      g_object_ref (menubar);
-      gtk_container_remove (GTK_CONTAINER (parent), menubar);
-      gtk_container_add (GTK_CONTAINER (box), menubar);
-      gtk_box_reorder_child (GTK_BOX (box), menubar, 0);
-      g_object_unref (menubar);
-      g_object_set (menubar, 
-		    "pack-direction", GTK_PACK_DIRECTION_LTR,
-		    NULL);
-    }
+    g_object_set (menubar, "pack-direction", GTK_PACK_DIRECTION_LTR, NULL);
+
 }
 
 static GtkWidget *window = NULL;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]