Gtk2::MessageDialog(3) User Contributed Perl Documentation Gtk2::MessageDialog(3)

Gtk2::MessageDialog - wrapper for GtkMessageDialog

#
# A modal dialog.  Note that the message is a printf-style format.
#
$dialog = Gtk2::MessageDialog->new ($main_application_window,
                                    'destroy-with-parent',
                                    'question', # message type
                                    'yes-no', # which set of buttons?
                                    "Pay me $%.2f?", $amount);
$response = $dialog->run;
if ($response eq 'yes') {
    send_bill ();
}
$dialog->destroy;
#
# A non-modal dialog.
#
$dialog = Gtk2::MessageDialog->new ($main_application_window,
                                    'destroy-with-parent',
                                    'question', # message type
                                    'ok-cancel', # which set of buttons?
                                    "Self-destruct now?");
# react whenever the user responds.
$dialog->signal_connect (response => sub {
           my ($self, $response) = @_;
           if ($response eq 'ok') {
                   do_the_thing ();
           }
           $self->destroy;
});
$dialog->show_all;

Gtk2::MessageDialog is 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 Gtk2::MessageDialog from Gtk2::Dialog without too much effort, but Gtk2::MessageDialog saves typing and helps create a consistent look and feel for your application.

The easiest way to do a modal message dialog is to use "$dialog->run", which automatically makes your dialog modal and waits for the user to respond to it. You can also pass in the GTK_DIALOG_MODAL flag when creating the MessageDialog.

Glib::Object
+----Glib::InitiallyUnowned
     +----Gtk2::Object
          +----Gtk2::Widget
               +----Gtk2::Container
                    +----Gtk2::Bin
                         +----Gtk2::Window
                              +----Gtk2::Dialog
                                   +----Gtk2::MessageDialog

Glib::Object::_Unregistered::AtkImplementorIface
Gtk2::Buildable

widget = Gtk2::MessageDialog->new ($parent, $flags, $type, $buttons, $format, ...)

  • $parent (Gtk2::Window or undef)
  • $flags (Gtk2::DialogFlags)
  • $type (Gtk2::MessageType)
  • $buttons (Gtk2::ButtonsType)
  • $format (scalar)
  • ... (list)

widget = Gtk2::MessageDialog->new_with_markup ($parent, $flags, $type, $buttons, $message)

  • $parent (Gtk2::Window or undef)
  • $flags (Gtk2::DialogFlags)
  • $type (Gtk2::MessageType)
  • $buttons (Gtk2::ButtonsType)
  • $message (string or undef) a string containing Pango markup

Like "new", but allowing Pango markup tags in the message. Note that this version is not variadic.

Since: gtk+ 2.4

$message_dialog->format_secondary_markup ($message_format, ...)

  • $message_format (scalar)
  • ... (list)

Since: gtk+ 2.6

$message_dialog->format_secondary_text ($message_format, ...)

  • $message_format (scalar)
  • ... (list)

Since: gtk+ 2.6

Since: gtk+ 2.14

$image (Gtk2::Widget)

Since: gtk+ 2.10

$message_dialog->set_markup ($str)

$str (string)

Since: gtk+ 2.4

Since: gtk+ 2.22

'buttons' (Gtk2::ButtonsType : default "none" : writable / construct-only / private / static-nick / static-blurb)
The buttons shown in the message dialog
'image' (Gtk2::Widget : default undef : readable / writable / private / static-nick / static-blurb)
The image
'message-area' (Gtk2::Widget : default undef : readable / private / static-nick / static-blurb)
GtkVBox that holds the dialog's primary and secondary labels
'message-type' (Gtk2::MessageType : default "info" : readable / writable / construct / private / static-nick / static-blurb)
The type of message
'secondary-text' (string : default undef : readable / writable / private / static-nick / static-blurb)
The secondary text of the message dialog
'secondary-use-markup' (boolean : default false : readable / writable / private / static-nick / static-blurb)
The secondary text includes Pango markup.
'text' (string : default "" : readable / writable / private / static-nick / static-blurb)
The primary text of the message dialog
'use-markup' (boolean : default false : readable / writable / private / static-nick / static-blurb)
The primary text of the title includes Pango markup.

'message-border' (integer : default 12 : readable / private / static-nick / static-blurb)
Width of border around the label and image in the message dialog
'use-separator' (boolean : default false : readable / private / static-nick / static-blurb)
Whether to put a separator between the message dialog's text and the buttons

  • 'none' / 'GTK_BUTTONS_NONE'
  • 'ok' / 'GTK_BUTTONS_OK'
  • 'close' / 'GTK_BUTTONS_CLOSE'
  • 'cancel' / 'GTK_BUTTONS_CANCEL'
  • 'yes-no' / 'GTK_BUTTONS_YES_NO'
  • 'ok-cancel' / 'GTK_BUTTONS_OK_CANCEL'

  • 'modal' / 'GTK_DIALOG_MODAL'
  • 'destroy-with-parent' / 'GTK_DIALOG_DESTROY_WITH_PARENT'
  • 'no-separator' / 'GTK_DIALOG_NO_SEPARATOR'

  • 'info' / 'GTK_MESSAGE_INFO'
  • 'warning' / 'GTK_MESSAGE_WARNING'
  • 'question' / 'GTK_MESSAGE_QUESTION'
  • 'error' / 'GTK_MESSAGE_ERROR'
  • 'other' / 'GTK_MESSAGE_OTHER'

Gtk2, Glib::Object, Glib::InitiallyUnowned, Gtk2::Object, Gtk2::Widget, Gtk2::Container, Gtk2::Bin, Gtk2::Window, Gtk2::Dialog

Copyright (C) 2003-2011 by the gtk2-perl team.

This software is licensed under the LGPL. See Gtk2 for a full notice.

2023-07-25 perl v5.38.0