static void panel_menu_bar_update_orientation(PanelMenuBar* menubar) { GtkPackDirection pack_direction; double text_angle; float text_xalign; float text_yalign; pack_direction = GTK_PACK_DIRECTION_LTR; text_angle = 0.0; text_xalign = 0.0; text_yalign = 0.5; switch (menubar->priv->orientation) { case PANEL_ORIENTATION_TOP: case PANEL_ORIENTATION_BOTTOM: break; case PANEL_ORIENTATION_LEFT: pack_direction = GTK_PACK_DIRECTION_BTT; text_angle = 90.0; text_xalign = 0.5; text_yalign = 0.0; break; case PANEL_ORIENTATION_RIGHT: pack_direction = GTK_PACK_DIRECTION_TTB; text_angle = 270.0; text_xalign = 0.5; text_yalign = 0.0; break; default: g_assert_not_reached(); break; } gtk_menu_bar_set_pack_direction(GTK_MENU_BAR(menubar), pack_direction); gtk_menu_bar_set_child_pack_direction(GTK_MENU_BAR(menubar), pack_direction); set_item_text_angle_and_alignment(menubar->priv->applications_item, text_angle, text_xalign, text_yalign); set_item_text_angle_and_alignment(menubar->priv->places_item, text_angle, text_xalign, text_yalign); set_item_text_angle_and_alignment(menubar->priv->desktop_item, text_angle, text_xalign, text_yalign); }
static void panel_menu_bar_object_update_orientation (PanelMenuBarObject *menubar) { GtkPackDirection pack_direction; double text_angle; float text_xalign; float text_yalign; GList *children, *l; pack_direction = GTK_PACK_DIRECTION_LTR; text_angle = 0.0; text_xalign = 0.0; text_yalign = 0.5; switch (menubar->priv->orientation) { case PANEL_ORIENTATION_TOP: case PANEL_ORIENTATION_BOTTOM: break; case PANEL_ORIENTATION_LEFT: pack_direction = GTK_PACK_DIRECTION_BTT; text_angle = 90.0; text_xalign = 0.5; text_yalign = 0.0; break; case PANEL_ORIENTATION_RIGHT: pack_direction = GTK_PACK_DIRECTION_TTB; text_angle = 270.0; text_xalign = 0.5; text_yalign = 0.0; break; default: g_assert_not_reached (); break; } gtk_menu_bar_set_pack_direction (GTK_MENU_BAR (menubar), pack_direction); gtk_menu_bar_set_child_pack_direction (GTK_MENU_BAR (menubar), pack_direction); children = gtk_container_get_children (GTK_CONTAINER (menubar)); for (l = children; l != NULL; l = l->next) set_item_text_angle_and_alignment (GTK_WIDGET (l->data), text_angle, text_xalign, text_yalign); g_list_free (children); }