GTK+ 2.0 Tutorial

<<< Previous

GTK's rc Files

Next >>>


Пример файла настройки (rc file)

# pixmap_path "<dir 1>:<dir 2>:<dir 3>:..." # pixmap_path "/usr/include/X11R6/pixmaps:/home/imain/pixmaps" # # style <name> [= <name>] # { # <option> # } # # widget <widget_set> style <style_name> # widget_class <widget_class_set> style <style_name> # Список всех возможных состояний. Помните, что некоторые неприменимы к # определённым виджетам. # # NORMAL - Нормальное состояние виджета, когда курсор не находится на нём и не происходит никаких # действий мышки связанных с этим виджетом. # # PRELIGHT - Когда курсор мыши находится на виджете, применяется цвет определённый для данного состояния # # ACTIVE - Когда на виджете происходит щелчок мыши он активизируется и задействует соответствующие атрибуты. # # INSENSITIVE - Когда виджет находится в неактивном состоянии и не может быть активирован. # # SELECTED - Когда объект выделен или выбран. # # Учитывая эти состояния мы можем установить признаки виджетов для каждого из них # используя следующие директивы. # # fg - Устанавливает цвет переднего плана виджета. # bg - Устанавливает второстепенный цвет виджета. # bg_pixmap - Устанавливает фон виджета пиксельной карты. # font - Устанавливает шрифт используемый с данным виджетом. # Это устанавливает стиль называемый "button". Имя не имеет реального значения, как # это установлено актуальными виджетами в начале файла. style "window" { # Устанавливаем наполнение окна определенным pixmap. # bg_pixmap[<STATE>] = "<pixmap filename>" bg_pixmap[NORMAL] = "warning.xpm" } style "scale" { #Устанавливаем цвет переднего плана (цвет шрифта) красным в состоянии "NORMAL" fg[NORMAL] = { 1.0, 0, 0 } #Устанавливаем фоновый pixmap этого виджета, согласно родительского. bg_pixmap[NORMAL] = "<parent>" } style "button" { # Показываем все возможные состояния кнопки. SELECTED единственное состояние которое не применяется. fg[PRELIGHT] = { 0, 1.0, 1.0 } bg[PRELIGHT] = { 0, 0, 1.0 } bg[ACTIVE] = { 1.0, 0, 0 } fg[ACTIVE] = { 0, 1.0, 0 } bg[NORMAL] = { 1.0, 1.0, 0 } fg[NORMAL] = { .99, 0, .99 } bg[INSENSITIVE] = { 1.0, 1.0, 1.0 } fg[INSENSITIVE] = { 1.0, 0, 1.0 } } # В этом примере, мы наследуем признаки стиля "кнопки" и затем отменяем # шрифт и цвет фона, чтобы создать новый стиль "main_button" style "main_button" = "button" { font = "-adobe-helvetica-medium-r-normal--*-100-*-*-*-*-*-*" bg[PRELIGHT] = { 0.75, 0, 0 } } style "toggle_button" = "button" { fg[NORMAL] = { 1.0, 0, 0 } fg[ACTIVE] = { 1.0, 0, 0 } # Устанавливаем фон pixmap toggle_button как у родительского виджета bg_pixmap[NORMAL] = "<parent>" } style "text" { bg_pixmap[NORMAL] = "marble.xpm" fg[NORMAL] = { 1.0, 1.0, 1.0 } } style "ruler" { font = "-adobe-helvetica-medium-r-normal--*-80-*-*-*-*-*-*" } # pixmap_path "~/.pixmaps" # Эти установленные типы виджетов используют стиль определённый выше. # Типы виджета перечислены в иерархии класса, но перечислены и в этом документе для # справочной информации пользователей. widget_class "GtkWindow" style "window" widget_class "GtkDialog" style "window" widget_class "GtkFileSelection" style "window" widget_class "*Gtk*Scale" style "scale" widget_class "*GtkCheckButton*" style "toggle_button" widget_class "*GtkRadioButton*" style "toggle_button" widget_class "*GtkButton*" style "button" widget_class "*Ruler" style "ruler" widget_class "*GtkText" style "text" # Устанавливаем все дочерние кнопки основного окна "main window" в стиль main_button. # Они должны быть зарегистрированы, чтобы быть использованными widget "main window.*GtkButton*" style "main_button"

<<< Previous

Home

Next >>>

GTK's rc File Format

Up

Writing Your Own Widgets