Файлы ресурсов
Файлы ресурсов — устаревшие функции для обработки файлов ресурсов
Функции
| 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.
Кроме того, для каждого шаблона можно указать приоритет, и стили перекрывают другие стили сначала по приоритету, затем по типу шаблона и затем по порядку спецификации (позднее перекрывает раннее).
highestrcthemeapplicationgtklowest
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:
Переместите стили RC для конкретных приложений в файлы RC, предназначенные для этих приложений, и обрабатывайте файлы RC, специфичные для приложения, только из приложений, которые затронуты ими. Это сокращает общее количество стилей RC, которые должны рассматриваться для сопоставления в группе приложений.
-
Объедините несколько стилей, использующих одинаковое правило сопоставления, например:
сопоставление будет быстрее, если записать как:
Следует избегать использования символов подстановки, так как это в большинстве случаев сводит сопоставление каждого стиля RC к одному целочисленному сравнению.
Для избежания сложного рекурсивного сопоставления следует отдавать предпочтение указанию полных имён классов (для сопоставлений
classилиwidgetиwidget_class) или полных путей (для сопоставленийwidgetиwidget_class), а не сокращённых имён, содержащих"*"или"?".Если это необходимо, символы подстановки следует использовать только в конце или в начале шаблона. Это снижает сложность сопоставления до сравнения строк для каждого стиля RC.
При использовании символов подстановки следует отдавать предпочтение
"?", а не"*". Это может снизить сложность сопоставления с O(n^2) до O(n). Например,"Gtk*Box"можно переписать как"Gtk?Box"и это всё равно будет соответствовать GtkHBox и GtkVBox.Использование
"*"символов подстановки следует ограничить по возможности, поскольку сопоставление"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. Специальное значение"<parent>"может использоваться для указания, что виджет должен использовать то же растровое изображение фона, что и его родитель. Специальное значение"<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 |
Возвращаемые значения
результирующий стиль. Счетчик ссылок для возвращаемого стиля не увеличивается, поэтому, если вы хотите сохранить этот стиль, вы должны самостоятельно добавить ссылку.
[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 | путь к виджету, который нужно использовать при поиске стиля, или | [allow-none] |
class_path | путь к классу, который нужно использовать при поиске стиля, или | [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 | имя файла для разбора. Если |
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 | ||
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 |
С версии: 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 | путь к файлу. Если | [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 |
| [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 или | [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 | ||
scanner | Сканер, используемый для получения информации о номере строки для сообщения об ошибке, или | |
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
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 * | Имя | |
gchar * | Имя пиктограммы | |
PangoFontDescription * | Описание шрифта PangoFontDescription | |
GtkRcFlags | ||
GdkColor | Цвета переднего плана | |
GdkColor | Цвета заднего плана | |
GdkColor | Цвета текста | |
GdkColor | Цвета основы | |
gint | Толщина по X | |
gint | Толщина по 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);
};
Члены
| ||
| ||
| ||
|
перечисление 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