Spec-Zone.ru › GTK 3.22

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 Чтение / Запись / Только для создания
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.

Параметры

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

объект 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

объект 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

См. также

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.22/GtkMessageDialog.html

Spec-Zone.ru

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