Spec-Zone.ru › GTK 4.0

GtkCellRenderer

GtkCellRenderer — Объект для отрисовки одной ячейки

Функции

void gtk_cell_renderer_get_aligned_area ()
void gtk_cell_renderer_snapshot ()
gboolean gtk_cell_renderer_activate ()
GtkCellEditable * gtk_cell_renderer_start_editing ()
void gtk_cell_renderer_stop_editing ()
void gtk_cell_renderer_get_fixed_size ()
void gtk_cell_renderer_set_fixed_size ()
gboolean gtk_cell_renderer_get_visible ()
void gtk_cell_renderer_set_visible ()
gboolean gtk_cell_renderer_get_sensitive ()
void gtk_cell_renderer_set_sensitive ()
void gtk_cell_renderer_get_alignment ()
void gtk_cell_renderer_set_alignment ()
void gtk_cell_renderer_get_padding ()
void gtk_cell_renderer_set_padding ()
GtkStateFlags gtk_cell_renderer_get_state ()
gboolean gtk_cell_renderer_is_activatable ()
gboolean gtk_cell_renderer_get_is_expanded ()
gboolean gtk_cell_renderer_get_is_expander ()
void gtk_cell_renderer_set_is_expanded ()
void gtk_cell_renderer_set_is_expander ()
void gtk_cell_renderer_get_preferred_height ()
void gtk_cell_renderer_get_preferred_height_for_width ()
void gtk_cell_renderer_get_preferred_size ()
void gtk_cell_renderer_get_preferred_width ()
void gtk_cell_renderer_get_preferred_width_for_height ()
GtkSizeRequestMode gtk_cell_renderer_get_request_mode ()

Свойства

char * cell-background Запись
GdkRGBA * cell-background-rgba Чтение/Запись
gboolean cell-background-set Чтение/Запись
gboolean editing Чтение
int height Чтение/Запись
gboolean is-expanded Чтение/Запись
gboolean is-expander Чтение/Запись
GtkCellRendererMode mode Чтение/Запись
gboolean sensitive Чтение/Запись
gboolean visible Чтение/Запись
int width Чтение/Запись
float xalign Чтение/Запись
guint xpad Чтение/Запись
float yalign Чтение/Запись
guint ypad Чтение/Запись

Сигналы

void editing-canceled Выполнять первым
void editing-started Выполнять первым

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

перечисление GtkCellRendererState
перечисление GtkCellRendererMode
структура GtkCellRenderer
структура GtkCellRendererClass

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkCellRenderer
            ├── GtkCellRendererText
            ├── GtkCellRendererPixbuf
            ├── GtkCellRendererProgress
            ├── GtkCellRendererSpinner
            ╰── GtkCellRendererToggle

Файлы заголовков

#include <gtk/gtk.h>

Описание

Класс GtkCellRenderer является базовым классом набора объектов, используемых для отрисовки ячейки на cairo_t. Эти объекты в основном используются виджетом GtkTreeView, хотя они не привязаны к ним каким-либо специфическим образом. Стоит отметить, что GtkCellRenderer не является GtkWidget и не может быть обработан как таковой.

Основное назначение GtkCellRenderer — рисование определённых графических элементов на cairo_t. Обычно один рендерер ячейки используется для отрисовки многих ячеек на экране. В связи с этим не ожидается, что рендерер ячейки будет сохранять какое-либо постоянное состояние. Вместо этого любое состояние устанавливается непосредственно перед использованием с помощью системы свойств GObjects. Затем ячейка измеряется с помощью gtk_cell_renderer_get_preferred_size(). Наконец, ячейка отрисовывается в нужном месте с помощью gtk_cell_renderer_snapshot().

При написании нового GtkCellRenderer необходимо соблюдать ряд правил. Прежде всего, важно, чтобы определённый набор свойств всегда давал рендерер ячейки одного и того же размера, за исключением изменения стиля. GtkCellRenderer также имеет ряд общих свойств, которые должны соблюдаться всеми дочерними классами.

