Gtk::CssProvider Class Reference

CSS-like styling for widgets, implementing the StyleProvider base class. More...

`#include <gtkmm/cssprovider.h>`

Inheritance diagram for Gtk::CssProvider:
[legend]

## Public Member Functions

| CssProvider (CssProvider&& src) noexcept
CssProvider& | operator= (CssProvider&& src) noexcept
virtual | ~CssProvider () noexcept
GtkCssProvider* | gobj ()
| Provides access to the underlying C GObject. More...
const GtkCssProvider* | gobj () const
| Provides access to the underlying C GObject. More...
GtkCssProvider* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
Glib::ustring | to_string () const
| Converts the provider into a string representation in CSS format. More...
bool | load_from_data (const std::string& data)
| Loads data into this css provider, making it clear any previously loaded information. More...
bool | load_from_file (const Glib::RefPtr< const Gio::File >& file)
| Loads the data contained in file into css_provider, making it clear any previously loaded information. More...
bool | load_from_path (const std::string& path)
| Loads the data contained in path into css_provider, making it clear any previously loaded information. More...
void | load_from_resource (const std::string& resource_path)
| Loads the data contained in the resource at resource_path into the Gtk::CssProvider, clearing any previously loaded information. More...
Glib::SignalProxy2< void, const Glib::RefPtr< const CssSection >&, const Glib::Error& > | signal_parsing_error ()
Public Member Functions inherited from Glib::Object
| Object (const Object &)=delete
Object & | operator= (const Object &)=delete
| Object (Object &&src) noexcept
Object & | operator= (Object &&src) noexcept
void * | get_data (const QueryQuark &key)
void | set_data (const Quark &key, void *data)
void | set_data (const Quark &key, void *data, DestroyNotify notify)
void | remove_data (const QueryQuark &quark)
void * | steal_data (const QueryQuark &quark)
Glib::RefPtr< Glib::Object > | wrap (GObject *object, bool take_copy=false)
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
Public Member Functions inherited from Gtk::StyleProvider
| StyleProvider (StyleProvider&& src) noexcept
StyleProvider& | operator= (StyleProvider&& src) noexcept
virtual | ~StyleProvider () noexcept
GtkStyleProvider* | gobj ()
| Provides access to the underlying C GObject. More...
const GtkStyleProvider* | gobj () const
| Provides access to the underlying C GObject. 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

## Static Public Member Functions

static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
static Glib::RefPtr< CssProvider > | create ()
static Glib::RefPtr< CssProvider > | get_default ()
| Returns the provider containing the style settings used as a fallback for all widgets. More...
static Glib::RefPtr< CssProvider > | get_named (const Glib::ustring& name, const Glib::ustring& variant)
| Loads a theme from the usual theme paths. More...
Static Public Member Functions inherited from Gtk::StyleProvider
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

