Dialogs
Dialogs are used as secondary windows, to provide specific information or to ask questions. Gtk::Dialog windows contain a few pre-packed widgets to ensure consistency, and a run() method which blocks until the user dismisses the dialog.
There are several derived Dialog classes which you might find useful. Gtk::MessageDialog is used for most simple notifications. But at other times you might need to derive your own dialog class to provide more complex functionality.
To pack widgets into a custom dialog, you should pack them into the Gtk::Box, available via get_content_area(). To just add a Button to the bottom of the Dialog, you could use the add_button() method.
The run() method returns an int. This may be a value from the Gtk::ResponseType if the user closed the dialog by clicking a standard button, or it could be the custom response value that you specified when using add_button().
Reference

MessageDialog
MessageDialog is a convenience class, used to create simple, standard message dialogs, with a message, an icon, and buttons for user response. You can specify the type of message and the text in the constructor, as well as specifying standard buttons via the Gtk::ButtonsType enum.
Reference

Example

MessageDialog
Source Code

FileChooserDialog
The FileChooserDialog is suitable for use with "Open" or "Save" menu items.
Most of the useful member methods for this class are actually in the Gtk::FileChooser base class.
Reference

Example

FileChooser
Source Code

ColorChooserDialog
The ColorChooserDialog allows the user to choose a color. The ColorButton opens a color selection dialog when it is clicked.
Reference

Example

ColorChooserDialog
Source Code

FontChooserDialog
The FontChooserDialog allows the user to choose a font. The FontButton opens a font chooser dialog when it is clicked.
Reference

Example

FontChooserDialog
Source Code

Non-modal AboutDialog
The AboutDialog offers a simple way to display information about a program, like its logo, name, copyright, website and license.
Most dialogs in this chapter are modal, that is, they freeze the rest of the application while they are shown. It's also possible to create a non-modal dialog, which does not freeze other windows in the application. The following example shows a non-modal AboutDialog. This is perhaps not the kind of dialog you would normally make non-modal, but non-modal dialogs can be useful in other cases. E.g. gedit's search-and-replace dialog is non-modal.
Reference

Example

AboutDialog
Source Code