GtkInfoBar
GtkInfoBar — Сообщить пользователю важные сообщения
Функции
| GtkWidget * | gtk_info_bar_new () |
| GtkWidget * | gtk_info_bar_new_with_buttons () |
| void | gtk_info_bar_add_action_widget () |
| GtkWidget * | gtk_info_bar_add_button () |
| void | gtk_info_bar_add_buttons () |
| void | gtk_info_bar_set_response_sensitive () |
| void | gtk_info_bar_set_default_response () |
| void | gtk_info_bar_response () |
| void | gtk_info_bar_set_message_type () |
| GtkMessageType | gtk_info_bar_get_message_type () |
| GtkWidget * | gtk_info_bar_get_action_area () |
| GtkWidget * | gtk_info_bar_get_content_area () |
| gboolean | gtk_info_bar_get_show_close_button () |
| void | gtk_info_bar_set_show_close_button () |
| gboolean | gtk_info_bar_get_revealed () |
| void | gtk_info_bar_set_revealed () |
Свойства
| GtkMessageType | message-type | Чтение / Запись / Создание |
| gboolean | revealed | Чтение / Запись |
| gboolean | show-close-button | Чтение / Запись / Создание |
Стилизованные свойства
| int | action-area-border | Чтение |
| int | button-spacing | Чтение |
| int | content-area-border | Чтение |
| int | content-area-spacing | Чтение |
Типы и значения
| struct | GtkInfoBar |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkContainer
╰── GtkBox
╰── GtkInfoBar
Реализованные интерфейсы
GtkInfoBar реализует AtkImplementorIface, GtkBuildable и GtkOrientable.
Включаемые файлы
#include <gtk/gtk.h>
Описание
GtkInfoBar — это виджет, который может использоваться для отображения сообщений пользователю без вывода диалогового окна. Он часто временно отображается в верхней или нижней части документа. В отличие от GtkDialog, у которого есть область действий внизу, GtkInfoBar имеет область действий сбоку.
API GtkInfoBar очень похож на 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:
GtkWidget *widget, *message_label, *content_area;
GtkWidget *grid;
GtkInfoBar *bar;
// set up info bar
widget = gtk_info_bar_new ();
bar = GTK_INFO_BAR (widget);
grid = gtk_grid_new ();
gtk_widget_set_no_show_all (widget, TRUE);
message_label = gtk_label_new ("");
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), "An error occurred!");
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 с кнопками. Пара текста кнопки/ID ответа должны быть перечислены, завершаясь указателем NULL. Текст кнопки может быть либо ID системной кнопки, например, GTK_STOCK_OK, либо произвольным текстом. ID ответа может быть любым положительным числом или одним из значений перечисления GtkResponseType. Если пользователь нажмёт одну из этих кнопок диалога, GtkInfoBar отправит сигнал «response» с соответствующим ID ответа.
Параметры
first_button_text | ID системной кнопки или текст для первой кнопки, или | [allow-none] |
... | ID ответа для первой кнопки, а затем дополнительные кнопки, заканчивающиеся |
Возвращаемое значение
новый 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 | объект GtkInfoBar | |
child | активируемый виджет | |
response_id | 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 bars. Виджет кнопки возвращается, но обычно он вам не нужен.
Параметры
info_bar | объект GtkInfoBar | |
button_text | текст кнопки | |
response_id | 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(). Каждая кнопка должна иметь как текст, так и ID ответа.
Параметры
info_bar | объект GtkInfoBar | |
first_button_text | текст кнопки или ID системной кнопки | |
... | ID ответа для первой кнопки, затем пары текст-id_ответа, заканчивающиеся |
С: 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 bars с заданным response_id. Удобный способ сделать кнопки диалога активными/неактивными.
Параметры
info_bar | объект GtkInfoBar | |
response_id | ID ответа | |
setting | ИСТИНА для активности |
С: 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 | объект GtkInfoBar | |
response_id | ID ответа |
С: 2.18
gtk_info_bar_response ()
void gtk_info_bar_response (GtkInfoBar *info_bar,gint response_id);
Отправляет сигнал «response» с заданным response_id .
Параметры
info_bar | объект GtkInfoBar | |
response_id | 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 | объект GtkInfoBar | |
message_type | тип GtkMessageType |
С: 2.18
gtk_info_bar_get_message_type ()
GtkMessageType
gtk_info_bar_get_message_type (GtkInfoBar *info_bar); Возвращает тип сообщения области сообщения.
Параметры
info_bar | объект GtkInfoBar |
Возвращаемое значение
тип сообщения области сообщения.
С: 2.18
gtk_info_bar_get_action_area ()
GtkWidget *
gtk_info_bar_get_action_area (GtkInfoBar *info_bar); Возвращает область действий info_bar .
Параметры
info_bar |
Возвращаемое значение
область действий.
[type Gtk.Box][transfer none]
C момента: 2.18
gtk_info_bar_get_content_area ()
GtkWidget *
gtk_info_bar_get_content_area (GtkInfoBar *info_bar); Возвращает область содержимого info_bar .
Параметры
info_bar |
Возвращаемое значение
область содержимого.
[type Gtk.Box][transfer none]
C момента: 2.18
gtk_info_bar_get_show_close_button ()
gboolean
gtk_info_bar_get_show_close_button (GtkInfoBar *info_bar); Возвращает, будет ли виджет отображать стандартную кнопку закрытия.
Параметры
info_bar |
Возвращаемое значение
TRUE если виджет отображает стандартную кнопку закрытия
C момента: 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 |
|
C момента: 3.10
gtk_info_bar_get_revealed ()
gboolean
gtk_info_bar_get_revealed (GtkInfoBar *info_bar); Параметры
info_bar |
Возвращаемое значение
текущее значение свойства GtkInfoBar:revealed.
C момента: 3.22.29
gtk_info_bar_set_revealed ()
void gtk_info_bar_set_revealed (GtkInfoBar *info_bar,gboolean revealed);
Устанавливает свойство GtkInfoBar:revealed в значение revealed . Это приведет к отображению info_bar со сдвигом.
Обратите внимание, что это свойство не автоматически отображает info_bar и поэтому не будет иметь никакого эффекта, если оно невидимо.
Параметры
info_bar | ||
revealed | Новое значение свойства |
C момента: 3.22.29
Типы и значения
struct GtkInfoBar
struct GtkInfoBar;
Подробности свойств
Свойство “message-type”
“message-type” GtkMessageType
Тип сообщения.
Тип может быть использован для определения внешнего вида информационной панели.
Владелец: GtkInfoBar
Флаги: Чтение / Запись / Создание
Значение по умолчанию: GTK_MESSAGE_INFO
C момента: 2.18
Свойство “revealed”
“revealed” gboolean
Управляет отображением содержимого панели действий.
Владелец: GtkInfoBar
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство “show-close-button”
“show-close-button” gboolean
Включает ли стандартную кнопку закрытия.
Владелец: GtkInfoBar
Флаги: Чтение / Запись / Создание
Значение по умолчанию: FALSE
C момента: 3.10
Подробности свойств стиля
Свойство стиля “action-area-border”
“action-area-border” int
Ширина рамки вокруг области действий информационной панели.
GtkInfoBar:action-area-border устарело с версии 3.6 и не должно использоваться в новом коде.
Используйте gtk_container_set_border_width()
Владелец: GtkInfoBar
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 5
C момента: 2.18
Свойство стиля “button-spacing”
“button-spacing” int
Интервал между кнопками в области действий информационной панели.
GtkInfoBar:button-spacing устарело с версии 3.6 и не должно использоваться в новом коде.
Используйте gtk_box_set_spacing()
Владелец: GtkInfoBar
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 6
C момента: 2.18
Свойство стиля “content-area-border”
“content-area-border” int
Ширина рамки вокруг области содержимого информационной панели.
GtkInfoBar:content-area-border устарело с версии 3.6 и не должно использоваться в новом коде.
Используйте gtk_container_set_border_width()
Владелец: GtkInfoBar
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 8
C момента: 2.18
Свойство стиля “content-area-spacing”
“content-area-spacing” int
Стандартный интервал между элементами области содержимого информационной панели.
GtkInfoBar:content-area-spacing устарело с версии 3.6 и не должно использоваться в новом коде.
Используйте gtk_box_set_spacing()
Владелец: GtkInfoBar
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 16
C момента: 2.18
Подробности сигналов
Сигнал “close”
void user_function (GtkInfoBar *infobar, gpointer user_data)
Сигнал ::close — это сигнал для привязки клавиш, который генерируется, когда пользователь использует сочетание клавиш для закрытия информационной панели.
Стандартное сочетание клавиш для этого сигнала — клавиша Escape.
Параметры
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
C момента: 2.18
Сигнал “response”
void user_function (GtkInfoBar *info_bar, int response_id, gpointer user_data)
Срабатывает при нажатии на элемент управления действием или когда программист приложения вызывает gtk_dialog_response(). Значение response_id зависит от нажатого элемента управления действием.
Параметры
info_bar | объект, на котором генерируется сигнал | |
response_id | идентификатор ответа | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Выполняется последним
C момента: 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.24/GtkInfoBar.html