[goffice] Widgets: start adding css-name definitions for widgets.



commit 8da2b8300a9d807b9a733ba7074f7d31390a1e0b
Author: Morten Welinder <terra gnome org>
Date:   Sun Dec 3 13:29:19 2017 -0500

    Widgets: start adding css-name definitions for widgets.
    
    This is for gtk+ 3.20+.  It doesn't do much yet, but it is possible to
    play with some thing, for example
    
    rotationselector canvas {
      font-size: 2pt;
    }

 configure.ac                     |    8 ++++++++
 goffice/canvas/goc-canvas.c      |    3 +++
 goffice/gtk/go-3d-rotation-sel.c |    7 +++++--
 goffice/gtk/go-arrow-sel.c       |    4 ++++
 goffice/gtk/go-charmap-sel.c     |    4 ++++
 goffice/gtk/go-font-sel.c        |    8 ++++++--
 goffice/gtk/go-format-sel.c      |    4 ++++
 goffice/gtk/go-locale-sel.c      |    4 ++++
 goffice/gtk/go-palette.c         |    4 ++++
 goffice/gtk/go-rotation-sel.c    |    4 ++++
 10 files changed, 46 insertions(+), 4 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index c8b68fb..ebcb5ee 100644
--- a/configure.ac
+++ b/configure.ac
@@ -676,6 +676,14 @@ AC_SUBST(EXTRA_LIBS)
 AC_SUBST(EXTRA_INCLUDES)
 AC_SUBST(EXTRA_DEPS)
 
+SAVE_CFLAGS=$CFLAGS
+SAVE_LIBS=$LIBS
+CFLAGS="$CFLAGS $GOFFICE_CFLAGS"
+LIBS="$GOFFICE_LIBS $LIBS"
+AC_CHECK_FUNCS(gtk_widget_class_set_css_name)
+CFLAGS=$SAVE_CFLAGS
+LIBS=$SAVE_LIBS
+
 # GObject Introspection
 GIR_REQ=1.0.0
 AC_ARG_ENABLE(introspection,
diff --git a/goffice/canvas/goc-canvas.c b/goffice/canvas/goc-canvas.c
index 9f217a5..eac4c93 100644
--- a/goffice/canvas/goc-canvas.c
+++ b/goffice/canvas/goc-canvas.c
@@ -327,6 +327,9 @@ goc_canvas_class_init (GObjectClass *klass)
        klass->dispose = goc_canvas_dispose;
 
 #ifdef GOFFICE_WITH_GTK
+#ifdef HAVE_GTK_WIDGET_CLASS_SET_CSS_NAME
+       gtk_widget_class_set_css_name (widget_klass, "canvas");
+#endif
        widget_klass->draw = goc_canvas_draw;
        widget_klass->realize = goc_canvas_realize;
        widget_klass->unrealize = goc_canvas_unrealize;
diff --git a/goffice/gtk/go-3d-rotation-sel.c b/goffice/gtk/go-3d-rotation-sel.c
index 8819290..49f7d44 100644
--- a/goffice/gtk/go-3d-rotation-sel.c
+++ b/goffice/gtk/go-3d-rotation-sel.c
@@ -384,8 +384,7 @@ g3d_finalize (GObject *obj)
 static void
 g3d_class_init (GObjectClass *klass)
 {
-       GObjectClass *gobj_class = (GObjectClass *) klass;
-       gobj_class->finalize = g3d_finalize;
+       klass->finalize = g3d_finalize;
 
        g3d_parent_class = g_type_class_peek (gtk_box_get_type ());
        g3d_signals [MATRIX_CHANGED] = g_signal_new ("matrix-changed",
@@ -418,6 +417,10 @@ g3d_class_init (GObjectClass *klass)
                NULL, NULL,
                g_cclosure_marshal_VOID__INT,
                G_TYPE_NONE, 1, G_TYPE_INT);
+
+#ifdef HAVE_GTK_WIDGET_CLASS_SET_CSS_NAME
+       gtk_widget_class_set_css_name ((GtkWidgetClass *)klass, "rotation3dselector");
+#endif
 }
 
 GSF_CLASS (GO3DRotationSel, go_3d_rotation_sel,
diff --git a/goffice/gtk/go-arrow-sel.c b/goffice/gtk/go-arrow-sel.c
index b4b499a..089611a 100644
--- a/goffice/gtk/go-arrow-sel.c
+++ b/goffice/gtk/go-arrow-sel.c
@@ -210,6 +210,10 @@ go_arrow_sel_class_init (GObjectClass *klass)
                                     _("The currently selected arrow"),
                                     GO_ARROW_TYPE,
                                     GSF_PARAM_STATIC | G_PARAM_READWRITE));
