Spec-Zone.ru › GTK 3.24

GtkCellRenderer

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

Функции

void gtk_cell_renderer_class_set_accessible_type ()
void gtk_cell_renderer_get_aligned_area ()
void gtk_cell_renderer_get_size ()
void gtk_cell_renderer_render ()
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 ()
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 Запись
GdkColor * cell-background-gdk Чтение/Запись
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_size(). Наконец, ячейка рендерится в правильном месте с помощью gtk_cell_renderer_render().

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

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

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

Функции

gtk_cell_renderer_class_set_accessible_type ()

void
gtk_cell_renderer_class_set_accessible_type
                               (GtkCellRendererClass *renderer_class,
                                GType type);

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

Эта функция должна вызываться только из функций инициализации класса ячейных рендереров.

Параметры

renderer_class

класс, для которого нужно установить тип элемента доступности

type

Тип объекта, реализующего элемент доступности для widget_class. Тип должен быть подтипом GtkRendererCellAccessible

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]

С: 3.0

gtk_cell_renderer_get_size ()

void
gtk_cell_renderer_get_size (GtkCellRenderer *cell,
                            GtkWidget *widget,
                            const GdkRectangle *cell_area,
                            gint *x_offset,
                            gint *y_offset,
                            gint *width,
                            gint *height);

gtk_cell_renderer_get_size устарел с версии 3.0 и не должен использоваться в новом коде.

Используйте gtk_cell_renderer_get_preferred_size() вместо этого.

Получает ширину и высоту, необходимые для отрисовки ячейки. Используется виджеты-представлениями для определения подходящего размера для cell_area, передаваемого в gtk_cell_renderer_render(). Если cell_area не NULL, заполняет смещения x и y ячейки относительно этого расположения.

Обратите внимание, что значения, установленные в width и height, а также в x_offset и y_offset, включают свойства xpad и ypad.

Параметры

cell

a GtkCellRenderer

widget

виджет, к которому рендерер отрисовывает

cell_area

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

[allow-none]

x_offset

место для возвращения смещения x ячейки относительно cell_area, или NULL.

[out][allow-none]

y_offset

место для возвращения смещения y ячейки относительно cell_area, или NULL.

[out][allow-none]

width

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

[out][allow-none]

height

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

[out][allow-none]

gtk_cell_renderer_render ()

void
gtk_cell_renderer_render (GtkCellRenderer *cell,
                          cairo_t *cr,
                          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

a GtkCellRenderer

cr

контекст cairo для рисования

widget

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

background_area

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

cell_area

область, обычно отрисовываемая ячейным рендерером

flags

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

gtk_cell_renderer_activate ()

gboolean
gtk_cell_renderer_activate (GtkCellRenderer *cell,
                            GdkEvent *event,
                            GtkWidget *widget,
                            const gchar *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 gchar *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 если редактирование было отменено

С: 2.6

gtk_cell_renderer_get_fixed_size ()

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

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

Параметры

cell

Элемент 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,
                                  gint width,
                                  gint height);

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

Параметры

cell

Элемент GtkCellRenderer

width

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

height

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

gtk_cell_renderer_get_visible ()

gboolean
gtk_cell_renderer_get_visible (GtkCellRenderer *cell);

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

Параметры

cell

Элемент GtkCellRenderer

Возвращает

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

С: 2.18

gtk_cell_renderer_set_visible ()

void
gtk_cell_renderer_set_visible (GtkCellRenderer *cell,
                               gboolean visible);

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

Параметры

cell

Элемент GtkCellRenderer

visible

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

С: 2.18

gtk_cell_renderer_get_sensitive ()

gboolean
gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell);

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

Параметры

cell

Элемент рендеринга ячейки GtkCellRenderer

Возвращает

TRUE , если элемент рендеринга ячейки чувствителен

С: 2.18

gtk_cell_renderer_set_sensitive ()

void
gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell,
                                 gboolean sensitive);

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

Параметры

cell

Элемент рендеринга ячейки GtkCellRenderer

sensitive

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

С: 2.18

gtk_cell_renderer_get_alignment ()

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

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

Параметры

cell

Элемент рендеринга ячейки GtkCellRenderer

xalign

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

[out][allow-none]

yalign

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

[out][allow-none]

С: 2.18

gtk_cell_renderer_set_alignment ()

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

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

Параметры

cell

Элемент рендеринга ячейки GtkCellRenderer

xalign

выравнивание по горизонтали элемента рендеринга ячейки

yalign

выравнивание по вертикали элемента рендеринга ячейки

С: 2.18

gtk_cell_renderer_get_padding ()

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

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

Параметры

cell

Элемент рендеринга ячейки GtkCellRenderer

xpad

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

[out][allow-none]

ypad

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

[out][allow-none]

С: 2.18

gtk_cell_renderer_set_padding ()

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

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

Параметры

cell

Элемент рендеринга ячейки GtkCellRenderer

xpad

отступ по горизонтали элемента рендеринга ячейки

ypad

отступ по вертикали элемента рендеринга ячейки

С: 2.18

gtk_cell_renderer_get_state ()

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

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

Параметры

cell

элемент рендеринга ячейки GtkCellRenderer, или NULL.

[nullable]

widget

виджет GtkWidget, или NULL.

[nullable]

