On this page
GtkStyleProvider
GtkStyleProvider — Interface to provide style information to GtkStyleContext
Functions
Types and Values
Object Hierarchy
GInterface
╰── GtkStyleProvider
Known Implementations
GtkStyleProvider is implemented by GtkCssProvider and GtkSettings.
Includes
#include <gtk/gtk.h>
Description
GtkStyleProvider is an interface used to provide style information to a GtkStyleContext. See gtk_style_context_add_provider()
and gtk_style_context_add_provider_for_screen()
.
Functions
gtk_style_provider_get_icon_factory ()
GtkIconFactory * gtk_style_provider_get_icon_factory (GtkStyleProvider *provider
,GtkWidgetPath *path
);
gtk_style_provider_get_icon_factory
has been deprecated since version 3.8 and should not be used in newly-written code.
Will always return NULL
for all GTK-provided style providers.
Returns the GtkIconFactory defined to be in use for path
, or NULL
if none is defined.
Parameters
provider |
||
path |
GtkWidgetPath to query |
Returns
The icon factory to use for path
, or NULL
.
[nullable][transfer none]
Since: 3.0
gtk_style_provider_get_style ()
GtkStyleProperties * gtk_style_provider_get_style (GtkStyleProvider *provider
,GtkWidgetPath *path
);
gtk_style_provider_get_style
has been deprecated since version 3.8 and should not be used in newly-written code.
Will always return NULL
for all GTK-provided style providers as the interface cannot correctly work the way CSS is specified.
Returns the style settings affecting a widget defined by path
, or NULL
if provider
doesn’t contemplate styling path
.
Parameters
provider |
||
path |
GtkWidgetPath to query |
Returns
a GtkStyleProperties containing the style settings affecting path
.
[nullable][transfer full]
Since: 3.0
gtk_style_provider_get_style_property ()
gboolean gtk_style_provider_get_style_property (GtkStyleProvider *provider
,GtkWidgetPath *path
,GtkStateFlags state
,GParamSpec *pspec
,GValue *value
);
Looks up a widget style property as defined by provider
for the widget represented by path
.
Parameters
provider |
||
path |
GtkWidgetPath to query |
|
state |
state to query the style property for |
|
pspec |
The GParamSpec to query |
|
value |
return location for the property value. |
[out] |
Returns
TRUE
if the property was found and has a value, FALSE
otherwise
Since: 3.0
Types and Values
struct GtkStyleProviderIface
struct GtkStyleProviderIface {
GtkStyleProperties * (* get_style) (GtkStyleProvider *provider,
GtkWidgetPath *path);
gboolean (* get_style_property) (GtkStyleProvider *provider,
GtkWidgetPath *path,
GtkStateFlags state,
GParamSpec *pspec,
GValue *value);
GtkIconFactory * (* get_icon_factory) (GtkStyleProvider *provider,
GtkWidgetPath *path);
};
Members
|
Gets a set of style information that applies to a widget path. |
|
|
Gets the value of a widget style property that applies to a widget path. |
|
|
Gets the icon factory that applies to a widget path. |
GtkStyleProvider
typedef struct _GtkStyleProvider GtkStyleProvider;
GTK_STYLE_PROVIDER_PRIORITY_FALLBACK
#define GTK_STYLE_PROVIDER_PRIORITY_FALLBACK 1
The priority used for default style information that is used in the absence of themes.
Note that this is not very useful for providing default styling for custom style classes - themes are likely to override styling provided at this priority with catch-all * {...}
rules.
GTK_STYLE_PROVIDER_PRIORITY_THEME
#define GTK_STYLE_PROVIDER_PRIORITY_THEME 200
The priority used for style information provided by themes.
GTK_STYLE_PROVIDER_PRIORITY_SETTINGS
#define GTK_STYLE_PROVIDER_PRIORITY_SETTINGS 400
The priority used for style information provided via GtkSettings.
This priority is higher than GTK_STYLE_PROVIDER_PRIORITY_THEME to let settings override themes.
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION
#define GTK_STYLE_PROVIDER_PRIORITY_APPLICATION 600
A priority that can be used when adding a GtkStyleProvider for application-specific style information.
GTK_STYLE_PROVIDER_PRIORITY_USER
#define GTK_STYLE_PROVIDER_PRIORITY_USER 800
The priority used for the style information from XDG_CONFIG_HOME/gtk-3.0/gtk.css
.
You should not use priorities higher than this, to give the user the last word.
See Also
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkStyleProvider.html