Spec-Zone.ru › GTK 3.20

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 * область-сообщения Чтение
GtkMessageType тип-сообщения Чтение / Запись / Только для создания
gchar * вторичный-текст Чтение / Запись
gboolean вторичный-формат-разметки Чтение / Запись
gchar * текст Чтение / Запись
gboolean использовать-разметку Чтение / Запись

Стилизованные свойства

gint граница-сообщения Чтение

Типы и значения

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

C: 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)

C: 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

изображение

C: 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]

C: 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

C: 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

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

Объект GtkVBox, соответствующий «области сообщения» в message_dialog .

[передача 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

кнопка ОК

GTK_BUTTONS_CLOSE

кнопка Закрыть

GTK_BUTTONS_CANCEL

кнопка Отмена

GTK_BUTTONS_YES_NO

кнопки Да и Нет

GTK_BUTTONS_OK_CANCEL

кнопки ОК и Отмена

Подробное описание свойств

Свойство “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.20/GtkMessageDialog.html

Spec-Zone.ru

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