[gtk+/resolution-independence: 11/24] port menu stuff to RI
- From: Davyd Madeley <davyd src gnome org>
- To: svn-commits-list gnome org
- Subject: [gtk+/resolution-independence: 11/24] port menu stuff to RI
- Date: Sat, 2 May 2009 02:17:57 -0400 (EDT)
commit 3b35e523fdac741919cbf03c393b4bafdc1fa93e
Author: David Zeuthen <davidz redhat com>
Date: Wed Aug 13 14:50:32 2008 -0400
port menu stuff to RI
min/max for GtkCheckMenuItem
min/max for GtkMenu
min/max for GtkMenuBar
min/max for GtkMenuItem
fixed gtkcheckmenuitem.c
fixed gtkmenubar.c
fixed gtkmenu.c
fixed gtkmenuitem.c
---
gtk/gtkcheckmenuitem.c | 12 ++++------
gtk/gtkmenu.c | 50 +++++++++++++++++++--------------------------
gtk/gtkmenubar.c | 14 +++++-------
gtk/gtkmenuitem.c | 36 +++++++++++++-------------------
gtk/gtktearoffmenuitem.c | 32 ++++++++++++++--------------
5 files changed, 63 insertions(+), 81 deletions(-)
diff --git a/gtk/gtkcheckmenuitem.c b/gtk/gtkcheckmenuitem.c
index 8bf0972..ef920c3 100644
--- a/gtk/gtkcheckmenuitem.c
+++ b/gtk/gtkcheckmenuitem.c
@@ -117,13 +117,11 @@ gtk_check_menu_item_class_init (GtkCheckMenuItemClass *klass)
GTK_PARAM_READWRITE));
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("indicator-size",
- P_("Indicator Size"),
- P_("Size of check or radio indicator"),
- 0,
- G_MAXINT,
- 13,
- GTK_PARAM_READABLE));
+ gtk_param_spec_size ("indicator-size",
+ P_("Indicator Size"),
+ P_("Size of check or radio indicator"),
+ 0, G_MAXINT, GTK_SIZE_ONE_TWELFTH_EM (13),
+ GTK_PARAM_READABLE));
widget_class->expose_event = gtk_check_menu_item_expose;
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index ad439c0..c135c5b 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -588,40 +588,32 @@ gtk_menu_class_init (GtkMenuClass *class)
GTK_PARAM_READWRITE));
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("vertical-padding",
- P_("Vertical Padding"),
- P_("Extra space at the top and bottom of the menu"),
- 0,
- G_MAXINT,
- 1,
- GTK_PARAM_READABLE));
+ gtk_param_spec_size ("vertical-padding",
+ P_("Vertical Padding"),
+ P_("Extra space at the top and bottom of the menu"),
+ 0, G_MAXINT, GTK_SIZE_ONE_TWELFTH_EM (1),
+ GTK_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("horizontal-padding",
- P_("Horizontal Padding"),
- P_("Extra space at the left and right edges of the menu"),
- 0,
- G_MAXINT,
- 0,
- GTK_PARAM_READABLE));
+ gtk_param_spec_size ("horizontal-padding",
+ P_("Horizontal Padding"),
+ P_("Extra space at the left and right edges of the menu"),
+ 0, G_MAXINT, 0,
+ GTK_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("vertical-offset",
- P_("Vertical Offset"),
- P_("When the menu is a submenu, position it this number of pixels offset vertically"),
- G_MININT,
- G_MAXINT,
- 0,
- GTK_PARAM_READABLE));
+ gtk_param_spec_size ("vertical-offset",
+ P_("Vertical Offset"),
+ P_("When the menu is a submenu, position it this number of pixels offset vertically"),
+ 0, G_MAXINT, 0,
+ GTK_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("horizontal-offset",
- P_("Horizontal Offset"),
- P_("When the menu is a submenu, position it this number of pixels offset horizontally"),
- G_MININT,
- G_MAXINT,
- -2,
- GTK_PARAM_READABLE));
+ gtk_param_spec_size ("horizontal-offset",
+ P_("Horizontal Offset"),
+ P_("When the menu is a submenu, position it this number of pixels offset horizontally"),
+ GTK_SIZE_MINPIXEL, G_MAXINT, GTK_SIZE_ONE_TWELFTH_EM (-2),
+ GTK_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
g_param_spec_boolean ("double-arrows",
@@ -2000,7 +1992,7 @@ gtk_menu_set_tearoff_state (GtkMenu *menu,
gtk_window_set_transient_for (GTK_WINDOW (menu->tearoff_window),
GTK_WINDOW (toplevel));
- menu->tearoff_hbox = gtk_hbox_new (FALSE, FALSE);
+ menu->tearoff_hbox = gtk_hbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (menu->tearoff_window), menu->tearoff_hbox);
gdk_drawable_get_size (GTK_WIDGET (menu)->window, &width, &height);
diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c
index a54e456..efcf8bb 100644
--- a/gtk/gtkmenubar.c
+++ b/gtk/gtkmenubar.c
@@ -41,7 +41,7 @@
#define BORDER_SPACING 0
-#define DEFAULT_IPADDING 1
+#define DEFAULT_IPADDING GTK_SIZE_ONE_TWELFTH_EM(1)
/* Properties */
enum {
@@ -198,13 +198,11 @@ gtk_menu_bar_class_init (GtkMenuBarClass *class)
GTK_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("internal-padding",
- P_("Internal padding"),
- P_("Amount of border space between the menubar shadow and the menu items"),
- 0,
- G_MAXINT,
- DEFAULT_IPADDING,
- GTK_PARAM_READABLE));
+ gtk_param_spec_size ("internal-padding",
+ P_("Internal padding"),
+ P_("Amount of border space between the menubar shadow and the menu items"),
+ 0, G_MAXINT, DEFAULT_IPADDING,
+ GTK_PARAM_READABLE));
gtk_settings_install_property (g_param_spec_int ("gtk-menu-bar-popup-delay",
P_("Delay before drop down menus appear"),
diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c
index ced23c0..5d3cdf4 100644
--- a/gtk/gtkmenuitem.c
+++ b/gtk/gtkmenuitem.c
@@ -332,31 +332,25 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass)
gtk_rc_property_parse_enum);
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("horizontal-padding",
- "Horizontal Padding",
- "Padding to left and right of the menu item",
- 0,
- G_MAXINT,
- 3,
- GTK_PARAM_READABLE));
+ gtk_param_spec_size ("horizontal-padding",
+ "Horizontal Padding",
+ "Padding to left and right of the menu item",
+ 0, G_MAXINT, GTK_SIZE_ONE_TWELFTH_EM (3),
+ GTK_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("toggle-spacing",
- "Icon Spacing",
- "Space between icon and label",
- 0,
- G_MAXINT,
- 5,
- GTK_PARAM_READABLE));
+ gtk_param_spec_size ("toggle-spacing",
+ "Icon Spacing",
+ "Space between icon and label",
+ 0, G_MAXINT, GTK_SIZE_ONE_TWELFTH_EM (5),
+ GTK_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("arrow-spacing",
- "Arrow Spacing",
- "Space between label and arrow",
- 0,
- G_MAXINT,
- 10,
- GTK_PARAM_READABLE));
+ gtk_param_spec_size ("arrow-spacing",
+ "Arrow Spacing",
+ "Space between label and arrow",
+ 0, G_MAXINT, GTK_SIZE_ONE_TWELFTH_EM (10),
+ GTK_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
g_param_spec_float ("arrow-scaling",
diff --git a/gtk/gtktearoffmenuitem.c b/gtk/gtktearoffmenuitem.c
index f661520..bec7b9a 100644
--- a/gtk/gtktearoffmenuitem.c
+++ b/gtk/gtktearoffmenuitem.c
@@ -31,9 +31,9 @@
#include "gtkintl.h"
#include "gtkalias.h"
-#define ARROW_SIZE 10
-#define TEAR_LENGTH 5
-#define BORDER_SPACING 3
+#define ARROW_SIZE GTK_SIZE_ONE_TWELFTH_EM(10)
+#define TEAR_LENGTH GTK_SIZE_ONE_TWELFTH_EM(5)
+#define BORDER_SPACING GTK_SIZE_ONE_TWELFTH_EM(3)
static void gtk_tearoff_menu_item_size_request (GtkWidget *widget,
GtkRequisition *requisition);
@@ -79,13 +79,13 @@ gtk_tearoff_menu_item_size_request (GtkWidget *widget,
{
requisition->width = (GTK_CONTAINER (widget)->border_width +
widget->style->xthickness +
- BORDER_SPACING) * 2;
+ gtk_widget_size_to_pixel (widget, BORDER_SPACING)) * 2;
requisition->height = (GTK_CONTAINER (widget)->border_width +
widget->style->ythickness) * 2;
if (GTK_IS_MENU (widget->parent) && GTK_MENU (widget->parent)->torn_off)
{
- requisition->height += ARROW_SIZE;
+ requisition->height += gtk_widget_size_to_pixel (widget, ARROW_SIZE);
}
else
{
@@ -143,29 +143,29 @@ gtk_tearoff_menu_item_paint (GtkWidget *widget,
else
shadow_type = GTK_SHADOW_OUT;
- if (menu_item->toggle_size > ARROW_SIZE)
+ if (menu_item->toggle_size > gtk_widget_size_to_pixel (widget, ARROW_SIZE))
{
if (direction == GTK_TEXT_DIR_LTR) {
- arrow_x = x + (menu_item->toggle_size - ARROW_SIZE)/2;
+ arrow_x = x + (menu_item->toggle_size - gtk_widget_size_to_pixel (widget, ARROW_SIZE))/2;
arrow_type = GTK_ARROW_LEFT;
}
else {
- arrow_x = x + width - menu_item->toggle_size + (menu_item->toggle_size - ARROW_SIZE)/2;
+ arrow_x = x + width - menu_item->toggle_size + (menu_item->toggle_size - gtk_widget_size_to_pixel (widget, ARROW_SIZE))/2;
arrow_type = GTK_ARROW_RIGHT;
}
- x += menu_item->toggle_size + BORDER_SPACING;
+ x += menu_item->toggle_size + gtk_widget_size_to_pixel (widget, BORDER_SPACING);
}
else
{
if (direction == GTK_TEXT_DIR_LTR) {
- arrow_x = ARROW_SIZE / 2;
+ arrow_x = gtk_widget_size_to_pixel (widget, ARROW_SIZE) / 2;
arrow_type = GTK_ARROW_LEFT;
}
else {
- arrow_x = x + width - 2 * ARROW_SIZE + ARROW_SIZE / 2;
+ arrow_x = x + width - 2 * gtk_widget_size_to_pixel (widget, ARROW_SIZE) + gtk_widget_size_to_pixel (widget, ARROW_SIZE) / 2;
arrow_type = GTK_ARROW_RIGHT;
}
- x += 2 * ARROW_SIZE;
+ x += 2 * gtk_widget_size_to_pixel (widget, ARROW_SIZE);
}
@@ -174,7 +174,7 @@ gtk_tearoff_menu_item_paint (GtkWidget *widget,
NULL, widget, "tearoffmenuitem",
arrow_type, FALSE,
arrow_x, y + height / 2 - 5,
- ARROW_SIZE, ARROW_SIZE);
+ gtk_widget_size_to_pixel (widget, ARROW_SIZE), gtk_widget_size_to_pixel (widget, ARROW_SIZE));
}
while (x < right_max)
@@ -183,17 +183,17 @@ gtk_tearoff_menu_item_paint (GtkWidget *widget,
if (direction == GTK_TEXT_DIR_LTR) {
x1 = x;
- x2 = MIN (x + TEAR_LENGTH, right_max);
+ x2 = MIN (x + gtk_widget_size_to_pixel (widget, TEAR_LENGTH), right_max);
}
else {
x1 = right_max - x;
- x2 = MAX (right_max - x - TEAR_LENGTH, 0);
+ x2 = MAX (right_max - x - gtk_widget_size_to_pixel (widget, TEAR_LENGTH), 0);
}
gtk_paint_hline (widget->style, widget->window, GTK_STATE_NORMAL,
NULL, widget, "tearoffmenuitem",
x1, x2, y + (height - widget->style->ythickness) / 2);
- x += 2 * TEAR_LENGTH;
+ x += 2 * gtk_widget_size_to_pixel (widget, TEAR_LENGTH);
}
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]