GtkMessageDialog
GtkMessageDialog — Удобное окно сообщения
Функции
Свойства
| GtkButtonsType | buttons | Запись/Только для построения |
| GtkWidget * | image | Чтение/Запись |
| GtkWidget * | message-area | Чтение |
| GtkMessageType | message-type | Чтение/Запись/Только для построения |
| char * | secondary-text | Чтение/Запись |
| gboolean | secondary-use-markup | Чтение/Запись |
| char * | text | Чтение/Запись |
| gboolean | use-markup | Чтение/Запись |
Стилизованные свойства
| int | message-border | Чтение |
Типы и значения
| struct | GtkMessageDialog |
| enum | GtkMessageType |
| enum | GtkButtonsType |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkContainer
╰── GtkBin
╰── GtkWindow
╰── GtkDialog
╰── GtkMessageDialog
Реализованные интерфейсы
GtkMessageDialog реализует AtkImplementorIface и GtkBuildable.
Включенные файлы
#include <gtk/gtk.h>
Описание
GtkMessageDialog представляет диалоговое окно с текстом сообщения. Это просто удобный виджет; вы можете создать эквивалент GtkMessageDialog из GtkDialog без особых усилий, но GtkMessageDialog экономит набирание текста.
Различие от GtkDialog заключается в том, что GtkMessageDialog устанавливает свойство “skip-taskbar-hint” в TRUE, чтобы диалоговое окно по умолчанию скрывалось из панели задач.
Самый простой способ создать модальное диалоговое окно сообщения — использовать gtk_dialog_run(), хотя вы также можете передать флаг GTK_DIALOG_MODAL, gtk_dialog_run() автоматически делает диалоговое окно модальным и ожидает, пока пользователь не ответит на него. gtk_dialog_run() возвращается, когда нажимается любая кнопка диалогового окна.
Пример использования модального диалогового окна:
Можно сделать немодальное GtkMessageDialog следующим образом:
Пример немодального диалогового окна:
GtkMessageDialog как GtkBuildable
Реализация GtkMessageDialog интерфейса GtkBuildable предоставляет область сообщений как внутренний дочерний элемент с именем «message_area».
Функции
gtk_message_dialog_new ()
GtkWidget * gtk_message_dialog_new (GtkWindow *parent,GtkDialogFlags flags,GtkMessageType type,GtkButtonsType buttons,const gchar *message_format,...);
Создаёт новый диалог сообщения, который представляет собой простой диалог с некоторым текстом, который пользователь может увидеть. Когда пользователь нажимает кнопку, генерируется сигнал «response» с идентификаторами ответов из 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 gchar *message_format,...);
Создаёт новый диалог сообщения, который представляет собой простой диалог с некоторым текстом, форматированным с помощью языка разметки текста Pango. Когда пользователь нажимает кнопку, генерируется сигнал «response» с идентификаторами ответов из GtkResponseType. Для получения более подробной информации см. GtkDialog.
Специальные символы XML в переданных в эту функцию аргументах printf() будут автоматически экранированы по мере необходимости. (См. g_markup_printf_escaped() для реализации этого.) Обычно это то, что вам нужно, но если у вас есть существующая строка разметки Pango, которую вы хотите использовать буквально как метку, вам нужно использовать gtk_message_dialog_set_markup() вместо этого, так как вы не можете передать строку разметки в качестве формата (она может содержать символы «%») или как аргумент строки.
Параметры
parent | родительский диалог или | [allow-none] |
flags | флаги | |
type | тип сообщения | |
buttons | набор кнопок для использования | |
message_format | строка формата в стиле printf или | [allow-none] |
... | аргументы для |
Возвращаемое значение
новый GtkMessageDialog
С версии: 2.4
gtk_message_dialog_set_markup ()
void gtk_message_dialog_set_markup (GtkMessageDialog *message_dialog,const gchar *str);
Устанавливает текст диалога сообщения в str, форматированный с помощью языка разметки текста Pango.
Параметры
message_dialog | ||
str | строка разметки (см. формат разметки Pango) |
С версии: 2.4
gtk_message_dialog_set_image ()
void gtk_message_dialog_set_image (GtkMessageDialog *dialog,GtkWidget *image);
gtk_message_dialog_set_image устарело с версии 3.12 и не должно использоваться в новом коде.
Используйте GtkDialog для создания диалогов с изображениями
Устанавливает изображение диалога в image .
Параметры
dialog | ||
image | изображение |
С версии: 2.10
gtk_message_dialog_get_image ()
GtkWidget *
gtk_message_dialog_get_image (GtkMessageDialog *dialog); gtk_message_dialog_get_image устарело с версии 3.12 и не должно использоваться в новом коде.
Используйте GtkDialog для диалогов с изображениями
Получает изображение диалога.
Параметры
dialog |
Возвращаемое значение
изображение диалога.
[transfer none]
С версии: 2.14
gtk_message_dialog_format_secondary_text ()
void gtk_message_dialog_format_secondary_text (GtkMessageDialog *message_dialog,const gchar *message_format,...);
Устанавливает дополнительный текст диалога сообщения в message_format (в стиле printf()).
Параметры
message_dialog | ||
message_format | строка формата в стиле printf или | [allow-none] |
... | аргументы для |
С версии: 2.6
gtk_message_dialog_format_secondary_markup ()
void gtk_message_dialog_format_secondary_markup (GtkMessageDialog *message_dialog,const gchar *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;
dialog = gtk_message_dialog_new (parent_window,
flags,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Error reading “%s”: %s",
filename,
g_strerror (errno));
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);Параметры
message_dialog | ||
message_format | строка разметки в стиле printf (см. формат разметки Pango) или | |
... | аргументы для |
С версии: 2.6
gtk_message_dialog_get_message_area ()
GtkWidget *
gtk_message_dialog_get_message_area (GtkMessageDialog *message_dialog); Возвращает область сообщения диалога. Это ящик, где упакованы основные и дополнительные метки диалога. Вы можете добавить собственное дополнительное содержимое в этот ящик, и оно появится под этими метками. См. gtk_dialog_get_content_area() для соответствующей функции в родительском GtkDialog.
Параметры
message_dialog |
С: 2.22
Типы и значения
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.
Элементы
GTK_BUTTONS_NONE | нет кнопок | |
GTK_BUTTONS_OK | кнопка OK | |
GTK_BUTTONS_CLOSE | кнопка Закрыть | |
GTK_BUTTONS_CANCEL | кнопка Отмена | |
GTK_BUTTONS_YES_NO | кнопки Да и Нет | |
GTK_BUTTONS_OK_CANCEL | кнопки OK и Отмена |
Подробные сведения о свойствах
Свойство “buttons”
“buttons” GtkButtonsType
Кнопки, отображаемые в диалоге сообщения.
Владелец: GtkMessageDialog
Флаги: Запись / Только для конструирования
Значение по умолчанию: GTK_BUTTONS_NONE
Свойство “image”
“image” GtkWidget *
Изображение для этого диалога.
GtkMessageDialog:image устарело с версии 3.12 и не должно использоваться в новом коде.
Используйте GtkDialog для создания диалогов с изображениями
Владелец: GtkMessageDialog
Флаги: Чтение / Запись
С: 2.10
Свойство “message-area”
“message-area” GtkWidget *
The GtkBox соответствующий области сообщения этого диалога. См. gtk_message_dialog_get_message_area() для подробного описания этой области.
Владелец: GtkMessageDialog
Флаги: Чтение
С: 2.22
Свойство “message-type”
“message-type” GtkMessageType
Тип сообщения.
Владелец: GtkMessageDialog
Флаги: Чтение / Запись / Конструктор
Значение по умолчанию: GTK_MESSAGE_INFO
Свойство “secondary-text”
“secondary-text” char *
Дополнительный текст диалога сообщения.
Владелец: GtkMessageDialog
Флаги: Чтение / Запись
Значение по умолчанию: NULL
С: 2.10
Свойство “secondary-use-markup”
“secondary-use-markup” gboolean
TRUE если дополнительный текст диалога содержит разметку Pango. См. pango_parse_markup().
Владелец: GtkMessageDialog
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С: 2.10
Свойство “text”
“text” char *
Основной текст диалога сообщения. Если диалог имеет дополнительный текст, он будет отображаться как заголовок.
Владелец: GtkMessageDialog
Флаги: Чтение / Запись
Значение по умолчанию: ""
С: 2.10
Свойство “use-markup”
“use-markup” gboolean
TRUE если основной текст диалога содержит разметку Pango. См. pango_parse_markup().
Владелец: GtkMessageDialog
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С: 2.10
Подробности стилизованных свойств
Стилизованное свойство “message-border”
“message-border” int
Ширина рамки вокруг метки в диалоге сообщения.
Владелец: GtkMessageDialog
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 12
См. также
© 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/GtkMessageDialog.html