GtkInfoBar
GtkInfoBar — Сообщать пользователю важные сообщения
Функции
Свойства
| GtkMessageType | message-type | Чтение / Запись / Создание |
| gboolean | show-close-button | Чтение / Запись / Создание |
Стилизованные свойства
| gint | action-area-border | Чтение |
| gint | button-spacing | Чтение |
| gint | content-area-border | Чтение |
| gint | content-area-spacing | Чтение |
Сигналы
| void | close | Действие |
| void | response | Выполнить последним |
Типы и значения
| struct | GtkInfoBar |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBox ╰── GtkInfoBar
Реализованные интерфейсы
GtkInfoBar реализует AtkImplementorIface, GtkBuildable и GtkOrientable.
Файлы включения
#include <gtk/gtk.h>
Описание
GtkInfoBar — это виджет, который может использоваться для отображения сообщений пользователю без вывода диалогового окна. Часто он временно отображается в верхней или нижней части документа. В отличие от GtkDialog, который имеет область действий внизу, GtkInfoBar имеет область действий сбоку.
API GtkInfoBar очень похож на API GtkDialog, позволяя добавлять кнопки в область действий с помощью gtk_info_bar_add_button() или gtk_info_bar_new_with_buttons(). Чувствительность элементов управления действиями можно контролировать с помощью gtk_info_bar_set_response_sensitive(). Для добавления виджетов в основную область содержимого GtkInfoBar используйте gtk_info_bar_get_content_area() и добавьте свои виджеты в контейнер.
Аналогично GtkMessageDialog, содержимое GtkInfoBar может быть классифицировано как сообщение об ошибке, предупреждение, информационное сообщение и т. д. с помощью gtk_info_bar_set_message_type(). GTK+ может использовать тип сообщения для определения того, как отобразить сообщение.
Простой пример использования GtkInfoBar:
// set up info bar GtkWidget*widget; GtkInfoBar*bar; widget =gtk_info_bar_new(); bar =GTK_INFO_BAR(bar); gtk_widget_set_no_show_all(widget, TRUE); message_label =gtk_label_new(""); gtk_widget_show(message_label); content_area =gtk_info_bar_get_content_area(bar); gtk_container_add(GTK_CONTAINER(content_area), message_label); gtk_info_bar_add_button(bar, _("_OK"), GTK_RESPONSE_OK); g_signal_connect(bar, "response", G_CALLBACK(gtk_widget_hide), NULL); gtk_grid_attach(GTK_GRID(grid), widget, 0,2,1,1); ... // show an error message gtk_label_set_text(GTK_LABEL(message_label), message); gtk_info_bar_set_message_type(bar, GTK_MESSAGE_ERROR); gtk_widget_show(bar);
GtkInfoBar как GtkBuildable
Реализация GtkInfoBar интерфейса GtkBuildable предоставляет область содержимого и область действий как внутренние дочерние элементы с именами «content_area» и «action_area».
GtkInfoBar поддерживает пользовательский элемент <action-widgets>, который может содержать несколько элементов <action-widget>. Атрибут «response» указывает числовой ответ, а содержимое элемента — это идентификатор виджета (который должен быть дочерним элементом диалогового окна action_area).
Узлы CSS
GtkInfoBar имеет один узел CSS с именем infobar. Узел может получить один из классов стилей .info, warning, .error или .question, в зависимости от типа сообщения.
Функции
gtk_info_bar_new ()
GtkWidget *
gtk_info_bar_new (void); Создаёт новый объект GtkInfoBar.
Возвращает
новый объект GtkInfoBar
С версии: 2.18
gtk_info_bar_new_with_buttons ()
GtkWidget * gtk_info_bar_new_with_buttons (const gchar *first_button_text,...);
Создаёт новый GtkInfoBar с кнопками. Парам пары «текст кнопки/идентификатор ответа» должны быть перечислены, завершая список указателем NULL. Текст кнопки может быть либо идентификатором стандартной кнопки, например, GTK_STOCK_OK, либо произвольным текстом. Идентификатор ответа может быть любым положительным числом или одним из значений в перечислении GtkResponseType. Если пользователь нажимает одну из этих кнопок диалога, GtkInfoBar отправит сигнал «response» с соответствующим идентификатором ответа.
Параметры
Возвращает
новый GtkInfoBar
gtk_info_bar_add_action_widget ()
void gtk_info_bar_add_action_widget (GtkInfoBar *info_bar,GtkWidget *child,gint response_id);
Добавляет активируемый виджет в область действий GtkInfoBar, подключая обработчик сигналов, который отправит сигнал «response» в области сообщения, когда виджет будет активирован. Виджет добавляется в конец области действий области сообщений.
Параметры
info_bar | ||
child | активируемый виджет | |
response_id | идентификатор ответа для |
С версии: 2.18
gtk_info_bar_add_button ()
GtkWidget * gtk_info_bar_add_button (GtkInfoBar *info_bar,const gchar *button_text,gint response_id);
Добавляет кнопку с заданным текстом и настраивает её так, чтобы при нажатии на кнопку сигнал «response» отправлялся с заданным response_id. Кнопка добавляется в конец области действий info-bar. Виджет кнопки возвращается, но обычно вам это не нужно.
Параметры
info_bar | ||
button_text | текст кнопки | |
response_id | идентификатор ответа для кнопки |
С версии: 2.18
gtk_info_bar_add_buttons ()
void gtk_info_bar_add_buttons (GtkInfoBar *info_bar,const gchar *first_button_text,...);
Добавляет дополнительные кнопки, аналогично вызову gtk_info_bar_add_button() многократно. Список аргументов переменной должен быть завершён NULL так же как в gtk_info_bar_new_with_buttons(). Каждая кнопка должна иметь и текст, и идентификатор ответа.
Параметры
info_bar | ||
first_button_text | текст кнопки или идентификатор стандартной кнопки | |
... | идентификатор ответа для первой кнопки, затем дополнительные пары «текст-идентификатор ответа», завершая список указателем |
С версии: 2.18
gtk_info_bar_set_response_sensitive ()
void gtk_info_bar_set_response_sensitive (GtkInfoBar *info_bar,gint response_id,gboolean setting);
Вызывает gtk_widget_set_sensitive (widget, setting) для каждого виджета в области действий info-bar с заданным response_id. Удобный способ сделать кнопки диалога активными/неактивными.
Параметры
info_bar | ||
response_id | идентификатор ответа | |
setting | TRUE для активной |
С версии: 2.18
gtk_info_bar_set_default_response ()
void gtk_info_bar_set_default_response (GtkInfoBar *info_bar,gint response_id);
Устанавливает последний виджет в области действий info-bar с заданным response_id в качестве виджета по умолчанию для диалога. Нажатие «Ввод» обычно активирует виджет по умолчанию.
Обратите внимание, что в настоящее время эта функция требует, чтобы info_bar был добавлен в иерархию виджетов.
Параметры
info_bar | ||
response_id | идентификатор ответа |
С версии: 2.18
gtk_info_bar_response ()
void gtk_info_bar_response (GtkInfoBar *info_bar,gint response_id);
Отправляет сигнал «response» с заданным response_id .
Параметры
info_bar | ||
response_id | идентификатор ответа |
С версии: 2.18
gtk_info_bar_set_message_type ()
void gtk_info_bar_set_message_type (GtkInfoBar *info_bar,GtkMessageType message_type);
Устанавливает тип сообщения для области сообщений. GTK+ использует этот тип для определения цвета, используемого при отрисовке области сообщений.
Параметры
info_bar | ||
message_type |
С версии: 2.18
gtk_info_bar_get_message_type ()
GtkMessageType
gtk_info_bar_get_message_type (GtkInfoBar *info_bar); Возвращает тип сообщения для области сообщений.
Параметры
info_bar |
Возвращает
тип сообщения области сообщений.
С версии: 2.18
gtk_info_bar_get_action_area ()
GtkWidget *
gtk_info_bar_get_action_area (GtkInfoBar *info_bar); Возвращает область действий info_bar .
Параметры
info_bar |
Возвращает
область действий.
[transfer none]
С момента: 2.18
gtk_info_bar_get_content_area ()
GtkWidget *
gtk_info_bar_get_content_area (GtkInfoBar *info_bar); Возвращает область содержимого info_bar .
Параметры
info_bar |
Возвращает
область содержимого.
[transfer none]
С момента: 2.18
gtk_info_bar_get_show_close_button ()
gboolean
gtk_info_bar_get_show_close_button (GtkInfoBar *info_bar); Возвращает, будет ли виджет отображать стандартную кнопку закрытия.
Параметры
info_bar |
Возвращает
TRUE, если виджет отображает стандартную кнопку закрытия
С момента: 3.10
gtk_info_bar_set_show_close_button ()
void gtk_info_bar_set_show_close_button (GtkInfoBar *info_bar,gboolean setting);
Если true, отображается стандартная кнопка закрытия. При нажатии она генерирует ответ GTK_RESPONSE_CLOSE.
Параметры
info_bar | ||
setting |
|
С момента: 3.10
Типы и значения
struct GtkInfoBar
struct GtkInfoBar;
Подробное описание свойств
Свойство “message-type”
“message-type” GtkMessageType
Тип сообщения.
Тип может быть использован для определения отображения информационной панели.
Флаги: Чтение/Запись/Конструирование
Значение по умолчанию: GTK_MESSAGE_INFO
С момента: 2.18
Подробное описание свойств стиля
Свойство “action-area-border”
“action-area-border” gint
Ширина границы вокруг области действий информационной панели.
GtkInfoBar:action-area-border устарело с версии 3.6 и не должно использоваться в новом коде.
Используйте gtk_container_set_border_width()
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 5
С момента: 2.18
Свойство “button-spacing”
“button-spacing” gint
Интервал между кнопками в области действий информационной панели.
GtkInfoBar:button-spacing устарело с версии 3.6 и не должно использоваться в новом коде.
Используйте gtk_box_set_spacing()
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 6
С момента: 2.18
Свойство “content-area-border”
“content-area-border” gint
Ширина границы вокруг области содержимого информационной панели.
GtkInfoBar:content-area-border устарело с версии 3.6 и не должно использоваться в новом коде.
Используйте gtk_container_set_border_width()
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 8
С момента: 2.18
Свойство “content-area-spacing”
“content-area-spacing” gint
Стандартный интервал между элементами области содержимого информационной панели.
GtkInfoBar:content-area-spacing устарело с версии 3.6 и не должно использоваться в новом коде.
Используйте gtk_box_set_spacing()
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 16
С момента: 2.18
Подробное описание сигналов
Сигнал “close”
void user_function (GtkInfoBar *arg0, gpointer user_data)
Сигнал ::close — это сигнал привязки, который генерируется при использовании привязки клавиш для закрытия информационной панели.
По умолчанию для этого сигнала назначена клавиша Escape.
Параметры
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
С момента: 2.18
Сигнал “response”
void user_function (GtkInfoBar *info_bar, gint response_id, gpointer user_data)
Генерируется при нажатии виджета действия или вызове программистом приложения gtk_dialog_response(). response_id зависит от нажатого виджета действия.
Параметры
info_bar | объект, на котором генерируется сигнал | |
response_id | Идентификатор ответа | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Запуск последним
С момента: 2.18
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.20/GtkInfoBar.html