Dialogrutor
Gtk::Dialog och klasserna som härleds från den är föråldrade sedan gtkmm 4.10. De kan fortfarande användas i gtkmm4-program, förutsatt att GTKMM_DISABLE_DEPRECATED och GDKMM_DISABLE_DEPRECATED inte har definierats. Några av dialogklasserna ersätts av klasser som finns tillgängliga sedan gtkmm 4.10.
Exemplen i detta kapitel använder klasser som finns tillgängliga sedan gtkmm 4.10. Liknande exempel med de föråldrade klasserna finns tillgängliga i grenen gtkmm-4-0 i git-arkivet.
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 response signal which is emitted when the user dismisses the dialog.
Det finns flera härledda Dialog-klasser som du kan finna användbara. Gtk::MessageDialog används för de enklaste aviseringarna. Men andra gånger kan du behöva härleda din egen dialogklass för att tillhandahålla mer komplex funktionalitet.
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 response signal handler receives 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().
För att visa dialogrutan, anropa set_visible(true). Om samma dialoginstans kommer visas flera gånger måste du också anropa set_hide_on_close(), annars kommer dialogrutan förstöras då den stängs. Anslut till response-signalen om du vill veta vilken knapp som trycktes på. response-signalhanteraren är också var du ska dölja dialogrutan.