Gtk::FontChooser Class Reference

An interface implemented by widgets displaying fonts. More...

`#include <gtkmm/fontchooser.h>`

Inheritance diagram for Gtk::FontChooser:
[legend]

## Public Types

typedef sigc::slot< bool, const Glib::RefPtr< const Pango::FontFamily >&, const Glib::RefPtr< const Pango::FontFace >& > | SlotFontFilter
| Font filter callback. More...
Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify | func_destroy_notify

## Public Member Functions

| FontChooser (FontChooser&& src) noexcept
FontChooser& | operator= (FontChooser&& src) noexcept
virtual | ~FontChooser () noexcept
GtkFontChooser* | gobj ()
| Provides access to the underlying C GObject. More...
const GtkFontChooser* | gobj () const
| Provides access to the underlying C GObject. More...
Glib::RefPtr< Pango::FontFamily > | get_font_family ()
| Gets the Pango::FontFamily representing the selected font family. More...
Glib::RefPtr< const Pango::FontFamily > | get_font_family () const
| Gets the Pango::FontFamily representing the selected font family. More...
Glib::RefPtr< Pango::FontFace > | get_font_face ()
| Gets the Pango::FontFace representing the selected font group details (i.e. family, slant, weight, width, etc). More...
Glib::RefPtr< const Pango::FontFace > | get_font_face () const
| Gets the Pango::FontFace representing the selected font group details (i.e. family, slant, weight, width, etc). More...
int | get_font_size () const
| The selected font size. More...
Pango::FontDescription | get_font_desc () const
| Gets the currently-selected font. More...
void | set_font_desc (const Pango::FontDescription& font_desc)
| Sets the currently-selected font from font_desc. More...
Glib::ustring | get_font () const
| Gets the currently-selected font name. More...
void | set_font (const Glib::ustring& fontname)
| Sets the currently-selected font. More...
Glib::ustring | get_preview_text () const
| Gets the text displayed in the preview area. More...
void | set_preview_text (const Glib::ustring& text)
| Sets the text displayed in the preview area. More...
bool | get_show_preview_entry () const
| Returns whether the preview entry is shown or not. More...
void | set_show_preview_entry (bool show_preview_entry=true)
| Shows or hides the editable preview entry. More...
void | set_filter_func (const SlotFontFilter& slot)
| Adds a filter function that decides which fonts to display in the font chooser. More...
void | set_font_map (const Glib::RefPtr< Pango::FontMap >& fontmap)
| Sets a custom font map to use for this font chooser widget. More...
Glib::RefPtr< Pango::FontMap > | get_font_map ()
| Gets the custom font map of this font chooser widget, or `0` if it does not have one. More...
Glib::RefPtr< const Pango::FontMap > | get_font_map () const
| Gets the custom font map of this font chooser widget, or `0` if it does not have one. More...
Glib::SignalProxy1< void, const Glib::ustring& > | signal_font_activated ()
Glib::PropertyProxy< Glib::ustring > | property_font ()
| The font description as a string, e.g. "Sans Italic 12". More...
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_font () const
| The font description as a string, e.g. "Sans Italic 12". More...
Glib::PropertyProxy< Pango::FontDescription > | property_font_desc ()
| The font description as a Pango::FontDescription. More...
Glib::PropertyProxy_ReadOnly< Pango::FontDescription > | property_font_desc () const
| The font description as a Pango::FontDescription. More...
Glib::PropertyProxy< Glib::ustring > | property_preview_text ()
| The string with which to preview the font. More...
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_preview_text () const
| The string with which to preview the font. More...
Glib::PropertyProxy< bool > | property_show_preview_entry ()
| Whether to show an entry to change the preview text. More...
Glib::PropertyProxy_ReadOnly< bool > | property_show_preview_entry () const
| Whether to show an entry to change the preview text. More...
Public Member Functions inherited from Glib::Interface
| Interface ()
| Interface (Interface &&src) noexcept
Interface & | operator= (Interface &&src) noexcept
| Interface (const Glib::Interface_Class &interface_class)
| Interface (GObject *castitem)
virtual | ~Interface () noexcept
| Interface (const Interface &)=delete
Interface & | operator= (const Interface &)=delete
GObject * | gobj ()
const GObject * | gobj () const
Public Member Functions inherited from Glib::ObjectBase
| ObjectBase (const ObjectBase &)=delete
ObjectBase & | operator= (const ObjectBase &)=delete
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
void | set_property (const Glib::ustring &property_name, const PropertyType &value)
void | get_property (const Glib::ustring &property_name, PropertyType &value) const
void | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void > &slot)
sigc::connection | connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot< void > &slot)
void | freeze_notify ()
void | thaw_notify ()
virtual void | reference () const
virtual void | unreference () const
GObject * | gobj ()
const GObject * | gobj () const
GObject * | gobj_copy () const
Public Member Functions inherited from sigc::trackable
| trackable ()
| trackable (const trackable &src)
| trackable (trackable &&src) noexcept
| ~trackable ()
void | add_destroy_notify_callback (void *data, func_destroy_notify func) const
void | notify_callbacks ()
trackable & | operator= (const trackable &src)
trackable & | operator= (trackable &&src) noexcept
void | remove_destroy_notify_callback (void *data) const

