| |
|
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
+----GtkMessageDialogGtkMessageDialog осуществляет 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-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |