#[repr(transparent)]
pub struct Assistant { /* private fields */ }
Expand description

Assistant is used to represent a complex as a series of steps.

An example GtkAssistant

Each step consists of one or more pages. Assistant guides the user through the pages, and controls the page flow to collect the data needed for the operation.

Assistant handles which buttons to show and to make sensitive based on page sequence knowledge and the AssistantPageType of each page in addition to state information like the completed and committed page statuses.

If you have a case that doesn’t quite fit in Assistants way of handling buttons, you can use the AssistantPageType::Custom page type and handle buttons yourself.

Assistant maintains a AssistantPage object for each added child, which holds additional per-child properties. You obtain the AssistantPage for a child with page().

GtkAssistant as GtkBuildable

The Assistant implementation of the Buildable interface exposes the @action_area as internal children with the name “action_area”.

To add pages to an assistant in Builder, simply add it as a child to the Assistant object. If you need to set per-object properties, create a AssistantPage object explicitly, and set the child widget as a property on it.

CSS nodes

Assistant has a single CSS node with the name window and style class .assistant.

Implements

GtkWindowExt, WidgetExt, glib::ObjectExt, AccessibleExt, BuildableExt, ConstraintTargetExt, NativeExt, RootExt, ShortcutManagerExt, WidgetExtManual, AccessibleExtManual

Implementations

Creates a new Assistant.

Returns

a newly created Assistant

Creates a new builder-pattern struct instance to construct Assistant objects.

This method returns an instance of AssistantBuilder which can be used to create Assistant objects.

Adds a widget to the action area of a Assistant.

child

a Widget

Appends a page to the @self.

page

a Widget

Returns

the index (starting at 0) of the inserted page

Erases the visited page history.

GTK will then hide the back button on the current page, and removes the cancel button from subsequent pages.

Use this when the information provided up to the current page is hereafter deemed permanent and cannot be modified or undone. For example, showing a progress page to track a long-running, unreversible operation after the user has clicked apply on a confirmation page.

Returns the page number of the current page.

Returns

The index (starting from 0) of the current page in the @self, or -1 if the @self has no pages, or no current page

Returns the number of pages in the @self

Returns

the number of pages in the @self

Returns the child widget contained in page number @page_num.

page_num

the index of a page in the @self, or -1 to get the last page

Returns

the child widget, or None if @page_num is out of bounds

Returns the AssistantPage object for @child.

child

a child of @self

Returns

the AssistantPage for @child

Gets whether @page is complete.

page

a page of @self

Returns

true if @page is complete.

Gets the title for @page.

page

a page of @self

Returns

the title for @page

Gets the page type of @page.

page

a page of @self

Returns

the page type of @page

Gets a list model of the assistant pages.

Returns

A list model of the pages.

Inserts a page in the @self at a given position.

page

a Widget

position

the index (starting at 0) at which to insert the page, or -1 to append the page to the @self

Returns

the index (starting from 0) of the inserted page

Navigate to the next page.

It is a programming error to call this function when there is no next page.

This function is for use when creating pages of the AssistantPageType::Custom type.

Prepends a page to the @self.

page

a Widget

Returns

the index (starting at 0) of the inserted page

Navigate to the previous visited page.

It is a programming error to call this function when no previous page is available.

This function is for use when creating pages of the AssistantPageType::Custom type.

Removes a widget from the action area of a Assistant.

child

a Widget

Removes the @page_num’s page from @self.

page_num

the index of a page in the @self, or -1 to remove the last page

Switches the page to @page_num.

Note that this will only be necessary in custom buttons, as the @self flow can be set with gtk_assistant_set_forward_page_func().

page_num

index of the page to switch to, starting from 0. If negative, the last page will be used. If greater than the number of pages in the @self, nothing will be done.

Sets the page forwarding function to be @page_func.

This function will be used to determine what will be the next page when the user presses the forward button. Setting @page_func to None will make the assistant to use the default forward function, which just goes to the next visible page.

page_func

the GtkAssistantPageFunc, or None to use the default one

Sets whether @page contents are complete.

This will make @self update the buttons state to be able to continue the task.

page

a page of @self

complete

the completeness status of the page

Sets a title for @page.

The title is displayed in the header area of the assistant when @page is the current page.

page

a page of @self

title

the new title for @page

Sets the page type for @page.

The page type determines the page behavior in the @self.

page

a page of @self

type_

the new type for @page

Forces @self to recompute the buttons state.

GTK automatically takes care of this in most situations, e.g. when the user goes to a different page, or when the visibility or completeness of a page changes.

One situation where it can be necessary to call this function is when changing a value on the current page affects the future page flow of the assistant.

true if the assistant 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.

Emitted when the apply button is clicked.

The default behavior of the Assistant is to switch to the page after the current page, unless the current page is the last one.

