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

a GtkStyleProvider

 

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 {
  gboolean (* get_style_property) (GtkStyleProvider *provider,
                                   GtkWidgetPath    *path,
                                   GtkStateFlags     state,
                                   GParamSpec       *pspec,
                                   GValue           *value);
};

Members

get_style_property ()

Gets the value of a widget style property 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 ~/.gtk-4.0.css.

You should not use priorities higher than this, to give the user the last word.

See Also

GtkStyleContext, GtkCssProvider