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 VALUE rg_font_size(VALUE self) { return INT2NUM(gtk_font_chooser_get_font_size(_SELF(self))); }