diff options
author | Timm Bäder <mail@baedert.org> | 2017-03-04 08:18:36 +0100 |
---|---|---|
committer | Timm Bäder <mail@baedert.org> | 2017-03-04 08:44:49 +0100 |
commit | 846e6dc0b1e531b90b6ad914b3fd0c2c2b989bc1 (patch) | |
tree | 3246783439df7d8ee0514d5a5b528b23603ab05e | |
parent | b16a322c4c38bf9d7ef02586063375250f8ae7d1 (diff) | |
download | gtk+-846e6dc0b1e531b90b6ad914b3fd0c2c2b989bc1.tar.gz |
menus: Use gtk_widget_measure to measure widget sizes
-rw-r--r-- | gtk/gtkmenu.c | 9 | ||||
-rw-r--r-- | gtk/gtkmenubar.c | 16 | ||||
-rw-r--r-- | gtk/gtkmenuitem.c | 16 |
3 files changed, 24 insertions, 17 deletions
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 105f98d70d..2a87460e21 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -2771,8 +2771,10 @@ calculate_line_heights (GtkMenu *menu, part = avail_width / (r - l); - gtk_widget_get_preferred_height_for_width (child, part, - &child_min, &child_nat); + gtk_widget_measure (child, GTK_ORIENTATION_VERTICAL, + part, + &child_min, &child_nat, + NULL, NULL); gtk_menu_item_toggle_size_request (GTK_MENU_ITEM (child), &toggle_size); @@ -3028,7 +3030,8 @@ static void gtk_menu_measure (GtkWidget *widget, * case the toggle size request depends on the size * request of a child of the child (e.g. for ImageMenuItem) */ - gtk_widget_get_preferred_width (child, &child_min, &child_nat); + gtk_widget_measure (child, GTK_ORIENTATION_HORIZONTAL, + -1, &child_min, &child_nat, NULL, NULL); gtk_menu_item_toggle_size_request (GTK_MENU_ITEM (child), &toggle_size); max_toggle_size = MAX (max_toggle_size, toggle_size); diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c index 2d9439cea6..d7470fcb44 100644 --- a/gtk/gtkmenubar.c +++ b/gtk/gtkmenubar.c @@ -454,10 +454,10 @@ gtk_menu_bar_allocate (GtkCssGadget *gadget, continue; request.data = child; - gtk_widget_get_preferred_width_for_height (child, - remaining_space.height, - &request.minimum_size, - &request.natural_size); + gtk_widget_measure (child, GTK_ORIENTATION_HORIZONTAL, + remaining_space.height, + &request.minimum_size, &request.natural_size, + NULL, NULL); gtk_menu_item_toggle_size_request (GTK_MENU_ITEM (child), &toggle_size); request.minimum_size += toggle_size; @@ -508,10 +508,10 @@ gtk_menu_bar_allocate (GtkCssGadget *gadget, continue; request.data = child; - gtk_widget_get_preferred_height_for_width (child, - remaining_space.width, - &request.minimum_size, - &request.natural_size); + gtk_widget_measure (child, GTK_ORIENTATION_VERTICAL, + remaining_space.width, + &request.minimum_size, &request.natural_size, + NULL, NULL); gtk_menu_item_toggle_size_request (GTK_MENU_ITEM (child), &toggle_size); request.minimum_size += toggle_size; diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 16a6e16b71..ab780fcf4b 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -444,7 +444,8 @@ gtk_menu_item_real_get_width (GtkWidget *widget, { gint child_min, child_nat; - gtk_widget_get_preferred_width (child, &child_min, &child_nat); + gtk_widget_measure (child, GTK_ORIENTATION_HORIZONTAL, -1, + &child_min, &child_nat, NULL, NULL); if ((priv->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) { @@ -511,14 +512,17 @@ gtk_menu_item_real_get_height (GtkWidget *widget, if (for_size != -1) { avail_size -= arrow_size; - gtk_widget_get_preferred_height_for_width (child, - avail_size, - &child_min, - &child_nat); + gtk_widget_measure (child, GTK_ORIENTATION_VERTICAL, + avail_size, + &child_min, &child_nat, + NULL, NULL); } else { - gtk_widget_get_preferred_height (child, &child_min, &child_nat); + gtk_widget_measure (child, GTK_ORIENTATION_VERTICAL, -1, + &child_min, &child_nat, + NULL, NULL); + } min_height += child_min; |