gtkmm 3.24.7
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions | List of all members
Gtk::FontChooser Class Reference

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

#include <gtkmm/fontchooser.h>

Inheritance diagram for Gtk::FontChooser:
Inheritance graph
[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 Member Functions

 FontChooser (FontChooser && src) noexcept
 
FontChooseroperator= (FontChooser && src) noexcept
 
 ~FontChooser () noexcept override
 
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 nullptr 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 nullptr if it does not have one. More...
 
Glib::SignalProxy< 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...
 

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...
 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Gtk::FontChooserwrap (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

◆ SlotFontFilter

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_familyA Pango FontFamily.
font_faceA 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

◆ FontChooser() [1/2]

Gtk::FontChooser::FontChooser ( )
protected

You should derive from this class to use it.

◆ FontChooser() [2/2]

Gtk::FontChooser::FontChooser ( FontChooser &&  src)
noexcept

◆ ~FontChooser()

Gtk::FontChooser::~FontChooser ( )
overridenoexcept

Member Function Documentation

◆ add_interface()

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

◆ get_font()

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 nullptr if no font is selected.

◆ get_font_desc()

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 nullptr if no font is selected.

◆ get_font_face() [1/2]

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 nullptr.

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

◆ get_font_face() [2/2]

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 nullptr.

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

◆ get_font_family() [1/2]

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 nullptr.

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

◆ get_font_family() [2/2]

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 nullptr.

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

◆ get_font_map() [1/2]

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

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

Since gtkmm 3.18:
Returns
A Pango::FontMap, or nullptr.

◆ get_font_map() [2/2]

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

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

Since gtkmm 3.18:
Returns
A Pango::FontMap, or nullptr.

◆ get_font_size()

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.

◆ get_preview_text()

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.

◆ get_show_preview_entry()

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.

◆ get_type()

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

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

◆ gobj() [1/2]

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

Provides access to the underlying C GObject.

◆ gobj() [2/2]

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

Provides access to the underlying C GObject.

◆ operator=()

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

◆ property_font() [1/2]

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

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

Default value: "Sans 10"

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.

◆ property_font() [2/2]

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

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

Default value: "Sans 10"

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

◆ property_font_desc() [1/2]

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.

◆ property_font_desc() [2/2]

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.

◆ property_preview_text() [1/2]

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

The string with which to preview the font.

Default value: "The quick brown fox jumps over the lazy dog."

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.

◆ property_preview_text() [2/2]

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

The string with which to preview the font.

Default value: "The quick brown fox jumps over the lazy dog."

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

◆ property_show_preview_entry() [1/2]

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

Whether to show an entry to change the preview text.

Default value: true

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.

◆ property_show_preview_entry() [2/2]

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

Whether to show an entry to change the preview text.

Default value: true

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

◆ set_filter_func()

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

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

Parameters
slotA callback, to be called for each font.
Since gtkmm 3.4:

◆ set_font()

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

Sets the currently-selected font.

Since gtkmm 3.2:
Parameters
fontnameA font name like “Helvetica 12” or “Times Bold 18”.

◆ set_font_desc()

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_descA Pango::FontDescription.

◆ set_font_map()

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
fontmapA Pango::FontMap.

◆ set_preview_text()

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
textThe text to display in the preview area.

◆ set_show_preview_entry()

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_entryWhether to show the editable preview entry or not.

◆ signal_font_activated()

Glib::SignalProxy< void, const Glib::ustring & > Gtk::FontChooser::signal_font_activated ( )
Slot Prototype:
void on_my_font_activated(const Glib::ustring& fontname)

Flags: Run First

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
fontnameThe font name.

Friends And Related Function Documentation

◆ wrap()

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

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

Parameters
objectThe C instance.
take_copyFalse 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.