pub trait NativeDialogExt: 'static {
Show 17 methods fn destroy(&self); fn is_modal(&self) -> bool; fn title(&self) -> Option<GString>; fn transient_for(&self) -> Option<Window>; fn is_visible(&self) -> bool; fn hide(&self); fn run(&self) -> ResponseType; fn set_modal(&self, modal: bool); fn set_title(&self, title: &str); fn set_transient_for(&self, parent: Option<&impl IsA<Window>>); fn show(&self); fn set_visible(&self, visible: bool); fn connect_response<F: Fn(&Self, ResponseType) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_modal_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_title_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_transient_for_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_visible_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
}
Expand description

Required Methods

Returns whether the dialog is modal. See set_modal().

Returns

true if the dialog is set to be modal

Gets the title of the NativeDialog.

Returns

the title of the dialog, or None if none has been set explicitly. The returned string is owned by the widget and must not be modified or freed.

Fetches the transient parent for this window. See set_transient_for().

Returns

the transient parent for this window, or None if no transient parent has been set.

Determines whether the dialog is visible.

Returns

true if the dialog is visible

Hides the dialog if it is visilbe, aborting any interaction. Once this is called the signal::NativeDialog::response signal will not be emitted until after the next call to show().

If the dialog is not visible this does nothing.

Blocks in a recursive main loop until self emits the signal::NativeDialog::response signal. It then returns the response ID from the ::response signal emission.

Before entering the recursive main loop, run() calls show() on the dialog for you.

After run() returns, then dialog will be hidden.

Typical usage of this function might be:

⚠️ The following code is in C ⚠️

  gint result = gtk_native_dialog_run (GTK_NATIVE_DIALOG (dialog));
  switch (result)
    {
      case GTK_RESPONSE_ACCEPT:
         do_application_specific_something ();
         break;
      default:
         do_nothing_since_dialog_was_cancelled ();
         break;
    }
  g_object_unref (dialog);

Note that even though the recursive main loop gives the effect of a modal dialog (it prevents the user from interacting with other windows in the same window group while the dialog is run), callbacks such as timeouts, IO channel watches, DND drops, etc, will be triggered during a run() call.

Returns

response ID

Sets a dialog modal or non-modal. Modal dialogs prevent interaction with other windows in the same application. To keep modal dialogs on top of main application windows, use set_transient_for() to make the dialog transient for the parent; most [window managers][gtk-X11-arch] will then disallow lowering the dialog below the parent.

whether the window is modal

Sets the title of the NativeDialog.

title

title of the dialog

Dialog windows should be set transient for the main application window they were spawned from. This allows [window managers][gtk-X11-arch] to e.g. keep the dialog on top of the main window, or center the dialog over the main window.

Passing None for parent unsets the current transient window.

parent

parent window, or None

Shows the dialog on the display, allowing the user to interact with it. When the user accepts the state of the dialog the dialog will be automatically hidden and the signal::NativeDialog::response signal will be emitted.

Multiple calls while the dialog is visible will be ignored.

Available on crate feature v3_20 only.

Whether the window is currenlty visible.

Available on crate feature v3_20 only.

Emitted when the user responds to the dialog.

When this is called the dialog has been hidden.

If you call hide() before the user responds to the dialog this signal will not be emitted.

response_id

the response ID

Available on crate feature v3_20 only.
Available on crate feature v3_20 only.
Available on crate feature v3_20 only.
Available on crate feature v3_20 only.

Implementors