Spec-Zone.ru › GTK 3.24

GtkMessageDialog

GtkMessageDialog — Удобное окно сообщения

Функции

GtkWidget * gtk_message_dialog_new ()
GtkWidget * gtk_message_dialog_new_with_markup ()
void gtk_message_dialog_set_markup ()
void gtk_message_dialog_set_image ()
GtkWidget * gtk_message_dialog_get_image ()
void gtk_message_dialog_format_secondary_text ()
void gtk_message_dialog_format_secondary_markup ()
GtkWidget * gtk_message_dialog_get_message_area ()

Свойства

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

родительский диалог или NULL для отсутствия.

[allow-none]

flags

флаги

type

тип сообщения

buttons

набор кнопок для использования

message_format

строка формата в стиле printf или NULL.

[allow-none]

...

аргументы для message_format

Возвращаемое значение

новый GtkMessageDialog.

[transfer 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

родительский диалог или NULL для отсутствия.

[allow-none]

flags

флаги

type

тип сообщения

buttons

набор кнопок для использования

message_format

строка формата в стиле printf или NULL.

[allow-none]

...

аргументы для message_format

Возвращаемое значение

новый GtkMessageDialog

С версии: 2.4

gtk_message_dialog_set_markup ()

void
gtk_message_dialog_set_markup (GtkMessageDialog *message_dialog,
                               const gchar *str);

Устанавливает текст диалога сообщения в str, форматированный с помощью языка разметки текста Pango.

Параметры

message_dialog

a GtkMessageDialog

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

a GtkMessageDialog

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

a GtkMessageDialog

Возвращаемое значение

изображение диалога.

[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

a GtkMessageDialog

message_format

строка формата в стиле printf или NULL.

[allow-none]

...

аргументы для message_format

С версии: 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

a GtkMessageDialog

message_format

строка разметки в стиле printf (см. формат разметки Pango) или NULL

...

аргументы для message_format

С версии: 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

a GtkMessageDialog

Возвращает

A 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

Кнопки, отображаемые в диалоге сообщения.

Владелец: 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

См. также

GtkDialog

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API