Помимо простой отрисовки ячейки, рендереры ячеек могут по желанию предоставлять активные элементы пользовательского интерфейса. Рендерер ячейки может быть «активируемым», как GtkCellRendererToggle, который переключается при активации щелчком мыши, или «редактируемым», как GtkCellRendererText, который позволяет пользователю редактировать текст с помощью виджета, реализующего интерфейс GtkCellEditable, например, GtkEntry. Чтобы сделать рендерер ячейки активируемым или редактируемым, необходимо реализовать виртуальные функции GtkCellRendererClass.activate или GtkCellRendererClass.start_editing соответственно.

Многие свойства GtkCellRenderer и его подклассов имеют соответствующее свойство «установки», например, «cell-background-set» соответствует «cell-background». Эти свойства «установки» отражают, установлено ли свойство или нет. Не следует устанавливать их независимо.

Функции

gtk_cell_renderer_get_aligned_area ()

void
gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell,
                                    GtkWidget *widget,
                                    GtkCellRendererState flags,
                                    const GdkRectangle *cell_area,
                                    GdkRectangle *aligned_area);

Получает выровненную область, используемую cell внутри cell_area. Используется для поиска подходящей области редактирования и фокусировки.

Параметры

cell

экземпляр GtkCellRenderer

widget

GtkWidget, в который будет рендериться ячейка

flags

флаги рендеринга

cell_area

область ячейки, которая будет передана в gtk_cell_renderer_render()

aligned_area

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

[out]

gtk_cell_renderer_snapshot ()

void
gtk_cell_renderer_snapshot (GtkCellRenderer *cell,
                            GtkSnapshot *snapshot,
                            GtkWidget *widget,
                            const GdkRectangle *background_area,
                            const GdkRectangle *cell_area,
                            GtkCellRendererState flags);

Вызывает виртуальную функцию рендеринга GtkCellRenderer. Три переданные прямоугольника — области в cr. Большинство рендереров будут рисовать внутри cell_area; поля xalign, yalign, xpad и ypad GtkCellRenderer должны учитываться относительно cell_area. background_area включает пустое пространство вокруг ячейки и область, содержащую раскрывающийся элемент дерева; поэтому прямоугольники background_area всех ячеек чередуются, чтобы покрыть всю window.

Параметры

cell

GtkCellRenderer

snapshot

GtkSnapshot для рисования

widget

виджет, владеющий window

background_area

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

cell_area

область, обычно рендерящаяся ячейкой

flags

флаги, влияющие на рендеринг

gtk_cell_renderer_activate ()

gboolean
gtk_cell_renderer_activate (GtkCellRenderer *cell,
                            GdkEvent *event,
                            GtkWidget *widget,
                            const char *path,
                            const GdkRectangle *background_area,
                            const GdkRectangle *cell_area,
                            GtkCellRendererState flags);

Передаёт событие активации ячейному рендереру для возможной обработки. Некоторые ячейные рендеры могут использовать события; например, GtkCellRendererToggle переключается при нажатии мыши.

Параметры

cell

GtkCellRenderer

event

GdkEvent

widget

виджет, получивший событие

path

зависимая от виджета строковая запись местоположения события; например, для GtkTreeView, строковое представление GtkTreePath

background_area

область фона, переданная в gtk_cell_renderer_render()

cell_area

область ячейки, переданная в gtk_cell_renderer_render()

flags

флаги рендеринга

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

TRUE если событие было обработано/поглощено

gtk_cell_renderer_start_editing ()

GtkCellEditable *
gtk_cell_renderer_start_editing (GtkCellRenderer *cell,
                                 GdkEvent *event,
                                 GtkWidget *widget,
                                 const char *path,
                                 const GdkRectangle *background_area,
                                 const GdkRectangle *cell_area,
                                 GtkCellRendererState flags);

