Native dialogs are platform dialogs that don't use `GtkDialog`.
They are used in order to integrate better with a platform, by looking the same as other native applications and supporting platform specific
features.
The [class@Gtk.Dialog] functions cannot be used on such objects, but we need a similar API in order to drive them. The `GtkNativeDialog` object
is an API that allows you to do this. It allows you to set various common properties on the dialog, as well as show and hide it and get a [
signal@Gtk.NativeDialog:GtkNativeDialog:response] signal when the user finished with the dialog.
Note that unlike `GtkDialog`, `GtkNativeDialog` objects are not toplevel widgets, and GTK does not keep them alive. It is your responsibility
to keep a reference until you are done with the object.