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 | Выполнить последним |
Типы и значения
Иерархия объектов
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 | ||
event | The GdkEvent, начавший процесс редактирования, или | [nullable] |
gtk_cell_editable_editing_done ()
void
gtk_cell_editable_editing_done (GtkCellEditable *cell_editable); Отправляет сигнал “editing-done”.
Параметры
cell_editable |
gtk_cell_editable_remove_widget ()
void
gtk_cell_editable_remove_widget (GtkCellEditable *cell_editable); Отправляет сигнал “remove-widget”.
Параметры
cell_editable |
Типы и значения
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);
};
Члены
| Сигнал - признак для рендерера ячейки обновить значение из cell_editable. | |
| Сигнал предназначен для обозначения того, что ячейка завершила редактирование, и виджет может быть теперь уничтожен. | |
| Начинает редактирование в 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
См. также
© 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