Начинает редактирование содержимого этой cell с помощью нового виджета GtkCellEditable, созданного виртуальной функцией GtkCellRendererClass.start_editing.

Параметры

cell

GtkCellRenderer

event

GdkEvent.

[nullable]

widget

виджет, получивший событие

path

зависимая от виджета строковая запись местоположения события; например, для GtkTreeView, строковое представление GtkTreePath

background_area

область фона, переданная в gtk_cell_renderer_render()

cell_area

область ячейки, переданная в gtk_cell_renderer_render()

flags

флаги рендеринга

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

Новый GtkCellEditable для редактирования этой cell или NULL если редактирование невозможно.

[nullable][transfer none]

gtk_cell_renderer_stop_editing ()

void
gtk_cell_renderer_stop_editing (GtkCellRenderer *cell,
                                gboolean canceled);

Сообщает ячейному рендереру, что редактирование остановлено. Если canceled равно TRUE, ячейный рендерер выпустит сигнал “editing-canceled”.

Эта функция должна вызываться реализациями ячейных рендеров в ответ на сигнал “editing-done” GtkCellEditable.

Параметры

cell

GtkCellRenderer

canceled

TRUE если редактирование отменено

gtk_cell_renderer_get_fixed_size ()

void
gtk_cell_renderer_get_fixed_size (GtkCellRenderer *cell,
                                  int *width,
                                  int *height);

Заполняет width и height соответствующими размерами cell.

Параметры

cell

A GtkCellRenderer

width

место для заполнения фиксированной ширины ячейки, или NULL.

[out][allow-none]

height

место для заполнения фиксированной высоты ячейки, или NULL.

[out][allow-none]

gtk_cell_renderer_set_fixed_size ()

void
gtk_cell_renderer_set_fixed_size (GtkCellRenderer *cell,
                                  int width,
                                  int height);

Устанавливает размер рендерера ячейки в явном виде, независимо от установленных свойств.

Параметры

cell

A GtkCellRenderer

width

ширина рендерера ячейки, или -1

height

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

gtk_cell_renderer_get_visible ()

gboolean
gtk_cell_renderer_get_visible (GtkCellRenderer *cell);

Возвращает видимость рендерера ячейки.

Параметры

cell

A GtkCellRenderer

Возвращает

TRUE если рендерер ячейки видимый

gtk_cell_renderer_set_visible ()

void
gtk_cell_renderer_set_visible (GtkCellRenderer *cell,
                               gboolean visible);

Устанавливает видимость рендерера ячейки.

Параметры

cell

A GtkCellRenderer

visible

видимость ячейки

gtk_cell_renderer_get_sensitive ()

gboolean
gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell);

Возвращает чувствительность рендерера ячейки.

Параметры

cell

A GtkCellRenderer

Возвращает

TRUE если рендерер ячейки чувствителен

gtk_cell-renderer-set-sensitive ()

void
gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell,
                                 gboolean sensitive);

Устанавливает чувствительность рендерера ячейки.

Параметры

cell

A GtkCellRenderer

sensitive

чувствительность ячейки

gtk_cell_renderer_get_alignment ()

void
gtk_cell_renderer_get_alignment (GtkCellRenderer *cell,
                                 float *xalign,
                                 float *yalign);

Заполняет xalign и yalign соответствующими значениями cell.

Параметры

cell

A GtkCellRenderer

xalign

место для заполнения x-выравнивания ячейки, или NULL.

[out][allow-none]

yalign

место для заполнения y-выравнивания ячейки, или NULL.

[out][allow-none]

gtk_cell_renderer_set_alignment ()

void
gtk_cell_renderer_set_alignment (GtkCellRenderer *cell,
                                 float xalign,
                                 float yalign);

Устанавливает выравнивание рендерера внутри доступного пространства.

Параметры

cell

A GtkCellRenderer

xalign

x-выравнивание рендерера ячейки

yalign

