| 
 | |
|  | 
| 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 Добавить, Поддержать, Вебмастеру |