Spec-Zone.ru › GTK 4.0

GtkCellEditable

GtkCellEditable — Интерфейс для виджетов, которые могут быть использованы для редактирования ячеек

Функции

void gtk_cell_editable_start_editing ()
void gtk_cell_editable_editing_done ()
void gtk_cell_editable_remove_widget ()

Свойства

gboolean editing-canceled Чтение / Запись

Сигналы

void editing-done Выполнить последним
void remove-widget Выполнить последним

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

GtkCellEditable
struct GtkCellEditableIface

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

    GInterface
    ╰── GtkCellEditable

Предварительные требования

GtkCellEditable требует GtkWidget.

Известные реализации

GtkCellEditable реализован в GtkComboBox, GtkComboBoxText, GtkEntry и GtkSpinButton.

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

#include <gtk/gtk.h>

Описание

Интерфейс GtkCellEditable должен быть реализован для виджетов, чтобы можно было использовать их для редактирования содержимого ячейки GtkTreeView. Он предоставляет способ указать, как временные виджеты должны быть настроены для редактирования, получить новое значение и т. д.

Функции

gtk_cell_editable_start_editing ()

void
gtk_cell_editable_start_editing (GtkCellEditable *cell_editable,
                                 GdkEvent *event);

Начинает редактирование cell_editable.

GtkCellRenderer для ячейки создаёт и возвращает GtkCellEditable из gtk_cell_renderer_start_editing(), настроенный для типа GtkCellRenderer.

gtk_cell_editable_start_editing() может затем настроить cell_editable соответствующим образом для редактирования ячейки, например, сделав клавишу Esc отправляющей сигнал “editing-done”.

Обратите внимание, что cell_editable создаётся по требованию для текущего редактирования; его срок жизни временный и не сохраняется при других редактированиях и/или ячейках.

Параметры

cell_editable

A GtkCellEditable

event

The GdkEvent, начавший процесс редактирования, или NULL если редактирование было инициировано программно.

[nullable]

gtk_cell_editable_editing_done ()

void
gtk_cell_editable_editing_done (GtkCellEditable *cell_editable);

Отправляет сигнал “editing-done”.

Параметры

cell_editable

A GtkCellEditable

gtk_cell_editable_remove_widget ()

void
gtk_cell_editable_remove_widget (GtkCellEditable *cell_editable);

Отправляет сигнал “remove-widget”.

Параметры

cell_editable

A GtkCellEditable

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

GtkCellEditable

typedef struct _GtkCellEditable GtkCellEditable;

struct GtkCellEditableIface

struct GtkCellEditableIface {
  /* signals */
  void (* editing_done)  (GtkCellEditable *cell_editable);
  void (* remove_widget) (GtkCellEditable *cell_editable);

  /* virtual table */
  void (* start_editing) (GtkCellEditable *cell_editable,
			  GdkEvent        *event);
};

Члены

editing_done ()

Сигнал - признак для рендерера ячейки обновить значение из cell_editable.

remove_widget ()

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

start_editing ()

Начинает редактирование в cell_editable.

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

Свойство “editing-canceled”

  “editing-canceled”         gboolean

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

Владелец: GtkCellEditable

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

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

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

Сигнал “editing-done”

void
user_function (GtkCellEditable *cell_editable,
               gpointer         user_data)

Этот сигнал сообщает отображающему элементу ячейки об обновлении его значения из cell_editable.

Реализации GtkCellEditable отвечают за отправку этого сигнала, когда завершается редактирование, например, GtkEntry отправляет этот сигнал при нажатии пользователем клавиши Enter. Типичные действия в обработчике сигнала ::editing-done включают в себя захват изменённого значения, отключение cell_editable от сигналов элемента GtkCellRenderer и т. д.

gtk_cell_editable_editing_done() — это удобный метод для отправки сигнала “editing-done”.

Параметры

cell_editable

объект, на котором был отправлен сигнал

user_data

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

Флаги: Run Last

Сигнал “remove-widget”

void
user_function (GtkCellEditable *cell_editable,
               gpointer         user_data)

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

Реализации GtkCellEditable отвечают за отправку этого сигнала, когда редактирование завершено. Он должен отправляться после сигнала “editing-done”, чтобы отображающий элемент ячейки смог обновить значение ячейки перед удалением виджета.

gtk_cell_editable_remove_widget() — это удобный метод для отправки сигнала “remove-widget”.

Параметры

cell_editable

объект, на котором был отправлен сигнал

user_data

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

Флаги: Run Last

См. также

GtkCellRenderer

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

Spec-Zone.ru

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