[planner: 50/61] Use accessor functions for widget GtkStyle (GSEAL)




commit 23d6e64ca4ca253cba48fe06583bdae4dcacd148
Author: Mart Raudsepp <leio gentoo org>
Date:   Sun Jan 3 01:58:37 2021 +0200

    Use accessor functions for widget GtkStyle (GSEAL)
    
    GtkStyle is deprecated in GTK3 and the gtk_widget_set_style() function
    will do nothing (presumably breaking our canvas background color).
    However the replacement GtkStyleContext isn't available before GTK3,
    therefore fix the direct variable accesses with accessor functions
    for now as a step towards a GSEAL_ENABLED clean build.

 src/planner-gantt-background.c |  2 +-
 src/planner-gantt-chart.c      |  4 ++--
 src/planner-gantt-header.c     | 19 ++++++++++---------
 src/planner-gantt-row.c        |  4 ++--
 src/planner-sidebar.c          |  2 +-
 src/planner-usage-chart.c      |  4 ++--
 src/planner-usage-row.c        |  4 ++--
 7 files changed, 20 insertions(+), 19 deletions(-)
---
diff --git a/src/planner-gantt-background.c b/src/planner-gantt-background.c
index 47fb5296..050f03f0 100644
--- a/src/planner-gantt-background.c
+++ b/src/planner-gantt-background.c
@@ -591,7 +591,7 @@ gantt_background_draw (GnomeCanvasItem *item,
 
                pango_layout_get_pixel_size (priv->layout, &label_width, NULL);
 
-               gdk_cairo_set_source_color (cr, &GTK_WIDGET (item->canvas)->style->text[GTK_STATE_NORMAL]);
+               gdk_cairo_set_source_color (cr, &gtk_widget_get_style (GTK_WIDGET 
(item->canvas))->text[GTK_STATE_NORMAL]);
                cairo_move_to (cr, cx1 - label_width - 5 - x, 5 - y);
                pango_cairo_show_layout (cr, priv->layout);
        }
diff --git a/src/planner-gantt-chart.c b/src/planner-gantt-chart.c
index ef25bb84..39055bc8 100644
--- a/src/planner-gantt-chart.c
+++ b/src/planner-gantt-chart.c
@@ -511,7 +511,7 @@ gantt_chart_style_set (GtkWidget *widget,
        context = gtk_widget_get_pango_context (widget);
 
        metrics = pango_context_get_metrics (context,
-                                            widget->style->font_desc,
+                                            gtk_widget_get_style (widget)->font_desc,
                                             NULL);
 
        f = 0.2 * pango_font_metrics_get_approximate_char_width (metrics) / PANGO_SCALE;
@@ -541,7 +541,7 @@ gantt_chart_realize (GtkWidget *widget)
        }
 
        /* Set the background to white. */
-       style = gtk_style_copy (canvas->style);
+       style = gtk_style_copy (gtk_widget_get_style (canvas));
        colormap = gtk_widget_get_colormap (canvas);
        gdk_color_parse ("white", &style->bg[GTK_STATE_NORMAL]);
        gdk_colormap_alloc_color (colormap, &style->bg[GTK_STATE_NORMAL], FALSE, TRUE);
diff --git a/src/planner-gantt-header.c b/src/planner-gantt-header.c
index 52669872..8f593477 100644
--- a/src/planner-gantt-header.c
+++ b/src/planner-gantt-header.c
@@ -443,11 +443,12 @@ gantt_header_realize (GtkWidget *widget)
                                                   attributes_mask);
        gdk_window_set_user_data (header->priv->bin_window, widget);
 
-       widget->style = gtk_style_attach (gtk_widget_get_style (widget), gtk_widget_get_window (widget));
+       /* TODO-GTK3: gtk_widget_set_style is a no-op in GTK3 */
+       gtk_widget_set_style (widget, gtk_style_attach (gtk_widget_get_style (widget), gtk_widget_get_window 
(widget)));
        gdk_window_set_background (gtk_widget_get_window (widget),
-                                  &widget->style->base[widget->state]);
+                                  &gtk_widget_get_style (widget)->base[gtk_widget_get_state (widget)]);
        gdk_window_set_background (header->priv->bin_window,
-                                  &widget->style->base[widget->state]);
+                                  &gtk_widget_get_style (widget)->base[gtk_widget_get_state (widget)]);
 }
 
 static void
