## GtkFontSelectionDialog

GtkFontSelectionDialog — a dialog box for selecting fonts.

## Synopsis

    #include <gtk/gtk.h>

    struct      GtkFontSelectionDialog;
    GtkWidget*  gtk_font_selection_dialog_new   (const gchar *title);
    GdkFont*    gtk_font_selection_dialog_get_font
                                                (GtkFontSelectionDialog *fsd);
    gchar*      gtk_font_selection_dialog_get_font_name
                                                (GtkFontSelectionDialog *fsd);
    gboolean    gtk_font_selection_dialog_set_font_name
                                                (GtkFontSelectionDialog *fsd,
                                                 const gchar *fontname);
    G_CONST_RETURN gchar* gtk_font_selection_dialog_get_preview_text
                                                (GtkFontSelectionDialog *fsd);
    void        gtk_font_selection_dialog_set_preview_text
                                                (GtkFontSelectionDialog *fsd,
                                                 const gchar *text);

## Object Hierarchy

      GObject
       +----GtkObject
             +----GtkWidget
                   +----GtkContainer
                         +----GtkBin
                               +----GtkWindow
                                     +----GtkDialog
                                           +----GtkFontSelectionDialog

## Implemented Interfaces

GtkFontSelectionDialog implements AtkImplementorIface.

## Description

The GtkFontSelectionDialog widget is a dialog box for selecting a font.

To set the font which is initially selected, use `gtk_font_selection_dialog_set_font_name()`.

To get the selected font use `gtk_font_selection_dialog_get_font()` or `gtk_font_selection_dialog_get_font_name()`.

To change the text which is shown in the preview area, use `gtk_font_selection_dialog_set_preview_text()`.

Filters can be used to limit the fonts shown. There are 2 filters in the GtkFontSelectionDialog - a base filter and a user filter. The base filter can not be changed by the user, so this can be used when the user must choose from the restricted set of fonts (e.g. for a terminal-type application you may want to force the user to select a fixed-width font). The user filter can be changed or reset by the user, by using the 'Reset Filter' button or changing the options on the 'Filter' page of the dialog.

Example 2. Setting a filter to show only fixed-width fonts.

      gchar *spacings[] = { "c", "m", NULL };
      gtk_font_selection_dialog_set_filter (GTK_FONT_SELECTION_DIALOG (fontsel),
    				       GTK_FONT_FILTER_BASE, GTK_FONT_ALL,
    				       NULL, NULL, NULL, NULL, spacings, NULL);

To allow only true scalable fonts to be selected use:

Example 3. Setting a filter to show only true scalable fonts.

      gtk_font_selection_dialog_set_filter (GTK_FONT_SELECTION_DIALOG (fontsel),
    				       GTK_FONT_FILTER_BASE, GTK_FONT_SCALABLE,
    				       NULL, NULL, NULL, NULL, NULL, NULL);

## Details

### struct GtkFontSelectionDialog

    struct GtkFontSelectionDialog {
      GtkWidget *ok_button;
      GtkWidget *apply_button;
      GtkWidget *cancel_button;

    };

GtkWidget *`ok_button` | The OK button of the dialog
GtkWidget *`apply_button` | The Apply button of the dialog. This button is hidden by default but you can show/hide it
GtkWidget *`cancel_button` | The Cancel button of the dialog

### gtk_font_selection_dialog_new ()

    GtkWidget*  gtk_font_selection_dialog_new   (const gchar *title);

Creates a new GtkFontSelectionDialog.

`title` : | the title of the dialog box.
Returns : | a new GtkFontSelectionDialog.

### gtk_font_selection_dialog_get_font ()

    GdkFont*    gtk_font_selection_dialog_get_font
                                                (GtkFontSelectionDialog *fsd);

### Warning

`gtk_font_selection_dialog_get_font` is deprecated and should not be used in newly-written code.

Gets the currently-selected font.

`fsd` : | a GtkFontSelectionDialog.
Returns : | the currently-selected font, or `NULL` if no font is selected.

### gtk_font_selection_dialog_get_font_name ()

    gchar*      gtk_font_selection_dialog_get_font_name
                                                (GtkFontSelectionDialog *fsd);

Gets the currently-selected font name.

`fsd` : | a GtkFontSelectionDialog.
Returns : | the currently-selected font name, or `NULL` if no font is selected.

### gtk_font_selection_dialog_set_font_name ()

    gboolean    gtk_font_selection_dialog_set_font_name
                                                (GtkFontSelectionDialog *fsd,
                                                 const gchar *fontname);

Sets the currently-selected font.

`fsd` : | a GtkFontSelectionDialog.
`fontname` : | a fontname.
Returns : | `TRUE` if the font was found.

### gtk_font_selection_dialog_get_preview_text ()

    G_CONST_RETURN gchar* gtk_font_selection_dialog_get_preview_text
                                                (GtkFontSelectionDialog *fsd);

Gets the text displayed in the preview area.

`fsd` : | a GtkFontSelectionDialog.
Returns : | the text displayed in the preview area. This string is owned by the widget and should not be modified or freed.

### gtk_font_selection_dialog_set_preview_text ()

    void        gtk_font_selection_dialog_set_preview_text
                                                (GtkFontSelectionDialog *fsd,
                                                 const gchar *text);

Sets the text displayed in the preview area.

`fsd` : | a GtkFontSelectionDialog.
`text` : | the text to display in the preview area.

## See Also

GtkFontSelection, GtkDialog | the underlying widget for selecting fonts. the parent class of GtkFontSelectionDialog