GTK+ Reference Manual
<<< PrevHomeUpNext >>>

GtkMessageDialog

GtkMessageDialog — convenient message window

Synopsis


#include <gtk/gtk.h>


struct      GtkMessageDialog;
enum        GtkMessageType;
enum        GtkButtonsType;
GtkWidget*  gtk_message_dialog_new          (GtkWindow *parent,
                                             GtkDialogFlags flags,
                                             GtkMessageType type,
                                             GtkButtonsType buttons,
                                             const gchar *message_format,
                                             ...);


Object Hierarchy


  GObject
   +----GtkObject
         +----GtkWidget
               +----GtkContainer
                     +----GtkBin
                           +----GtkWindow
                                 +----GtkDialog
                                       +----GtkMessageDialog

Implemented Interfaces

GtkMessageDialog implements AtkImplementorIface

Properties


  "message-type"         GtkMessageType       : Read / Write / Construct
  "buttons"              GtkButtonsType       : Write / Construct Only

Style Properties


  "message-border"       gint                 : Read

Description

GtkMessageDialog presents a dialog with an image representing the type of message (Error, Question, etc.) alongside some message text. It's simply a convenience widget; you could construct the equivalent of GtkMessageDialog from GtkDialog without too much effort, but GtkMessageDialog saves typing.

The easiest way to do a modal message dialog is to use gtk_dialog_run(), though you can also pass in the GTK_DIALOG_MODAL flag, gtk_dialog_run() automatically makes the dialog modal and waits for the user to respond to it. gtk_dialog_run() returns when any dialog button is clicked.

Example 2. A modal dialog.

 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);

You might do a non-modal GtkMessageDialog as follows:

Example 3. A non-modal dialog.

 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));

 /* Destroy the dialog when the user responds to it (e.g. clicks a button) */
 g_signal_connect_swapped (GTK_OBJECT (dialog), "response",
                           G_CALLBACK (gtk_widget_destroy),
                           GTK_OBJECT (dialog));

Details

struct GtkMessageDialog

struct GtkMessageDialog;


enum GtkMessageType

typedef enum
{
  GTK_MESSAGE_INFO,
  GTK_MESSAGE_WARNING,
  GTK_MESSAGE_QUESTION,
  GTK_MESSAGE_ERROR
} GtkMessageType;

The type of message being displayed in the dialog.

GTK_MESSAGE_INFO

Informational message

GTK_MESSAGE_WARNING

Nonfatal warning message

GTK_MESSAGE_QUESTION

Question requiring a choice

GTK_MESSAGE_ERROR

Fatal error message


enum GtkButtonsType

typedef enum
{
  GTK_BUTTONS_NONE,
  GTK_BUTTONS_OK,
  GTK_BUTTONS_CLOSE,
  GTK_BUTTONS_CANCEL,
  GTK_BUTTONS_YES_NO,
  GTK_BUTTONS_OK_CANCEL
} GtkButtonsType;

Prebuilt sets of buttons for the dialog. If none of these choices are appropriate, simply use GTK_BUTTONS_NONE then call gtk_dialog_add_buttons().

GTK_BUTTONS_NONE

no buttons at all

GTK_BUTTONS_OK

an OK button

GTK_BUTTONS_CLOSE

a Close button

GTK_BUTTONS_CANCEL

a Cancel button

GTK_BUTTONS_YES_NO

Yes and No buttons

GTK_BUTTONS_OK_CANCEL

OK and Cancel buttons


gtk_message_dialog_new ()

GtkWidget*  gtk_message_dialog_new          (GtkWindow *parent,
                                             GtkDialogFlags flags,
                                             GtkMessageType type,
                                             GtkButtonsType buttons,
                                             const gchar *message_format,
                                             ...);

Creates a new message dialog, which is a simple dialog with an icon indicating the dialog type (error, warning, etc.) and some text the user may want to see. When the user clicks a button a "response" signal is emitted with response IDs from GtkResponseType. See GtkDialog for more details.

parent :

transient parent, or NULL for none

flags :

flags

type :

type of message

buttons :

set of buttons to use

message_format :

printf()-style format string, or NULL

... :

arguments for message_format

Returns :

a new GtkMessageDialog

Properties

"message-type" (GtkMessageType : Read / Write / Construct)

The type of message.

"buttons" (GtkButtonsType : Write / Construct Only)

The buttons shown in the message dialog.

Style Properties

"message-border" (gint : Read)

Width of border around the label and image in the message dialog.

See Also

GtkDialog

<<< PrevHomeUpNext >>>
GtkInvisibleGtkPlug