GtkAssistant
GtkAssistant — Виджет, используемый для руководства пользователями при многошаговых операциях
Функции
Свойства
| int | use-header-bar | Чтение / Запись / Только для создания |
Свойства дочерних элементов
| gboolean | complete | Чтение / Запись |
| gboolean | has-padding | Чтение / Запись |
| GdkPixbuf * | header-image | Чтение / Запись |
| GtkAssistantPageType | page-type | Чтение / Запись |
| GdkPixbuf * | sidebar-image | Чтение / Запись |
| char * | title | Чтение / Запись |
Свойства стиля
| int | content-padding | Чтение |
| int | header-padding | Чтение |
Сигналы
Типы и значения
| struct | GtkAssistant |
| struct | GtkAssistantClass |
| enum | GtkAssistantPageType |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkContainer
╰── GtkBin
╰── GtkWindow
╰── GtkAssistant
Реализованные интерфейсы
GtkAssistant реализует интерфейсы AtkImplementorIface и GtkBuildable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
Виджет GtkAssistant используется для представления сложных операций, разделенных на несколько шагов, которые направляют пользователя по страницам и управляют потоком страниц для сбора необходимых данных.
GtkAssistant контролирует, какие кнопки отображать и активировать, исходя из расположения страниц и типа каждой страницы, а также информации о состоянии, например, завершения и статуса страницы.
Если у вас случай, который не соответствует способу обработки кнопок GtkAssistant, вы можете использовать тип страницы 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 | объект GtkAssistant |
Возвращает
Индекс (начиная с 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 | объект GtkAssistant | |
page_num | индекс страницы, на которую нужно переключиться, начиная с 0. Если отрицательное, будет использована последняя страница. Если больше, чем количество страниц в |
С версии: 2.10
gtk_assistant_get_n_pages ()
gint
gtk_assistant_get_n_pages (GtkAssistant *assistant); Возвращает количество страниц в assistant
Параметры
assistant | объект GtkAssistant |
Возвращает
количество страниц в assistant
С версии: 2.10
gtk_assistant_get_nth_page ()
GtkWidget * gtk_assistant_get_nth_page (GtkAssistant *assistant,gint page_num);
Возвращает дочерний виджет, содержащийся на странице с номером page_num .
Параметры
assistant | объект GtkAssistant | |
page_num | индекс страницы в |
Возвращает
дочерний виджет или NULL если page_num находится вне диапазона.
[nullable][transfer none]
С версии: 2.10
gtk_assistant_prepend_page ()
gint gtk_assistant_prepend_page (GtkAssistant *assistant,GtkWidget *page);
Добавляет страницу в начало assistant .
Параметры
assistant | объект GtkAssistant | |
page | объект GtkWidget |
Возвращает
индекс (начиная с 0) вставленной страницы
С версии: 2.10
gtk_assistant_append_page ()
gint gtk_assistant_append_page (GtkAssistant *assistant,GtkWidget *page);
Добавляет страницу в конец assistant .
Параметры
assistant | объект GtkAssistant | |
page | объект GtkWidget |
Возвращает
индекс (начиная с 0) вставленной страницы
С версии: 2.10
gtk_assistant_insert_page ()
gint gtk_assistant_insert_page (GtkAssistant *assistant,GtkWidget *page,gint position);
Вставляет страницу в assistant в заданную позицию.
Параметры
assistant | объект GtkAssistant | |
page | объект GtkWidget | |
position | индекс (начиная с 0) для вставки страницы или -1 для добавления страницы в конец |
Возвращает
индекс (начиная с 0) вставленной страницы
С версии: 2.10
gtk_assistant_remove_page ()
void gtk_assistant_remove_page (GtkAssistant *assistant,gint page_num);
Удаляет страницу page_num из assistant .
Параметры
assistant | объект GtkAssistant | |
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 | объект GtkAssistant | |
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 | объект GtkAssistant | |
page | страница | |
type | новый тип для |
С: 2.10
gtk_assistant_get_page_type ()
GtkAssistantPageType gtk_assistant_get_page_type (GtkAssistant *assistant,GtkWidget *page);
Получает тип страницы page .
Параметры
assistant | объект GtkAssistant | |
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 | объект GtkAssistant | |
page | страница | |
title | новый заголовок для |
С: 2.10
gtk_assistant_get_page_title ()
const gchar * gtk_assistant_get_page_title (GtkAssistant *assistant,GtkWidget *page);
Получает заголовок для page .
Параметры
assistant | объект GtkAssistant | |
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 | объект GtkAssistant | |
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 | объект GtkAssistant | |
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 | объект GtkAssistant | |
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 | ||
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 | ||
page | страница | |
complete | статус завершения страницы |
С: 2.10
gtk_assistant_get_page_complete ()
gboolean gtk_assistant_get_page_complete (GtkAssistant *assistant,GtkWidget *page);
Получает, завершена ли page.
Параметры
assistant | ||
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 | ||
page | страница | |
has_padding | имеет ли эта страница отступы |
С: 3.18
gtk_assistant_get_page_has_padding ()
gboolean gtk_assistant_get_page_has_padding (GtkAssistant *assistant,GtkWidget *page);
Получает, имеет ли страница отступы.
Параметры
assistant | ||
page | страница |
Возвращает
TRUE если page имеет отступы
С: 3.18
gtk_assistant_add_action_widget ()
void gtk_assistant_add_action_widget (GtkAssistant *assistant,GtkWidget *child);
Добавляет виджет в область действий GtkAssistant.
Параметры
assistant | ||
child |
С: 2.10
gtk_assistant_remove_action_widget ()
void gtk_assistant_remove_action_widget (GtkAssistant *assistant,GtkWidget *child);
Удаляет виджет из области действий GtkAssistant.
Параметры
assistant | ||
child |
С: 2.10
gtk_assistant_update_buttons_state ()
void
gtk_assistant_update_buttons_state (GtkAssistant *assistant); Принудительно заставляет assistant пересчитать состояние кнопок.
GTK+ автоматически позаботится об этом в большинстве ситуаций, например, когда пользователь переходит на другую страницу или меняется видимость или завершённость страницы.
В одном случае, когда необходимо вызвать эту функцию, это когда изменение значения на текущей странице влияет на последующий поток работы помощника.
Параметры
assistant |
С: 2.10
gtk_assistant_commit ()
void
gtk_assistant_commit (GtkAssistant *assistant); Очищает историю посещённых страниц, чтобы кнопка «Назад» не отображалась на текущей странице, и удаляет кнопку «Отмена» с последующих страниц.
Используйте это, когда информация, предоставленная до текущей страницы, считается постоянной и не может быть изменена или отменена. Например, отображение страницы прогресса для отслеживания длительной, необратимой операции после того, как пользователь нажал «Применить» на странице подтверждения.
Параметры
assistant |
С: 2.22
gtk_assistant_next_page ()
void
gtk_assistant_next_page (GtkAssistant *assistant); Перейти к следующей странице.
Вызов этой функции, когда следующей страницы нет, является программно ошибочным.
Эта функция предназначена для использования при создании страниц типа GTK_ASSISTANT_PAGE_CUSTOM.
Параметры
assistant |
С: 3.0
gtk_assistant_previous_page ()
void
gtk_assistant_previous_page (GtkAssistant *assistant); Перейти к предыдущей посещённой странице.
Вызов этой функции, когда предыдущей страницы нет, является программно ошибочным.
Эта функция предназначена для использования при создании страниц типа GTK_ASSISTANT_PAGE_CUSTOM.
Параметры
assistant |
С: 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” int
TRUE если помощник использует GtkHeaderBar для кнопок действий вместо области действий.
По техническим причинам это свойство объявлено как целочисленное, но вы должны устанавливать его только в TRUE или FALSE.
Владелец: GtkAssistant
Флаги: Чтение / Запись / Только при создании
Допустимые значения: [-1,1]
Значение по умолчанию: -1
С версии: 3.12
Подробности свойств дочерних элементов
Свойство дочернего элемента “complete”
“complete” gboolean
Установка свойства "complete" дочернего элемента в TRUE помечает страницу как завершённую (т.е.: все необходимые поля заполнены). GTK+ использует эту информацию для управления чувствительностью навигационных кнопок.
Владелец: GtkAssistant
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 2.10
Свойство дочернего элемента “has-padding”
“has-padding” gboolean
Определяет, добавляет ли помощник отступы вокруг страницы.
Владелец: GtkAssistant
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
Свойство дочернего элемента “header-image”
“header-image” GdkPixbuf *
Этот образ использовался для отображения в заголовке страницы.
GtkAssistant:header-image устарел с версии 3.2 и не должен использоваться в новом коде.
С GTK+ 3.2 заголовок больше не отображается; добавьте украшение заголовка в контент страницы вместо этого.
Владелец: GtkAssistant
Флаги: Чтение / Запись
С версии: 2.10
Свойство дочернего элемента “page-type”
“page-type” GtkAssistantPageType
Тип страницы помощника.
Владелец: GtkAssistant
Флаги: Чтение / Запись
Значение по умолчанию: GTK_ASSISTANT_PAGE_CONTENT
С версии: 2.10
Свойство дочернего элемента “sidebar-image”
“sidebar-image” GdkPixbuf *
Этот образ использовался для отображения в 'боковой панели'.
GtkAssistant:sidebar-image устарел с версии 3.2 и не должен использоваться в новом коде.
С GTK+ 3.2 изображение боковой панели больше не отображается.
Владелец: GtkAssistant
Флаги: Чтение / Запись
С версии: 2.10
Свойство дочернего элемента “title”
“title” char *
Заголовок страницы.
Владелец: GtkAssistant
Флаги: Чтение / Запись
Значение по умолчанию: NULL
С версии: 2.10
Подробности свойств стиля
Свойство стиля “content-padding”
“content-padding” int
Количество пикселей вокруг контента.
GtkAssistant:content-padding устарел с версии 3.20 и не должен использоваться в новом коде.
Это свойство стиля игнорируется.
Владелец: GtkAssistant
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 1
Свойство стиля “header-padding”
“header-padding” int
Количество пикселей вокруг заголовка.
GtkAssistant:header-padding устарел с версии 3.20 и не должен использоваться в новом коде.
Это свойство стиля игнорируется.
Владелец: GtkAssistant
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 6
Подробности сигналов
Сигнал “apply”
void user_function (GtkAssistant *assistant, gpointer user_data)
Сигнал ::apply генерируется при нажатии кнопки «Применить».
По умолчанию, GtkAssistant переключается на следующую страницу, если текущая страница не является последней.
Обработчик сигнала ::apply должен выполнять действия, для которых ассистент собрал данные. Если выполнение действия занимает много времени, можно добавить страницу типа GTK_ASSISTANT_PAGE_PROGRESS после страницы подтверждения и обработать операцию в сигнале “подготовка” страницы прогресса.
Параметры
assistant | объект GtkAssistant | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Run Last
С версии: 2.10
Сигнал “cancel”
void user_function (GtkAssistant *assistant, gpointer user_data)
Сигнал ::cancel генерируется при нажатии кнопки «Отмена».
Параметры
assistant | объект GtkAssistant | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Run Last
С версии: 2.10
Сигнал “close”
void user_function (GtkAssistant *assistant, gpointer user_data)
Сигнал ::close генерируется при нажатии кнопки «Закрыть» на странице сведений или при нажатии кнопки «Применить» на последней странице процесса (типа GTK_ASSISTANT_PAGE_CONFIRM).
Параметры
assistant | объект GtkAssistant | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Run Last
С версии: 2.10
Сигнал “prepare”
void user_function (GtkAssistant *assistant, GtkWidget *page, gpointer user_data)
Сигнал ::prepare генерируется при установке новой страницы в качестве текущей страницы ассистента перед отображением новой страницы.
Обработчик этого сигнала может выполнить все необходимые подготовительные действия перед отображением page.
Параметры
assistant | объект GtkAssistant | |
page | текущая страница | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Run Last
С версии: 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.24/GtkAssistant.html