[GTK] Rename radio/check menuitem and indicator as used with ClaimStyleContext.

The same name is retained for moz_gtk_widget_paint(), which is now more consistent.
This commit is contained in:
trav90 2018-04-05 15:49:41 -05:00 committed by Roy Tam
commit cfd6edee95
3 changed files with 28 additions and 29 deletions

View file

@ -747,10 +747,10 @@ GetWidgetRootStyle(WidgetNodeType aNodeType)
case MOZ_GTK_IMAGEMENUITEM:
style = CreateStyleForWidget(gtk_image_menu_item_new(), MOZ_GTK_MENUPOPUP);
break;
case MOZ_GTK_CHECKMENUITEM_CONTAINER:
case MOZ_GTK_CHECKMENUITEM:
style = CreateStyleForWidget(gtk_check_menu_item_new(), MOZ_GTK_MENUPOPUP);
break;
case MOZ_GTK_RADIOMENUITEM_CONTAINER:
case MOZ_GTK_RADIOMENUITEM:
style = CreateStyleForWidget(gtk_radio_menu_item_new(nullptr),
MOZ_GTK_MENUPOPUP);
break;
@ -827,13 +827,13 @@ GetCssNodeStyleInternal(WidgetNodeType aNodeType)
style = CreateChildCSSNode(GTK_STYLE_CLASS_CHECK,
MOZ_GTK_CHECKBUTTON_CONTAINER);
break;
case MOZ_GTK_RADIOMENUITEM:
case MOZ_GTK_RADIOMENUITEM_INDICATOR:
style = CreateChildCSSNode(GTK_STYLE_CLASS_RADIO,
MOZ_GTK_RADIOMENUITEM_CONTAINER);
MOZ_GTK_RADIOMENUITEM);
break;
case MOZ_GTK_CHECKMENUITEM:
case MOZ_GTK_CHECKMENUITEM_INDICATOR:
style = CreateChildCSSNode(GTK_STYLE_CLASS_CHECK,
MOZ_GTK_CHECKMENUITEM_CONTAINER);
MOZ_GTK_CHECKMENUITEM);
break;
case MOZ_GTK_PROGRESS_TROUGH:
/* Progress bar background (trough) */
@ -971,11 +971,11 @@ GetWidgetStyleInternal(WidgetNodeType aNodeType)
case MOZ_GTK_CHECKBUTTON:
return GetWidgetStyleWithClass(MOZ_GTK_CHECKBUTTON_CONTAINER,
GTK_STYLE_CLASS_CHECK);
case MOZ_GTK_RADIOMENUITEM:
return GetWidgetStyleWithClass(MOZ_GTK_RADIOMENUITEM_CONTAINER,
case MOZ_GTK_RADIOMENUITEM_INDICATOR:
return GetWidgetStyleWithClass(MOZ_GTK_RADIOMENUITEM,
GTK_STYLE_CLASS_RADIO);
case MOZ_GTK_CHECKMENUITEM:
return GetWidgetStyleWithClass(MOZ_GTK_CHECKMENUITEM_CONTAINER,
case MOZ_GTK_CHECKMENUITEM_INDICATOR:
+ return GetWidgetStyleWithClass(MOZ_GTK_CHECKMENUITEM,
GTK_STYLE_CLASS_CHECK);
case MOZ_GTK_PROGRESS_TROUGH:
return GetWidgetStyleWithClass(MOZ_GTK_PROGRESSBAR,

View file

@ -171,7 +171,7 @@ moz_gtk_menuitem_get_horizontal_padding(gint* horizontal_padding)
gint
moz_gtk_checkmenuitem_get_horizontal_padding(gint* horizontal_padding)
{
GtkStyleContext *style = ClaimStyleContext(MOZ_GTK_CHECKMENUITEM_CONTAINER);
GtkStyleContext *style = ClaimStyleContext(MOZ_GTK_CHECKMENUITEM);
gtk_style_context_get_style(style,
"horizontal-padding", horizontal_padding,
nullptr);
@ -1883,10 +1883,10 @@ moz_gtk_menu_arrow_paint(cairo_t *cr, GdkRectangle* rect,
// See gtk_real_check_menu_item_draw_indicator() for reference.
static gint
moz_gtk_check_menu_item_paint(cairo_t *cr, GdkRectangle* rect,
moz_gtk_check_menu_item_paint(WidgetNodeType widgetType,
cairo_t *cr, GdkRectangle* rect,
GtkWidgetState* state,
gboolean checked, gboolean isradio,
GtkTextDirection direction)
gboolean checked, GtkTextDirection direction)
{
GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state);
GtkStyleContext* style;
@ -1900,9 +1900,7 @@ moz_gtk_check_menu_item_paint(cairo_t *cr, GdkRectangle* rect,
state_flags = static_cast<GtkStateFlags>(state_flags|checkbox_check_state);
}
style = ClaimStyleContext(isradio ? MOZ_GTK_RADIOMENUITEM_CONTAINER :
MOZ_GTK_CHECKMENUITEM_CONTAINER,
direction);
style = ClaimStyleContext(widgetType, direction);
gtk_style_context_get_style(style,
"indicator-size", &indicator_size,
"horizontal-padding", &horizontal_padding,
@ -1910,9 +1908,10 @@ moz_gtk_check_menu_item_paint(cairo_t *cr, GdkRectangle* rect,
gtk_style_context_get_padding(style, state_flags, &padding);
ReleaseStyleContext(style);
style = ClaimStyleContext(isradio ? MOZ_GTK_RADIOMENUITEM :
MOZ_GTK_CHECKMENUITEM,
direction, state_flags);
bool isRadio = (widgetType == MOZ_GTK_RADIOMENUITEM);
WidgetNodeType indicatorType = isRadio ? MOZ_GTK_RADIOMENUITEM_INDICATOR
: MOZ_GTK_CHECKMENUITEM_INDICATOR;
style = ClaimStyleContext(indicatorType, direction, state_flags);
gint offset = padding.left + 2;
if (direction == GTK_TEXT_DIR_RTL) {
@ -1928,7 +1927,7 @@ moz_gtk_check_menu_item_paint(cairo_t *cr, GdkRectangle* rect,
gtk_render_frame(style, cr, x, y, indicator_size, indicator_size);
}
if (isradio) {
if (isRadio) {
gtk_render_option(style, cr, x, y, indicator_size, indicator_size);
} else {
gtk_render_check(style, cr, x, y, indicator_size, indicator_size);
@ -2173,8 +2172,7 @@ moz_gtk_get_widget_border(WidgetNodeType widget, gint* left, gint* top,
{
// Bug 1274143 for MOZ_GTK_MENUBARITEM
WidgetNodeType type =
widget == MOZ_GTK_MENUBARITEM || widget == MOZ_GTK_MENUITEM ?
MOZ_GTK_MENUITEM : MOZ_GTK_CHECKMENUITEM_CONTAINER;
widget == MOZ_GTK_MENUBARITEM ? MOZ_GTK_MENUITEM : widget;
style = ClaimStyleContext(type);
moz_gtk_add_style_padding(style, left, top, right, bottom);
@ -2793,10 +2791,8 @@ moz_gtk_widget_paint(WidgetNodeType widget, cairo_t *cr,
break;
case MOZ_GTK_CHECKMENUITEM:
case MOZ_GTK_RADIOMENUITEM:
return moz_gtk_check_menu_item_paint(cr, rect, state,
(gboolean) flags,
(widget == MOZ_GTK_RADIOMENUITEM),
direction);
return moz_gtk_check_menu_item_paint(widget, cr, rect, state,
(gboolean) flags, direction);
break;
case MOZ_GTK_SPLITTER_HORIZONTAL:
return moz_gtk_vpaned_paint(cr, rect, state);

View file

@ -211,10 +211,13 @@ typedef enum {
/* Paints items of popup menus. */
MOZ_GTK_MENUITEM,
MOZ_GTK_IMAGEMENUITEM,
MOZ_GTK_CHECKMENUITEM_CONTAINER,
MOZ_GTK_RADIOMENUITEM_CONTAINER,
/* Paints a menuitem with check indicator, or the gets the style context for
a menuitem that contains a checkbox. */
MOZ_GTK_CHECKMENUITEM,
/* Gets the style context for a checkbox in a check menuitem. */
MOZ_GTK_CHECKMENUITEM_INDICATOR,
MOZ_GTK_RADIOMENUITEM,
MOZ_GTK_RADIOMENUITEM_INDICATOR,
MOZ_GTK_MENUSEPARATOR,
/* GtkVPaned base class */
MOZ_GTK_SPLITTER_HORIZONTAL,