формат файла
настройки gtk
формат файла gtk иллюстрирован в примере
ниже. это файл testgtkrc из пакета поставки
gtk, но с некоторыми дополнениями и
комментариями. вы можете включить эти
комментарии в своё приложение, чтобы
пользователь смог более точно настраивать
его самостоятельно.
есть несколько
директив для изменения признаков
виджета.
fg
- устанавливает цвет переднего плана
виджета.
bg
- устанавливает второстепенный цвет
виджета.
bg_pixmap - устанавливает
фон виджета пиксельной карты (pixmaps).
font - устанавливает
шрифт используемый с данным виджетом.
в
дополнение к этому существует несколько
состояний виджетов, и вы можете
устанавливать разные цвета, pixmaps и шрифты
в этих состояниях. вот эти состояния:
normal - нормальное
состояние виджета, когда курсор не
находится на нём и не происходит никаких
действий мышки связанных с этим виджетом.
prelight - когда
курсор мыши находится на виджете,
задействуются цвета определённые для
этого состояния.
active - когда
произошло нажатие или щелчок на виджете,
задействуются соответствующие для
этого состояния настройки виджета.
insensitive - когда
виджет находится в неактивном состоянии
и не может быть активирован.
selected - когда
объект выбран.
для
установки цветов виджета используйте
ключевые слова "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 очень
лёгкая:
единственная
сложность заключается в выяснении
строки шрифта. использование утилиты
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" стиль, просто изменяя
шрифт и цвет.
конечно многие
атрибуты неприменимы ко всем виджетам,
это просто вопрос здравого смысла, что
именно может быть применено.
|