GtkStyleProvider
GtkStyleProvider — Интерфейс для предоставления информации о стиле для GtkStyleContext
Функции
Типы и значения
Иерархия объектов
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 | объект GtkStyleProvider | |
path | GtkWidgetPath для запроса |
С: 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 | объект GtkStyleProvider | |
path | GtkWidgetPath для запроса |
Возвращаемое значение
GtkStyleProperties содержащий настройки стиля, влияющие на path .
[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 | объект GtkStyleProvider | |
path | GtkWidgetPath для запроса | |
state | состояние для запроса свойства стиля | |
pspec | GParamSpec для запроса | |
value | место для возвращения значения свойства. | [out] |
С: 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);
};
Члены
| Получает набор информации о стиле, применимой к пути виджета. | |
| Получает значение свойства стиля виджета, применимого к пути виджета. | |
| Получает фабрику иконок, применимую к пути виджета. |
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.
Не следует использовать приоритеты, более высокие, чем этот, чтобы предоставить пользователю последнее слово.
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.20/GtkStyleProvider.html