Spec-Zone.ru › GTK 3.24

Файлы ресурсов

Файлы ресурсов — устаревшие функции для обработки файлов ресурсов

Функции

GScanner * gtk_rc_scanner_new ()
GtkStyle * gtk_rc_get_style ()
GtkStyle * gtk_rc_get_style_by_paths ()
void gtk_rc_parse ()
void gtk_rc_parse_string ()
gboolean gtk_rc_reparse_all ()
gboolean gtk_rc_reparse_all_for_settings ()
void gtk_rc_reset_styles ()
void gtk_rc_add_default_file ()
gchar ** gtk_rc_get_default_files ()
void gtk_rc_set_default_files ()
guint gtk_rc_parse_color ()
guint gtk_rc_parse_color_full ()
guint gtk_rc_parse_state ()
guint gtk_rc_parse_priority ()
gchar * gtk_rc_find_module_in_path ()
gchar * gtk_rc_find_pixmap_in_path ()
gchar * gtk_rc_get_module_dir ()
gchar * gtk_rc_get_im_module_path ()
gchar * gtk_rc_get_im_module_file ()
gchar * gtk_rc_get_theme_dir ()
GtkRcStyle * gtk_rc_style_new ()
GtkRcStyle * gtk_rc_style_copy ()

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

GtkRcStyle
struct GtkRcStyleClass
перечисление GtkRcFlags
перечисление GtkRcTokenType
перечисление GtkPathPriorityType
перечисление GtkPathType

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

    GObject
    ╰── GtkRcStyle

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

#include <gtk/gtk.h>

Описание

GTK+ предоставляет механизм файлов ресурсов для настройки различных аспектов работы программы GTK+ во время выполнения.

В GTK+ 3.0 файлы ресурсов устарели и заменены на таблицы стилей, похожие на CSS, которые понимаются GtkCssProvider.

Файлы по умолчанию

Приложение может заставить GTK+ разобрать определённый файл RC, вызвав gtk_rc_parse(). Кроме этого, определённые файлы будут прочитаны в конце gtk_init(). Если не изменять, будут искаться файлы SYSCONFDIR/gtk-2.0/gtkrc и .gtkrc-3.0 в домашнем каталоге пользователя. (SYSCONFDIR по умолчанию /usr/local/etc. Его можно изменить с помощью опций --prefix или --sysconfdir при настройке GTK+.)

Набор этих «файлов по умолчанию» можно получить с помощью gtk_rc_get_default_files() и изменить с помощью gtk_rc_add_default_file() и gtk_rc_set_default_files(). Кроме того, переменная среды GTK2_RC_FILES может быть установлена в список файлов, разделённых символом G_SEARCHPATH_SEPARATOR_S, чтобы перезаписать набор файлов по умолчанию во время выполнения.

Файлы, специфичные для локали

Для каждого файла RC, помимо самого файла, GTK+ будет искать локально-специфичный файл, который будет обработан после основного файла. Например, если LANG установлено в ja_JP.ujis, при загрузке файла по умолчанию ~/.gtkrc, GTK+ ищет ~/.gtkrc.ja_JP и ~/.gtkrc.ja, и обрабатывает первый из тех, которые существуют.

Имена путей и шаблоны

Файл ресурсов определяет ряд стилей и назначений клавиш и прикрепляет их к определённым виджетам. Привязка выполняется с помощью widget, widget_class, и class объявлений. Пример такого утверждения:

прикрепляет стиль "my-entry-class" ко всем виджетам, путь к которым соответствует шаблону "mywindow.*.GtkEntry". То есть, все виджеты GtkEntry, которые являются частью окна GtkWindow с именем "mywindow".

Здесь шаблоны заданы в стандартной синтаксике оболочки glob. Символ "?" соответствует любому символу, а "*" соответствует нулю или более любым символам. Три типа сопоставления осуществляются по пути к виджету, по «пути класса» и по иерархии классов. И путь к виджету, и путь к классу состоят из списка родителей виджета и самого виджета, разделённых символом ".", от внешнего к внутреннему. Разница в том, что в пути к виджету используется имя, заданное с помощью gtk_widget_set_name(), если оно присутствует, в противном случае используется имя класса виджета, а для пути к классу всегда используется имя класса.

Начиная с GTK+ 2.10, пути widget_class могут также содержать подстроки <classname>, которые соответствуют классу с заданным именем и всем производным классам. Например,