A handler for the ::apply signal should carry out the actions for which the wizard has collected data. If the action takes a long time to complete, you might consider putting a page of type AssistantPageType::Progress after the confirmation page and handle this operation within the signal::Assistant::prepare signal of the progress page.

Emitted when then the cancel button is clicked.

Emitted either when the close button of a summary page is clicked, or when the apply button in the last page in the flow (of type AssistantPageType::Confirm) is clicked.

The action signal for the Escape binding.

Emitted when a new page is set as the assistant’s current page, before making the new page visible.

A handler for this signal can do any preparations which are necessary before showing @page.

page

the current page

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Formats the value using the given formatter. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Returns the type identifier of Self.

Auto Trait Implementations

Blanket Implementations

Updates an array of accessible properties. Read more

Updates an array of accessible relations. Read more

Updates an array of accessible states. Read more

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Upcasts an object to a superclass or interface T. Read more

Upcasts an object to a reference of its superclass or interface T. Read more

Tries to downcast to a subclass or interface implementor T. Read more

Tries to downcast to a reference of its subclass or interface implementor T. Read more

Tries to cast to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast and upcast will do many checks at compile-time already. Read more

Tries to cast to reference to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast and upcast will do many checks at compile-time already. Read more

Casts to T unconditionally. Read more

Casts to &T unconditionally. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Returns true if the object is an instance of (can be cast to) T.

Returns the type of the object.

Returns the ObjectClass of the object. Read more

Returns the class of the object.

Returns the class of the object in the given type T. Read more

Returns the interface T of the object. Read more

Similar to Self::set_property but fails instead of panicking.

Sets the property property_name of the object to value value. Read more

Similar to Self::set_property but fails instead of panicking.

Sets the property property_name of the object to value value. Read more

Similar to Self::set_properties but fails instead of panicking.

Sets multiple properties of the object at once. Read more

Similar to Self::set_properties_from_value but fails instead of panicking.

Sets multiple properties of the object at once. Read more

Similar to Self::property but fails instead of panicking.

Gets the property property_name of the object and cast it to the type V. Read more

Similar to Self::property_value but fails instead of panicking.

Gets the property property_name of the object. Read more

Check if the object has a property property_name of the given type_. Read more

Get the type of the property property_name of this object. Read more

Get the ParamSpec of the property property_name of this object.

Return all ParamSpec of the properties of this object.

Freeze all property notifications until the return guard object is dropped. Read more

Set arbitrary data on this object with the given key. Read more

Return previously set arbitrary data of this object with the given key. Read more

Retrieve previously set arbitrary data of this object with the given key. Read more

Set arbitrary data on this object with the given key. Read more

Return previously set arbitrary data of this object with the given key. Read more

Retrieve previously set arbitrary data of this object with the given key. Read more

Block a given signal handler. Read more

Unblock a given signal handler.

Stop emission of the currently emitted signal.

Stop emission of the currently emitted signal by the (possibly detailed) signal name.

Similar to Self::connect but fails instead of panicking.

Connect to the signal signal_name on this object. Read more

Similar to Self::connect_id but fails instead of panicking.

Connect to the signal signal_id on this object. Read more

Similar to Self::connect_local but fails instead of panicking.

Connect to the signal signal_name on this object. Read more

Similar to Self::connect_local_id but fails instead of panicking.

Connect to the signal signal_id on this object. Read more

Similar to Self::connect_unsafe but fails instead of panicking.

Connect to the signal signal_name on this object. Read more

Similar to Self::connect_unsafe_id but fails instead of panicking.

Similar to Self::connect_closure but fails instead of panicking.

Connect a closure to the signal signal_name on this object. Read more

Similar to Self::connect_closure_id but fails instead of panicking.

Connect a closure to the signal signal_id on this object. Read more

Limits the lifetime of closure to the lifetime of the object. When the object’s reference count drops to zero, the closure will be invalidated. An invalidated closure will ignore any calls to Closure::invoke. Read more

Connect to the signal signal_id on this object. Read more

Similar to Self::emit but fails instead of panicking.

Emit signal by signal id. Read more

Similar to Self::emit_with_values but fails instead of panicking.

Same as Self::emit but takes Value for the arguments.

Similar to Self::emit_by_name but fails instead of panicking.

Emit signal by its name. Read more

Similar to Self::emit_by_name_with_values but fails instead of panicking.

Emit signal by its name. Read more

Similar to Self::emit_with_details but fails instead of panicking.

Emit signal by signal id with details. Read more

Similar to Self::emit_with_details_and_values but fails instead of panicking.

Emit signal by signal id with details. Read more

Disconnect a previously connected signal handler.

Connect to the notify signal of the object. Read more

Connect to the notify signal of the object. Read more

Connect to the notify signal of the object. Read more

Notify that the given property has changed its value. Read more

Notify that the given property has changed its value. Read more

Downgrade this object to a weak reference.

Bind property source_property on this object to the target_property on the target object. Read more

Returns the strong reference count of this object.

Ensures that the type has been registered with the type system.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.