Spec-Zone.ru › GTK 3.22

GtkCellAreaContext

GtkCellAreaContext — Хранит геометрическую информацию для серии строк в GtkCellArea

Функции

GtkCellArea * gtk_cell_area_context_get_area ()
void gtk_cell_area_context_allocate ()
void gtk_cell_area_context_reset ()
void gtk_cell_area_context_get_preferred_width ()
void gtk_cell_area_context_get_preferred_height ()
void gtk_cell_area_context_get_preferred_height_for_width ()
void gtk_cell_area_context_get_preferred_width_for_height ()
void gtk_cell_area_context_get_allocation ()
void gtk_cell_area_context_push_preferred_width ()
void gtk_cell_area_context_push_preferred_height ()

Свойства

GtkCellArea * area Чтение / Запись / Только для создания
gint минимальная высота Чтение
gint минимальная ширина Чтение
gint естественная высота Чтение
gint естественная ширина Чтение

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

struct GtkCellAreaContextClass
GtkCellAreaContext

Иерархия объектов

    GObject
    ╰── GtkCellAreaContext

Включаемые файлы

#include <gtk/gtk.h>

Описание

Объект GtkCellAreaContext создаётся реализацией GtkCellArea с помощью виртуального метода GtkCellAreaClass.create_context() и используется для хранения размеров и выравнивания ячеек для серии строк GtkTreeModel, которые запрашиваются и отображаются в одном контексте.

Виджеты GtkCellLayout могут создавать любое количество контекстов для запроса и отображения групп строк данных. Однако важно, чтобы один и тот же контекст, который использовался для запроса размеров для заданной строки GtkTreeModel, также использовался для этой же строки при вызове других API GtkCellArea, таких как gtk_cell_area_render() и gtk_cell_area_event().

Функции

gtk_cell_area_context_get_area ()

GtkCellArea *
gtk_cell_area_context_get_area (GtkCellAreaContext *context);

Получает GtkCellArea, по которому был создан этот context.

Это, как правило, не требуется для компонентов компоновки; однако, для реализации контекста важно получить информацию об области, для которой он используется.

Например, во время GtkCellAreaContextClass.allocate() важно знать детали отступов ячеек, с которыми настроен GtkCellArea, чтобы вычислить надлежащее выделение.

Параметры

context

a GtkCellAreaContext

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

GtkCellArea, по которому был создан этот контекст.

[transfer none]

С: 3.0

gtk_cell_area_context_allocate ()

void
gtk_cell_area_context_allocate (GtkCellAreaContext *context,
                                gint width,
                                gint height);

Выделяет ширину и/или высоту для всех строк, которые должны быть отображены с помощью context .

Обычно выделение выполняется только по горизонтали или иногда по вертикали, поскольку группа строк обычно отображается рядом друг с другом по вертикали или горизонтали и разделяет либо одинаковую ширину, либо одинаковую высоту. Иногда они выделяются как по горизонтали, так и по вертикали, создавая однородный эффект строк. Это обычно происходит в GtkTreeView, когда “fixed-height-mode” включен.

С 3.0

Параметры

context

a GtkCellAreaContext

width

выделенная ширина для всех строк GtkTreeModel, отображаемых с помощью context , или -1.

height

выделенная высота для всех строк GtkTreeModel, отображаемых с помощью context , или -1.

gtk_cell_area_context_reset ()

void
gtk_cell_area_context_reset (GtkCellAreaContext *context);

Сбрасывает любые ранее кэшированные запросы и данные выделения.

При изменении данных GtkTreeModel важно сбросить контекст, если размер содержимого разрешается уменьшаться. Если размер содержимого разрешается только увеличиваться (это обычно опция для представлений, отображающих большие хранилища данных, как мера оптимизации), то только строка, которая изменилась или была вставлена, должна быть (пере)запрошена с помощью gtk_cell_area_get_preferred_width().

Если новый общий размер контекста требует изменения выделенного размера (или когда это выделение вообще изменяется), размеры переменных строк необходимо повторно запросить для каждой строки.

Например, если строки отображаются с одинаковой шириной сверху вниз, то изменение выделенной ширины требует перерасчета всех высот отображаемых строк с помощью gtk_cell_area_get_preferred_height_for_width().

С 3.0

Параметры

context

a GtkCellAreaContext

gtk_cell_area_context_get_preferred_width ()

void
gtk_cell_area_context_get_preferred_width
                               (GtkCellAreaContext *context,
                                gint *minimum_width,
                                gint *natural_width);

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

После вызова gtk_cell_area_context_reset() и/или перед запросом размера GtkCellArea возвращаемые значения равны 0.

Параметры

context

a GtkCellAreaContext

minimum_width

место для хранения минимальной ширины или NULL.

[out][allow-none]

natural_width

место для хранения естественной ширины или NULL.

[out][allow-none]

С: 3.0

gtk_cell_area_context_get_preferred_height ()

void
gtk_cell_area_context_get_preferred_height
                               (GtkCellAreaContext *context,
                                gint *minimum_height,
                                gint *natural_height);

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

После вызова gtk_cell_area_context_reset() и/или перед запросом размера GtkCellArea возвращаемые значения равны 0.

Параметры

context

a GtkCellAreaContext

minimum_height

место для хранения минимальной высоты или NULL.

[out][allow-none]

natural_height

место для хранения естественной высоты или NULL.

[out][allow-none]

С: 3.0

gtk_cell_area_context_get_preferred_height_for_width ()

void
gtk_cell_area_context_get_preferred_height_for_width
                               (GtkCellAreaContext *context,
                                gint width,
                                gint *minimum_height,
                                gint *natural_height);

Получает суммарную предпочтительную высоту для width для всех строк, запрошенных для указанной width с этим контекстом.

После вызова gtk_cell_area_context_reset() и/или перед запросом размера GtkCellArea, возвращаемые значения равны -1.

Параметры

context

контекст GtkCellAreaContext

width

предлагаемая ширина для выделения

minimum_height

место для хранения минимальной высоты или NULL.

[out][allow-none]

natural_height

место для хранения естественной высоты или NULL.

[out][allow-none]

С: 3.0

gtk_cell_area_context_get_preferred_width_for_height ()

void
gtk_cell_area_context_get_preferred_width_for_height
                               (GtkCellAreaContext *context,
                                gint height,
                                gint *minimum_width,
                                gint *natural_width);

Получает суммарную предпочтительную ширину для height для всех строк, запрошенных для указанной height с этим контекстом.

После вызова gtk_cell_area_context_reset() и/или перед запросом размера GtkCellArea, возвращаемые значения равны -1.

Параметры

context

контекст GtkCellAreaContext

height

предлагаемая высота для выделения

minimum_width

место для хранения минимальной ширины или NULL.

[out][allow-none]

natural_width

место для хранения естественной ширины или NULL.

[out][allow-none]

С: 3.0

gtk_cell_area_context_get_allocation ()

void
gtk_cell_area_context_get_allocation (GtkCellAreaContext *context,
                                      gint *width,
                                      gint *height);

Получает текущий размер выделения для context.

Если контекст не был выделен по ширине или высоте, или если контекст был недавно сброшен с помощью gtk_cell_area_context_reset(), возвращаемое значение будет -1.

Параметры

context

контекст GtkCellAreaContext

width

место для хранения выделенной ширины или NULL.

[out][allow-none]

height

место для хранения выделенной высоты или NULL.

[out][allow-none]

С: 3.0

gtk_cell_area_context_push_preferred_width ()

void
gtk_cell_area_context_push_preferred_width
                               (GtkCellAreaContext *context,
                                gint minimum_width,
                                gint natural_width);

Увеличивает минимальную и/или естественную ширину, если новые предлагаемые размеры превышают текущие минимальную и естественную ширину.

Используется реализациями GtkCellAreaContext во время запроса размера по ряду строк GtkTreeModel для поэтапного увеличения запрошенной ширины в серии запросов gtk_cell_area_get_preferred_width().