+
+#ifdef HAVE_GTK_WIDGET_CLASS_SET_CSS_NAME
+       gtk_widget_class_set_css_name ((GtkWidgetClass *)klass, "arrowselector");
+#endif
 }
 
 GSF_CLASS (GOArrowSel, go_arrow_sel,
diff --git a/goffice/gtk/go-charmap-sel.c b/goffice/gtk/go-charmap-sel.c
index 97dc0f4..b227f66 100644
--- a/goffice/gtk/go-charmap-sel.c
+++ b/goffice/gtk/go-charmap-sel.c
@@ -555,6 +555,10 @@ cs_class_init (GtkWidgetClass *widget_klass)
 
                g_free (autoaliases);
        }
+
+#ifdef HAVE_GTK_WIDGET_CLASS_SET_CSS_NAME
+       gtk_widget_class_set_css_name (widget_klass, "charmapselector");
+#endif
 }
 
 GSF_CLASS (GOCharmapSel, go_charmap_sel,
diff --git a/goffice/gtk/go-font-sel.c b/goffice/gtk/go-font-sel.c
index 1f45634..d3440db 100644
--- a/goffice/gtk/go-font-sel.c
+++ b/goffice/gtk/go-font-sel.c
@@ -1168,7 +1168,7 @@ gfs_set_property (GObject         *object,
 static void
 gfs_class_init (GObjectClass *klass)
 {
-       GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+       GtkWidgetClass *widget_klass = GTK_WIDGET_CLASS (klass);
 
        klass->constructor = gfs_constructor;
        klass->finalize = gfs_finalize;
@@ -1176,7 +1176,7 @@ gfs_class_init (GObjectClass *klass)
        klass->get_property = gfs_get_property;
        klass->set_property = gfs_set_property;
 
-       widget_class->screen_changed = gfs_screen_changed;
+       widget_klass->screen_changed = gfs_screen_changed;
 
        gfs_parent_class = g_type_class_peek_parent (klass);
 
@@ -1285,6 +1285,10 @@ gfs_class_init (GObjectClass *klass)
                        NULL, NULL,
                        g_cclosure_marshal_VOID__POINTER,
                        G_TYPE_NONE, 1, G_TYPE_POINTER);
+
+#ifdef HAVE_GTK_WIDGET_CLASS_SET_CSS_NAME
+       gtk_widget_class_set_css_name (widget_klass, "fontselector");
+#endif
 }
 
 static void
diff --git a/goffice/gtk/go-format-sel.c b/goffice/gtk/go-format-sel.c
index fc10d35..4e2ecdb 100644
--- a/goffice/gtk/go-format-sel.c
+++ b/goffice/gtk/go-format-sel.c
@@ -1767,6 +1767,10 @@ nfs_class_init (GObjectClass *klass)
                              accumulate_first_string, NULL,
                              go__STRING__POINTER,
                              G_TYPE_STRING, 1, G_TYPE_POINTER);
+
+#ifdef HAVE_GTK_WIDGET_CLASS_SET_CSS_NAME
+       gtk_widget_class_set_css_name ((GtkWidgetClass *)klass, "formatselector");
+#endif
 }
 
 GSF_CLASS (GOFormatSel, go_format_sel,
diff --git a/goffice/gtk/go-locale-sel.c b/goffice/gtk/go-locale-sel.c
index 2378327..36a3e75 100644
--- a/goffice/gtk/go-locale-sel.c
+++ b/goffice/gtk/go-locale-sel.c
@@ -650,6 +650,10 @@ ls_class_init (GtkWidgetClass *widget_klass)
 
        setlocale (LC_ALL, oldlocale);
        g_free (oldlocale);
+
+#ifdef HAVE_GTK_WIDGET_CLASS_SET_CSS_NAME
+       gtk_widget_class_set_css_name (widget_klass, "localeselector");
+#endif
 }
 
 GSF_CLASS (GOLocaleSel, go_locale_sel,
diff --git a/goffice/gtk/go-palette.c b/goffice/gtk/go-palette.c
index 33da1a7..966a93a 100644
--- a/goffice/gtk/go-palette.c
+++ b/goffice/gtk/go-palette.c
@@ -184,6 +184,10 @@ go_palette_class_init (GOPaletteClass *class)
                              G_TYPE_NONE, 0);
 
        g_type_class_add_private (object_class, sizeof (GOPalettePrivate));
+
+#ifdef HAVE_GTK_WIDGET_CLASS_SET_CSS_NAME
+       gtk_widget_class_set_css_name (widget_class, "palette");
+#endif
 }
 
 static void
diff --git a/goffice/gtk/go-rotation-sel.c b/goffice/gtk/go-rotation-sel.c
index 3537d38..4c89123 100644
--- a/goffice/gtk/go-rotation-sel.c
+++ b/goffice/gtk/go-rotation-sel.c
@@ -265,6 +265,10 @@ grs_class_init (GObjectClass *klass)
                NULL, NULL,
                g_cclosure_marshal_VOID__INT,
                G_TYPE_NONE, 1, G_TYPE_INT);
+
+#ifdef HAVE_GTK_WIDGET_CLASS_SET_CSS_NAME
+       gtk_widget_class_set_css_name ((GtkWidgetClass *)klass, "rotationselector");
+#endif
 }
 
 GSF_CLASS (GORotationSel, go_rotation_sel,


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