Spec-Zone.ru › GTK 3.24

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 ()

Свойства

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 Чтение

Сигналы

void apply Выполнить последним
void cancel Выполнить последним
void close Выполнить последним
void escape Действие
void prepare Выполнить последним

Типы и значения

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. Если отрицательное, будет использована последняя страница. Если больше, чем количество страниц в assistant, ничего не произойдёт.

С версии: 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

индекс страницы в 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

объект 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 для добавления страницы в конец assistant

Возвращает

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

С версии: 2.10

gtk_assistant_remove_page ()

void
gtk_assistant_remove_page (GtkAssistant *assistant,
                           gint page_num);

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

Параметры

assistant

объект 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

объект 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

объект GtkAssistant

page

страница assistant

type

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

С: 2.10

gtk_assistant_get_page_type ()

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

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

Параметры

assistant

объект 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

объект 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

объект 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

объект 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

объект 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

объект 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

a 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

a GtkAssistant

page

страница assistant

complete

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

С: 2.10

gtk_assistant_get_page_complete ()

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

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

Параметры

assistant

a 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

a 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

a GtkAssistant

page

страница assistant

Возвращает

TRUE если page имеет отступы

С: 3.18

gtk_assistant_add_action_widget ()

void
gtk_assistant_add_action_widget (GtkAssistant *assistant,
                                 GtkWidget *child);

Добавляет виджет в область действий GtkAssistant.

Параметры

assistant

a GtkAssistant

child

a GtkWidget

С: 2.10

gtk_assistant_remove_action_widget ()

void
gtk_assistant_remove_action_widget (GtkAssistant *assistant,
                                    GtkWidget *child);

Удаляет виджет из области действий GtkAssistant.

Параметры

assistant

a GtkAssistant

child

a GtkWidget

С: 2.10

gtk_assistant_update_buttons_state ()

void
gtk_assistant_update_buttons_state (GtkAssistant *assistant);

Принудительно заставляет assistant пересчитать состояние кнопок.

GTK+ автоматически позаботится об этом в большинстве ситуаций, например, когда пользователь переходит на другую страницу или меняется видимость или завершённость страницы.

В одном случае, когда необходимо вызвать эту функцию, это когда изменение значения на текущей странице влияет на последующий поток работы помощника.

Параметры

assistant

a GtkAssistant

С: 2.10

gtk_assistant_commit ()

void
gtk_assistant_commit (GtkAssistant *assistant);

Очищает историю посещённых страниц, чтобы кнопка «Назад» не отображалась на текущей странице, и удаляет кнопку «Отмена» с последующих страниц.

Используйте это, когда информация, предоставленная до текущей страницы, считается постоянной и не может быть изменена или отменена. Например, отображение страницы прогресса для отслеживания длительной, необратимой операции после того, как пользователь нажал «Применить» на странице подтверждения.

Параметры

assistant

a GtkAssistant

С: 2.22

gtk_assistant_next_page ()

void
gtk_assistant_next_page (GtkAssistant *assistant);

Перейти к следующей странице.

Вызов этой функции, когда следующей страницы нет, является программно ошибочным.

Эта функция предназначена для использования при создании страниц типа GTK_ASSISTANT_PAGE_CUSTOM.

Параметры

assistant

a GtkAssistant

С: 3.0

gtk_assistant_previous_page ()

void
gtk_assistant_previous_page (GtkAssistant *assistant);

Перейти к предыдущей посещённой странице.

Вызов этой функции, когда предыдущей страницы нет, является программно ошибочным.

Эта функция предназначена для использования при создании страниц типа GTK_ASSISTANT_PAGE_CUSTOM.

Параметры

assistant

a 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”           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

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

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: 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

Spec-Zone.ru

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