[−][src]Trait gtk::DialogExt
Trait containing all Dialog methods.
Implementors
AboutDialog, AppChooserDialog, ColorChooserDialog, Dialog, FileChooserDialog, FontChooserDialog, MessageDialog, RecentChooserDialog
Required methods
fn add_action_widget<P: IsA<Widget>>(
&self,
child: &P,
response_id: ResponseType
)
&self,
child: &P,
response_id: ResponseType
)
Adds an activatable widget to the action area of a Dialog,
connecting a signal handler that will emit the 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
fn add_button(&self, button_text: &str, response_id: ResponseType) -> Widget
Adds a button with the given text and sets things up so that
clicking the button will emit the 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
fn get_content_area(&self) -> Box
fn get_header_bar(&self) -> Option<HeaderBar>
Returns the header bar of self. Note that the
headerbar is only used by the dialog if the
Dialog:use-header-bar property is true.
Returns
the header bar
fn get_response_for_widget<P: IsA<Widget>>(&self, widget: &P) -> ResponseType
Gets the response id of a widget in the action area of a dialog.
widget
a widget in the action area of self
Returns
the response id of widget, or ResponseType::None
if widget doesn’t have a response id set.
fn get_widget_for_response(&self, response_id: ResponseType) -> Option<Widget>
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, or None.
fn response(&self, response_id: ResponseType)
Emits the Dialog::response signal with the given response ID.
Used to indicate that the user has responded to the dialog in some way;
typically either you or DialogExt::run will be monitoring the
::response signal and take appropriate action.
response_id
response ID
fn run(&self) -> ResponseType
Blocks in a recursive main loop until the self either emits the
Dialog::response signal, or is destroyed. If the dialog is
destroyed during the call to DialogExt::run, DialogExt::run returns
ResponseType::None. Otherwise, it returns the response ID from the
::response signal emission.
Before entering the recursive main loop, DialogExt::run calls
WidgetExt::show on the dialog for you. Note that you still
need to show any children of the dialog yourself.
During DialogExt::run, the default behavior of Widget::delete-event
is disabled; if the dialog receives ::delete_event, it will not be
destroyed as windows usually are, and DialogExt::run will return
ResponseType::DeleteEvent. Also, during DialogExt::run the dialog
will be modal. You can force DialogExt::run to return at any time by
calling DialogExt::response to emit the ::response signal. Destroying
the dialog during DialogExt::run is a very bad idea, because your
post-run code won’t know whether the dialog was destroyed or not.
After DialogExt::run returns, you are responsible for hiding or
destroying the dialog if you wish to do so.
Typical usage of this function might be:
GtkWidget *dialog = gtk_dialog_new ();
// Set up dialog...
int result = gtk_dialog_run (GTK_DIALOG (dialog));
switch (result)
{
case GTK_RESPONSE_ACCEPT:
// do_application_specific_something ();
break;
default:
// do_nothing_since_dialog_was_cancelled ();
break;
}
gtk_widget_destroy (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 DialogExt::run call.
Returns
response ID
fn set_default_response(&self, response_id: ResponseType)
Sets the last widget in the dialog’s action area with the given response_id
as the default widget for the dialog. Pressing “Enter” normally activates
the default widget.
response_id
a response ID
fn set_response_sensitive(&self, response_id: ResponseType, setting: bool)
Calls gtk_widget_set_sensitive (widget, @setting)
for each widget in the dialog’s action area with the given response_id.
A convenient way to sensitize/desensitize dialog buttons.
response_id
a response ID
setting
true for sensitive
fn get_property_use_header_bar(&self) -> i32
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.
fn connect_close<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
The ::close signal is a
[keybinding signal][BindingSignal]
which gets emitted when the user uses a keybinding to close
the dialog.
The default binding for this signal is the Escape key.
fn emit_close(&self)
fn connect_response<F: Fn(&Self, ResponseType) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
Emitted when an action widget is clicked, the dialog receives a
delete event, or the application programmer calls DialogExt::response.
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
impl<O: IsA<Dialog>> DialogExt for O[src]
fn add_action_widget<P: IsA<Widget>>(
&self,
child: &P,
response_id: ResponseType
)[src]
&self,
child: &P,
response_id: ResponseType
)
fn add_button(&self, button_text: &str, response_id: ResponseType) -> Widget[src]
fn get_content_area(&self) -> Box[src]
fn get_header_bar(&self) -> Option<HeaderBar>[src]
fn get_response_for_widget<P: IsA<Widget>>(&self, widget: &P) -> ResponseType[src]
fn get_widget_for_response(&self, response_id: ResponseType) -> Option<Widget>[src]
fn response(&self, response_id: ResponseType)[src]
fn run(&self) -> ResponseType[src]
fn set_default_response(&self, response_id: ResponseType)[src]
fn set_response_sensitive(&self, response_id: ResponseType, setting: bool)[src]
fn get_property_use_header_bar(&self) -> i32[src]
fn connect_close<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId[src]
fn emit_close(&self)[src]
fn connect_response<F: Fn(&Self, ResponseType) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId