GTK+ 2.0 Tutorial |
||
---|---|---|
GTK's rc Files |
Формат файла GTK иллюстрирован в примере ниже. Это файл testgtkrc из пакета поставки GTK, но с некоторыми дополнениями и комментариями. Вы можете включить эти комментарии в своё приложение, чтобы пользователь смог более точно настраивать его самостоятельно.
Есть несколько директив для изменения признаков виджета.
В дополнение к этому существует несколько состояний виджетов, и вы можете устанавливать разные цвета, pixmaps и шрифты в этих состояниях. Вот эти состояния:
NORMAL - Нормальное состояние виджета, когда курсор не находится на нём и не происходит никаких действий мышки связанных с этим виджетом.
PRELIGHT - Когда курсор мыши находится на виджете, задействуются цвета определённые для этого состояния.
ACTIVE - Когда произошло нажатие или щелчок на виджете, задействуются соответствующие для этого состояния настройки виджета.
INSENSITIVE - Когда виджет находится в неактивном состоянии и неможет быть активирован.
Для установки цветов виджета используйте ключевые слова "fg" и "bg" в следующем формате:
fg[<STATE>] = { Red, Green, Blue }
|
Где STATE одно из вышеперечисленных состояний (PRELIGHT, ACTIVE, и т.д.), а Red, Green и Blue значения в диапазоне 0 - 1.0, например { 1.0, 1.0, 1.0 } даёт белый цвет. Значения должны быть десятичными или 0, таким образом значение "1" не будет работать, его нужно выставлять как "1.0". Неопределённые значения устанавливаются равными 0.
bg_pixmap подобен выше указанному, но вместо цветов указывается имя файла.
pixmap_path список путей разделённых ":". По этим путям будет производится поиск pixmap которые вы определите.
font = "<font name>"
|
Единственная сложность заключается в выяснении строки шрифта. Использование утилиты xfontsel может в этом помочь.
"Widget_class" устанавливает стиль класса виджетов. Эти классы перечислены в кратком обзоре виджета в иерархии класса.
Директива "widget" устанавливает стиль для определенного названия виджетов, полностью игнорируя любой стиль определенный для класса виджетов. Эти виджеты зарегистрированы в приложении с помощью вызова gtk_widget_set_name(). Это позволяет вам определять атрибуты основного виджета, вместо установки атрибутов виджета для всего класса. Пожалуйста документируйте эти специальные виджеты, чтобы пользователи могли настраивать их.
Когда ключевое слово parent используется как признак, виджет берет атрибуты своего родителя в приложении.
Определяя стиль вы можете назначить предварительно определённые атрибуты.
style "main_button" = "button"
{
font = "-adobe-helvetica-medium-r-normal--*-100-*-*-*-*-*-*"
bg[PRELIGHT] = { 0.75, 0, 0 }
}
|
В этом примере берётся стиль "button" и создаётся новый "main_button" стиль, просто изменяя шрифт и цвет.
Конечно многие атрибуты неприменимы ко всем виджетам, это просто вопрос здравого смысла, что именно может быть применено.
GTK's rc Files |
Example rc file |