Trait gtk4::prelude::DialogExt

source ·
pub trait DialogExt: 'static {
    fn add_action_widget(
        &self,
        child: &impl IsA<Widget>,
        response_id: ResponseType
    ); fn add_button(&self, button_text: &str, response_id: ResponseType) -> Widget; fn content_area(&self) -> Box; fn header_bar(&self) -> HeaderBar; fn widget_for_response(&self, response_id: ResponseType) -> Option<Widget>; fn response(&self, response_id: ResponseType); fn set_default_response(&self, response_id: ResponseType); fn set_response_sensitive(&self, response_id: ResponseType, setting: bool); fn use_header_bar(&self) -> i32; fn connect_close<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId; fn emit_close(&self); fn connect_response<F: Fn(&Self, ResponseType) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; }
Expand description

Required Methods§

Adds an activatable widget to the action area of a Dialog.

GTK connects a signal handler that will emit the signal::Dialog::response signal on the dialog when the widget is activated. The widget is appended to the end of the dialog’s action area.

If you want to add a non-activatable widget, simply pack it into the @action_area field of the Dialog struct.

child

an activatable widget

response_id

response ID for @child

Adds a button with the given text.

GTK arranges things so that clicking the button will emit the signal::Dialog::response signal with the given @response_id. The button is appended to the end of the dialog’s action area. The button widget is returned, but usually you don’t need it.

button_text

text of button

response_id

response ID for the button

Returns

the Button widget that was added

Returns the content area of @self.

Returns

the content area Box.

Returns the header bar of @self.

Note that the headerbar is only used by the dialog if the property::Dialog::use-header-bar property is true.

Returns

the header bar

Gets the widget button that uses the given response ID in the action area of a dialog.

response_id

the response ID used by the @self widget

Returns

the @widget button that uses the given @response_id

Emits the ::response signal with the given response ID.

Used to indicate that the user has responded to the dialog in some way.

response_id

response ID

Sets the default widget for the dialog based on the response ID.

Pressing “Enter” normally activates the default widget.

response_id

a response ID

A convenient way to sensitize/desensitize dialog buttons.

Calls gtk_widget_set_sensitive (widget, @setting) for each widget in the dialog’s action area with the given @response_id.

response_id

a response ID

setting

true for sensitive

true if the dialog uses a headerbar for action buttons instead of the action-area.

For technical reasons, this property is declared as an integer property, but you should only set it to true or false.

Creating a dialog with headerbar

Builtin Dialog subclasses such as ColorChooserDialog set this property according to platform conventions (using the property::Settings::gtk-dialogs-use-header setting).

Here is how you can achieve the same:

⚠️ The following code is in c ⚠️

g_object_get (settings, "gtk-dialogs-use-header", &header, NULL);
dialog = g_object_new (GTK_TYPE_DIALOG, header, TRUE, NULL);

Emitted when the user uses a keybinding to close the dialog.

This is a keybinding signal.

The default binding for this signal is the Escape key.

Emitted when an action widget is clicked.

The signal is also emitted when the dialog receives a delete event, and when response() is called. On a delete event, the response ID is ResponseType::DeleteEvent. Otherwise, it depends on which action widget was clicked.

response_id

the response ID

Implementors§