Spec-Zone.ru › GTK 3.22

GtkAssistant

GtkAssistant — Виджет, используемый для руководства пользователей по многоэтапным операциям

Функции

GtkWidget * gtk_assistant_new ()
gint gtk_assistant_get_current_page ()
void gtk_assistant_set_current_page ()
gint gtk_assistant_get_n_pages ()
GtkWidget * gtk_assistant_get_nth_page ()
gint gtk_assistant_prepend_page ()
gint gtk_assistant_append_page ()
gint gtk_assistant_insert_page ()
void gtk_assistant_remove_page ()
gint (*GtkAssistantPageFunc) ()
void gtk_assistant_set_forward_page_func ()
void gtk_assistant_set_page_type ()
GtkAssistantPageType gtk_assistant_get_page_type ()
void gtk_assistant_set_page_title ()
const gchar * gtk_assistant_get_page_title ()
void gtk_assistant_set_page_header_image ()
GdkPixbuf * gtk_assistant_get_page_header_image ()
void gtk_assistant_set_page_side_image ()
GdkPixbuf * gtk_assistant_get_page_side_image ()
void gtk_assistant_set_page_complete ()
gboolean gtk_assistant_get_page_complete ()
void gtk_assistant_set_page_has_padding ()
gboolean gtk_assistant_get_page_has_padding ()
void gtk_assistant_add_action_widget ()
void gtk_assistant_remove_action_widget ()
void gtk_assistant_update_buttons_state ()
void gtk_assistant_commit ()
void gtk_assistant_next_page ()
void gtk_assistant_previous_page ()

Свойства

gint use-header-bar Чтение / Запись / Только для создания
END_OF_DOCUMENT_MARKER

Свойства дочерних элементов

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

a 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

a GtkAssistant

page_num

индекс страницы, на которую нужно переключиться, начиная с 0. Если отрицательно, будет использована последняя страница. Если больше, чем количество страниц в assistant , ничего не будет сделано.

С: 2.10

gtk_assistant_get_n_pages ()

gint
gtk_assistant_get_n_pages (GtkAssistant *assistant);

Возвращает количество страниц в assistant

Параметры

assistant

a GtkAssistant

Возвращает

количество страниц в assistant

С: 2.10

gtk_assistant_get_nth_page ()

GtkWidget *
gtk_assistant_get_nth_page (GtkAssistant *assistant,
                            gint page_num);

Возвращает дочерний виджет, содержащийся на странице с номером page_num .

Параметры

assistant

a GtkAssistant

page_num

индекс страницы в assistant , или -1 для получения последней страницы

Возвращает

дочерний виджет или NULL если page_num находится вне границ.

[nullable][transfer none]

С: 2.10

gtk_assistant_prepend_page ()

gint
gtk_assistant_prepend_page (GtkAssistant *assistant,
                            GtkWidget *page);

Добавляет страницу в начало assistant .

Параметры

assistant

a GtkAssistant

page

a GtkWidget

Возвращает

индекс (начиная с 0) вставленной страницы

С: 2.10

gtk_assistant_append_page ()

gint
gtk_assistant_append_page (GtkAssistant *assistant,
                           GtkWidget *page);

Добавляет страницу в конец assistant .

Параметры

assistant

a GtkAssistant

page

a GtkWidget

Возвращает

индекс (начиная с 0) вставленной страницы

С: 2.10

gtk_assistant_insert_page ()

gint
gtk_assistant_insert_page (GtkAssistant *assistant,
                           GtkWidget *page,
                           gint position);

Вставляет страницу в assistant в заданной позиции.

Параметры

assistant

a GtkAssistant

page

a GtkWidget

position

индекс (начиная с 0) для вставки страницы, или -1 для добавления страницы в assistant

Возвращает

индекс (начиная с 0) вставленной страницы

С: 2.10

gtk_assistant_remove_page ()

void
gtk_assistant_remove_page (GtkAssistant *assistant,
                           gint page_num);

Удаляет страницу page_num из assistant .

Параметры

assistant

a GtkAssistant

page_num

индекс страницы в assistant , или -1 для удаления последней страницы

С: 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

a GtkAssistant

page_func

функция GtkAssistantPageFunc или NULL для использования функции по умолчанию.

[allow-none]

data

пользовательские данные для page_func

destroy

уведомление об уничтожении для data

С версии: 2.10

gtk_assistant_set_page_type ()

void
gtk_assistant_set_page_type (GtkAssistant *assistant,
                             GtkWidget *page,
                             GtkAssistantPageType type);

Устанавливает тип страницы для page .

Тип страницы определяет поведение страницы в assistant .

Параметры

assistant

a GtkAssistant

page

страница assistant

type

новый тип для page

С версии: 2.10

gtk_assistant_get_page_type ()

GtkAssistantPageType
gtk_assistant_get_page_type (GtkAssistant *assistant,
                             GtkWidget *page);

Получает тип страницы page .

Параметры

assistant

a GtkAssistant

page

страница assistant

Возвращаемое значение

тип страницы page

С версии: 2.10

gtk_assistant_set_page_title ()

void
gtk_assistant_set_page_title (GtkAssistant *assistant,
                              GtkWidget *page,
                              const gchar *title);

Устанавливает заголовок для page .

Заголовок отображается в области заголовка помощника, когда page является текущей страницей.

Параметры

assistant

a GtkAssistant

page

страница assistant

title

новый заголовок для page

С версии: 2.10

gtk_assistant_get_page_title ()

const gchar *
gtk_assistant_get_page_title (GtkAssistant *assistant,
                              GtkWidget *page);

Получает заголовок для page .

Параметры

assistant

a GtkAssistant

page

страница assistant

Возвращаемое значение

заголовок для 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

a GtkAssistant

page

страница assistant

pixbuf

новое изображение заголовка page .

[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

a GtkAssistant

page

страница assistant

Возвращаемое значение

изображение заголовка для 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

a GtkAssistant

page

страница assistant

pixbuf

новое изображение боковой панели page .

[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

страница объекта assistant

Возвращаемое значение

изображение в боковой панели для 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

страница объекта assistant

complete

состояние завершенности страницы

С: 2.10

gtk_assistant_get_page_complete ()

gboolean
gtk_assistant_get_page_complete (GtkAssistant *assistant,
                                 GtkWidget *page);

Получает, завершена ли page.

Параметры

assistant

объект GtkAssistant

page

страница объекта assistant

Возвращаемое значение

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

страница объекта assistant

has_padding

имеет ли эта страница отступы

С: 3.18

gtk_assistant_get_page_has_padding ()

gboolean
gtk_assistant_get_page_has_padding (GtkAssistant *assistant,
                                    GtkWidget *page);

Получает, имеет ли страница отступы.

Параметры

assistant

объект GtkAssistant

page

страница объекта assistant

Возвращаемое значение

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);
};

Члены

prepare ()

Сигнал, испускаемый, когда новая страница устанавливается как текущая страница помощника, прежде чем новая страница станет видимой.

apply ()

Сигнал, испускаемый при нажатии кнопки «Применить».

close ()

Сигнал, испускаемый при нажатии кнопки «Закрыть» или кнопки «Применить» на последней странице.

cancel ()

Сигнал, испускаемый при нажатии кнопки «Отмена».

перечисление 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

Используется, когда другие типы страниц не подходят. Кнопки не будут отображаться, и приложение должно добавить свои кнопки с помощью gtk_assistant_add_action_widget().

Подробное описание свойств

Свойство “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

Сигнал “escape”

void
user_function (GtkAssistant *assistant,
               gpointer      user_data)

Флаги: Действие

Сигнал “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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API