GnomeDialog (or a subclass)
should be used for all dialogs in a Gnome program. the chapter called User
Communication: Dialogs describes the GnomeDialog interface.
If you aren't using Gnome,
GnomeDialog is still useful --- because it
implements all the basic features a dialog really must
have. Studying the
GnomeDialog source is highly recommended (you can
even cut-and-paste if your application is under the
GPL).