Spec-Zone.ru › GTK 3.24

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 реализован в 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

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

С: 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

См. также

GtkCellRenderer

© 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

Spec-Zone.ru

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