Параметры

context

контекст GtkCellAreaContext

minimum_width

предлагаемая новая минимальная ширина для context

natural_width

предлагаемая новая естественная ширина для context

С: 3.0

gtk_cell_area_context_push_preferred_height ()

void
gtk_cell_area_context_push_preferred_height
                               (GtkCellAreaContext *context,
                                gint minimum_height,
                                gint natural_height);

Увеличивает минимальную и/или естественную высоту, если новые предлагаемые размеры превышают текущие минимальную и естественную высоту.

Используется реализациями GtkCellAreaContext во время запроса размера по ряду строк GtkTreeModel для поэтапного увеличения запрошенной высоты в серии запросов gtk_cell_area_get_preferred_height().

Параметры

context

контекст GtkCellAreaContext

minimum_height

предлагаемая новая минимальная высота для context

natural_height

предлагаемая новая естественная высота для context

С: 3.0

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

struct GtkCellAreaContextClass

struct GtkCellAreaContextClass {
  void    (* allocate)                       (GtkCellAreaContext *context,
                                              gint                width,
                                              gint                height);
  void    (* reset)                          (GtkCellAreaContext *context);
  void    (* get_preferred_height_for_width) (GtkCellAreaContext *context,
                                              gint                width,
                                              gint               *minimum_height,
                                              gint               *natural_height);
  void    (* get_preferred_width_for_height) (GtkCellAreaContext *context,
                                              gint                height,
                                              gint               *minimum_width,
                                              gint               *natural_width);
};

Члены

allocate ()

Это сообщает контексту, что ширина или высота (или обе) выделения для группы строк были определены. В этот момент контекст должен сохранить любые выделения для внутренних выровненных ячеек, чтобы их не пришлось пересчитывать во время gtk_cell_area_render().

reset ()

Очистить любые ранее сохранённые данные о запрошенных и выделенных размерах для контекста.

get_preferred_height_for_width ()

Возвращает выровненную высоту для заданной ширины, которую контекст должен сохранить при сборе размеров для своих строк.

get_preferred_width_for_height ()

Возвращает выровненную ширину для заданной высоты, которую контекст должен сохранить при сборе размеров для своих строк.

GtkCellAreaContext

typedef struct _GtkCellAreaContext GtkCellAreaContext;

Подробности свойств

Свойство “area”

  “area”                     GtkCellArea *

The GtkCellArea это контекст был создан

Флаги: Чтение / Запись / Только для построения

С версии: 3.0

Свойство “minimum-height”

  “minimum-height”           gint

Минимальная высота для GtkCellArea в этом контексте для всех строк GtkTreeModel, для которых этот контекст был запрошен с помощью gtk_cell_area_get_preferred_height().

Флаги: Чтение

Разрешенные значения: >= -1

Значение по умолчанию: -1

С версии: 3.0

Свойство “minimum-width”

  “minimum-width”            gint

Минимальная ширина для GtkCellArea в этом контексте для всех строк GtkTreeModel, для которых этот контекст был запрошен с помощью gtk_cell_area_get_preferred_width().

Флаги: Чтение

Разрешенные значения: >= -1

Значение по умолчанию: -1

С версии: 3.0

Свойство “natural-height”

  “natural-height”           gint

Естественная высота для GtkCellArea в этом контексте для всех строк GtkTreeModel, для которых этот контекст был запрошен с помощью gtk_cell_area_get_preferred_height().

Флаги: Чтение

Разрешенные значения: >= -1

Значение по умолчанию: -1

С версии: 3.0

Свойство “natural-width”

  “natural-width”            gint

Естественная ширина для GtkCellArea в этом контексте для всех строк GtkTreeModel, для которых этот контекст был запрошен с помощью gtk_cell_area_get_preferred_width().

Флаги: Чтение

Разрешенные значения: >= -1

Значение по умолчанию: -1

С версии: 3.0

© 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/GtkCellAreaContext.html

Spec-Zone.ru

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