y-выравнивание рендерера ячейки

gtk_cell_renderer_get_padding ()

void
gtk_cell_renderer_get_padding (GtkCellRenderer *cell,
                               int *xpad,
                               int *ypad);

Заполняет xpad и ypad соответствующими значениями cell.

Параметры

cell

A GtkCellRenderer

xpad

место для заполнения x-отступа ячейки, или NULL.

[out][allow-none]

ypad

место для заполнения y-отступа ячейки, или NULL.

[out][allow-none]

gtk_cell_renderer_set_padding ()

void
gtk_cell_renderer_set_padding (GtkCellRenderer *cell,
                               int xpad,
                               int ypad);

Устанавливает отступы рендерера.

Параметры

cell

A GtkCellRenderer

xpad

x-отступ рендерера ячейки

ypad

y-отступ рендерера ячейки

gtk_cell_renderer_get_state ()

GtkStateFlags
gtk_cell_renderer_get_state (GtkCellRenderer *cell,
                             GtkWidget *widget,
                             GtkCellRendererState cell_state);

Преобразует состояние ячейки-рендерера в GtkStateFlags, основываясь на состоянии ячейки-рендерера, чувствительности виджета и заданном GtkCellRendererState.

Параметры

cell

a GtkCellRenderer, или NULL.

[nullable]

widget

a GtkWidget, или NULL.

[nullable]

cell_state

состояние ячейки-рендерера

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

флаги состояния виджета, относящиеся к cell

gtk_cell_renderer_is_activatable ()

gboolean
gtk_cell_renderer_is_activatable (GtkCellRenderer *cell);

Проверяет, может ли ячейка-рендерер выполнить действие при активации.

Параметры

cell

A GtkCellRenderer

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

TRUE , если ячейка-рендерер может выполнить действие при активации

gtk_cell_renderer_get_is_expanded ()

gboolean
gtk_cell_renderer_get_is_expanded (GtkCellRenderer *cell);

Проверяет, расширена ли данная GtkCellRenderer.

Параметры

cell

a GtkCellRenderer

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

TRUE , если ячейка-рендерер расширена

gtk_cell_renderer_get_is_expander ()

gboolean
gtk_cell_renderer_get_is_expander (GtkCellRenderer *cell);

Проверяет, является ли данная GtkCellRenderer расширителем.

Параметры

cell

a GtkCellRenderer

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

TRUE , если cell является расширителем, и FALSE в противном случае

gtk_cell_renderer_set_is_expanded ()

void
gtk_cell_renderer_set_is_expanded (GtkCellRenderer *cell,
                                   gboolean is_expanded);

Устанавливает, расширена ли данная GtkCellRenderer.

Параметры

cell

a GtkCellRenderer

is_expanded

должен ли cell быть расширен

gtk_cell_renderer_set_is_expander ()

void
gtk_cell_renderer_set_is_expander (GtkCellRenderer *cell,
                                   gboolean is_expander);

Устанавливает, является ли данная GtkCellRenderer расширителем.

Параметры

cell

a GtkCellRenderer

is_expander

является ли cell расширителем

gtk_cell_renderer_get_preferred_height ()

void
gtk_cell_renderer_get_preferred_height
                               (GtkCellRenderer *cell,
                                GtkWidget *widget,
                                int *minimum_size,
                                int *natural_size);

Возвращает естественный размер рендерера при отрисовке в widget .

Параметры

cell

экземпляр GtkCellRenderer

widget

виджет GtkWidget, в который будет отрисовываться ячейка

minimum_size

место для хранения минимального размера, или NULL.

[out][allow-none]

natural_size

место для хранения естественного размера, или NULL.

[out][allow-none]

gtk_cell_renderer_get_preferred_height_for_width ()

void
gtk_cell_renderer_get_preferred_height_for_width
                               (GtkCellRenderer *cell,
                                GtkWidget *widget,
                                int width,
                                int *minimum_height,
                                int *natural_height);