будет соответствовать виджетам GtkLabel, которые содержатся в любом типе элементов меню.

Таким образом, если у вас есть виджет GtkEntry с именем "myentry", внутри горизонтальной панели в окне с именем "mywindow", то путь к виджету: "mywindow.GtkHBox.myentry", а путь к классу: "GtkWindow.GtkHBox.GtkEntry".

Сопоставление с классом немного отличается. Сопоставление шаблона выполняется со всеми именами классов в иерархии классов виджетов (а не в иерархии компоновки) последовательно, поэтому шаблон:

будет соответствовать не только виджетам GtkButton, но также и виджетам GtkToggleButton и GtkCheckButton, так как эти классы являются производными от GtkButton.

Кроме того, для каждого шаблона можно указать приоритет, и стили перекрывают другие стили сначала по приоритету, затем по типу шаблона и затем по порядку спецификации (позднее перекрывает раннее).

  • highest

  • rc

  • theme

  • application

  • gtk

  • lowest

rc — значение по умолчанию для стилей, считываемых из файла RC, theme — значение по умолчанию для стилей, считываемых из файлов темы RC, application следует использовать для стилей, настраиваемых приложением, и gtk используется для стилей, созданных GTK+ внутри.

Файлы темы gtkrc

Файлы темы RC загружаются сначала из ~/.themes/, а затем из каталога из gtk_rc_get_theme_dir(). Изучаемые файлы будут gtk-3.0/gtkrc.

Когда приложение предпочитает тёмные темы (см. свойство “gtk-application-prefer-dark-theme” для подробностей), gtk-3.0/gtkrc-dark будет загружен первым, а если его нет, то gtk-3.0/gtkrc.

Оптимизация сопоставлений стиля RC

Каждый раз, когда виджет создаётся и добавляется в иерархию компоновки GtkWindow («прикреплён»), составляется список соответствующих стилей RC из всех прочитанных стилей RC. Для этого каждый стиль RC сопоставляется с путём к классу виджетов, путём к имени виджетов и иерархией наследования виджетов. Вследствие этого значительное замедление может быть вызвано использованием большого количества стилей RC и использованием шаблонов стилей RC, которые медленно или сложно сопоставляются с данным виджетом. Следующий упорядоченный список даёт ряд советов (в порядке убывания эффективности) для уменьшения накладных расходов, связанных с сопоставлением стилей RC:

  1. Переместите стили RC для конкретных приложений в файлы RC, предназначенные для этих приложений, и обрабатывайте файлы RC, специфичные для приложения, только из приложений, которые затронуты ими. Это сокращает общее количество стилей RC, которые должны рассматриваться для сопоставления в группе приложений.

  2. Объедините несколько стилей, использующих одинаковое правило сопоставления, например:

    сопоставление будет быстрее, если записать как:

  3. Следует избегать использования символов подстановки, так как это в большинстве случаев сводит сопоставление каждого стиля RC к одному целочисленному сравнению.

  4. Для избежания сложного рекурсивного сопоставления следует отдавать предпочтение указанию полных имён классов (для сопоставлений class или widget и widget_class) или полных путей (для сопоставлений widget и widget_class), а не сокращённых имён, содержащих "*" или "?".

  5. Если это необходимо, символы подстановки следует использовать только в конце или в начале шаблона. Это снижает сложность сопоставления до сравнения строк для каждого стиля RC.

  6. При использовании символов подстановки следует отдавать предпочтение "?", а не "*". Это может снизить сложность сопоставления с O(n^2) до O(n). Например, "Gtk*Box" можно переписать как "Gtk?Box" и это всё равно будет соответствовать GtkHBox и GtkVBox.

  7. Использование "*" символов подстановки следует ограничить по возможности, поскольку сопоставление "A*B*C*RestString" может привести к сложностям сопоставления O(n^2) в худшем случае.

Объявления верхнего уровня

Файл RC — это текстовый файл, состоящий из последовательности объявлений. Символы “#” обозначают комментарии, а часть строки после “#” игнорируется при разборе файла RC.

