# Gtk::Assistant Class Reference
[Dialogs]

A widget used to guide users through multi-step operations. More...

Inherits Gtk::Window.

Collaboration diagram for Gtk::Assistant:
[legend]

List of all members.

## Public Types

typedef sigc::slot< int, int > | SlotForwardPage

## Public Member Functions

virtual | ~Assistant ()
GtkAssistant* | gobj ()
| Provides access to the underlying C GtkObject.
const GtkAssistant* | gobj () const
| Provides access to the underlying C GtkObject.
| Assistant ()
void | next_page ()
void | previous_page ()
int | get_current_page () const
| Returns the page number of the current page.
void | set_current_page (int page_num)
| Switches the page to page_num.
int | get_n_pages () const
| Returns the number of pages in the assistant.
Widget* | get_nth_page (int page_num)
| Returns the child widget contained in page number page_num.
const Widget* | get_nth_page (int page_num) const
| Returns the child widget contained in page number page_num.
int | prepend_page (Widget& page)
| Prepends a page to the assistant.
int | append_page (Widget& page)
| Appends a page to the assistant.
int | insert_page (Widget& page, int position)
| Inserts a page in the assistant at a given position.
void | set_forward_page_func (const SlotForwardPage& slot)
void | set_page_type (const Widget& page, AssistantPageType type)
| Sets the page type for page.
AssistantPageType | get_page_type (const Widget& page) const
| Gets the page type of page.
void | set_page_title (const Widget& page, const Glib::ustring& title)
| Sets a title for page.
Glib::ustring | get_page_title (const Widget& page) const
| Gets the title for page.
void | set_page_header_image (const Widget& page, const Glib::RefPtr< Gdk::Pixbuf >& pixbuf)
| Sets a header image for page.
Glib::RefPtr< Gdk::Pixbuf > | get_page_header_image (const Widget& page)
| Gets the header image for page.
Glib::RefPtr< const Gdk::Pixbuf > | get_page_header_image (const Widget& page) const
| Gets the header image for page.
void | set_page_side_image (const Widget& page, const Glib::RefPtr< Gdk::Pixbuf >& pixbuf)
| Sets a header image for page.
Glib::RefPtr< Gdk::Pixbuf > | get_page_side_image (const Widget& page)
| Gets the header image for page.
Glib::RefPtr< const Gdk::Pixbuf > | get_page_side_image (const Widget& page) const
| Gets the header image for page.
void | set_page_complete (const Widget& page, bool complete=true)
| Sets whether page contents are complete.
bool | get_page_complete (const Widget& page) const
| Gets whether page is complete.
void | add_action_widget (Widget& child)
| Adds a widget to the action area of a Gtk::Assistant.
void | remove_action_widget (Widget& child)
| Removes a widget from the action area of a Gtk::Assistant.
void | update_buttons_state ()
| Forces assistant to recompute the buttons state.
void | commit ()
| Erases the visited page history so the back button is not shown on the current page, and removes the cancel button from subsequent pages.
Glib::SignalProxy1< void, Gtk::Widget* > | signal_prepare ()
Glib::SignalProxy0< void > | signal_apply ()
Glib::SignalProxy0< void > | signal_close ()
Glib::SignalProxy0< void > | signal_cancel ()

## Protected Member Functions

virtual void | on_prepare (Gtk::Widget* page)
virtual void | on_apply ()
virtual void | on_close ()
virtual void | on_cancel ()

## Related Functions

