static void gtk_font_button_init (GtkFontButton *font_button) { GtkStyleContext *context; font_button->priv = gtk_font_button_get_instance_private (font_button); /* Initialize fields */ font_button->priv->use_font = FALSE; font_button->priv->use_size = FALSE; font_button->priv->show_style = TRUE; font_button->priv->show_size = TRUE; font_button->priv->show_preview_entry = TRUE; font_button->priv->font_dialog = NULL; font_button->priv->font_family = NULL; font_button->priv->font_face = NULL; font_button->priv->font_size = -1; font_button->priv->title = g_strdup (_("Pick a Font")); gtk_widget_init_template (GTK_WIDGET (font_button)); gtk_font_button_take_font_desc (font_button, NULL); context = gtk_widget_get_style_context (GTK_WIDGET (font_button)); gtk_style_context_add_class (context, "font"); }
/** * gtk_font_button_set_font_name: * @font_button: a #GtkFontButton * @fontname: Name of font to display in font chooser dialog * * Sets or updates the currently-displayed font in font picker dialog. * * Returns: %TRUE * * Since: 2.4 */ gboolean gtk_font_button_set_font_name (GtkFontButton *font_button, const gchar *fontname) { PangoFontDescription *font_desc; g_return_val_if_fail (GTK_IS_FONT_BUTTON (font_button), FALSE); g_return_val_if_fail (fontname != NULL, FALSE); font_desc = pango_font_description_from_string (fontname); gtk_font_button_take_font_desc (font_button, font_desc); return TRUE; }
static void gtk_font_button_set_property (GObject *object, guint param_id, const GValue *value, GParamSpec *pspec) { GtkFontButton *font_button = GTK_FONT_BUTTON (object); switch (param_id) { case GTK_FONT_CHOOSER_PROP_PREVIEW_TEXT: gtk_font_button_set_preview_text (font_button, g_value_get_string (value)); break; case GTK_FONT_CHOOSER_PROP_SHOW_PREVIEW_ENTRY: gtk_font_button_set_show_preview_entry (font_button, g_value_get_boolean (value)); break; case PROP_TITLE: gtk_font_button_set_title (font_button, g_value_get_string (value)); break; case GTK_FONT_CHOOSER_PROP_FONT_DESC: gtk_font_button_take_font_desc (font_button, g_value_dup_boxed (value)); break; case GTK_FONT_CHOOSER_PROP_FONT: case PROP_FONT_NAME: gtk_font_button_set_font_name (font_button, g_value_get_string (value)); break; case PROP_USE_FONT: gtk_font_button_set_use_font (font_button, g_value_get_boolean (value)); break; case PROP_USE_SIZE: gtk_font_button_set_use_size (font_button, g_value_get_boolean (value)); break; case PROP_SHOW_STYLE: gtk_font_button_set_show_style (font_button, g_value_get_boolean (value)); break; case PROP_SHOW_SIZE: gtk_font_button_set_show_size (font_button, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; } }
static void gtk_font_button_init (GtkFontButton *font_button) { font_button->priv = G_TYPE_INSTANCE_GET_PRIVATE (font_button, GTK_TYPE_FONT_BUTTON, GtkFontButtonPrivate); /* Initialize fields */ font_button->priv->use_font = FALSE; font_button->priv->use_size = FALSE; font_button->priv->show_style = TRUE; font_button->priv->show_size = TRUE; font_button->priv->show_preview_entry = FALSE; font_button->priv->font_dialog = NULL; font_button->priv->font_family = NULL; font_button->priv->font_face = NULL; font_button->priv->font_size = -1; font_button->priv->title = g_strdup (_("Pick a Font")); font_button->priv->inside = gtk_font_button_create_inside (font_button); gtk_container_add (GTK_CONTAINER (font_button), font_button->priv->inside); gtk_font_button_take_font_desc (font_button, NULL); }