## Static Public Member Functions

static void | add_interface (GType gtype_implementer)
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...

## Protected Member Functions

| FontChooser ()
| You should derive from this class to use it. More...
Protected Member Functions inherited from Glib::ObjectBase
| ObjectBase ()
| ObjectBase (const char *custom_type_name)
| ObjectBase (const std::type_info &custom_type_info)
| ObjectBase (ObjectBase &&src) noexcept
ObjectBase & | operator= (ObjectBase &&src) noexcept
virtual | ~ObjectBase () noexcept=0
void | initialize (GObject *castitem)
void | initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gtk::FontChooser > | wrap (GtkFontChooser* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Detailed Description

An interface implemented by widgets displaying fonts.

FontChooser widgets list the available fonts, styles and sizes, allowing the user to select a font.

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

To get the selected font use get_font_name().

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

Since gtkmm 3.2:

## Member Typedef Documentation

typedef sigc::slot<bool, const Glib::RefPtr<const Pango::FontFamily>&, const Glib::RefPtr<const Pango::FontFace>&> Gtk::FontChooser::SlotFontFilter

Font filter callback.

For instance,

bool on_font_fitler(const Glib::RefPtr<const Pango::FontFamily>& font_family, const Glib::RefPtr<const Pango::FontFace>& font_face);

Parameters

  font_family | A Pango FontFamily.
  font_face | A Font Face belonging to the font_family.

Returns
  true if the font should be displayed.

This is used for deciding what fonts should be shown in a FontChooser. See set_filter_func().

Since gtkmm 3.4:

## Constructor & Destructor Documentation

Gtk::FontChooser::FontChooser | ( |  | ) |

protected

You should derive from this class to use it.

Gtk::FontChooser::FontChooser | ( | FontChooser&& | src | ) |

noexcept

virtual Gtk::FontChooser::~FontChooser | ( |  | ) |

virtual noexcept

## Member Function Documentation

static void Gtk::FontChooser::add_interface | ( | GType | gtype_implementer | ) |

static

Glib::ustring Gtk::FontChooser::get_font | ( |  | ) | const

Gets the currently-selected font name.

Note that this can be a different string than what you set with set_font(), as the font chooser widget may normalize font names and thus return a string with a different structure. For example, “Helvetica Italic Bold 12” could be normalized to “Helvetica Bold Italic 12”.

Use pango_font_description_equal() if you want to compare two font descriptions.

Since gtkmm 3.2:

Returns
  A string with the name of the current font, or `0` if no font is selected. You must free this string with Glib::free().

Pango::FontDescription Gtk::FontChooser::get_font_desc | ( |  | ) | const

Gets the currently-selected font.

Note that this can be a different string than what you set with set_font(), as the font chooser widget may normalize font names and thus return a string with a different structure. For example, “Helvetica Italic Bold 12” could be normalized to “Helvetica Bold Italic 12”.

Use pango_font_description_equal() if you want to compare two font descriptions.

Since gtkmm 3.2:

Returns
  A Pango::FontDescription for the current font, or `0` if no font is selected.

Glib::RefPtr<Pango::FontFace> Gtk::FontChooser::get_font_face | ( |  | ) |

Gets the Pango::FontFace representing the selected font group details (i.e. family, slant, weight, width, etc).

If the selected font is not installed, returns `0`.

Since gtkmm 3.2:

Returns
  A Pango::FontFace representing the selected font group details, or `0`. The returned object is owned by fontchooser and must not be modified or freed.

Glib::RefPtr<const Pango::FontFace> Gtk::FontChooser::get_font_face | ( |  | ) | const

Gets the Pango::FontFace representing the selected font group details (i.e. family, slant, weight, width, etc).

If the selected font is not installed, returns `0`.

Since gtkmm 3.2:

Returns
  A Pango::FontFace representing the selected font group details, or `0`. The returned object is owned by fontchooser and must not be modified or freed.

Glib::RefPtr<Pango::FontFamily> Gtk::FontChooser::get_font_family | ( |  | ) |

Gets the Pango::FontFamily representing the selected font family.

Font families are a collection of font faces.

If the selected font is not installed, returns `0`.

Since gtkmm 3.2:

Returns
  A Pango::FontFamily representing the selected font family, or `0`. The returned object is owned by fontchooser and must not be modified or freed.

Glib::RefPtr<const Pango::FontFamily> Gtk::FontChooser::get_font_family | ( |  | ) | const

Gets the Pango::FontFamily representing the selected font family.

Font families are a collection of font faces.

If the selected font is not installed, returns `0`.

Since gtkmm 3.2:

Returns
  A Pango::FontFamily representing the selected font family, or `0`. The returned object is owned by fontchooser and must not be modified or freed.

Glib::RefPtr<Pango::FontMap> Gtk::FontChooser::get_font_map | ( |  | ) |

Gets the custom font map of this font chooser widget, or `0` if it does not have one.

Since gtkmm 3.18:

Returns
  A Pango::FontMap, or `0`.

Glib::RefPtr<const Pango::FontMap> Gtk::FontChooser::get_font_map | ( |  | ) | const

Gets the custom font map of this font chooser widget, or `0` if it does not have one.

Since gtkmm 3.18:

Returns
  A Pango::FontMap, or `0`.

int Gtk::FontChooser::get_font_size | ( |  | ) | const

The selected font size.

Since gtkmm 3.2:

Returns
  A n integer representing the selected font size, or -1 if no font size is selected.

Glib::ustring Gtk::FontChooser::get_preview_text | ( |  | ) | const

Gets the text displayed in the preview area.

Since gtkmm 3.2:

Returns
  The text displayed in the preview area.

bool Gtk::FontChooser::get_show_preview_entry | ( |  | ) | const

Returns whether the preview entry is shown or not.

Since gtkmm 3.2:

Returns
  `true` if the preview entry is shown or `false` if it is hidden.

static GType Gtk::FontChooser::get_type | ( |  | ) |

static

Get the GType for this class, for use with the underlying GObject type system.

GtkFontChooser* Gtk::FontChooser::gobj | ( |  | ) |

inline

Provides access to the underlying C GObject.

const GtkFontChooser* Gtk::FontChooser::gobj | ( |  | ) | const

inline

Provides access to the underlying C GObject.

FontChooser& Gtk::FontChooser::operator= | ( | FontChooser&& | src | ) |

noexcept

Glib::PropertyProxy< Glib::ustring > Gtk::FontChooser::property_font | ( |  | ) |

The font description as a string, e.g. "Sans Italic 12".

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< Glib::ustring > Gtk::FontChooser::property_font | ( |  | ) | const

The font description as a string, e.g. "Sans Italic 12".

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy< Pango::FontDescription > Gtk::FontChooser::property_font_desc | ( |  | ) |

The font description as a Pango::FontDescription.

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< Pango::FontDescription > Gtk::FontChooser::property_font_desc | ( |  | ) | const

The font description as a Pango::FontDescription.

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy< Glib::ustring > Gtk::FontChooser::property_preview_text | ( |  | ) |

The string with which to preview the font.

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< Glib::ustring > Gtk::FontChooser::property_preview_text | ( |  | ) | const

The string with which to preview the font.

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy< bool > Gtk::FontChooser::property_show_preview_entry | ( |  | ) |

Whether to show an entry to change the preview text.

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< bool > Gtk::FontChooser::property_show_preview_entry | ( |  | ) | const

Whether to show an entry to change the preview text.

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

void Gtk::FontChooser::set_filter_func | ( | const SlotFontFilter& | slot | ) |

Adds a filter function that decides which fonts to display in the font chooser.

Parameters

  slot | A callback, to be called for each font.

Since gtkmm 3.4:

void Gtk::FontChooser::set_font | ( | const Glib::ustring & | fontname | ) |

Sets the currently-selected font.

Since gtkmm 3.2:

Parameters

  fontname | A font name like “Helvetica 12” or “Times Bold 18”.

void Gtk::FontChooser::set_font_desc | ( | const Pango::FontDescription & | font_desc | ) |

Sets the currently-selected font from font_desc.

Since gtkmm 3.2:

Parameters

  font_desc | A Pango::FontDescription.

void Gtk::FontChooser::set_font_map | ( | const Glib::RefPtr< Pango::FontMap > & | fontmap | ) |

Sets a custom font map to use for this font chooser widget.

A custom font map can be used to present application-specific fonts instead of or in addition to the normal system fonts.

[C example ellipted]

Note that other GTK+ widgets will only be able to use the application-specific font if it is present in the font map they use:

[C example ellipted]

Since gtkmm 3.18:

Parameters

  fontmap | A Pango::FontMap.

void Gtk::FontChooser::set_preview_text | ( | const Glib::ustring & | text | ) |

Sets the text displayed in the preview area.

The text is used to show how the selected font looks.

Since gtkmm 3.2:

Parameters

  text | The text to display in the preview area.

void Gtk::FontChooser::set_show_preview_entry | ( | bool | show_preview_entry = `true` | ) |

Shows or hides the editable preview entry.

Since gtkmm 3.2:

Parameters

  show_preview_entry | Whether to show the editable preview entry or not.

Glib::SignalProxy1< void,const Glib::ustring& > Gtk::FontChooser::signal_font_activated | ( |  | ) |

Slot Prototype:
  `void on_my_font_activated(const Glib::ustring& fontname)`

Emitted when a font is activated. This usually happens when the user double clicks an item, or an item is selected and the user presses one of the keys Space, Shift+Space, Return or Enter.

Parameters

  fontname | The font name.

## Friends And Related Function Documentation

Glib::RefPtr< Gtk::FontChooser > wrap | ( | GtkFontChooser * | object,
|  | bool | take_copy = `false`
| ) |  |

related

A Glib::wrap() method for this object.

Parameters

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns
  A C++ instance that wraps this C instance.