static void response_cb (GtkDialog *dialog, gint response_id, gpointer data) { GnmFontButton *font_button = GNM_FONT_BUTTON (data); GnmFontButtonPrivate *priv = font_button->priv; GtkFontChooser *font_chooser; GObject *object; gtk_widget_hide (font_button->priv->font_dialog); if (response_id != GTK_RESPONSE_OK) return; font_chooser = GTK_FONT_CHOOSER (priv->font_dialog); object = G_OBJECT (font_chooser); g_object_freeze_notify (object); clear_font_data (font_button); priv->font_desc = gtk_font_chooser_get_font_desc (font_chooser); if (priv->font_desc) priv->fontname = pango_font_description_to_string (priv->font_desc); priv->font_family = gtk_font_chooser_get_font_family (font_chooser); if (priv->font_family) g_object_ref (priv->font_family); priv->font_face = gtk_font_chooser_get_font_face (font_chooser); if (priv->font_face) g_object_ref (priv->font_face); priv->font_size = gtk_font_chooser_get_font_size (font_chooser); /* Set label font */ gnm_font_button_update_font_info (font_button); g_object_notify (G_OBJECT (font_button), "font"); g_object_notify (G_OBJECT (font_button), "font-desc"); g_object_notify (G_OBJECT (font_button), "font-name"); g_object_thaw_notify (object); /* Emit font_set signal */ g_signal_emit (font_button, font_button_signals[FONT_SET], 0); }
static void notify_font_cb (GtkFontChooser *fontchooser, GParamSpec *pspec, gpointer data) { PangoFontFamily *family; PangoFontFace *face; g_debug ("Changed font name %s", gtk_font_chooser_get_font (fontchooser)); family = gtk_font_chooser_get_font_family (fontchooser); face = gtk_font_chooser_get_font_face (fontchooser); if (family) { g_debug (" Family: %s is-monospace:%s", pango_font_family_get_name (family), pango_font_family_is_monospace (family) ? "true" : "false"); } else g_debug (" No font family!"); if (face) g_debug (" Face description: %s", pango_font_face_get_face_name (face)); else g_debug (" No font face!"); }
static VALUE rg_font_face(VALUE self) { return GOBJ2RVAL(gtk_font_chooser_get_font_face(_SELF(self))); }