краткое описание#include <gtk/gtk.h> #include <gtk/gtk.h> gtkbutton; gtkwidget* gtk_button_new (void); gtkwidget* gtk_button_new_with_label (const gchar *label); gtkwidget* gtk_button_new_with_mnemonic (const gchar *label); gtkwidget* gtk_button_new_from_stock (const gchar *stock_id); void gtk_button_pressed (gtkbutton *button); void gtk_button_released (gtkbutton *button); void gtk_button_clicked (gtkbutton *button); void gtk_button_enter (gtkbutton *button); void gtk_button_leave (gtkbutton *button); void gtk_button_set_relief (gtkbutton *button, gtkreliefstyle newstyle); gtkreliefstyle gtk_button_get_relief (gtkbutton *button); const gchar* gtk_button_get_label (gtkbutton *button); void gtk_button_set_label (gtkbutton *button, const gchar *label); gboolean gtk_button_get_use_stock (gtkbutton *button); void gtk_button_set_use_stock (gtkbutton *button, gboolean use_stock); gboolean gtk_button_get_use_underline (gtkbutton *button); void gtk_button_set_use_underline (gtkbutton *button, gboolean use_underline); void gtk_button_set_focus_on_click (gtkbutton *button, gboolean focus_on_click); gboolean gtk_button_get_focus_on_click (gtkbutton *button); void gtk_button_set_alignment (gtkbutton *button, gfloat xalign, gfloat yalign); void gtk_button_get_alignment (gtkbutton *button, gfloat *xalign, gfloat *yalign); void gtk_button_set_image (gtkbutton *button, gtkwidget *image); gtkwidget* gtk_button_get_image (gtkbutton *button); void gtk_button_set_image_position (gtkbutton *button, gtkpositiontype position); gtkpositiontype gtk_button_get_image_position (gtkbutton *button); иерархия объектовgobject +----ginitiallyunowned +----gtkobject +----gtkwidget +----gtkcontainer +----gtkbin +----gtkbutton +----gtktogglebutton +----gtkcolorbutton +----gtkfontbutton +----gtkoptionmenu осуществляемые интерфейсыgtkbutton осуществляет atkimplementoriface. свойства"focus-on-click" gboolean : read / write "image" gtkwidget : read / write "label" gchararray : read / write / construct "relief" gtkreliefstyle : read / write "use-stock" gboolean : read / write / construct "use-underline" gboolean : read / write / construct "xalign" gfloat : read / write "yalign" gfloat : read / write свойства стиля"child-displacement-x" gint : read "child-displacement-y" gint : read "default-border" gtkborder : read "default-outside-border" gtkborder : read "displace-focus" gboolean : read сигналы"activate" void user_function (gtkbutton *widget, gpointer user_data) : run first / action "clicked" void user_function (gtkbutton *button, gpointer user_data) : run first / action "enter" void user_function (gtkbutton *button, gpointer user_data) : run first "leave" void user_function (gtkbutton *button, gpointer user_data) : run first "pressed" void user_function (gtkbutton *button, gpointer user_data) : run first "released" void user_function (gtkbutton *button, gpointer user_data) : run first описаниевиджет gtkbutton в основном используется для прикрепления к нему функций которые вызываются когда он нажат. различные сигналы и то как ими пользоваться описано ниже. виджет gtkbutton может содержать любой стандартный дочерний виджет gtkwidget. в основном в качестве дочернего виджета используется gtklabel. деталиgtkbuttontypedef struct _gtkbutton gtkbutton; к этой структуре нет непосредственного доступа. используйте для этого функции приведённые ниже. gtk_button_new ()gtkwidget* gtk_button_new (void); создаётся новый виджет gtkbutton. для добавления дочернего виджета в кнопку, используйте gtk_container_add().
gtk_button_new_with_label ()gtkwidget* gtk_button_new_with_label (const gchar *label); создаёт виджет gtkbutton с дочерним виджетом gtklabel содержащим полученный текст.
gtk_button_new_with_mnemonic ()gtkwidget* gtk_button_new_with_mnemonic (const gchar *label); создаёт новый gtkbutton содержащий метку. если символам в label предшествует символ подчеркивания, то они становятся подчёркнутыми. если вам нужен символ подчеркивания в метке, используйте '__' (два символа подчёркивания). символ подчеркивания спереди представляет клавиатурный акселератор называемый мнемоническим. нажатый alt и клавиша активизируют кнопку.
gtk_button_new_from_stock ()gtkwidget* gtk_button_new_from_stock (const gchar *stock_id); создаёт новый gtkbutton содержащий изображение и текст готового элемента. некоторые готовые идентификаторы имеют макрос препроцессора, такой как gtk_stock_ok и gtk_stock_apply. если stock_id не существует, то обработка будет как для метки мнемоника (как для gtk_button_new_with_mnemonic()).
gtk_button_pressed ()void gtk_button_pressed (gtkbutton *button); издаёт gtkbutton::pressed сигнал получаемый gtkbutton.
gtk_button_released ()void gtk_button_released (gtkbutton *button); издаёт gtkbutton::released сигнал получаемый gtkbutton.
gtk_button_clicked ()void gtk_button_clicked (gtkbutton *button); издаёт gtkbutton::clicked сигнал получаемый gtkbutton.
gtk_button_enter ()void gtk_button_enter (gtkbutton *button); издаёт gtkbutton::enter сигнал получаемый gtkbutton.
gtk_button_leave ()void gtk_button_leave (gtkbutton *button); издаёт gtkbutton::leave сигнал получаемый gtkbutton.
gtk_button_set_relief ()void gtk_button_set_relief (gtkbutton *button, gtkreliefstyle newstyle); устанавливает стиль рельефа кнопки для данного виджета gtkbutton. существует три стиля, gtk_relief_normal, gtk_relief_half, gtk_relief_none. стиль по умолчанию gtk_relief_normal.
gtk_button_get_relief ()gtkreliefstyle gtk_button_get_relief (gtkbutton *button); возвращает текущий стиль рельефа данного gtkbutton.
gtk_button_get_label ()const gchar* gtk_button_get_label (gtkbutton *button); извлекает текст из метки кнопки, который установлен gtk_button_set_label(). если текст метки не был установлен, возвращается значение null. это происходит в том случае если вы создаёте пустую кнопку, с помощью gtk_button_new(), для того, чтобы использовать её как контейнер.
gtk_button_set_label ()void gtk_button_set_label (gtkbutton *button, const gchar *label); устанавливают текст метки кнопки для str. этот текст используется также для готовых элементов, если используется gtk_button_set_use_stock(). это также очищает любую предварительно установленную метку.
gtk_button_get_use_stock ()gboolean gtk_button_get_use_stock (gtkbutton *button); возвращает является ли метка кнопки заготовленным элементом.
gtk_button_set_use_stock ()void gtk_button_set_use_stock (gtkbutton *button, gboolean use_stock); если истина, установленная метка на кнопке используется как готовый id для выбора заготовленного элемента для кнопки.
gtk_button_get_use_underline ()gboolean gtk_button_get_use_underline (gtkbutton *button); определяет является ли встроенное подчёркивание в метке кнопки индикатором мнемоника. смотрите gtk_button_set_use_underline().
gtk_button_set_use_underline ()void gtk_button_set_use_underline (gtkbutton *button, gboolean use_underline); если истина, подчёркивание в тексте метки кнопки указывает, что следующий символ должен быть использован для мнемонического ключа акселератора.
gtk_button_set_focus_on_click ()void gtk_button_set_focus_on_click (gtkbutton *button, gboolean focus_on_click); устанавливает захватывать ли фокус кнопкой, когда она нажата мышкой. не фокусироваться в момент нажатия полезно например на панели инструментов, когда вам не нужно удалять клавиатурный фокус из основной области приложения.
начиная с версии 2.4 gtk_button_get_focus_on_click ()gboolean gtk_button_get_focus_on_click (gtkbutton *button); определяет захватывает ли фокус кнопка, когда она нажата мышкой. смотрите gtk_button_set_focus_on_click().
начиная с версии 2.4 gtk_button_set_alignment ()void gtk_button_set_alignment (gtkbutton *button, gfloat xalign, gfloat yalign); устанавливает выравнивание дочерних виджетов. это свойство не имеет никакого эффекта, если дочерний виджет не является gtkmisc или gtkaligment.
начиная с версии 2.4 gtk_button_get_alignment ()void gtk_button_get_alignment (gtkbutton *button, gfloat *xalign, gfloat *yalign); получает выравнивание дочернего виджета в кнопке.
начиная с версии 2.4 gtk_button_set_image ()void gtk_button_set_image (gtkbutton *button, gtkwidget *image); устанавливает данный виджет как изображение для button. запомните, будет отображено изображение или нет зависит от установок gtk-button-images, вы не должны вызывать gtk_widget_show() для image самостоятельно.
начиная с версии 2.6 gtk_button_get_image ()gtkwidget* gtk_button_get_image (gtkbutton *button); получает текущий виджет который установлен как изображение для button. это можно явно установить с помощью gtk_button_set_image() или создать с помощью gtk_button_new_from_stock().
начиная с версии 2.6 gtk_button_set_image_position ()void gtk_button_set_image_position (gtkbutton *button, gtkpositiontype position); устанавливает позицию изображения относительно текста внутри кнопки.
начиная с версии 2.10 gtk_button_get_image_position ()gtkpositiontype gtk_button_get_image_position (gtkbutton *button); получает позицию изображения относительно текста внутри кнопки.
начиная с версии 2.10 детали свойствсвойство "focus-on-click""focus-on-click" gboolean : read / write должна ли кнопка перехватывать фокус при нажатии на неё мышкой. значение по умолчанию: true свойство "image""image" gtkwidget : read / write дочерний виджет появляющийся рядом с текстом кнопки. свойство "
|
widget : |
объект который получает сигнал. |
user_data : |
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (gtkbutton *button, gpointer user_data) : run first / action
издаётся когда кнопка активирована (нажата или отжата).
button : |
объект который получает сигнал. |
user_data : |
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (gtkbutton *button, gpointer user_data) : run first
издаётся когда указатель входит на кнопку.
устаревшее: используйте сигнал gtkwidget::enter-notify-event.
button : |
объект который получает сигнал. |
user_data : |
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (gtkbutton *button, gpointer user_data) : run first
издаётся когда указатель покидает кнопку.
устаревшее: используйте сигнал gtkwidget::leave-notify-event.
button : |
объект который получает сигнал. |
user_data : |
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (gtkbutton *button, gpointer user_data) : run first
издаётся когда кнопка нажата.
устаревшее: используйте сигнал gtkwidget::button-press-event.
button : |
объект который получает сигнал. |
user_data : |
пользовательские данные устанавливаемые при подключении обработчика сигнала. |
void user_function (gtkbutton *button, gpointer user_data) : run first
издаётся когда кнопка отжата.
устаревшее: используйте сигнал gtkwidget::button-release-event.
button : |
объект который получает сигнал. |
user_data : |
пользовательские данные устанавливаемые при подключении обработчика сигнала. |