(Note that these are not member functions.)
Gtk::Assistant* | wrap (GtkAssistant* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

A widget used to guide users through multi-step operations.

A Gtk::Assistant is a widget used to represent a generally complex operation split into several steps, guiding the user through its pages and controlling the page flow to collect the necessary data.

Since gtkmm 2.10:

## Member Typedef Documentation

typedef sigc::slot<int, int > Gtk::Assistant::SlotForwardPage

## Constructor & Destructor Documentation

virtual Gtk::Assistant::~Assistant | ( |  | ) | `[virtual]`

Gtk::Assistant::Assistant | ( |  | ) |

## Member Function Documentation

void Gtk::Assistant::add_action_widget | ( | Widget& | child | ) |

Adds a widget to the action area of a Gtk::Assistant.

Since gtkmm 2.10:

Parameters:

  | child | A Gtk::Widget.

int Gtk::Assistant::append_page | ( | Widget& | page | ) |

Appends a page to the assistant.

Since gtkmm 2.10:

Parameters:

  | page | A Gtk::Widget.

Returns:
  The index (starting at 0) of the inserted page.

void Gtk::Assistant::commit | ( |  | ) |

Erases the visited page history so the back button is not shown 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.

Since gtkmm 2.22:

int Gtk::Assistant::get_current_page | ( |  | ) | const

Returns the page number of the current page.

Since gtkmm 2.10:

Returns:
  The index (starting from 0) of the current page in the assistant, if the assistant has no pages, -1 will be returned.

int Gtk::Assistant::get_n_pages | ( |  | ) | const

Returns the number of pages in the assistant.

Since gtkmm 2.10:

Returns:
  The number of pages in the assistant.

const Widget* Gtk::Assistant::get_nth_page | ( | int | page_num | ) | const

Returns the child widget contained in page number page_num.

Since gtkmm 2.10:

Parameters:

  | page_num | The index of a page in the assistant, or -1 to get the last page;.

Returns:
  The child widget, or `0` if page_num is out of bounds.

Widget* Gtk::Assistant::get_nth_page | ( | int | page_num | ) |

Returns the child widget contained in page number page_num.

Since gtkmm 2.10:

Parameters:

  | page_num | The index of a page in the assistant, or -1 to get the last page;.

Returns:
  The child widget, or `0` if page_num is out of bounds.

bool Gtk::Assistant::get_page_complete | ( | const Widget& | page | ) | const

Gets whether page is complete.

Since gtkmm 2.10:

Parameters:

  | page | A page of assistant.

Returns:
  `true` if page is complete.

Glib::RefPtr<Gdk::Pixbuf> Gtk::Assistant::get_page_header_image | ( | const Widget& | page | ) |

Gets the header image for page.

Since gtkmm 2.10:

Parameters:

  | page | A page of assistant.

Returns:
  The header image for page, or `0` if there's no header image for the page.

Glib::RefPtr<const Gdk::Pixbuf> Gtk::Assistant::get_page_header_image | ( | const Widget& | page | ) | const

Gets the header image for page.

Since gtkmm 2.10:

Parameters:

  | page | A page of assistant.

Returns:
  The header image for page, or `0` if there's no header image for the page.

Glib::RefPtr<Gdk::Pixbuf> Gtk::Assistant::get_page_side_image | ( | const Widget& | page | ) |

Gets the header image for page.

Since gtkmm 2.10:

Parameters:

  | page | A page of assistant.

Returns:
  The side image for page, or `0` if there's no side image for the page.

Glib::RefPtr<const Gdk::Pixbuf> Gtk::Assistant::get_page_side_image | ( | const Widget& | page | ) | const

Gets the header image for page.

Since gtkmm 2.10:

Parameters:

  | page | A page of assistant.

Returns:
  The side image for page, or `0` if there's no side image for the page.

Glib::ustring Gtk::Assistant::get_page_title | ( | const Widget& | page | ) | const

Gets the title for page.

Since gtkmm 2.10:

Parameters:

  | page | A page of assistant.

Returns:
  The title for page.

AssistantPageType Gtk::Assistant::get_page_type | ( | const Widget& | page | ) | const

Gets the page type of page.

Since gtkmm 2.10:

Parameters:

  | page | A page of assistant.

Returns:
  The page type of page.

const GtkAssistant* Gtk::Assistant::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Window.

GtkAssistant* Gtk::Assistant::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Window.

int Gtk::Assistant::insert_page | ( | Widget& | page,
|  | int | position |
| ) |  |  |

Inserts a page in the assistant at a given position.

Since gtkmm 2.10:

Parameters:

  | page | A Gtk::Widget.
  | position | The index (starting at 0) at which to insert the page, or -1 to append the page to the assistant.

Returns:
  The index (starting from 0) of the inserted page.

void Gtk::Assistant::next_page | ( |  | ) |

virtual void Gtk::Assistant::on_apply | ( |  | ) | `[protected, virtual]`

virtual void Gtk::Assistant::on_cancel | ( |  | ) | `[protected, virtual]`

virtual void Gtk::Assistant::on_close | ( |  | ) | `[protected, virtual]`

virtual void Gtk::Assistant::on_prepare | ( | Gtk::Widget* | page | ) | `[protected, virtual]`

int Gtk::Assistant::prepend_page | ( | Widget& | page | ) |

Prepends a page to the assistant.

Since gtkmm 2.10:

Parameters:

  | page | A Gtk::Widget.

Returns:
  The index (starting at 0) of the inserted page.

void Gtk::Assistant::previous_page | ( |  | ) |

void Gtk::Assistant::remove_action_widget | ( | Widget& | child | ) |

Removes a widget from the action area of a Gtk::Assistant.

Since gtkmm 2.10:

Parameters:

  | child | A Gtk::Widget.

void Gtk::Assistant::set_current_page | ( | int | page_num | ) |

Switches the page to page_num.

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

Since gtkmm 2.10:

Parameters:

  | 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 assistant, nothing will be done.

void Gtk::Assistant::set_forward_page_func | ( | const SlotForwardPage & | slot | ) |

void Gtk::Assistant::set_page_complete | ( | const Widget& | page,
|  | bool | complete = `true` |
| ) |  |  |

Sets whether page contents are complete.

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

Since gtkmm 2.10:

Parameters:

  | page | A page of assistant.
  | complete | The completeness status of the page.

void Gtk::Assistant::set_page_header_image | ( | const Widget& | page,
|  | const Glib::RefPtr< Gdk::Pixbuf >& | pixbuf |
| ) |  |  |

Sets a header image for page.

This image is displayed in the header area of the assistant when page is the current page.

Since gtkmm 2.10:

Parameters:

  | page | A page of assistant.
  | pixbuf | The new header image page.

void Gtk::Assistant::set_page_side_image | ( | const Widget& | page,
|  | const Glib::RefPtr< Gdk::Pixbuf >& | pixbuf |
| ) |  |  |

Sets a header image for page.

This image is displayed in the side area of the assistant when page is the current page.

Since gtkmm 2.10:

Parameters:

  | page | A page of assistant.
  | pixbuf | The new header image page.

void Gtk::Assistant::set_page_title | ( | const Widget& | page,
|  | const Glib::ustring & | title |
| ) |  |  |

Sets a title for page.

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

Since gtkmm 2.10:

Parameters:

  | page | A page of assistant.
  | title | The new title for page.

void Gtk::Assistant::set_page_type | ( | const Widget& | page,
|  | AssistantPageType | type |
| ) |  |  |

Sets the page type for page.

The page type determines the page behavior in the assistant.

Since gtkmm 2.10:

Parameters:

  | page | A page of assistant.
  | type | The new type for page.

Glib::SignalProxy0< void > Gtk::Assistant::signal_apply | ( |  | ) |

Prototype:
  `void on_my_apply()`

Glib::SignalProxy0< void > Gtk::Assistant::signal_cancel | ( |  | ) |

Prototype:
  `void on_my_cancel()`

Glib::SignalProxy0< void > Gtk::Assistant::signal_close | ( |  | ) |

Prototype:
  `void on_my_close()`

Glib::SignalProxy1< void,Gtk::Widget* > Gtk::Assistant::signal_prepare | ( |  | ) |

Prototype:
  `void on_my_prepare(Gtk::Widget* page)`

void Gtk::Assistant::update_buttons_state | ( |  | ) |

Forces assistant 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.

Since gtkmm 2.10:

## Friends And Related Function Documentation

Gtk::Assistant* wrap | ( | GtkAssistant * | object,
|  | bool | take_copy = `false` |
| ) |  |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  | object | The C instance.
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- gtkmm/assistant.h