GtkMessageDialog
GtkMessageDialog — Удобное окно сообщения
Функции
Свойства
| GtkButtonsType | buttons | Запись / Только для создания |
| GtkWidget * | message-area | Чтение |
| GtkMessageType | message-type | Чтение / Запись / Только для создания |
| char * | secondary-text | Чтение / Запись |
| gboolean | secondary-use-markup | Чтение / Запись |
| char * | text | Чтение / Запись |
| gboolean | use-markup | Чтение / Запись |
Типы и Значения
| struct | GtkMessageDialog |
| enum | GtkMessageType |
| enum | GtkButtonsType |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkWindow
╰── GtkDialog
╰── GtkMessageDialog
Реализованные интерфейсы
GtkMessageDialog реализует GtkAccessible, GtkBuildable, GtkConstraintTarget, GtkNative, GtkShortcutManager и GtkRoot.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkMessageDialog представляет диалоговое окно с текстом сообщения. Это просто удобный виджет; вы могли бы создать эквивалент GtkMessageDialog из GtkDialog без особых усилий, но GtkMessageDialog экономит написание кода.
Самый простой способ создать модальное диалоговое окно — использовать флаг GTK_DIALOG_MODAL, который вызовет gtk_window_set_modal() внутри. Диалоговое окно предотвратит взаимодействие с родительским окном до тех пор, пока оно не будет скрыто или уничтожено. Вы можете использовать сигнал “response”, чтобы узнать, когда пользователь закрыл диалоговое окно.
Пример использования модального диалогового окна:
Вы можете сделать немодальное GtkMessageDialog, просто опустив флаг GTK_DIALOG_MODAL:
GtkMessageDialog как GtkBuildable
Реализация GtkMessageDialog интерфейса GtkBuildable экспонирует область сообщения как внутренний дочерний элемент с именем «message_area».
Функции
gtk_message_dialog_new ()
GtkWidget * gtk_message_dialog_new (GtkWindow *parent,GtkDialogFlags flags,GtkMessageType type,GtkButtonsType buttons,const char *message_format,...);
Создаёт новый диалог с сообщением, являющийся простым диалогом с текстом, который пользователь может увидеть. Когда пользователь нажимает кнопку, генерируется сигнал «response» со значениями ID ответа из GtkResponseType. Подробнее см. GtkDialog.
Параметры
parent | родительский диалог, или | [allow-none] |
flags | флаги | |
type | тип сообщения | |
buttons | набор кнопок | |
message_format | строка формата в стиле printf, или | [allow-none] |
... | аргументы для |
gtk_message_dialog_new_with_markup ()
GtkWidget * gtk_message_dialog_new_with_markup (GtkWindow *parent,GtkDialogFlags flags,GtkMessageType type,GtkButtonsType buttons,const char *message_format,...);
Создаёт новый диалог с сообщением, являющийся простым диалогом с текстом, форматированным с помощью языка разметки текста Pango. Когда пользователь нажимает кнопку, генерируется сигнал «response» со значениями ID ответа из GtkResponseType. Подробнее см. GtkDialog.
Специальные XML-символы в аргументах, переданных в эту функцию, автоматически будут экранированы по мере необходимости. (См. g_markup_printf_escaped(), чтобы узнать, как это реализовано.) Обычно это то, что вам нужно, но если у вас есть существующая строка разметки Pango, которую вы хотите использовать буквально как метку, то вам нужно использовать gtk_message_dialog_set_markup() вместо этого, так как вы не можете передать строку разметки ни как формат (она может содержать символы «%»), ни как строковый аргумент.
Параметры
parent | родительский диалог, или | [allow-none] |
flags | флаги | |
type | тип сообщения | |
buttons | набор кнопок | |
message_format | строка формата в стиле printf, или | [allow-none] |
... | аргументы для |
Возвращаемое значение
новый GtkMessageDialog
gtk_message_dialog_set_markup ()
void gtk_message_dialog_set_markup (GtkMessageDialog *message_dialog,const char *str);
Устанавливает текст диалога с сообщением на str, форматированный с помощью языка разметки текста Pango.
Параметры
message_dialog | ||
str | строка разметки (см. формат разметки Pango) |
gtk_message_dialog_format_secondary_text ()
void gtk_message_dialog_format_secondary_text (GtkMessageDialog *message_dialog,const char *message_format,...);
Устанавливает вторичный текст диалога с сообщением на message_format (в стиле printf()).
Параметры
message_dialog | ||
message_format | строка формата в стиле printf, или | [allow-none] |
... | аргументы для |
gtk_message_dialog_format_secondary_markup ()
void gtk_message_dialog_format_secondary_markup (GtkMessageDialog *message_dialog,const char *message_format,...);
Устанавливает вторичный текст диалога с сообщением на message_format (в стиле printf()), форматированный с помощью языка разметки текста Pango.
По недосмотру эта функция не экранирует специальные XML-символы, как gtk_message_dialog_new_with_markup(). Таким образом, если аргументы могут содержать специальные XML-символы, необходимо использовать g_markup_printf_escaped() для их экранирования.
GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL;
dialog = gtk_message_dialog_new (parent_window,
flags,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Error reading “%s”: %s",
filename,
g_strerror (errno));
// Destroy the dialog when the user responds to it
// (e.g. clicks a button)
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_window_destroy),
NULL);Параметры
message_dialog | ||
message_format | строка разметки в стиле printf (см. формат разметки Pango), или | |
... | аргументы для |
gtk_message_dialog_get_message_area ()
GtkWidget *
gtk_message_dialog_get_message_area (GtkMessageDialog *message_dialog); Возвращает область сообщения диалога. Это ящик, в котором упакованы основные и дополнительные метки диалога. Можно добавлять собственные дополнительные элементы в этот ящик, и они будут отображаться ниже этих меток. См. gtk_dialog_get_content_area() для соответствующей функции в родительском GtkDialog.
Параметры
message_dialog |
Возвращаемое значение
A GtkBox, соответствующий области «message area» в message_dialog .
[transfer none]
Типы и значения
struct GtkMessageDialog
struct GtkMessageDialog;
перечисление GtkMessageType
Тип сообщения, отображаемого в диалоговом окне.
Элементы
GTK_MESSAGE_INFO | Сообщение информационного характера | |
GTK_MESSAGE_WARNING | Сообщение о предупреждении (некритичное) | |
GTK_MESSAGE_QUESTION | Вопрос, требующий выбора | |
GTK_MESSAGE_ERROR | Сообщение об ошибке (критичное) | |
GTK_MESSAGE_OTHER | Ни одно из вышеперечисленного |
перечисление GtkButtonsType
Предварительно настроенные наборы кнопок для диалогового окна. Если ни один из вариантов не подходит, просто используйте GTK_BUTTONS_NONE, а затем вызовите gtk_dialog_add_buttons().
Обратите внимание, что
GTK_BUTTONS_OK,GTK_BUTTONS_YES_NOиGTK_BUTTONS_OK_CANCELне рекомендуются руководством по разработке интерфейса пользователя GNOME (GNOME Human Interface Guidelines).
Элементы
GTK_BUTTONS_NONE | нет кнопок | |
GTK_BUTTONS_OK | кнопка ОК | |
GTK_BUTTONS_CLOSE | кнопка Закрыть | |
GTK_BUTTONS_CANCEL | кнопка Отмена | |
GTK_BUTTONS_YES_NO | кнопки Да и Нет | |
GTK_BUTTONS_OK_CANCEL | кнопки ОК и Отмена |
Подробное описание свойств
Свойство “buttons”
“buttons” GtkButtonsType
Кнопки, отображаемые в диалоговом окне сообщения.
Владелец: GtkMessageDialog
Флаги: Запись / Только для создания
Значение по умолчанию: GTK_BUTTONS_NONE
Свойство “message-area”
“message-area” GtkWidget *
Объект GtkBox, соответствующий области с сообщением в этом диалоговом окне. Подробное описание этой области см. в gtk_message_dialog_get_message_area().
Владелец: GtkMessageDialog
Флаги: Чтение
Свойство “message-type”
“message-type” GtkMessageType
Тип сообщения.
Владелец: GtkMessageDialog
Флаги: Чтение / Запись / Создание
Значение по умолчанию: GTK_MESSAGE_INFO
Свойство “secondary-text”
“secondary-text” char *
Дополнительный текст диалогового окна сообщения.
Владелец: GtkMessageDialog
Флаги: Чтение / Запись
Значение по умолчанию: NULL
Свойство “secondary-use-markup”
“secondary-use-markup” gboolean
TRUE если дополнительный текст диалогового окна включает разметку Pango. См. pango_parse_markup().
Владелец: GtkMessageDialog
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
Свойство “text”
“text” char *
Основной текст диалогового окна сообщения. Если диалоговое окно имеет дополнительный текст, то он будет отображаться как заголовок.
Владелец: GtkMessageDialog
Флаги: Чтение / Запись
Значение по умолчанию: ""
Свойство “use-markup”
“use-markup” gboolean
TRUE если основной текст диалогового окна включает разметку Pango. См. pango_parse_markup().
Владелец: GtkMessageDialog
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkMessageDialog.html