Файлы ресурсов
Файлы ресурсов — устаревшие функции для работы с файлами ресурсов
Функции
| 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(). Если не изменять настройки, GTK+ будет искать файлы 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) вместо сокращённых имён, содержащих"*"или"?".Если это действительно необходимо, подстановочные символы должны использоваться только в конце или в начале шаблона. Это уменьшает сложность соответствия до сравнения строк на стиль 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+ также пытается загрузить локально-зависимую версию включённого файла locale-specific variant.
-
module_path pathУстанавливает путь (список каталогов, разделённых двоеточием), который будет просматриваться для поиска движков тем, упоминаемых в файлах RC.
-
pixmap_path pathУстанавливает путь (список каталогов, разделённых двоеточием), который будет просматриваться для поиска растровых изображений (pixmaps), упоминаемых в файлах 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Устанавливает xтолщину, которая используется для различных значений горизонтального отступа в GTK+.
-
ythickness = numberУстанавливает yтолщину, которая используется для различных значений вертикального отступа в 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 }Определяет значок для элемента stock.
-
color["color-name"] = color specificationНачиная с версии 2.10, этот элемент может использоваться для определения символических цветов. См. синтаксис спецификаций цветов ниже.
-
engine "engine" { engine-specific settings }Определяет движок, который будет использоваться при отрисовке с помощью этого стиля.
-
class::property = valueУстанавливает свойство стиля для класса виджета.
Цвета и растровые изображения фона задаются как функция состояния виджета. Состояния:
-
NORMALЦвет, используемый для виджета в обычном состоянии.
-
ACTIVEВариант цвета
NORMAL, используемый, когда виджет находится в состоянииGTK_STATE_ACTIVE, а также для желоба полосы прокрутки, вкладок NoteBook, кроме текущей вкладки, и подобных областей. Часто это должен быть более тёмный вариант цвета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. Коэффициент определяет, насколько новый цвет близок к 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 источники значков указываются как четвёрка: имя файла изображения или имя значка, направление текста, состояние виджета и размер, в таком порядке. Каждый источник значка определяет имя файла изображения или имя значка для использования с заданным направлением, состоянием и размером. Имена файлов указываются как строка, например, "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 | объект GtkSettings | |
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 |
Since: 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 | |
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 | имя движка темы |
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+.
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 | Флаги 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.22/gtk3-Resource-Files.html