]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkmenuitem.c
filechooserbutton: Update the button/combo at construction time
[~andy/gtk] / gtk / gtkmenuitem.c
index 5be34894e1fe9d200065d0fedb4dacb6db49df23..73c2545dcbd32243d399b27eb8f521e8f2e8754e 100644 (file)
@@ -758,8 +758,6 @@ get_arrow_size (GtkWidget *widget,
                 gint      *size,
                 gint      *spacing)
 {
-  GtkStyleContext  *style_context;
-  GtkStateFlags     state;
   PangoContext     *context;
   PangoFontMetrics *metrics;
   gfloat            arrow_scaling;
@@ -776,11 +774,9 @@ get_arrow_size (GtkWidget *widget,
     *spacing = arrow_spacing;
 
   context = gtk_widget_get_pango_context (child);
-  style_context = gtk_widget_get_style_context (child);
-  state = gtk_widget_get_state_flags (child);
 
   metrics = pango_context_get_metrics (context,
-                                       gtk_style_context_get_font (style_context, state),
+                                       pango_context_get_font_description (context),
                                        pango_context_get_language (context));
 
   *size = (PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) +
@@ -814,19 +810,15 @@ gtk_menu_item_accel_width_foreach (GtkWidget *widget,
 static gint
 get_minimum_width (GtkWidget *widget)
 {
-  GtkStyleContext *style_context;
-  GtkStateFlags state;
   PangoContext *context;
   PangoFontMetrics *metrics;
   gint width;
   gint width_chars;
 
   context = gtk_widget_get_pango_context (widget);
-  style_context = gtk_widget_get_style_context (widget);
-  state = gtk_widget_get_state_flags (widget);
 
   metrics = pango_context_get_metrics (context,
-                                       gtk_style_context_get_font (style_context, state),
+                                       pango_context_get_font_description (context),
                                        pango_context_get_language (context));
 
   width = pango_font_metrics_get_approximate_char_width (metrics);
@@ -850,8 +842,6 @@ gtk_menu_item_get_preferred_width (GtkWidget *widget,
   GtkWidget *parent;
   guint accel_width;
   guint border_width;
-  GtkPackDirection pack_dir;
-  GtkPackDirection child_pack_dir;
   gint  min_width, nat_width;
   GtkStyleContext *context;
   GtkStateFlags state;
@@ -861,17 +851,6 @@ gtk_menu_item_get_preferred_width (GtkWidget *widget,
   bin = GTK_BIN (widget);
   parent = gtk_widget_get_parent (widget);
 
-  if (GTK_IS_MENU_BAR (parent))
-    {
-      pack_dir = gtk_menu_bar_get_pack_direction (GTK_MENU_BAR (parent));
-      child_pack_dir = gtk_menu_bar_get_child_pack_direction (GTK_MENU_BAR (parent));
-    }
-  else
-    {
-      pack_dir = GTK_PACK_DIRECTION_LTR;
-      child_pack_dir = GTK_PACK_DIRECTION_LTR;
-    }
-
   border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
 
   context = gtk_widget_get_style_context (widget);
@@ -936,8 +915,6 @@ gtk_menu_item_real_get_height (GtkWidget *widget,
   GtkWidget *parent;
   guint accel_width;
   guint border_width;
-  GtkPackDirection pack_dir;
-  GtkPackDirection child_pack_dir;
   gint min_height, nat_height;
   gint avail_size = 0;
 
@@ -950,17 +927,6 @@ gtk_menu_item_real_get_height (GtkWidget *widget,
   bin = GTK_BIN (widget);
   parent = gtk_widget_get_parent (widget);
 
-  if (GTK_IS_MENU_BAR (parent))
-    {
-      pack_dir = gtk_menu_bar_get_pack_direction (GTK_MENU_BAR (parent));
-      child_pack_dir = gtk_menu_bar_get_child_pack_direction (GTK_MENU_BAR (parent));
-    }
-  else
-    {
-      pack_dir = GTK_PACK_DIRECTION_LTR;
-      child_pack_dir = GTK_PACK_DIRECTION_LTR;
-    }
-
   border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
   min_height   = (border_width * 2) + padding.top + padding.bottom;
 
@@ -1478,7 +1444,6 @@ gtk_menu_item_size_allocate (GtkWidget     *widget,
   GtkBin *bin;
   GtkAllocation child_allocation;
   GtkTextDirection direction;
-  GtkPackDirection pack_dir;
   GtkPackDirection child_pack_dir;
   GtkWidget *child;
   GtkWidget *parent;
@@ -1493,12 +1458,10 @@ gtk_menu_item_size_allocate (GtkWidget     *widget,
   parent = gtk_widget_get_parent (widget);
   if (GTK_IS_MENU_BAR (parent))
     {
-      pack_dir = gtk_menu_bar_get_pack_direction (GTK_MENU_BAR (parent));
       child_pack_dir = gtk_menu_bar_get_child_pack_direction (GTK_MENU_BAR (parent));
     }
   else
     {
-      pack_dir = GTK_PACK_DIRECTION_LTR;
       child_pack_dir = GTK_PACK_DIRECTION_LTR;
     }
 
@@ -1603,7 +1566,7 @@ gtk_menu_item_realize (GtkWidget *widget)
 
   priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget),
                                        &attributes, attributes_mask);
-  gdk_window_set_user_data (priv->event_window, widget);
+  gtk_widget_register_window (widget, priv->event_window);
 }
 
 static void
@@ -1612,7 +1575,7 @@ gtk_menu_item_unrealize (GtkWidget *widget)
   GtkMenuItem *menu_item = GTK_MENU_ITEM (widget);
   GtkMenuItemPrivate *priv = menu_item->priv;
 
-  gdk_window_set_user_data (priv->event_window, NULL);
+  gtk_widget_unregister_window (widget, priv->event_window);
   gdk_window_destroy (priv->event_window);
   priv->event_window = NULL;