Возможные объявления верхнего уровня:

  • binding name { ... }

    Объявляет набор связей.

  • class pattern [ style | binding ][ : priority ] name

    Устанавливает стиль или набор связей для определённой ветви иерархии наследования.

  • include filename

    Разбирает другой файл в этой точке. Если имя файла не является абсолютным, оно ищется в каталогах открытых в данный момент файлов RC.

    GTK+ также пытается загрузить локально-специфичную версию включённого файла.

  • module_path path

    Устанавливает путь (список каталогов, разделённых двоеточием), который будет просматриваться при поиске движков тем, упомянутых в файлах RC.

  • pixmap_path path

    Устанавливает путь (список каталогов, разделённых двоеточием), который будет просматриваться при поиске растровых изображений, упомянутых в файлах RC.

  • im_module_file pathname

    Устанавливает путь к файлу модулей IM. Установка из файлов RC устарела; следует использовать переменную среды GTK_IM_MODULE_FILE.

  • style name [ = parent ] { ... }

    Объявляет стиль.

  • widget pattern [ style | binding ][ : priority ] name

    Устанавливает стиль или набор связей для определённой группы виджетов, подбирая по пути к виджету.

  • widget_class pattern [ style | binding ][ : priority ] name

    Устанавливает стиль или набор связей для определённой группы виджетов, подбирая по пути к классу.

  • setting = value

    Устанавливает значение для параметра. Обратите внимание, что настройки в файлах RC перезаписывают системные настройки (которые управляются менеджером XSettings на X11).

Стили

Стиль RC задаётся объявлением style в файле RC, а затем связывается с виджетами с помощью объявления widget, widget_class, или class. Все стили, применяемые к определённому виджету, композируются вместе, причём объявления widget переопределяют объявления widget_class, которые в свою очередь переопределяют объявления class. Внутри каждого типа объявлений последующие объявления переопределяют предыдущие.

