void glade_gtk_button_post_create (GladeWidgetAdaptor * adaptor, GObject * button, GladeCreateReason reason) { GladeWidget *gbutton = glade_widget_get_from_gobject (button); g_return_if_fail (GTK_IS_BUTTON (button)); g_return_if_fail (GLADE_IS_WIDGET (gbutton)); if (GTK_IS_FONT_BUTTON (button)) g_signal_connect (button, "font-set", G_CALLBACK (glade_gtk_font_button_refresh_font_name), gbutton); else if (GTK_IS_COLOR_BUTTON (button)) g_signal_connect (button, "color-set", G_CALLBACK (glade_gtk_color_button_refresh_color), gbutton); /* Disabled response-id until its in an action area */ glade_widget_property_set_sensitive (gbutton, "response-id", FALSE, RESPID_INSENSITIVE_MSG); if (reason == GLADE_CREATE_USER) glade_gtk_button_update_stock (gbutton); }
/** * gtk_font_button_get_font_name: * @font_button: a #GtkFontButton * * Retrieves the name of the currently selected font. This name includes * style and size information as well. If you want to render something * with the font, use this string with pango_font_description_from_string() . * If you're interested in peeking certain values (family name, * style, size, weight) just query these properties from the * #PangoFontDescription object. * * Returns: an internal copy of the font name which must not be freed. * * Since: 2.4 */ const gchar * gtk_font_button_get_font_name (GtkFontButton *font_button) { g_return_val_if_fail (GTK_IS_FONT_BUTTON (font_button), NULL); return font_button->priv->fontname; }
/** * gtk_font_button_get_show_size: * @font_button: a #GtkFontButton * * Returns whether the font size will be shown in the label. * * Return value: whether the font size will be shown in the label. * * Since: 2.4 **/ gboolean gtk_font_button_get_show_size (GtkFontButton *font_button) { g_return_val_if_fail (GTK_IS_FONT_BUTTON (font_button), FALSE); return font_button->priv->show_size; }
/** * gtk_font_button_set_font_name: * @font_button: a #GtkFontButton * @fontname: Name of font to display in font selection dialog * * Sets or updates the currently-displayed font in font picker dialog. * * Returns: Return value of gtk_font_selection_dialog_set_font_name() if the * font selection dialog exists, otherwise %FALSE. * * Since: 2.4 */ gboolean gtk_font_button_set_font_name (GtkFontButton *font_button, const gchar *fontname) { gboolean result; gchar *old_fontname; g_return_val_if_fail (GTK_IS_FONT_BUTTON (font_button), FALSE); g_return_val_if_fail (fontname != NULL, FALSE); if (g_ascii_strcasecmp (font_button->priv->fontname, fontname)) { old_fontname = font_button->priv->fontname; font_button->priv->fontname = g_strdup (fontname); g_free (old_fontname); } gtk_font_button_update_font_info (font_button); if (font_button->priv->font_dialog) result = gtk_font_selection_dialog_set_font_name (GTK_FONT_SELECTION_DIALOG (font_button->priv->font_dialog), font_button->priv->fontname); else result = FALSE; g_object_notify (G_OBJECT (font_button), "font-name"); return result; }
/** * gtk_font_button_get_title: * @font_button: a #GtkFontButton * * Retrieves the title of the font selection dialog. * * Returns: an internal copy of the title string which must not be freed. * * Since: 2.4 */ G_CONST_RETURN gchar* gtk_font_button_get_title (GtkFontButton *font_button) { g_return_val_if_fail (GTK_IS_FONT_BUTTON (font_button), NULL); return font_button->priv->title; }
void glade_gtk_button_read_widget (GladeWidgetAdaptor * adaptor, GladeWidget * widget, GladeXmlNode * node) { GObject *object; if (!(glade_xml_node_verify_silent (node, GLADE_XML_TAG_WIDGET) || glade_xml_node_verify_silent (node, GLADE_XML_TAG_TEMPLATE))) return; /* First chain up and read in all the normal properties.. */ GWA_GET_CLASS (GTK_TYPE_CONTAINER)->read_widget (adaptor, widget, node); glade_gtk_button_update_stock (widget); /* Fold "font-name" property into the "font" propery */ object = glade_widget_get_object (widget); if (GTK_IS_FONT_BUTTON (object)) { gchar *font_prop_value = NULL; glade_widget_property_get (widget, "font-name", &font_prop_value); if (font_prop_value != NULL) { glade_widget_property_set (widget, "font", font_prop_value); glade_widget_property_set (widget, "font-name", NULL); } } }
/** * gtk_font_button_get_use_font: * @font_button: a #GtkFontButton * * Returns whether the selected font is used in the label. * * Returns: whether the selected font is used in the label. * * Since: 2.4 */ gboolean gtk_font_button_get_use_font (GtkFontButton *font_button) { g_return_val_if_fail (GTK_IS_FONT_BUTTON (font_button), FALSE); return font_button->priv->use_font; }
static void test_font_button_basic (void) { GtkWidget *widget; widget = gtk_font_button_new (); g_assert (GTK_IS_FONT_BUTTON (widget)); gtk_widget_destroy (widget); }
/** * 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; }
/** Connect a GtkFontButton widget to its stored value in the preferences database. * * @internal * * @param fb A pointer to the font button that should be connected. */ static void gnc_prefs_connect_font_button (GtkFontButton *fb) { gchar *group, *pref; g_return_if_fail(GTK_IS_FONT_BUTTON(fb)); gnc_prefs_split_widget_name (gtk_buildable_get_name(GTK_BUILDABLE(fb)), &group, &pref); gnc_prefs_bind (group, pref, G_OBJECT (fb), "font-name"); g_free (group); g_free (pref); gtk_widget_show_all(GTK_WIDGET(fb)); }
/** * gtk_font_button_set_show_style: * @font_button: a #GtkFontButton * @show_style: %TRUE if font style should be displayed in label. * * If @show_style is %TRUE, the font style will be displayed along with name of the selected font. * * Since: 2.4 */ void gtk_font_button_set_show_style (GtkFontButton *font_button, gboolean show_style) { g_return_if_fail (GTK_IS_FONT_BUTTON (font_button)); show_style = (show_style != FALSE); if (font_button->priv->show_style != show_style) { font_button->priv->show_style = show_style; gtk_font_button_update_font_info (font_button); g_object_notify (G_OBJECT (font_button), "show-style"); } }
/** * gtk_font_button_set_use_size: * @font_button: a #GtkFontButton * @use_size: If %TRUE, font name will be written using the selected size. * * If @use_size is %TRUE, the font name will be written using the selected size. * * Since: 2.4 */ void gtk_font_button_set_use_size (GtkFontButton *font_button, gboolean use_size) { g_return_if_fail (GTK_IS_FONT_BUTTON (font_button)); use_size = (use_size != FALSE); if (font_button->priv->use_size != use_size) { font_button->priv->use_size = use_size; gtk_font_button_label_use_font (font_button); g_object_notify (G_OBJECT (font_button), "use-size"); } }
/** * gtk_font_button_set_title: * @font_button: a #GtkFontButton * @title: a string containing the font chooser dialog title * * Sets the title for the font chooser dialog. * * Since: 2.4 */ void gtk_font_button_set_title (GtkFontButton *font_button, const gchar *title) { gchar *old_title; g_return_if_fail (GTK_IS_FONT_BUTTON (font_button)); old_title = font_button->priv->title; font_button->priv->title = g_strdup (title); g_free (old_title); if (font_button->priv->font_dialog) gtk_window_set_title (GTK_WINDOW (font_button->priv->font_dialog), font_button->priv->title); g_object_notify (G_OBJECT (font_button), "title"); }
/** * gtk_font_button_set_use_font: * @font_button: a #GtkFontButton * @use_font: If %TRUE, font name will be written using font chosen. * * If @use_font is %TRUE, the font name will be written using the selected font. * * Since: 2.4 */ void gtk_font_button_set_use_font (GtkFontButton *font_button, gboolean use_font) { g_return_if_fail (GTK_IS_FONT_BUTTON (font_button)); use_font = (use_font != FALSE); if (font_button->priv->use_font != use_font) { font_button->priv->use_font = use_font; if (use_font) gtk_font_button_label_use_font (font_button); else gtk_widget_set_style (font_button->priv->font_label, NULL); g_object_notify (G_OBJECT (font_button), "use-font"); } }
/** * gtk_font_button_set_show_size: * @font_button: a #GtkFontButton * @show_size: %TRUE if font size should be displayed in dialog. * * If @show_size is %TRUE, the font size will be displayed along with the name of the selected font. * * Since: 2.4 */ void gtk_font_button_set_show_size (GtkFontButton *font_button, gboolean show_size) { g_return_if_fail (GTK_IS_FONT_BUTTON (font_button)); show_size = (show_size != FALSE); if (font_button->priv->show_size != show_size) { font_button->priv->show_size = show_size; gtk_container_remove (GTK_CONTAINER (font_button), font_button->priv->inside); 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_update_font_info (font_button); g_object_notify (G_OBJECT (font_button), "show-size"); } }
void glade_gtk_button_write_widget (GladeWidgetAdaptor * adaptor, GladeWidget * widget, GladeXmlContext * context, GladeXmlNode * node) { GladeProperty *prop; gboolean use_stock; gchar *stock = NULL; if (!(glade_xml_node_verify_silent (node, GLADE_XML_TAG_WIDGET) || glade_xml_node_verify_silent (node, GLADE_XML_TAG_TEMPLATE))) return; /* Do not save GtkColorButton GtkFontButton and GtkScaleButton label property */ if (!(GTK_IS_COLOR_BUTTON (glade_widget_get_object (widget)) || GTK_IS_FONT_BUTTON (glade_widget_get_object (widget)) || GTK_IS_SCALE_BUTTON (glade_widget_get_object (widget)))) { /* Make a copy of the GladeProperty, * override its value and ensure non-translatable if use-stock is TRUE */ prop = glade_widget_get_property (widget, "label"); prop = glade_property_dup (prop, widget); glade_widget_property_get (widget, "use-stock", &use_stock); if (use_stock) { glade_widget_property_get (widget, "stock", &stock); glade_property_i18n_set_translatable (prop, FALSE); glade_property_set (prop, stock); } glade_property_write (prop, context, node); g_object_unref (G_OBJECT (prop)); } /* Write out other normal properties and any other class derived custom properties after ... */ GWA_GET_CLASS (GTK_TYPE_CONTAINER)->write_widget (adaptor, widget, context, node); }
/** * gtk_font_button_set_show_size: * @font_button: a #GtkFontButton * @show_size: %TRUE if font size should be displayed in dialog. * * If @show_size is %TRUE, the font size will be displayed along with the name of the selected font. * * Since: 2.4 */ void gtk_font_button_set_show_size (GtkFontButton *font_button, gboolean show_size) { g_return_if_fail (GTK_IS_FONT_BUTTON (font_button)); show_size = (show_size != FALSE); if (font_button->priv->show_size != show_size) { font_button->priv->show_size = show_size; if (font_button->priv->show_size) gtk_widget_show (font_button->priv->font_size_box); else gtk_widget_hide (font_button->priv->font_size_box); gtk_font_button_update_font_info (font_button); g_object_notify (G_OBJECT (font_button), "show-size"); } }
/** Connect one dialog widget to the appropriate callback function for * its type. * * @internal * * @param name The name of the widget. * * @param widget A pointer to the widget. * * @param dialog A pointer to the dialog. */ static void gnc_prefs_connect_one (const gchar *name, GtkWidget *widget, gpointer user_data) { /* These tests must be ordered from more specific widget to less * specific widget. */ if (GTK_IS_FONT_BUTTON(widget)) { DEBUG(" %s - entry", name); gnc_prefs_connect_font_button(GTK_FONT_BUTTON(widget)); } else if (GTK_IS_RADIO_BUTTON(widget)) { DEBUG(" %s - radio button", name); gnc_prefs_connect_radio_button(GTK_RADIO_BUTTON(widget)); } else if (GTK_IS_CHECK_BUTTON(widget)) { DEBUG(" %s - check button", name); gnc_prefs_connect_check_button(GTK_CHECK_BUTTON(widget)); } else if (GTK_IS_SPIN_BUTTON(widget)) { DEBUG(" %s - spin button", name); gnc_prefs_connect_spin_button(GTK_SPIN_BUTTON(widget)); } else if (GTK_IS_COMBO_BOX(widget)) { DEBUG(" %s - combo box", name); gnc_prefs_connect_combo_box(GTK_COMBO_BOX(widget)); } else if (GTK_IS_ENTRY(widget)) { DEBUG(" %s - entry", name); gnc_prefs_connect_entry(GTK_ENTRY(widget)); } else if (GTK_IS_HBOX(widget)) { /* Test custom widgets are all children of a hbox */ GtkWidget *widget_child; GList* child = gtk_container_get_children(GTK_CONTAINER(widget)); widget_child = child->data; g_list_free(child); DEBUG(" %s - hbox", name); DEBUG("Hbox widget type is %s and name is %s", gtk_widget_get_name(GTK_WIDGET(widget_child)), name); if (GNC_IS_CURRENCY_EDIT(widget_child)) { DEBUG(" %s - currency_edit", name); gnc_prefs_connect_currency_edit(GNC_CURRENCY_EDIT(widget_child), name ); } else if (GNC_IS_PERIOD_SELECT(widget_child)) { DEBUG(" %s - period_Select", name); gnc_prefs_connect_period_select(GNC_PERIOD_SELECT(widget_child), name ); } else if (GNC_IS_DATE_EDIT(widget_child)) { DEBUG(" %s - date_edit", name); gnc_prefs_connect_date_edit(GNC_DATE_EDIT(widget_child), name ); } } else { DEBUG(" %s - unsupported %s", name, G_OBJECT_TYPE_NAME(G_OBJECT(widget))); } }