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

Public Member Functions

 FontChooser (FontChooser && src) noexcept
 
FontChooseroperator= (FontChooser && src) noexcept
 
 ~FontChooser () noexcept override
 
GtkFontChooser * gobj ()
 Provides access to the underlying C GObject.
 
const GtkFontChooser * gobj () const
 Provides access to the underlying C GObject.
 
Glib::RefPtr< Pango::FontFamily > get_font_family ()
 Gets the Pango::FontFamily representing the selected font family.
 
Glib::RefPtr< const Pango::FontFamily > get_font_family () const
 Gets the Pango::FontFamily representing the selected font family.
 
Glib::RefPtr< Pango::FontFace > get_font_face ()
 Gets the Pango::FontFace representing the selected font group details (i.e. family, slant, weight, width, etc).
 
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).
 
int get_font_size () const
 The selected font size.
 
Pango::FontDescription get_font_desc () const
 Gets the currently-selected font.
 
void set_font_desc (const Pango::FontDescription & font_desc)
 Sets the currently-selected font from font_desc.
 
Glib::ustring get_font () const
 Gets the currently-selected font name.
 
void set_font (const Glib::ustring & fontname)
 Sets the currently-selected font.
 
Glib::ustring get_preview_text () const
 Gets the text displayed in the preview area.
 
void set_preview_text (const Glib::ustring & text)
 Sets the text displayed in the preview area.
 
bool get_show_preview_entry () const
 Returns whether the preview entry is shown or not.
 
void set_show_preview_entry (bool show_preview_entry=true)
 Shows or hides the editable preview entry.
 
void set_filter_func (const SlotFontFilter & slot)
 Adds a filter function that decides which fonts to display in the font chooser.
 
void set_font_map (const Glib::RefPtr< Pango::FontMap > & fontmap)
 Sets a custom font map to use for this font chooser widget.
 
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.
 
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.
 
Glib::SignalProxy< void, const Glib::ustring & > signal_font_activated ()
 
Glib::PropertyProxy< Glib::ustringproperty_font ()
 The font description as a string, e.g. "Sans Italic 12".
 
Glib::PropertyProxy_ReadOnly< Glib::ustringproperty_font () const
 The font description as a string, e.g. "Sans Italic 12".
 
Glib::PropertyProxy< Pango::FontDescription > property_font_desc ()
 The font description as a Pango::FontDescription.
 
Glib::PropertyProxy_ReadOnly< Pango::FontDescription > property_font_desc () const
 The font description as a Pango::FontDescription.
 
Glib::PropertyProxy< Glib::ustringproperty_preview_text ()
 The string with which to preview the font.
 
Glib::PropertyProxy_ReadOnly< Glib::ustringproperty_preview_text () const
 The string with which to preview the font.
 
Glib::PropertyProxy< bool > property_show_preview_entry ()
 Whether to show an entry to change the preview text.
 
Glib::PropertyProxy_ReadOnly< bool > property_show_preview_entry () const
 Whether to show an entry to change the preview text.
 
- Public Member Functions inherited from Glib::Interface
 Interface ()
 
 Interface (Interface &&src) noexcept
 
Interfaceoperator= (Interface &&src) noexcept
 
 Interface (const Glib::Interface_Class &interface_class)
 
 Interface (GObject *castitem)
 
 ~Interface () noexcept override
 
 Interface (const Interface &)=delete
 
Interfaceoperator= (const Interface &)=delete
 
GObject * gobj ()
 
const GObject * gobj () const
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (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)
 
void connect_property_changed (const Glib::ustring &property_name, sigc::slot< void > &&slot)
 
sigc::connection connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot< void > &slot)
 
sigc::connection connect_property_changed_with_return (const Glib::ustring &property_name, 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
 

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.
 

Protected Member Functions

 FontChooser ()
 You should derive from this class to use it.
 
- 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
 
ObjectBaseoperator= (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::FontChooserwrap (GtkFontChooser * object, bool take_copy=false)
 A Glib::wrap() method for this object.
 

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.