Возвращает минимальную и естественную высоту ячейки-рендерера, если она была бы отрисована в widget с указанной width шириной.

Параметры

cell

экземпляр GtkCellRenderer

widget

виджет GtkWidget, в который будет отрисовываться ячейка

width

доступная ширина для размещения

minimum_height

место для хранения минимального размера, или NULL.

[out][allow-none]

natural_height

место для хранения предпочтительного размера, или NULL.

[out][allow-none]

gtk_cell_renderer_get_preferred_size ()

void
gtk_cell_renderer_get_preferred_size (GtkCellRenderer *cell,
                                      GtkWidget *widget,
                                      GtkRequisition *minimum_size,
                                      GtkRequisition *natural_size);

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

Параметры

cell

экземпляр GtkCellRenderer

widget

виджет GtkWidget, в который будет отрисовываться ячейка

minimum_size

место для хранения минимального размера, или NULL.

[out][allow-none]

natural_size

место для хранения естественного размера, или NULL.

[out][allow-none]

gtk_cell_renderer_get_preferred_width ()

void
gtk_cell_renderer_get_preferred_width (GtkCellRenderer *cell,
                                       GtkWidget *widget,
                                       int *minimum_size,
                                       int *natural_size);

Возвращает естественный размер рендерера при рендеринге в widget.

Параметры

cell

экземпляр GtkCellRenderer

widget

элемент GtkWidget, на который будет рендериться ячейка

minimum_size

место для хранения минимального размера, или NULL.

[out][allow-none]

natural_size

место для хранения естественного размера, или NULL.

[out][allow-none]

gtk_cell_renderer_get_preferred_width_for_height ()

void
gtk_cell_renderer_get_preferred_width_for_height
                               (GtkCellRenderer *cell,
                                GtkWidget *widget,
                                int height,
                                int *minimum_width,
                                int *natural_width);

Возвращает минимальную и естественную ширину ячейки-рендерера, если она была бы отрисована в widget с заданной height высотой.

Параметры

cell

экземпляр GtkCellRenderer

widget

элемент GtkWidget, на который будет рендериться ячейка

height

размер, который доступен для размещения

minimum_width

место для хранения минимального размера, или NULL.

[out][allow-none]

natural_width

место для хранения предпочтительного размера, или NULL.

[out][allow-none]

gtk_cell_renderer_get_request_mode ()

GtkSizeRequestMode
gtk_cell_renderer_get_request_mode (GtkCellRenderer *cell);

Получает, предпочитает ли ячейка-рендерер макет «высота для ширины» или «ширина для высоты».

Параметры

cell

экземпляр GtkCellRenderer

Возвращает

GtkSizeRequestMode, предпочитаемый этим рендерером.

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

перечисление GtkCellRendererState

Указывает, как отображать ячейку.

Члены

GTK_CELL_RENDERER_SELECTED

Ячейка в данный момент выбрана и, вероятно, имеет цвет фона выделения.

GTK_CELL_RENDERER_PRELIT

Над ячейкой наведён курсор.

GTK_CELL_RENDERER_INSENSITIVE

Ячейка отображается в неактивном режиме.

GTK_CELL_RENDERER_SORTED

Ячейка в строке, отсортированной по определенному полю.

GTK_CELL_RENDERER_FOCUSED

Ячейка в строке фокуса.

GTK_CELL_RENDERER_EXPANDABLE

Ячейка в строке, которую можно развернуть.

GTK_CELL_RENDERER_EXPANDED

Ячейка в развернутой строке.

перечисление GtkCellRendererMode

Определяет, как пользователь может взаимодействовать с конкретной ячейкой.

Члены

GTK_CELL_RENDERER_MODE_INERT

Ячейка предназначена только для отображения и с ней нельзя взаимодействовать. Обратите внимание, что это не означает, что, например, строка, которая рисуется, не может быть выбрана — просто конкретный элемент в ней не может быть изменен индивидуально.