cell_state

состояние элемента рендеринга ячейки

Возвращает

флаги состояния виджета, применимые к cell

С: 3.0

gtk_cell_renderer_is_activatable ()

gboolean
gtk_cell_renderer_is_activatable (GtkCellRenderer *cell);

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

Параметры

cell

Элемент рендеринга ячейки GtkCellRenderer

Возвращает

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

С: 3.0

gtk_cell_renderer_get_preferred_height ()

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

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

Параметры

cell

экземпляр GtkCellRenderer

widget

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

minimum_size

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

[out][allow-none]

natural_size

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

[out][allow-none]

С: 3.0

gtk_cell_renderer_get_preferred_height_for_width ()

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

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

Параметры

cell

экземпляр GtkCellRenderer

widget

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

width

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

minimum_height

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

[out][allow-none]

natural_height

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

[out][allow-none]

С: 3.0

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]

С: 3.0

gtk_cell_renderer_get_preferred_width ()

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

Получает естественный размер рендерера при отображении на widget.

Параметры

cell

экземпляр GtkCellRenderer

widget

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

minimum_size

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

[out][allow-none]

natural_size

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

[out][allow-none]

С: 3.0

gtk_cell_renderer_get_preferred_width_for_height ()

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

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

Параметры

cell

экземпляр GtkCellRenderer

widget

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

height

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

minimum_width

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

[out][allow-none]

natural_width

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

[out][allow-none]

С: 3.0

gtk_cell_renderer_get_request_mode ()

GtkSizeRequestMode
gtk_cell_renderer_get_request_mode (GtkCellRenderer *cell);

Получает предпочтения ячейки-рендерера по размещению: высота для ширины или ширина для высоты.

Параметры

cell

экземпляр GtkCellRenderer

Возвращает

Предпочтительный GtkSizeRequestMode для этого рендерера.

С: 3.0

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

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

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

GTK_CELL_RENDERER_EXPANDED

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

Перечисление 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,
                                                          gint                 *minimum_size,
                                                          gint                 *natural_size);
  void               (* get_preferred_height_for_width)  (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          gint                  width,
                                                          gint                 *minimum_height,
                                                          gint                 *natural_height);
  void               (* get_preferred_height)            (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          gint                 *minimum_size,
                                                          gint                 *natural_size);
  void               (* get_preferred_width_for_height)  (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          gint                  height,
                                                          gint                 *minimum_width,
                                                          gint                 *natural_width);
  void               (* get_aligned_area)                (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
							  GtkCellRendererState  flags,
                                                          const GdkRectangle   *cell_area,
                                                          GdkRectangle         *aligned_area);
  void               (* get_size)                        (GtkCellRenderer      *cell,
                                                          GtkWidget            *widget,
                                                          const GdkRectangle   *cell_area,
                                                          gint                 *x_offset,
                                                          gint                 *y_offset,
                                                          gint                 *width,
                                                          gint                 *height);
  void               (* render)                          (GtkCellRenderer      *cell,
                                                          cairo_t              *cr,
                                                          GtkWidget            *widget,
                                                          const GdkRectangle   *background_area,
                                                          const GdkRectangle   *cell_area,
                                                          GtkCellRendererState  flags);
  gboolean           (* activate)                        (GtkCellRenderer      *cell,
                                                          GdkEvent             *event,
                                                          GtkWidget            *widget,
                                                          const gchar          *path,
                                                          const GdkRectangle   *background_area,
                                                          const GdkRectangle   *cell_area,
                                                          GtkCellRendererState  flags);
  GtkCellEditable *  (* start_editing)                   (GtkCellRenderer      *cell,
                                                          GdkEvent             *event,
                                                          GtkWidget            *widget,
                                                          const gchar          *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 gchar     *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 .

get_size ()

Вызывается для получения ширины и высоты, необходимых для отображения ячейки. Устарело: 3.0.

render ()

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

activate ()

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

start_editing ()

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

editing_canceled ()

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

editing_started ()

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

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

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

  “cell-background”          char *

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

Владелец: GtkCellRenderer

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

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

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

  “cell-background-gdk”      GdkColor *

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

GtkCellRenderer:cell-background-gdk устарело начиная с версии 3.4 и не должно использоваться в новых кодах.

Используйте “cell-background-rgba” вместо этого.

Владелец: GtkCellRenderer

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

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

  “cell-background-rgba”     GdkRGBA *

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

Владелец: GtkCellRenderer

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

С версии: 3.0

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

Выравнивание по оси X.

Владелец: GtkCellRenderer

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

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

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

Свойство “xpad”

  “xpad”                     guint

xpad.

Владелец: GtkCellRenderer

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

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

Свойство “yalign”

  “yalign”                   float

Выравнивание по оси Y.

Владелец: GtkCellRenderer

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

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

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

Свойство “ypad”

  “ypad”                     guint

ypad.

Владелец: GtkCellRenderer

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

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

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

Сигнал “editing-canceled”

void
user_function (GtkCellRenderer *renderer,
               gpointer         user_data)

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

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

Параметры

renderer

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

user_data

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

Флаги: Выполнение в первую очередь

С версии: 2.4

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

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

Флаги: Выполнение в первую очередь

С версии: 2.6

См. также

GtkCellEditable

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

Spec-Zone.ru

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