GtkMessageDialog
GtkMessageDialog — Удобное окно с сообщением
Функции
Свойства
| GtkButtonsType | buttons | Запись / Только для создания |
| GtkWidget * | image | Чтение / Запись |
| GtkWidget * | message-area | Чтение |
| GtkMessageType | message-type | Чтение / Запись / Только для создания |
| gchar * | secondary-text | Чтение / Запись |
| gboolean | secondary-use-markup | Чтение / Запись |
| gchar * | text | Чтение / Запись |
| gboolean | use-markup | Чтение / Запись |
Стилизованные свойства
| gint | 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.
Параметры
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(), так как вы не можете передать строку разметки ни как формат (она может содержать символы «%»), ни как аргумент строки.
Параметры
Возвращаемое значение
новый 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 | строка формата в стиле | [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 | объект GtkMessageDialog | |
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 | объект GtkMessageDialog |
Возвращаемое значение
Объект GtkBox, соответствующий «области сообщения» в message_dialog .
[transfer none]
С: 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
Кнопки, отображаемые в диалоговом окне сообщения.
Флаги: запись / только построение
Значение по умолчанию: GTK_BUTTONS_NONE
Свойство “image”
“image” GtkWidget *
Изображение для этого диалогового окна.
GtkMessageDialog:image устарело с версии 3.12 и его использование в новых кодах не рекомендуется.
Используйте GtkDialog для создания диалоговых окон с изображениями
Флаги: чтение / запись
С: 2.10
Свойство “message-area”
“message-area” GtkWidget *
Объект GtkBox, соответствующий области сообщения этого диалогового окна. Подробное описание этой области см. в gtk_message_dialog_get_message_area().
Флаги: чтение
С: 2.22
Свойство “message-type”
“message-type” GtkMessageType
Тип сообщения.
Флаги: чтение / запись / построение
Значение по умолчанию: GTK_MESSAGE_INFO
Свойство “secondary-text”
“secondary-text” gchar *
Вторичный текст диалогового окна сообщения.
Флаги: чтение / запись
Значение по умолчанию: NULL
С: 2.10
Свойство “secondary-use-markup”
“secondary-use-markup” gboolean
TRUE, если вторичный текст диалогового окна содержит разметку Pango. См. pango_parse_markup().
Флаги: чтение / запись
Значение по умолчанию: FALSE
С: 2.10
Свойство “text”
“text” gchar *
Основной текст диалогового окна сообщения. Если у диалогового окна есть вторичный текст, он будет отображаться как заголовок.
Флаги: чтение / запись
Значение по умолчанию: ""
С: 2.10
Свойство “use-markup”
“use-markup” gboolean
TRUE, если основной текст диалогового окна содержит разметку Pango. См. pango_parse_markup().
Флаги: чтение / запись
Значение по умолчанию: FALSE
С: 2.10
Подробные сведения о свойствах стиля
Свойство стиля “message-border”
“message-border” gint
Ширина рамки вокруг метки в диалоговом окне сообщения.
Флаги: чтение
Допустимые значения: >= 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.22/GtkMessageDialog.html