gtkmm: Gtk::FontChooser Class Reference

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

#include <gtkmm/fontchooser.h>

Inheritance diagram for Gtk::FontChooser:

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
 
FontChooseroperator= (FontChooser&& src) noexcept
 
 ~FontChooser () noexceptoverride
 
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::FontFamilyget_font_family ()
 Gets the Pango::FontFamily representing the selected font family. More...

 
Glib::RefPtr< const Pango::FontFamilyget_font_family () const
 Gets the Pango::FontFamily representing the selected font family. More...

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

 
Glib::RefPtr< const Pango::FontFaceget_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::FontMapget_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::FontMapget_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::ustringproperty_font ()
 The font description as a string, e.g. "Sans Italic 12". More...

 
Glib::PropertyProxy_ReadOnly< Glib::ustringproperty_font () const
 The font description as a string, e.g. "Sans Italic 12". More...

 
Glib::PropertyProxy< Pango::FontDescriptionproperty_font_desc ()
 The font description as a Pango::FontDescription. More...

 
Glib::PropertyProxy_ReadOnly< Pango::FontDescriptionproperty_font_desc () const
 The font description as a Pango::FontDescription. More...

 
Glib::PropertyProxy< Glib::ustringproperty_preview_text ()
 The string with which to preview the font. More...

 
Glib::PropertyProxy_ReadOnly< Glib::ustringproperty_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
 
Interfaceoperator= (Interface &&src) noexcept
 
 Interface (const Glib::Interface_Class &interface_class)
 
 Interface (GObject *castitem)
 
 ~Interface () noexceptoverride
 
 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
 
- Public Member Functions inherited from sigc::trackable
 trackable () noexcept
 
 trackable (const trackable &src) noexcept
 
 trackable (trackable &&src)
 
 ~trackable ()
 
void add_destroy_notify_callback (void *data, func_destroy_notify func) const
 
void notify_callbacks ()
 
trackableoperator= (const trackable &src)
 
trackableoperator= (trackable &&src)
 
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
 
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. 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

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

Gtk::FontChooser::FontChooser ( )
protected

You should derive from this class to use it.

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

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 nullptr if no font is selected.
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.
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.
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.
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.
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.
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.
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.
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
slotA 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
fontnameA 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_descA 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
fontmapA 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
textThe 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_entryWhether to show the editable preview entry or not.
Glib::SignalProxy< 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
fontnameThe 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
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.