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 реализован в GtkAppChooserButton, GtkComboBox, GtkComboBoxText, GtkEntry, GtkSearchEntry и 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
С: 2.20
Подробные сведения о сигналах
Сигнал “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.gnome.org/gtk3/3.24/GtkCellEditable.html