Spec-Zone.ru › GTK 3.22

GtkStyleProvider

GtkStyleProvider — Интерфейс для предоставления информации о стиле в GtkStyleContext

Функции

GtkIconFactory * gtk_style_provider_get_icon_factory ()
GtkStyleProperties * gtk_style_provider_get_style ()
gboolean gtk_style_provider_get_style_property ()

Типы и значения

struct GtkStyleProviderIface
GtkStyleProvider
#define GTK_STYLE_PROVIDER_PRIORITY_FALLBACK
#define GTK_STYLE_PROVIDER_PRIORITY_THEME
#define GTK_STYLE_PROVIDER_PRIORITY_SETTINGS
#define GTK_STYLE_PROVIDER_PRIORITY_APPLICATION
#define GTK_STYLE_PROVIDER_PRIORITY_USER

Иерархия объектов

    GInterface
    ╰── GtkStyleProvider

Известные реализации

GtkStyleProvider реализуется GtkCssProvider и GtkSettings.

Включаемые файлы

#include <gtk/gtk.h>

Описание

GtkStyleProvider — это интерфейс, используемый для предоставления информации о стиле в GtkStyleContext. См. gtk_style_context_add_provider() и gtk_style_context_add_provider_for_screen().

Функции

gtk_style_provider_get_icon_factory ()

GtkIconFactory *
gtk_style_provider_get_icon_factory (GtkStyleProvider *provider,
                                     GtkWidgetPath *path);

gtk_style_provider_get_icon_factory устарела с версии 3.8 и не должна использоваться в новом коде.

Всегда возвращает NULL для всех поставщиков стилей GTK.

Возвращает GtkIconFactory, определённую для использования с path, или NULL, если не определена.

Параметры

provider

a GtkStyleProvider

path

GtkWidgetPath для запроса

Возвращаемое значение

Фабрика иконок для использования с path, или NULL.

[nullable][transfer none]

С: 3.0

gtk_style_provider_get_style ()

GtkStyleProperties *
gtk_style_provider_get_style (GtkStyleProvider *provider,
                              GtkWidgetPath *path);

gtk_style_provider_get_style устарела с версии 3.8 и не должна использоваться в новом коде.

Всегда возвращает NULL для всех поставщиков стилей GTK, так как интерфейс не может корректно работать с тем, как задаётся CSS.

Возвращает настройки стиля, влияющие на виджет, определённый path, или NULL, если provider не поддерживает стилирование path.

Параметры

provider

a GtkStyleProvider

path

GtkWidgetPath для запроса

Возвращаемое значение

GtkStyleProperties, содержащий настройки стиля, влияющие на path.

[nullable][transfer full]

С: 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);

Ищет свойство стиля виджета, как определено provider для виджета, представленного path.

Параметры

provider

a GtkStyleProvider

path

GtkWidgetPath для запроса

state

состояние для запроса свойства стиля

pspec

The GParamSpec для запроса

value

место для возвращения значения свойства.

[out]

Возвращаемое значение

TRUE, если свойство найдено и имеет значение, FALSE в противном случае

С: 3.0

Типы и значения

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);
};

Члены

get_style ()

Получает набор информации о стиле, применимой к пути виджета.

get_style_property ()

Получает значение свойства стиля виджета, применимого к пути виджета.

get_icon_factory ()

Получает фабрику иконок, применимую к пути виджета.

GtkStyleProvider

typedef struct _GtkStyleProvider GtkStyleProvider;

GTK_STYLE_PROVIDER_PRIORITY_FALLBACK

#define GTK_STYLE_PROVIDER_PRIORITY_FALLBACK      1

Приоритет, используемый для стандартной информации о стиле, применяемой в отсутствие тем.

Обратите внимание, что это не очень полезно для предоставления стандартного стилизации для пользовательских классов стилей — темы, скорее всего, переопределят стилизацию, предоставленную на этом приоритете, с универсальными * {...} правилами.

GTK_STYLE_PROVIDER_PRIORITY_THEME

#define GTK_STYLE_PROVIDER_PRIORITY_THEME     200

Приоритет, используемый для информации о стиле, предоставляемой темами.

GTK_STYLE_PROVIDER_PRIORITY_SETTINGS

#define GTK_STYLE_PROVIDER_PRIORITY_SETTINGS    400

Приоритет, используемый для информации о стиле, предоставляемой через GtkSettings.

Этот приоритет выше, чем GTK_STYLE_PROVIDER_PRIORITY_THEME, чтобы настройки могли переопределять темы.

GTK_STYLE_PROVIDER_PRIORITY_APPLICATION

#define GTK_STYLE_PROVIDER_PRIORITY_APPLICATION 600

Приоритет, который можно использовать при добавлении GtkStyleProvider для информации о стиле, специфичной для приложения.

GTK_STYLE_PROVIDER_PRIORITY_USER

#define GTK_STYLE_PROVIDER_PRIORITY_USER        800

Приоритет, используемый для информации о стиле из ~/.gtk-3.0.css.

Не следует использовать приоритеты выше этого, чтобы дать пользователю последнее слово.

См. также

GtkStyleContext, GtkCssProvider

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkStyleProvider.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API