Внутри объявления style возможные элементы:

  • bg[state] = color

    Устанавливает цвет, используемый для фона большинства виджетов.

  • fg[state] = color

    Устанавливает цвет, используемый для переднего плана большинства виджетов.

  • base[state] = color

    Устанавливает цвет фона виджетов, отображающих редактируемый текст. Этот цвет используется для фона, например, GtkTextView, GtkEntry.

  • text[state] = color

    Устанавливает цвет переднего плана виджетов, использующих base для цвета фона.

  • xthickness = number

    Устанавливает xthickness, который используется для различных значений горизонтального отступа в GTK+.

  • ythickness = number

    Устанавливает ythickness, который используется для различных значений вертикального отступа в GTK+.

  • bg_pixmap[state] = pixmap

    Устанавливает растровое изображение фона для использования вместо цвета bg (или для GtkText, вместо цвета base. Специальное значение "&lt;parent>" может использоваться для указания, что виджет должен использовать то же растровое изображение фона, что и его родитель. Специальное значение "&lt;none>" может использоваться для указания отсутствия растрового изображения фона.

  • font = font

    Начиная с GTK+ 2.0, объявления «font» и «fontset» игнорируются; используйте объявления «font_name» вместо них.

  • fontset = font

    Начиная с GTK+ 2.0, объявления «font» и «fontset» игнорируются; используйте объявления «font_name» вместо них.

  • font_name = font

    Устанавливает шрифт для виджета. Шрифт должен быть именем шрифта Pango, например, «Sans Italic 10». Подробности о именах шрифтов Pango см. в pango_font_description_from_string().

  • stock["stock-id"] = { icon source specifications }

    Определяет значок для элемента-заготовки.

  • color["color-name"] = color specification

    Начиная с версии 2.10, этот элемент можно использовать для определения символьных цветов. Синтаксис задания цветов см. ниже.

  • engine "engine" { engine-specific settings }

    Определяет движок, используемый при отрисовке с помощью этого стиля.

  • class::property = value

    Устанавливает свойство стиля для класса виджета.

Цвета и фоновые изображения задаются в зависимости от состояния виджета. Состояния:

  • NORMAL

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

  • ACTIVE

    Вариант цвета NORMAL используется, когда виджет находится в состоянии GTK_STATE_ACTIVE, а также для канавки полосы прокрутки, вкладок книжки заметок (кроме текущей вкладки) и аналогичных областей. Часто это должен быть более тёмный вариант цвета NORMAL.

  • PRELIGHT

    Цвет, используемый для виджетов в состоянии GTK_STATE_PRELIGHT. Это состояние используется для кнопок и пунктов меню, на которые наведён курсор мыши, а также для их дочерних элементов.

  • SELECTED

    Цвет, используемый для выделения данных, выбранных пользователем. Например, выделенные элементы в списке и выделение в редактируемом виджете.

  • INSENSITIVE

    Цвет, используемый для фона виджетов, которые были установлены в состояние «неактивное» с помощью gtk_widget_set_sensitive().

Формат цвета

Цвета могут быть заданы строкой, содержащей имя цвета (GTK+ знает все имена из базы данных цветов X /usr/lib/X11/rgb.txt), в одном из шестнадцатеричных форматов #rrrrggggbbbb, #rrrgggbbb, #rrggbb, или #rgb, где r, g и b — шестнадцатеричные цифры, или они могут быть заданы тройкой { r, g, b}, где r, g и b — целые числа в диапазоне 0-65535 или числа с плавающей точкой в диапазоне 0.0-1.0.

Начиная с версии 2.10, цвета также могут быть заданы, ссылаясь на символьный цвет, как показано ниже: @color-name, или с использованием выражений для комбинирования цветов. В настоящее время поддерживаются следующие выражения:

  • mix (factor, color1, color2)

    Вычисляет новый цвет путём смешивания color1 и color2. Значение factor определяет, насколько новый цвет близок к color1. Значение 1.0 даёт чистый цвет color1, значение 0.0 даёт чистый цвет color2.

  • shade (factor, color)

    Вычисляет более светлый или более тёмный вариант цвета. Значение 1.0 оставляет цвет неизменным, меньшие значения дают более тёмные цвета, большие — более светлые.

  • lighter (color)

    Это сокращение для shade (1.3, color).

  • darker (color)

    Это сокращение для shade (0.7, color).

Вот несколько примеров выражений цвета:

В определении stock, источники значков задаются как 4-ка значения: имя файла изображения или имя значка, направление текста, состояние виджета и размер в этом порядке. Каждый источник значка указывает имя файла изображения или имя значка для использования с определённым направлением, состоянием и размером. Имена файлов задаются как строка, например "itemltr.png", а имена значков (ищут в текущей теме значков) задаются с ведущим @, например @"item-ltr". Символ * может использоваться как подстановка, а если направление/состояние/размер опущены, по умолчанию принимаются значения *. Таким образом, например, следующее указывает различные значки для языков слева направо и справа налево:

Это можно сократить следующим образом:

Вы можете задать пользовательские значки для определённых размеров, как показано ниже:

Доступные в GTK+ размеры: "gtk-menu", "gtk-small-toolbar", "gtk-large-toolbar", "gtk-button", "gtk-dialog". Приложения могут определять и другие размеры.

Также можно использовать пользовательские значки для определённого состояния, например:

При выборе источника значка GTK+ будет рассматривать направление текста как самый важный фактор, состояние — второй, а размер — третий. Он выберет наилучшее совпадение на основе этих критериев. Если атрибут совпадает точно (например, вы указали PRELIGHT или указали размер), GTK+ не будет изменять изображение; если атрибут совпадает с подстановкой, GTK+ будет масштабировать или изменять изображение, чтобы оно соответствовало запрошенному состоянию и размеру.

Настройки клавиш

Настройки клавиш позволяют пользователю указывать действия, которые должны выполняться при нажатии определенных клавиш. Формат объявления набора настроек:

key — это строка, состоящая из последовательности модификаторов, за которыми следует имя клавиши. Модификаторы могут быть:

  • <alt>

  • <ctl>

  • <control>

  • <meta>

  • <hyper>

  • <super>

  • <mod1>

  • <mod2>

  • <mod3>

  • <mod4>

  • <mod5>

  • <release>

  • <shft>

  • <shift>

<shft> является псевдонимом для <shift>, <ctl> — псевдонимом для <control>, а <alt> — псевдонимом для <mod1>.

Действие, связанное с нажатием клавиши, представляет собой последовательность имён сигналов (строки), за которыми следуют параметры для каждого сигнала. Сигналы должны быть сигналами действия. (См. g_signal_new()). Каждый параметр может быть числом с плавающей точкой, целым числом, строкой или необрамлённой строкой, представляющей значение перечисления. Типы указанных параметров должны соответствовать типам параметров сигнала.

Наборы настроек связываются с виджетами так же, как и стили, с одним отличием: Наборы настроек переопределяют другие наборы настроек сначала по типу шаблона, затем по приоритету и затем по порядку указания. Приоритеты, которые можно указать, и их значения по умолчанию такие же, как и для стилей.

Функции

gtk_rc_scanner_new ()

GScanner *
gtk_rc_scanner_new (void);

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

Используйте GtkCssProvider вместо этого

[skip]

gtk_rc_get_style ()

GtkStyle *
gtk_rc_get_style (GtkWidget *widget);

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

Используйте GtkStyleContext вместо этого

Находит все соответствующие стили RC для данного виджета, объединяет их и затем создает GtkStyle, представляющий объединенный внешний вид. (GTK+ фактически хранит кэш ранее созданных стилей, поэтому новый стиль может не создаваться.)

Параметры

widget

a GtkWidget

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

результирующий стиль. Счетчик ссылок для возвращаемого стиля не увеличивается, поэтому, если вы хотите сохранить этот стиль, вы должны самостоятельно добавить ссылку.

[transfer none]

gtk_rc_get_style_by_paths ()

GtkStyle *
gtk_rc_get_style_by_paths (GtkSettings *settings,
                           const char *widget_path,
                           const char *class_path,
                           GType type);

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

Используйте GtkStyleContext вместо этого

Создает GtkStyle из стилей, определенных в файле RC, предоставляя необработанные компоненты, используемые при сопоставлении. Эта функция может быть полезна при создании псевдо-виджетов, которые должны быть оформлены как виджеты, но на самом деле не имеют соответствующих виджетов GTK+. Примером этого могут быть элементы внутри виджета GNOME canvas.

Действие gtk_rc_get_style() аналогично:

widget "mywindow.*.GtkEntry" style "my-entry-class"

Параметры

settings

a GtkSettings object

widget_path

путь к виджету, который нужно использовать при поиске стиля, или NULL если не должно выполняться сопоставление с путем к виджету.

[allow-none]

class_path

путь к классу, который нужно использовать при поиске стиля, или NULL если не должно выполняться сопоставление с путем к классу.

[allow-none]

type

тип, который будет использоваться вместе с родительскими типами этого типа при сопоставлении со стилями класса, или G_TYPE_NONE

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

Стиль, созданный путем сопоставления с указанными путями, или NULL если ничего не было указано для сопоставления и должен использоваться стиль по умолчанию. Возвращаемое значение принадлежит GTK+ как часть внутреннего кэша, поэтому вы должны вызвать g_object_ref() для возвращаемого значения, если хотите сохранить ссылку на него.

[nullable][transfer none]

gtk_rc_parse ()

void
gtk_rc_parse (const gchar *filename);

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

Используйте GtkCssProvider вместо этого.

Разбирает заданный файл ресурсов.

Параметры

filename

имя файла для разбора. Если filename не является абсолютным, он ищется в текущем каталоге.

gtk_rc_parse_string ()

void
gtk_rc_parse_string (const gchar *rc_string);

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

Используйте GtkCssProvider вместо этого.

Разбирает информацию о ресурсах непосредственно из строки.

Параметры

rc_string

строка для разбора.

gtk_rc_reparse_all ()

gboolean
gtk_rc_reparse_all (void);

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

Используйте GtkCssProvider вместо этого.

Если время изменения любого ранее прочитанного файла для настроек по умолчанию GtkSettings изменилось, отбросьте всю информацию о стиле и заново прочитайте все ранее прочитанные файлы RC.

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

TRUE если файлы были перечитаны.

gtk_rc_reparse_all_for_settings ()

gboolean
gtk_rc_reparse_all_for_settings (GtkSettings *settings,
                                 gboolean force_load);

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

Используйте GtkCssProvider вместо этого.

Если время изменения любого ранее прочитанного файла для заданных GtkSettings изменилось, отбросьте всю информацию о стиле и заново прочитайте все ранее прочитанные файлы RC.

Параметры

settings

a GtkSettings

force_load

загрузить независимо от того, изменилось ли что-нибудь

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

TRUE если файлы были перечитаны.

gtk_rc_reset_styles ()

void
gtk_rc_reset_styles (GtkSettings *settings);

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

Используйте GtkCssProvider вместо этого.

Эта функция пересчитывает стили для всех виджетов, которые используют определенный объект GtkSettings. (Существует один объект GtkSettings на каждый GdkScreen, см. gtk_settings_get_for_screen()); Он полезен, когда изменяется какой-либо глобальный параметр, влияющий на внешний вид всех виджетов, поскольку, когда виджет получает новый стиль, он будет как перерисовываться, так и пересчитывать любую кэшированную информацию о своем внешнем виде. Например, он используется, когда меняется размер шрифта по умолчанию, установленный операционной системой. Обратите внимание, что эта функция не влияет на виджеты, у которых стиль установлен явно с помощью gtk_widget_set_style().

Параметры

settings

a GtkSettings

С версии: 2.4

gtk_rc_add_default_file ()

void
gtk_rc_add_default_file (const gchar *filename);

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

Вместо этого используйте GtkStyleContext со своим пользовательским GtkStyleProvider

Добавляет файл в список файлов, которые будут пропарсированы в конце gtk_init().

Параметры

filename

путь к файлу. Если filename не абсолютный, поиск будет производиться в текущем каталоге.

[type filename]

gtk_rc_get_default_files ()

gchar **
gtk_rc_get_default_files (void);

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

Вместо этого используйте GtkStyleContext

Возвращает текущий список файлов RC, которые будут пропарсированы в конце gtk_init().

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

NULL-терминированный массив имён файлов. Эта память принадлежит GTK+ и не должна освобождаться приложением. Если вам нужно сохранить эту информацию, сделайте копию.

[transfer none][array zero-terminated=1][element-type filename]

gtk_rc_set_default_files ()

void
gtk_rc_set_default_files (gchar **filenames);

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

Вместо этого используйте GtkStyleContext со своим пользовательским GtkStyleProvider

Устанавливает список файлов, которые GTK+ будет читать в конце gtk_init().

Параметры

filenames

NULL-терминированный список имён файлов.

[array zero-terminated=1][element-type filename]

gtk_rc_parse_color ()

guint
gtk_rc_parse_color (GScanner *scanner,
                    GdkColor *color);

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

Используйте GtkCssProvider вместо этого.

Парсит цвет в формате, ожидаемом в файле RC.

Обратите внимание, что движки тем должны использовать gtk_rc_parse_color_full() для поддержки символьных цветов.

Параметры

scanner

сканер GScanner

color

указатель на GdkColor, куда сохранить результат.

[out]

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

G_TOKEN_NONE при успешном парсинге, иначе токен, которого не хватает.

gtk_rc_parse_color_full ()

guint
gtk_rc_parse_color_full (GScanner *scanner,
                         GtkRcStyle *style,
                         GdkColor *color);

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

Используйте GtkCssProvider вместо этого.

Парсит цвет в формате, ожидаемом в файле RC. Если style не NULL, он будет использован для разрешения ссылок на символьные цвета.

Параметры

scanner

сканер GScanner

style

стиль GtkRcStyle или NULL.

[allow-none]

color

указатель на GdkColor, куда сохранить результат.

[out]

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

G_TOKEN_NONE при успешном парсинге, иначе токен, которого не хватает.

С: 2.12

gtk_rc_parse_state ()

guint
gtk_rc_parse_state (GScanner *scanner,
                    GtkStateType *state);

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

Используйте GtkCssProvider вместо этого.

Парсит значение GtkStateType в формате, ожидаемом в файле RC.

Параметры

scanner

сканер GScanner (должен быть инициализирован для парсинга файла RC)

state

Указатель на переменную GtkStateType, куда сохранить результат.

[out]

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

G_TOKEN_NONE при успешном парсинге, иначе токен, которого не хватает.

gtk_rc_parse_priority ()

guint
gtk_rc_parse_priority (GScanner *scanner,
                       GtkPathPriorityType *priority);

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

Используйте GtkCssProvider вместо этого.

Парсит значение GtkPathPriorityType в формате, ожидаемом в файле RC.

Параметры

scanner

сканер GScanner (должен быть инициализирован для парсинга файла RC)

priority

Указатель на переменную GtkPathPriorityType, куда сохранить результат.

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

G_TOKEN_NONE при успешном парсинге, иначе токен, которого не хватает.

gtk_rc_find_module_in_path ()

gchar *
gtk_rc_find_module_in_path (const gchar *module_file);

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

Используйте GtkCssProvider вместо этого.

Ищет движок темы в пути поиска GTK+. Эта функция не полезна для приложений и не должна использоваться.

Параметры

module_file

имя движка темы

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

Имя файла, если найден (его нужно освободить с помощью g_free()), иначе NULL.

[type filename]

gtk_rc_find_pixmap_in_path ()

gchar *
gtk_rc_find_pixmap_in_path (GtkSettings *settings,
                            GScanner *scanner,
                            const gchar *pixmap_file);

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

Используйте GtkCssProvider вместо этого.

Ищет файл в пути к пиктограммам для указанных GtkSettings. Если файл не найден, выводится сообщение об ошибке с использованием g_warning() и возвращается NULL.

Параметры

settings

a GtkSettings

scanner

Сканер, используемый для получения информации о номере строки для сообщения об ошибке, или NULL

pixmap_file

имя файла пиктограммы для поиска.

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

имя файла.

[тип имя_файла]

gtk_rc_get_module_dir ()

gchar *
gtk_rc_get_module_dir (void);

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

Используйте GtkCssProvider вместо этого.

Возвращает каталог, в котором GTK+ ищет движки тем. Полную информацию о поиске движков тем см. в документации к GTK_PATH в разделе Запуск приложений GTK+.

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

каталог. (Должен быть освобожден с помощью g_free()).

[тип имя_файла]

gtk_rc_get_im-module-path ()

gchar *
gtk_rc_get_im_module_path (void);

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

Используйте GtkCssProvider вместо этого.

Получает путь, в котором следует искать модули IM. Дополнительные сведения о поиске модулей см. в документации переменной среды GTK_PATH. Эта функция полезна только для утилит, поставляемых с GTK+, и не должна использоваться приложениями в обычных условиях.

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

новая строка, содержащая путь для поиска модулей IM.

[тип имя_файла]

gtk_rc_get_im_module_file ()

gchar *
gtk_rc_get_im_module_file (void);

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

Используйте GtkCssProvider вместо этого.

Получает путь к файлу модулей IM. Дополнительные сведения см. в документации переменной среды GTK_IM_MODULE_FILE.

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

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

[тип имя_файла]

gtk_rc_get_theme_dir ()

gchar *
gtk_rc_get_theme_dir (void);

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

Используйте GtkCssProvider вместо этого.

Возвращает стандартный каталог, в котором следует устанавливать темы. (GTK+ на самом деле не использует этот каталог сам.)

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

Каталог (должен быть освобожден с помощью g_free()).

gtk_rc_style_new ()

GtkRcStyle *
gtk_rc_style_new (void);

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

Используйте GtkCssProvider вместо этого.

Создает новый GtkRcStyle без установленных полей и со значением счетчика ссылок 1.

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

новый созданный GtkRcStyle

gtk_rc_style_copy ()

GtkRcStyle *
gtk_rc_style_copy (GtkRcStyle *orig);

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

Используйте GtkCssProvider вместо этого.

Создает копию указанного GtkRcStyle. Эта функция правильно копирует стиль RC, который является членом класса, производного от GtkRcStyle.

Параметры

orig

стиль для копирования

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

результирующий GtkRcStyle.

[полный_перевод]

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

GtkRcStyle

typedef struct {
  gchar *name;
  gchar *bg_pixmap_name[5];
  PangoFontDescription *font_desc;

  GtkRcFlags color_flags[5];
  GdkColor   fg[5];
  GdkColor   bg[5];
  GdkColor   text[5];
  GdkColor   base[5];

  gint xthickness;
  gint ythickness;
} GtkRcStyle;

Структура GtkRcStyle используется для представления набора информации о внешнем виде виджета. Позже её можно комбинировать с другими структурами GtkRcStyle<!-- --> для формирования структуры GtkStyle.

Члены

gchar *name;

Имя

gchar *bg_pixmap_name[5];

Имя пиктограммы

PangoFontDescription *font_desc;

Описание шрифта PangoFontDescription

GtkRcFlags color_flags[5];

GtkRcFlags

GdkColor fg[5];

Цвета переднего плана

GdkColor bg[5];

Цвета заднего плана

GdkColor text[5];

Цвета текста

GdkColor base[5];

Цвета основы

gint xthickness;

Толщина по X

gint ythickness;

Толщина по Y

struct GtkRcStyleClass

struct GtkRcStyleClass {
  GObjectClass parent_class;

  /* Create an empty RC style of the same type as this RC style.
   * The default implementation, which does
   * g_object_new (G_OBJECT_TYPE (style), NULL);
   * should work in most cases.
   */
  GtkRcStyle * (*create_rc_style) (GtkRcStyle *rc_style);

  /* Fill in engine specific parts of GtkRcStyle by parsing contents
   * of brackets. Returns G_TOKEN_NONE if successful, otherwise returns
   * the token it expected but didn't get.
   */
  guint     (*parse)  (GtkRcStyle   *rc_style,
                       GtkSettings  *settings,
                       GScanner     *scanner);

  /* Combine RC style data from src into dest. If overridden, this
   * function should chain to the parent.
   */
  void      (*merge)  (GtkRcStyle *dest,
                       GtkRcStyle *src);

  /* Create an empty style suitable to this RC style
   */
  GtkStyle * (*create_style) (GtkRcStyle *rc_style);
};

Члены

create_rc_style ()

parse ()

merge ()

create_style ()

перечисление GtkRcFlags

Устарело

Члены

GTK_RC_FG

Устарело

GTK_RC_BG

Устарело

GTK_RC_TEXT

Устарело

GTK_RC_BASE

Устарело

Перечисление GtkRcTokenType

GtkRcTokenType было устарело с версии 3.0 и не должно использоваться в новом коде.

Используйте GtkCssProvider вместо этого.

Перечисление GtkRcTokenType представляет маркеры в файле RC. Оно предоставляется для того, чтобы движки тем могли повторно использовать эти маркеры при разборе специфичных для движка тем частей файла RC.

Члены

GTK_RC_TOKEN_INVALID

Устарело

GTK_RC_TOKEN_INCLUDE

Устарело

GTK_RC_TOKEN_NORMAL

Устарело

GTK_RC_TOKEN_ACTIVE

Устарело

GTK_RC_TOKEN_PRELIGHT

Устарело

GTK_RC_TOKEN_SELECTED

Устарело

GTK_RC_TOKEN_INSENSITIVE

Устарело

GTK_RC_TOKEN_FG

Устарело

GTK_RC_TOKEN_BG

Устарело

GTK_RC_TOKEN_TEXT

Устарело

GTK_RC_TOKEN_BASE

Устарело

GTK_RC_TOKEN_XTHICKNESS

Устарело

GTK_RC_TOKEN_YTHICKNESS

Устарело

GTK_RC_TOKEN_FONT

Устарело

GTK_RC_TOKEN_FONTSET

Устарело

GTK_RC_TOKEN_FONT_NAME

Устарело

GTK_RC_TOKEN_BG_PIXMAP

Устарело

GTK_RC_TOKEN_PIXMAP_PATH

Устарело

GTK_RC_TOKEN_STYLE

Устарело

GTK_RC_TOKEN_BINDING

Устарело

GTK_RC_TOKEN_BIND

Устарело

GTK_RC_TOKEN_WIDGET

Устарело

GTK_RC_TOKEN_WIDGET_CLASS

Устарело

GTK_RC_TOKEN_CLASS

Устарело

GTK_RC_TOKEN_LOWEST

Устарело

GTK_RC_TOKEN_GTK

Устарело

GTK_RC_TOKEN_APPLICATION

Устарело

GTK_RC_TOKEN_THEME

Устарело

GTK_RC_TOKEN_RC

Устарело

GTK_RC_TOKEN_HIGHEST

Устарело

GTK_RC_TOKEN_ENGINE

Устарело

GTK_RC_TOKEN_MODULE_PATH

Устарело

GTK_RC_TOKEN_IM_MODULE_PATH

Устарело

GTK_RC_TOKEN_IM_MODULE_FILE

Устарело

GTK_RC_TOKEN_STOCK

Устарело

GTK_RC_TOKEN_LTR

Устарело

GTK_RC_TOKEN_RTL

Устарело

GTK_RC_TOKEN_COLOR

Устарело

GTK_RC_TOKEN_UNBIND

Устарело

GTK_RC_TOKEN_LAST

Устарело

Перечисление GtkPathPriorityType

GtkPathPriorityType было устарело с версии 3.0 и не должно использоваться в новом коде.

Приоритеты для поиска путей. См. также gtk_binding_set_add_path().

Члены

GTK_PATH_PRIO_LOWEST

Устарело

GTK_PATH_PRIO_GTK

Устарело

GTK_PATH_PRIO_APPLICATION

Устарело

GTK_PATH_PRIO_THEME

Устарело

GTK_PATH_PRIO_RC

Устарело

GTK_PATH_PRIO_HIGHEST

Устарело

Перечисление GtkPathType

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

Типы путей виджетов. См. также gtk_binding_set_add_path().

Члены

GTK_PATH_WIDGET

Устарело

GTK_PATH_WIDGET_CLASS

Устарело

GTK_PATH_CLASS

Устарело

© 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/gtk3-Resource-Files.html

Spec-Zone.ru

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