GTK_CELL_RENDERER_MODE_ACTIVATABLE

Ячейку можно нажать.

GTK_CELL_RENDERER_MODE_EDITABLE

Ячейку можно редактировать или иным образом изменять.

структура GtkCellRenderer

struct GtkCellRenderer;

структура GtkCellRendererClass

struct GtkCellRendererClass {
  /* vtable - not signals */
  GtkSizeRequestMode (* get_request_mode)                (GtkCellRenderer      *cell);
  void               (* get_preferred_width)             (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          int                  *minimum_size,
                                                          int                  *natural_size);
  void               (* get_preferred_height_for_width)  (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          int                   width,
                                                          int                  *minimum_height,
                                                          int                  *natural_height);
  void               (* get_preferred_height)            (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          int                  *minimum_size,
                                                          int                  *natural_size);
  void               (* get_preferred_width_for_height)  (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          int                   height,
                                                          int                  *minimum_width,
                                                          int                  *natural_width);
  void               (* get_aligned_area)                (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
							  GtkCellRendererState  flags,
                                                          const GdkRectangle   *cell_area,
                                                          GdkRectangle         *aligned_area);
  void               (* snapshot)                        (GtkCellRenderer      *cell,
                                                          GtkSnapshot          *snapshot,
                                                          GtkWidget            *widget,
                                                          const GdkRectangle   *background_area,
                                                          const GdkRectangle   *cell_area,
                                                          GtkCellRendererState  flags);
  gboolean           (* activate)                        (GtkCellRenderer      *cell,
                                                          GdkEvent             *event,
                                                          GtkWidget            *widget,
                                                          const char           *path,
                                                          const GdkRectangle   *background_area,
                                                          const GdkRectangle   *cell_area,
                                                          GtkCellRendererState  flags);
  GtkCellEditable *  (* start_editing)                   (GtkCellRenderer      *cell,
                                                          GdkEvent             *event,
                                                          GtkWidget            *widget,
                                                          const char           *path,
                                                          const GdkRectangle   *background_area,
                                                          const GdkRectangle   *cell_area,
                                                          GtkCellRendererState  flags);

  /* Signals */
  void (* editing_canceled) (GtkCellRenderer *cell);
  void (* editing_started)  (GtkCellRenderer *cell,
			     GtkCellEditable *editable,
			     const char      *path);
};

Члены

get_request_mode ()

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

get_preferred_width ()

Вызывается для получения естественной ширины рендерера.

get_preferred_height_for_width ()

Вызывается для получения естественной высоты рендерера для заданной ширины.

get_preferred_height ()

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

get_preferred_width_for_height ()

Вызывается для получения естественной ширины рендерера для заданной высоты.

get_aligned_area ()

Вызывается для получения выровненной области, используемой cell внутри cell_area.

snapshot ()

Вызывается для создания снимка содержимого GtkCellRenderer.

activate ()

Вызывается для активации содержимого GtkCellRenderer.

start_editing ()

Вызывается для начала редактирования содержимого GtkCellRenderer.

editing_canceled ()

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

editing_started ()

Сигнал генерируется, когда ячейка начинает редактироваться.

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

Свойство “cell-background”

  “cell-background”          char *

Цвет фона ячейки в виде строки.

Владелец: GtkCellRenderer

Флаги: Запись

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

Свойство “cell-background-rgba”

  “cell-background-rgba”     GdkRGBA *

Фон ячейки в виде GdkRGBA.

Владелец: GtkCellRenderer

Флаги: Чтение / Запись

Свойство “cell-background-set”

  “cell-background-set”      gboolean

Установлен ли цвет фона ячейки.

Владелец: GtkCellRenderer

Флаги: Чтение / Запись

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

Свойство “editing”

  “editing”                  gboolean

Находится ли рендерер ячейки в режиме редактирования.

Владелец: GtkCellRenderer

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

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