@@ -519,7 +520,7 @@ gantt_header_expose_event (GtkWidget      *widget,
        /* Draw background. We only draw over the exposed area, padding with +/-
         * 5 so we don't mess up the header with button edges all over.
         */
-       gtk_paint_box (widget->style,
+       gtk_paint_box (gtk_widget_get_style (widget),
                       event->window,
                       GTK_STATE_NORMAL,
                       GTK_SHADOW_OUT,
@@ -532,7 +533,7 @@ gantt_header_expose_event (GtkWidget      *widget,
                       height);
 
        // Horizontal full width line between week number and date rows
-       gdk_cairo_set_source_color (cr, &widget->style->fg[GTK_STATE_INSENSITIVE]);
+       gdk_cairo_set_source_color (cr, &gtk_widget_get_style (widget)->fg[GTK_STATE_INSENSITIVE]);
        cairo_move_to (cr, event->area.x + 0.5, height / 2 + 0.5);
        cairo_line_to (cr, event->area.x + event->area.width + 0.5, height / 2 + 0.5);
        cairo_stroke (cr);
@@ -558,7 +559,7 @@ gantt_header_expose_event (GtkWidget      *widget,
                x = floor (t * hscale - priv->x1 + 0.5);
 
                // Vertical lines between different weeks
-               gdk_cairo_set_source_color (cr, &widget->style->fg[GTK_STATE_INSENSITIVE]);
+               gdk_cairo_set_source_color (cr, &gtk_widget_get_style (widget)->fg[GTK_STATE_INSENSITIVE]);
                cairo_move_to (cr, x + 0.5, 0.5);
                cairo_line_to (cr, x + 0.5, height / 2 + 1);
                cairo_stroke (cr);
@@ -574,7 +575,7 @@ gantt_header_expose_event (GtkWidget      *widget,
                cairo_save (cr);
                cairo_rectangle (cr, x, 0, major_width, height);
                cairo_clip (cr);
-               gdk_cairo_set_source_color (cr, &widget->style->text[GTK_STATE_NORMAL]);
+               gdk_cairo_set_source_color (cr, &gtk_widget_get_style (widget)->text[GTK_STATE_NORMAL]);
                cairo_move_to (cr, x + 3, 2);
                pango_cairo_show_layout (cr, priv->layout);
                cairo_restore (cr);
@@ -596,7 +597,7 @@ gantt_header_expose_event (GtkWidget      *widget,
                x = floor (t * hscale - priv->x1 + 0.5);
 
                // NOTE: Vertical lines between dates
-               gdk_cairo_set_source_color (cr, &widget->style->fg[GTK_STATE_INSENSITIVE]);
+               gdk_cairo_set_source_color (cr, &gtk_widget_get_style (widget)->fg[GTK_STATE_INSENSITIVE]);
                cairo_move_to (cr, x + 0.5, height / 2 + 0.5);
                cairo_line_to (cr, x + 0.5, height + 0.5);
                cairo_stroke (cr);
@@ -612,7 +613,7 @@ gantt_header_expose_event (GtkWidget      *widget,
                cairo_save (cr);
                cairo_rectangle (cr, x, 0, minor_width, height);
                cairo_clip (cr);
-               gdk_cairo_set_source_color (cr, &widget->style->text[GTK_STATE_NORMAL]);
+               gdk_cairo_set_source_color (cr, &gtk_widget_get_style (widget)->text[GTK_STATE_NORMAL]);
                cairo_move_to (cr, x + 3, height / 2 + 2);
                pango_cairo_show_layout (cr, priv->layout);
                cairo_restore (cr);
diff --git a/src/planner-gantt-row.c b/src/planner-gantt-row.c
index fd54cb20..a87e636b 100644
--- a/src/planner-gantt-row.c
+++ b/src/planner-gantt-row.c
@@ -1746,7 +1746,7 @@ gantt_row_draw (GnomeCanvasItem *item,
                         add priv->height / 2 to get to the center of the row
                         subtract priv->text_height / 2 to get to the top of the text */
 
-               gdk_cairo_set_source_color (cr, &GTK_WIDGET (item->canvas)->style->text[GTK_STATE_NORMAL]);
+               gdk_cairo_set_source_color (cr, &gtk_widget_get_style (GTK_WIDGET 
(item->canvas))->text[GTK_STATE_NORMAL]);
                cairo_move_to (cr,
                               cx2 + TEXT_PADDING,
                               cy1 - (gint)(priv->bar_top + 0.5) + (priv->height - priv->text_height) / 2);
@@ -1765,7 +1765,7 @@ gantt_row_draw (GnomeCanvasItem *item,
                        x1 += cx2 + TEXT_PADDING;
                        x2 += cx2 + TEXT_PADDING;
 
-                       gdk_cairo_set_source_color (cr, &GTK_WIDGET 
(item->canvas)->style->text[GTK_STATE_NORMAL]);
+                       gdk_cairo_set_source_color (cr, &gtk_widget_get_style (GTK_WIDGET 
(item->canvas))->text[GTK_STATE_NORMAL]);
                        cairo_move_to (cr, x1 + 0.5, cy2 + 2 + 0.5);
                        cairo_line_to (cr, x2 + 0.5, cy2 + 2 + 0.5);
                        cairo_stroke (cr);
diff --git a/src/planner-sidebar.c b/src/planner-sidebar.c
index 90365dac..027a6d4c 100644
--- a/src/planner-sidebar.c
+++ b/src/planner-sidebar.c
@@ -363,7 +363,7 @@ sidebar_modify_bg (PlannerSidebar *bar)
        ButtonEntry *entry;
        GtkWidget   *button;
 
-       style = GTK_WIDGET (bar)->style;
+       style = gtk_widget_get_style (GTK_WIDGET (bar));
 
        normal_color = style->dark[GTK_STATE_NORMAL];
        sidebar_darken_color (&normal_color, 4);
diff --git a/src/planner-usage-chart.c b/src/planner-usage-chart.c
index 7e9d9fc8..e9a5e03e 100644
--- a/src/planner-usage-chart.c
+++ b/src/planner-usage-chart.c
@@ -628,7 +628,7 @@ usage_chart_style_set (GtkWidget *widget, GtkStyle *prev_style)
 
        context = gtk_widget_get_pango_context (canvas);
        metrics = pango_context_get_metrics (context,
-                                            canvas->style->font_desc, NULL);
+                                            gtk_widget_get_style (canvas)->font_desc, NULL);
        f = 0.2 * pango_font_metrics_get_approximate_char_width (metrics) /
                PANGO_SCALE;
        pango_font_metrics_unref(metrics);
@@ -653,7 +653,7 @@ usage_chart_realize (GtkWidget *widget)
        }
 
        /* Set the background to white. */
-       style = gtk_style_copy (canvas->style);
+       style = gtk_style_copy (gtk_widget_get_style (canvas));
        colormap = gtk_widget_get_colormap (canvas);
        gdk_color_parse ("white", &style->bg[GTK_STATE_NORMAL]);
        gdk_colormap_alloc_color (colormap, &style->bg[GTK_STATE_NORMAL], FALSE, TRUE);
diff --git a/src/planner-usage-row.c b/src/planner-usage-row.c
index 92bab9e9..d8146ed6 100644
--- a/src/planner-usage-row.c
+++ b/src/planner-usage-row.c
@@ -955,7 +955,7 @@ usage_row_draw_resource_ival (mrptime          start,
 
        /* Interval separator. */
        if (!(chunk & ROW_START)) {
-               gdk_cairo_set_source_color (cr, &GTK_WIDGET (item->canvas)->style->white);
+               gdk_cairo_set_source_color (cr, &gtk_widget_get_style (GTK_WIDGET (item->canvas))->white);
                cairo_move_to (cr, c_xstart + 0.5, rs_ystart + 0.5);
                cairo_line_to (cr, c_xstart + 0.5, rr_yend + 0.5);
                cairo_stroke (cr);
@@ -1240,7 +1240,7 @@ usage_row_draw_assignment (PlannerUsageRow *row,
                gdk_cairo_set_source_rgba (cr, &rgba);
                */
                /* Until then, use GtkStyle */
-               gdk_cairo_set_source_color (cr, &GTK_WIDGET (item->canvas)->style->text[GTK_STATE_NORMAL]);
+               gdk_cairo_set_source_color (cr, &gtk_widget_get_style (GTK_WIDGET 
(item->canvas))->text[GTK_STATE_NORMAL]);
                /* FIXME: Center the text vertically? */
                cairo_move_to (cr, cx2 + TEXT_PADDING, cy1);
                pango_cairo_show_layout (cr, priv->layout);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]