GtkAssistant
GtkAssistant — Виджет, используемый для руководства пользователей по многоэтапным операциям
Функции
Свойства
| gint | use-header-bar | Чтение / Запись / Только для создания |
Свойства дочерних элементов
| gboolean | complete | Чтение / Запись |
| gboolean | has-padding | Чтение / Запись |
| GdkPixbuf * | header-image | Чтение / Запись |
| GtkAssistantPageType | page-type | Чтение / Запись |
| GdkPixbuf * | sidebar-image | Чтение / Запись |
| gchar * | title | Чтение / Запись |
Стилизованные свойства
| gint | content-padding | Чтение |
| gint | header-padding | Чтение |
Сигналы
| void | apply | Запуск последним |
| void | cancel | Запуск последним |
| void | close | Запуск последним |
| void | escape | Действие |
| void | prepare | Запуск последним |
Типы и значения
| структура | GtkAssistant |
| структура | GtkAssistantClass |
| перечисление | GtkAssistantPageType |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBin ╰── GtkWindow ╰── GtkAssistant
Реализованные интерфейсы
GtkAssistant реализует AtkImplementorIface и GtkBuildable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
В GtkAssistant — это виджет, используемый для представления сложного действия, разбитого на несколько шагов, чтобы направлять пользователя по страницам и управлять потоком страниц для сбора необходимых данных.
GtkAssistant контролирует отображаемые и активные кнопки, основываясь на расположении страниц и типе каждой страницы, а также на состоянии, таком как завершенность страницы и состояние подтверждения.
Если вам нужна ситуация, которая не соответствует способу обработки кнопок в GtkAssistants, вы можете использовать тип страницы GTK_ASSISTANT_PAGE_CUSTOM и обработать кнопки самостоятельно.
GtkAssistant как GtkBuildable
Реализация GtkAssistant интерфейса GtkBuildable предоставляет action_area как внутренние дочерние элементы с именем «action_area».
Чтобы добавить страницы в помощника в GtkBuilder, просто добавьте его как дочерний элемент к объекту GtkAssistant и установите необходимые свойства дочерних элементов.
Узлы CSS
GtkAssistant имеет один узел CSS с именем assistant.
Функции
gtk_assistant_new ()
GtkWidget *
gtk_assistant_new (void); Создаёт новый GtkAssistant.
Возвращает
вновь созданный GtkAssistant
С: 2.10
gtk_assistant_get_current_page ()
gint
gtk_assistant_get_current_page (GtkAssistant *assistant); Возвращает номер страницы текущей страницы.
Параметры
assistant |
Возвращает
Индекс (начиная с 0) текущей страницы в assistant , или -1, если у assistant нет страниц или текущей страницы.
С: 2.10
gtk_assistant_set_current_page ()
void gtk_assistant_set_current_page (GtkAssistant *assistant,gint page_num);
Переключает страницу на page_num .
Обратите внимание, что это потребуется только в пользовательских кнопках, так как поток assistant может быть задан с помощью gtk_assistant_set_forward_page_func().
Параметры
assistant | ||
page_num | индекс страницы, на которую нужно переключиться, начиная с 0. Если отрицательно, будет использована последняя страница. Если больше, чем количество страниц в |
С: 2.10
gtk_assistant_get_n_pages ()
gint
gtk_assistant_get_n_pages (GtkAssistant *assistant); Возвращает количество страниц в assistant
Параметры
assistant |
Возвращает
количество страниц в assistant
С: 2.10
gtk_assistant_get_nth_page ()
GtkWidget * gtk_assistant_get_nth_page (GtkAssistant *assistant,gint page_num);
Возвращает дочерний виджет, содержащийся на странице с номером page_num .
Параметры
assistant | ||
page_num | индекс страницы в |
С: 2.10
gtk_assistant_prepend_page ()
gint gtk_assistant_prepend_page (GtkAssistant *assistant,GtkWidget *page);
Добавляет страницу в начало assistant .
Параметры
assistant | ||
page |
Возвращает
индекс (начиная с 0) вставленной страницы
С: 2.10
gtk_assistant_append_page ()
gint gtk_assistant_append_page (GtkAssistant *assistant,GtkWidget *page);
Добавляет страницу в конец assistant .
Параметры
assistant | ||
page |
Возвращает
индекс (начиная с 0) вставленной страницы
С: 2.10
gtk_assistant_insert_page ()
gint gtk_assistant_insert_page (GtkAssistant *assistant,GtkWidget *page,gint position);
Вставляет страницу в assistant в заданной позиции.
Параметры
assistant | ||
page | ||
position | индекс (начиная с 0) для вставки страницы, или -1 для добавления страницы в |
Возвращает
индекс (начиная с 0) вставленной страницы
С: 2.10
gtk_assistant_remove_page ()
void gtk_assistant_remove_page (GtkAssistant *assistant,gint page_num);
Удаляет страницу page_num из assistant .
Параметры
assistant | ||
page_num | индекс страницы в |
С: 3.2
GtkAssistantPageFunc ()
gint (*GtkAssistantPageFunc) (gint current_page,gpointer data);
Функция, используемая gtk_assistant_set_forward_page_func() для определения следующей страницы по текущей. Она вызывается как для вычисления следующей страницы при нажатии пользователем кнопки «вперёд», так и для обработки поведения кнопки «последняя».
Параметры
current_page | Номер страницы, используемый для вычисления следующей страницы. | |
data | пользовательские данные. | [closure] |
Возвращает
Следующий номер страницы.
gtk_assistant_set_forward_page_func ()
void gtk_assistant_set_forward_page_func (GtkAssistant *assistant,GtkAssistantPageFunc page_func,gpointer data,GDestroyNotify destroy);
Устанавливает функцию перехода на следующую страницу в page_func .
Эта функция будет использоваться для определения следующей страницы, когда пользователь нажимает кнопку «Далее». Установка page_func в значение NULL заставит помощника использовать функцию по умолчанию, которая просто переходит к следующей видимой странице.
Параметры
assistant | ||
page_func | функция GtkAssistantPageFunc или | [allow-none] |
data | пользовательские данные для | |
destroy | уведомление об уничтожении для |
С версии: 2.10
gtk_assistant_set_page_type ()
void gtk_assistant_set_page_type (GtkAssistant *assistant,GtkWidget *page,GtkAssistantPageType type);
Устанавливает тип страницы для page .
Тип страницы определяет поведение страницы в assistant .
Параметры
assistant | ||
page | страница | |
type | новый тип для |
С версии: 2.10
gtk_assistant_get_page_type ()
GtkAssistantPageType gtk_assistant_get_page_type (GtkAssistant *assistant,GtkWidget *page);
Получает тип страницы page .
Параметры
assistant | ||
page | страница |
Возвращаемое значение
тип страницы page
С версии: 2.10
gtk_assistant_set_page_title ()
void gtk_assistant_set_page_title (GtkAssistant *assistant,GtkWidget *page,const gchar *title);
Устанавливает заголовок для page .
Заголовок отображается в области заголовка помощника, когда page является текущей страницей.
Параметры
assistant | ||
page | страница | |
title | новый заголовок для |
С версии: 2.10
gtk_assistant_get_page_title ()
const gchar * gtk_assistant_get_page_title (GtkAssistant *assistant,GtkWidget *page);
Получает заголовок для page .
Параметры
assistant | ||
page | страница |
Возвращаемое значение
заголовок для page
С версии: 2.10
gtk_assistant_set_page_header_image ()
void gtk_assistant_set_page_header_image (GtkAssistant *assistant,GtkWidget *page,GdkPixbuf *pixbuf);
gtk_assistant_set_page_header_image устарел с версии 3.2 и не должен использоваться в новом коде.
С GTK+ 3.2 заголовок больше не отображается; добавьте вашу декорирование заголовка в содержимое страницы вместо этого.
Устанавливает изображение заголовка для page .
Параметры
assistant | ||
page | страница | |
pixbuf | новое изображение заголовка | [allow-none] |
С версии: 2.10
gtk_assistant_get_page_header_image ()
GdkPixbuf * gtk_assistant_get_page_header_image (GtkAssistant *assistant,GtkWidget *page);
gtk_assistant_get_page_header_image устарел с версии 3.2 и не должен использоваться в новом коде.
С GTK+ 3.2 заголовок больше не отображается; добавьте вашу декорирование заголовка в содержимое страницы вместо этого.
Получает изображение заголовка для page .
Параметры
assistant | ||
page | страница |
Возвращаемое значение
изображение заголовка для page или NULL, если изображение заголовка отсутствует.
[transfer none]
С версии: 2.10
gtk_assistant_set_page_side_image ()
void gtk_assistant_set_page_side_image (GtkAssistant *assistant,GtkWidget *page,GdkPixbuf *pixbuf);
gtk_assistant_set_page_side_image устарел с версии 3.2 и не должен использоваться в новом коде.
С GTK+ 3.2 изображения боковой панели больше не отображаются.
Устанавливает изображение боковой панели для page .
Это изображение раньше отображалось в боковой области помощника, когда page была текущей страницей.
Параметры
assistant | ||
page | страница | |
pixbuf | новое изображение боковой панели | [allow-none] |
С версии: 2.10
gtk_assistant_get_page_side_image ()
GdkPixbuf * gtk_assistant_get_page_side_image (GtkAssistant *assistant,GtkWidget *page);
gtk_assistant_get_page_side_image устарел начиная с версии 3.2 и не должен использоваться в новом коде.
С GTK+ 3.2 изображения в боковой панели больше не отображаются.
Получает изображение в боковой панели для page .
Параметры
assistant | объект GtkAssistant | |
page | страница объекта |
Возвращаемое значение
изображение в боковой панели для page , или NULL если изображение отсутствует.
[transfer none]
С: 2.10
gtk_assistant_set_page_complete ()
void gtk_assistant_set_page_complete (GtkAssistant *assistant,GtkWidget *page,gboolean complete);
Устанавливает, завершены ли данные на page.
Это заставит assistant обновить состояние кнопок, чтобы можно было продолжить задачу.
Параметры
assistant | объект GtkAssistant | |
page | страница объекта | |
complete | состояние завершенности страницы |
С: 2.10
gtk_assistant_get_page_complete ()
gboolean gtk_assistant_get_page_complete (GtkAssistant *assistant,GtkWidget *page);
Получает, завершена ли page.
Параметры
assistant | объект GtkAssistant | |
page | страница объекта |
Возвращаемое значение
TRUE если page завершена.
С: 2.10
gtk_assistant_set_page_has_padding ()
void gtk_assistant_set_page_has_padding (GtkAssistant *assistant,GtkWidget *page,gboolean has_padding);
Устанавливает, добавляет ли помощник отступы вокруг страницы.
Параметры
assistant | объект GtkAssistant | |
page | страница объекта | |
has_padding | имеет ли эта страница отступы |
С: 3.18
gtk_assistant_get_page_has_padding ()
gboolean gtk_assistant_get_page_has_padding (GtkAssistant *assistant,GtkWidget *page);
Получает, имеет ли страница отступы.
Параметры
assistant | объект GtkAssistant | |
page | страница объекта |
Возвращаемое значение
TRUE если у page есть отступы
С: 3.18
gtk_assistant_add_action_widget ()
void gtk_assistant_add_action_widget (GtkAssistant *assistant,GtkWidget *child);
Добавляет виджет в область действий GtkAssistant.
Параметры
assistant | объект GtkAssistant | |
child | объект GtkWidget |
С: 2.10
gtk_assistant_remove_action_widget ()
void gtk_assistant_remove_action_widget (GtkAssistant *assistant,GtkWidget *child);
Удаляет виджет из области действий GtkAssistant.
Параметры
assistant | объект GtkAssistant | |
child | объект GtkWidget |
С: 2.10
gtk_assistant_update_buttons_state ()
void
gtk_assistant_update_buttons_state (GtkAssistant *assistant); Принудительно заставляет assistant пересчитать состояние кнопок.
GTK+ автоматически позаботится об этом в большинстве случаев, например, когда пользователь переходит на другую страницу или когда меняется видимость или завершенность страницы.
В одной ситуации может потребоваться вызвать эту функцию, когда изменение значения на текущей странице влияет на будущий ход работы помощника.
Параметры
assistant | объект GtkAssistant |
С: 2.10
gtk_assistant_commit ()
void
gtk_assistant_commit (GtkAssistant *assistant); Удаляет историю посещенных страниц, чтобы кнопка «Назад» не отображалась на текущей странице, и удаляет кнопку «Отмена» с последующих страниц.
Используйте это, когда информация, предоставленная до текущей страницы, считается постоянной и не может быть изменена или отменена. Например, при отображении страницы прогресса для отслеживания длительной, необратимой операции после нажатия пользователем «Применить» на странице подтверждения.
Параметры
assistant | объект GtkAssistant |
С: 2.22
gtk_assistant_next_page ()
void
gtk_assistant_next_page (GtkAssistant *assistant); Переход к следующей странице.
Ошибка программирования — вызывать эту функцию, когда нет следующей страницы.
Эта функция предназначена для использования при создании страниц типа GTK_ASSISTANT_PAGE_CUSTOM.
Параметры
assistant | объект GtkAssistant |
С: 3.0
gtk_assistant_previous_page ()
void
gtk_assistant_previous_page (GtkAssistant *assistant); Переход к предыдущей посещенной странице.
Ошибка программирования — вызывать эту функцию, когда нет предыдущей страницы.
Эта функция предназначена для использования при создании страниц типа GTK_ASSISTANT_PAGE_CUSTOM.
Параметры
assistant | объект GtkAssistant |
С: 3.0
Типы и значения
структура GtkAssistant
struct GtkAssistant;
структура GtkAssistantClass
struct GtkAssistantClass {
GtkWindowClass parent_class;
void (* prepare) (GtkAssistant *assistant, GtkWidget *page);
void (* apply) (GtkAssistant *assistant);
void (* close) (GtkAssistant *assistant);
void (* cancel) (GtkAssistant *assistant);
};
Члены
| Сигнал, испускаемый, когда новая страница устанавливается как текущая страница помощника, прежде чем новая страница станет видимой. | |
| Сигнал, испускаемый при нажатии кнопки «Применить». | |
| Сигнал, испускаемый при нажатии кнопки «Закрыть» или кнопки «Применить» на последней странице. | |
| Сигнал, испускаемый при нажатии кнопки «Отмена». |
перечисление GtkAssistantPageType
Перечисление для определения роли страницы внутри GtkAssistant. Оно используется для обработки чувствительности и видимости кнопок.
Обратите внимание, что помощник должен завершать поток страниц страницей типа GTK_ASSISTANT_PAGE_CONFIRM, GTK_ASSISTANT_PAGE_SUMMARY или GTK_ASSISTANT_PAGE_PROGRESS для правильной работы.
Кнопка «Отмена» будет показана только если страница не «зафиксирована». Подробнее см. gtk_assistant_commit().
Члены
GTK_ASSISTANT_PAGE_CONTENT | Страница содержит обычное содержимое. Будут отображены кнопки «Назад» и «Вперёд». | |
GTK_ASSISTANT_PAGE_INTRO | Страница содержит введение в задачу помощника. Будет отображена только кнопка «Вперёд», если есть следующая страница. | |
GTK_ASSISTANT_PAGE_CONFIRM | Страница позволяет пользователю подтвердить или отклонить изменения. Будут отображены кнопки «Назад» и «Применить». | |
GTK_ASSISTANT_PAGE_SUMMARY | Страница информирует пользователя об изменениях. Будет отображена только кнопка «Закрыть». | |
GTK_ASSISTANT_PAGE_PROGRESS | Используется для задач, которые занимают много времени, блокирует помощника до тех пор, пока страница не будет помечена как завершённая. Будет отображена только кнопка «Назад». | |
GTK_ASSISTANT_PAGE_CUSTOM | Используется, когда другие типы страниц не подходят. Кнопки не будут отображаться, и приложение должно добавить свои кнопки с помощью |
Подробное описание свойств
Свойство “use-header-bar”
“use-header-bar” gint
TRUE, если помощник использует GtkHeaderBar для кнопок действий вместо области действий.
По техническим причинам это свойство объявлено как целочисленное, но вы должны устанавливать только значения TRUE или FALSE.
Флаги: Чтение / Запись / Только для создания
Допустимые значения: [-1,1]
Значение по умолчанию: -1
С версии: 3.12
Подробное описание свойств дочерних элементов
Свойство дочернего элемента “complete”
“complete” gboolean
Установка свойства "complete" дочернего элемента в TRUE помечает страницу как завершённую (т.е.: все необходимые поля заполнены). GTK+ использует эту информацию для управления чувствительностью кнопок навигации.
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 2.10
Свойство дочернего элемента “has-padding”
“has-padding” gboolean
Определяет, добавляет ли помощник отступы вокруг страницы.
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство дочернего элемента “header-image”
“header-image” GdkPixbuf *
Этот рисунок отображался в заголовке страницы.
GtkAssistant:header-image устарел с версии 3.2 и не должен использоваться в новом коде.
В GTK+ 3.2 заголовок больше не отображается; добавьте декорирование заголовка к содержимому страницы вместо этого.
Флаги: Чтение / Запись
С версии: 2.10
Свойство дочернего элемента “page-type”
“page-type” GtkAssistantPageType
Тип страницы помощника.
Флаги: Чтение / Запись
Значение по умолчанию: GTK_ASSISTANT_PAGE_CONTENT
С версии: 2.10
Свойство дочернего элемента “sidebar-image”
“sidebar-image” GdkPixbuf *
Этот рисунок отображался в «боковой панели».
GtkAssistant:sidebar-image устарел с версии 3.2 и не должен использоваться в новом коде.
В GTK+ 3.2 изображение боковой панели больше не отображается.
Флаги: Чтение / Запись
С версии: 2.10
Свойство дочернего элемента “title”
“title” gchar *
Заголовок страницы.
Флаги: Чтение / Запись
Значение по умолчанию: NULL
С версии: 2.10
Подробное описание свойств стиля
Свойство стиля “content-padding”
“content-padding” gint
Количество пикселей вокруг содержимого.
GtkAssistant:content-padding устарел с версии 3.20 и не должен использоваться в новом коде.
Это свойство стиля игнорируется.
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 1
Свойство стиля “header-padding”
“header-padding” gint
Количество пикселей вокруг заголовка.
GtkAssistant:header-padding устарел с версии 3.20 и не должен использоваться в новом коде.
Это свойство стиля игнорируется.
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 6
Подробные сведения о сигналах
Сигнал “apply”
void user_function (GtkAssistant *assistant, gpointer user_data)
Сигнал ::apply генерируется при нажатии кнопки «Применить».
По умолчанию GtkAssistant переходит к следующей странице, если текущая страница не является последней.
Обработчик сигнала ::apply должен выполнять действия, для которых мастер собрал данные. Если выполнение действия занимает много времени, можно добавить страницу типа GTK_ASSISTANT_PAGE_PROGRESS после страницы подтверждения и обработать это действие в сигнале «подготовка» страницы прогресса.
Параметры
assistant | объект GtkAssistant | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнить последним
С версии: 2.10
Сигнал “cancel”
void user_function (GtkAssistant *assistant, gpointer user_data)
Сигнал ::cancel генерируется при нажатии кнопки «Отмена».
Параметры
assistant | объект GtkAssistant | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнить последним
С версии: 2.10
Сигнал “close”
void user_function (GtkAssistant *assistant, gpointer user_data)
Сигнал ::close генерируется при нажатии кнопки «Закрыть» на странице сводки или при нажатии кнопки «Применить» на последней странице потока (типа GTK_ASSISTANT_PAGE_CONFIRM).
Параметры
assistant | объект GtkAssistant | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнить последним
С версии: 2.10
Сигнал “prepare”
void user_function (GtkAssistant *assistant, GtkWidget *page, gpointer user_data)
Сигнал ::prepare генерируется при установке новой страницы в качестве текущей страницы ассистента перед отображением новой страницы.
Обработчик этого сигнала может выполнить все необходимые подготовительные действия перед отображением page .
Параметры
assistant | объект GtkAssistant | |
page | текущая страница | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Выполнить последним
С версии: 2.10
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkAssistant.html