Свойство “height”

  “height”                   int

Фиксированная высота.

Владелец: GtkCellRenderer

Флаги: Чтение / Запись

Допустимые значения: >= -1

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

Свойство “is-expanded”

  “is-expanded”              gboolean

Строка — это строка раскрытия, и она раскрыта.

Владелец: GtkCellRenderer

Флаги: Чтение / Запись

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

Свойство “is-expander”

  “is-expander”              gboolean

Строка имеет дочерние элементы.

Владелец: GtkCellRenderer

Флаги: Чтение / Запись

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

Свойство “mode”

  “mode”                     GtkCellRendererMode

Режим редактирования CellRenderer.

Владелец: GtkCellRenderer

Флаги: Чтение / Запись

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

Свойство “sensitive”

  “sensitive”                gboolean

Отображать ячейку в активном состоянии.

Владелец: GtkCellRenderer

Флаги: Чтение / Запись

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

Свойство “visible”

  “visible”                  gboolean

Отображать ячейку.

Владелец: GtkCellRenderer

Флаги: Чтение / Запись

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

Свойство “width”

  “width”                    int

Фиксированная ширина.

Владелец: GtkCellRenderer

Флаги: Чтение / Запись

Допустимые значения: >= -1

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

Свойство “xalign”

  “xalign”                   float

Выравнивание по горизонтали.

Владелец: GtkCellRenderer

Флаги: Чтение / Запись

Допустимые значения: [0,1]

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

Свойство “xpad”

  “xpad”                     guint

Отступ по горизонтали.

Владелец: GtkCellRenderer

Флаги: Чтение / Запись

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

Свойство “yalign”

  “yalign”                   float

Выравнивание по вертикали.

Владелец: GtkCellRenderer

Флаги: Чтение / Запись

Допустимые значения: [0,1]

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

Свойство “ypad”

  “ypad”                     guint

Отступ по вертикали.

Владелец: GtkCellRenderer

Флаги: Чтение / Запись

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

Подробности сигналов

Сигнал “editing-canceled”

void
user_function (GtkCellRenderer *renderer,
               gpointer         user_data)

Этот сигнал генерируется, когда пользователь отменяет процесс редактирования ячейки. Например, рендерер редактируемой ячейки может быть написан так, чтобы отменять редактирование при нажатии клавиши Escape.

См. также: gtk_cell_renderer_stop_editing().

Параметры

renderer

объект, получивший сигнал

user_data

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

Флаги: Run First

Сигнал “editing-started”

void
user_function (GtkCellRenderer *renderer,
               GtkCellEditable *editable,
               char            *path,
               gpointer         user_data)

Этот сигнал генерируется, когда ячейка начинает редактироваться. Целевое использование этого сигнала заключается в выполнении специальной настройки editable, например, добавление GtkEntryCompletion или настройка дополнительных столбцов в GtkComboBox.

См. gtk_cell_editable_start_editing() для получения информации о жизненном цикле editable и способе выполнения настройки, который не зависит от renderer.

Обратите внимание, что GTK не гарантирует, что рендереры ячеек будут продолжать использовать тот же виджет для редактирования в будущих выпусках, поэтому вы должны проверить тип editable перед выполнением любой специальной настройки, как показано в следующем примере:

static void
text_editing_started (GtkCellRenderer *cell,
                      GtkCellEditable *editable,
                      const char      *path,
                      gpointer         data)
{
  if (GTK_IS_ENTRY (editable))

    {
      GtkEntry *entry = GTK_ENTRY (editable);

      // ... create a GtkEntryCompletion

      gtk_entry_set_completion (entry, completion);
    }
}

Параметры

renderer

объект, получивший сигнал

editable

объект GtkCellEditable

path

путь, идентифицирующий редактируемую ячейку

user_data

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

Флаги: Run First

См. также

GtkCellEditable

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkCellRenderer.html

Spec-Zone.ru

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