Trait gtk::prelude::NativeDialogExt
source · [−]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
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.
fn transient_for(&self) -> Option<Window>
fn transient_for(&self) -> Option<Window>
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.
fn is_visible(&self) -> bool
fn is_visible(&self) -> bool
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.
fn run(&self) -> ResponseType
fn run(&self) -> ResponseType
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.
modal
whether the window is modal
fn set_transient_for(&self, parent: Option<&impl IsA<Window>>)
fn set_transient_for(&self, parent: Option<&impl IsA<Window>>)
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.
fn set_visible(&self, visible: bool)
fn set_visible(&self, visible: bool)
v3_20
only.Whether the window is currenlty visible.
fn connect_response<F: Fn(&Self, ResponseType) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_response<F: Fn(&Self, ResponseType) + 'static>(
&self,
f: F
) -> SignalHandlerId
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
fn connect_modal_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_modal_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
v3_20
only.fn connect_title_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_title_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
v3_20
only.fn connect_transient_for_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_transient_for_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
v3_20
only.fn connect_visible_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_visible_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
v3_20
only.Implementors
impl<O: IsA<NativeDialog>> NativeDialogExt for O
v3_20
only.