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;
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- box = gtk_hbox_new (FALSE, 0);
+ box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_add (GTK_CONTAINER (window), box);
gtk_widget_show (box);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (box), box1);
gtk_widget_show (box1);
menuitem = gtk_menu_item_new_with_label ("bar");
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (4, TRUE));
- gtk_menu_item_set_right_justified (GTK_MENU_ITEM (menuitem), TRUE);
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
gtk_widget_show (menuitem);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
gtk_widget_show (box2);