| CssProvider ()
Protected Member Functions inherited from Glib::Object
| Object ()
| Object (const Glib::ConstructParams &construct_params)
| Object (GObject *castitem)
virtual | ~Object () noexcept
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)
Protected Member Functions inherited from Gtk::StyleProvider
| StyleProvider ()
| You should derive from this class to use it. More...

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gtk::CssProvider > | wrap (GtkCssProvider* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gtk::StyleProvider
Glib::RefPtr< Gtk::StyleProvider > | wrap (GtkStyleProvider* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Additional Inherited Members

Public Types inherited from Glib::Object
typedef void(* | DestroyNotify) (gpointer data)
Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify | func_destroy_notify

## Detailed Description

CSS-like styling for widgets, implementing the StyleProvider base class.

It is able to parse CSS-like input in order to style widgets.

An application can cause GTK+ to parse a specific CSS style sheet by calling load_from_file() and adding the provider with StyleContext::add_provider() or StyleContext::add_provider_for_screen(). In addition, certain files will be read when GTK+ is initialized. See the GtkCssProvider documentation for details of these default files and details of the stylesheets.

Since gtkmm 3.0:

## Constructor & Destructor Documentation

Gtk::CssProvider::CssProvider | ( | CssProvider&& | src | ) |

noexcept

virtual Gtk::CssProvider::~CssProvider | ( |  | ) |

virtual noexcept

Gtk::CssProvider::CssProvider | ( |  | ) |

protected

## Member Function Documentation

static Glib::RefPtr<CssProvider> Gtk::CssProvider::create | ( |  | ) |

static

static Glib::RefPtr<CssProvider> Gtk::CssProvider::get_default | ( |  | ) |

static

Returns the provider containing the style settings used as a fallback for all widgets.

Returns
  The provider used for fallback styling. This memory is owned by GTK+, and you must not free it.

static Glib::RefPtr<CssProvider> Gtk::CssProvider::get_named | ( | const Glib::ustring & | name,
|  | const Glib::ustring & | variant
| ) |  |

static

Loads a theme from the usual theme paths.

Parameters

  name | A theme name.
  variant | Variant to load, for example, "dark", or `0` for the default.

Returns
  A Gtk::CssProvider with the theme loaded. This memory is owned by GTK+, and you must not free it.

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

static

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

GtkCssProvider* Gtk::CssProvider::gobj | ( |  | ) |

inline

Provides access to the underlying C GObject.

const GtkCssProvider* Gtk::CssProvider::gobj | ( |  | ) | const

inline

Provides access to the underlying C GObject.

GtkCssProvider* Gtk::CssProvider::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

bool Gtk::CssProvider::load_from_data | ( | const std::string & | data | ) |

Loads data into this css provider, making it clear any previously loaded information.

Parameters

  data | CSS data loaded in memory.

Returns
  True if the data could be loaded, though an exception will always be thrown if this would return false.

Exceptions

  CssProviderError |

bool Gtk::CssProvider::load_from_file | ( | const Glib::RefPtr< const Gio::File > & | file | ) |

Loads the data contained in file into css_provider, making it clear any previously loaded information.

Parameters

  file | File pointing to a file to load.

Returns
  `true`. The return value is deprecated and `false` will only be returned for backwards compatibility reasons if an error is not `0` and a loading error occured. To track errors while loading CSS, connect to the Gtk::CssProvider::signal_parsing_error() signal.

bool Gtk::CssProvider::load_from_path | ( | const std::string & | path | ) |

Loads the data contained in path into css_provider, making it clear any previously loaded information.

Parameters

  path | The path of a filename to load, in the GLib filename encoding.

Returns
  `true`. The return value is deprecated and `false` will only be returned for backwards compatibility reasons if an error is not `0` and a loading error occured. To track errors while loading CSS, connect to the Gtk::CssProvider::signal_parsing_error() signal.

void Gtk::CssProvider::load_from_resource | ( | const std::string & | resource_path | ) |

Loads the data contained in the resource at resource_path into the Gtk::CssProvider, clearing any previously loaded information.

To track errors while loading CSS, connect to the Gtk::CssProvider::signal_parsing_error() signal.

Since gtkmm 3.16:

Parameters

  resource_path | A Resource resource path.

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

noexcept

Glib::SignalProxy2< void,const Glib::RefPtr<const CssSection>&,const Glib::Error& > Gtk::CssProvider::signal_parsing_error | ( |  | ) |

Parameters

  error | The parsing error. The referenced object may belong to a subclass of Glib::Error, such as Gtk::CssProviderError.

Slot Prototype:
  `void on_my_parsing_error(const Glib::RefPtr<const CssSection>& section, const Glib::Error& error)`

Signals that a parsing error occured. the path, line and position describe the actual location of the error as accurately as possible.

Parsing errors are never fatal, so the parsing will resume after the error. Errors may however cause parts of the given data or even all of it to not be parsed at all. So it is a useful idea to check that the parsing succeeds by connecting to this signal.

Note that this signal may be emitted at any time as the css provider may opt to defer parsing parts or all of the input to a later time than when a loading function was called.

Parameters

  section | Section the error happened in.

Glib::ustring Gtk::CssProvider::to_string | ( |  | ) | const

Converts the provider into a string representation in CSS format.

Using load_from_data() with the return value from this function on a new provider created with new() will basically create a duplicate of this provider.

Since gtkmm 3.2:

Returns
  A new string representing the provider.

## Friends And Related Function Documentation

Glib::RefPtr< Gtk::CssProvider > wrap | ( | GtkCssProvider * | 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.