| |
GTK+ Reference Manual |
||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Style Properties |
GtkMessageDialogGtkMessageDialog Окно сообщений. |
#include <gtk/gtk.h> GtkMessageDialog; enum GtkMessageType; enum GtkButtonsType; GtkWidget* gtk_message_dialog_new (GtkWindow *parent, GtkDialogFlags flags, GtkMessageType type, GtkButtonsType buttons, const gchar *message_format, ...); GtkWidget* gtk_message_dialog_new_with_markup (GtkWindow *parent, GtkDialogFlags flags, GtkMessageType type, GtkButtonsType buttons, const gchar *message_format, ...); void gtk_message_dialog_set_markup (GtkMessageDialog *message_dialog, const gchar *str); void gtk_message_dialog_set_image (GtkMessageDialog *dialog, GtkWidget *image); void gtk_message_dialog_format_secondary_text (GtkMessageDialog *message_dialog, const gchar *message_format, ...); void gtk_message_dialog_format_secondary_markup (GtkMessageDialog *message_dialog, const gchar *message_format, ...);
GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkContainer +----GtkBin +----GtkWindow +----GtkDialog +----GtkMessageDialog
GtkMessageDialog осуществляет AtkImplementorIface.
"buttons" GtkButtonsType : Write / Construct Only "image" GtkWidget : Read / Write "message-type" GtkMessageType : Read / Write / Construct "secondary-text" gchararray : Read / Write "secondary-use-markup" gboolean : Read / Write "text" gchararray : Read / Write "use-markup" gboolean : Read / Write
"message-border" gint : Read "use-separator" gboolean : Read
GtkMessageDialog представляет диалог с изображением типа сообщения (Error, Question, etc.) расположенным рядом с некоторым текстом. Это просто удобный виджет; вы можете сконструировать эквивалент GtkMessageDialog из GtkDialog без больших усилий, но GtkMessageDialog сохраняет тип.
Легчайший путь выполнить модальный диалог сообщения это использование gtk_dialog_run(), хотя вы можете поместить флаг GTK_DIALOG_MODAL, gtk_dialog_run() автоматически создаёт диалог модальным и ожидает ответа от пользователя. gtk_dialog_run() возвращает когда нажата какая нибудь кнопка диалога.
Пример 2. Модальный диалог.
dialog = gtk_message_dialog_new (main_application_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Error loading file '%s': %s", filename, g_strerror (errno)); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog);
Вы можете сделать не модальный диалог GtkMessageDialog как показано в следующем примере:
Пример 3. Не модальный диалог.
dialog = gtk_message_dialog_new (main_application_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Error loading file '%s': %s", filename, g_strerror (errno)); /* Закрывает диалог когда пользователь отреагировал на него (например нажал кнопку) */ g_signal_connect_swapped (dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog);
typedef struct _GtkMessageDialog GtkMessageDialog;
typedef enum { GTK_MESSAGE_INFO, GTK_MESSAGE_WARNING, GTK_MESSAGE_QUESTION, GTK_MESSAGE_ERROR } GtkMessageType;
Тип сообщения которое будет отображено в диалоге.
GTK_MESSAGE_INFO |
Информационное сообщение |
GTK_MESSAGE_WARNING |
Не критическое предупреждение |
GTK_MESSAGE_QUESTION |
Вопрос нуждающийся в выборе |
GTK_MESSAGE_ERROR |
Сообщение о критической ошибке |
typedef enum { GTK_BUTTONS_NONE, GTK_BUTTONS_OK, GTK_BUTTONS_CLOSE, GTK_BUTTONS_CANCEL, GTK_BUTTONS_YES_NO, GTK_BUTTONS_OK_CANCEL } GtkButtonsType;
Предварительно подготовленные кнопки для диалога. Если нет соответствующей альтернативы, просто используется GTK_BUTTONS_NONE затем вызывается gtk_dialog_add_buttons().
GTK_BUTTONS_NONE |
Нет никаких кнопок |
GTK_BUTTONS_OK |
Кнопка OK |
GTK_BUTTONS_CLOSE |
Кнопка Close |
GTK_BUTTONS_CANCEL |
Кнопка Cancel |
GTK_BUTTONS_YES_NO |
Кнопки Yes и No |
GTK_BUTTONS_OK_CANCEL |
Кнопки OK и Cancel |
GtkWidget* gtk_message_dialog_new (GtkWindow *parent, GtkDialogFlags flags, GtkMessageType type, GtkButtonsType buttons, const gchar *message_format, ...);
Создаёт новый диалог сообщения, который является простым диалогом со значком, указывающим тип сообщения (error, warning, etc.) и некоторым текстом который может видеть пользователь. Когда пользователь нажимает кнопку издаётся сигнал "response" с ответным IDs из GtkResponseType. Смотрите GtkDialog для подробностей.
parent : |
Переходный родитель, или NULL |
flags : |
флаги |
type : |
Тип сообщения |
buttons : |
Установка используемых кнопок |
message_format : |
printf()- стиль форматирования стоки, или NULL |
... : |
Аргументы для message_format |
Возвращает : |
новый GtkMessageDialog |
GtkWidget* gtk_message_dialog_new_with_markup (GtkWindow *parent, GtkDialogFlags flags, GtkMessageType type, GtkButtonsType buttons, const gchar *message_format, ...);
Создаёт новый диалог сообщение, который является простым диалогом со значком, указывающим тип сообщения (error, warning, etc.) и некоторым текстом который маркирован с Pango text markup language. Когда пользователь нажимает кнопку издаётся сигнал "response" с ответным IDs из GtkResponseType. Смотрите GtkDialog для подробностей.
Специальные символы XML помещаемые как аргументы в printf() будут автоматически сброшены по необходимости. (Смотрите g_markup_printf_escaped() чтобы понять как это осуществляется.) Обычно это всё что вам нужно, но если вы хотите в качестве метки использовать существующую строку маркированную Pango, то вам нужно использовать gtk_message_dialog_set_markup(), так как вы не сможете поместить любую маркированную строку как формат (может содержать символы '%') или как строковый аргумент.
GtkWidget *dialog; dialog = gtk_message_dialog_new (main_application_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, NULL); gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog), markup);
parent : |
Переходный родитель, или NULL |
flags : |
флаги |
type : |
Тип сообщения |
buttons : |
Установленные кнопки для использования |
message_format : |
printf()- стиль форматирования строки, или NULL |
... : |
Аргументы для message_format |
Возвращает : |
новый GtkMessageDialog |
Начиная с версии 2.4
void gtk_message_dialog_set_markup (GtkMessageDialog *message_dialog, const gchar *str);
Устанавливает текст диалога сообщения как str, который маркирован Pango text markup language.
message_dialog : |
|
str : |
Маркированная строка (смотрите Pango markup format) |
Начиная с версии 2.4
void gtk_message_dialog_set_image (GtkMessageDialog *dialog, GtkWidget *image);
Устанавливает значок диалога как image
.
|
|
|
изображение |
Начиная с версии 2.10
void gtk_message_dialog_format_secondary_text (GtkMessageDialog *message_dialog, const gchar *message_format, ...);
Устанавливает вторичный текст диалога сообщения как message_format (с printf()- стилем).
Помните эта установка вторичного текста делает первичный текст полужирным, если вы не обеспечили явную разметку.
message_dialog : |
|
message_format : |
printf()- стиль форматирования строки, или NULL |
... : |
Аргументы для message_format |
Начиная с версии 2.6
void gtk_message_dialog_format_secondary_markup (GtkMessageDialog *message_dialog, const gchar *message_format, ...);
Устанавливает вторичный текст сообщения как message_format (с printf()- стиль), который маркирован Pango text markup language.
Помните эта установка вторичного текста делает первичный текст полужирным, если вы не обеспечили явную разметку.
Из-за оплошности, эта функция не сбрасывает специальные символы XML как это делает gtk_message_dialog_new_with_markup(). Поэтому, если параметры содержат специальные символы XML, вы должны использовать g_markup_printf_escaped() для их сброса.
gchar *msg; msg = g_markup_printf_escaped (message_format, ...); gtk_message_dialog_format_secondary_markup (message_dialog, "%s", msg); g_free (msg);
message_dialog : |
|
message_format : |
printf()- стиль маркированной строки (смотрите Pango markup format), или NULL |
... : |
Аргументы для message_format |
Начиная с версии 2.6
"buttons" GtkButtonsType : Write / Construct Only
The buttons shown in the message dialog.
Значение по умолчанию: GTK_BUTTONS_NONE
image
""image" GtkWidget : Read / Write
Изображение для этого диалога.
Начиная с версии 2.10
"message-type" GtkMessageType : Read / Write / Construct
Тип сообщения.
Значение по умолчанию: GTK_MESSAGE_INFO
secondary-text
""secondary-text" gchararray : Read / Write
Вторичный текст диалога сообщения.
Значение по умолчанию: NULL
Начиная с версии 2.10
secondary-use-markup
""secondary-use-markup" gboolean : Read / Write
TRUE
если вторичный текст диалога включает
Pango маркировку. Смотрите pango_parse_markup()
.
Значение по умолчанию: FALSE
Начиная с версии 2.10
text
""text" gchararray : Read / Write
Первичный текст диалога сообщений. Если диалог имеет вторичный текст, первичный выглядит как заголовок.
Значение по умолчанию: NULL
Начиная с версии 2.10
use-markup
""use-markup" gboolean : Read / Write
TRUE
если первичный текст диалога включает
Pango маркировку. Смотрите pango_parse_markup()
.
Значение по умолчанию: FALSE
Начиная с версии 2.10
"message-border" gint : Read
Ширина кромки вокруг метки и изображения в диалоге сообщения.
Допустимые значения: >= 0
Значение по умолчанию: 12
"use-separator" gboolean : Read
Включать ли разделитель между текстом диалога сообщения и кнопками.
Значение по умолчанию: FALSE
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |