:right-sidebar: True CellEditable =================================================================== .. currentmodule:: gi.repository.Gtk .. deprecated:: 4.10 List views use widgets for displaying their contents. See :obj:`~gi.repository.Gtk.Editable` for editable text widgets .. class:: CellEditable(*args, **kwargs) :no-contents-entry: Implementations: :class:`~gi.repository.Gtk.ComboBox`, :class:`~gi.repository.Gtk.ComboBoxText`, :class:`~gi.repository.Gtk.Entry`, :class:`~gi.repository.Gtk.SpinButton` Interface for widgets that can be used for editing cells The ``GtkCellEditable`` interface must be implemented for widgets to be usable to edit the contents of a ``GtkTreeView`` cell. It provides a way to specify how temporary widgets should be configured for editing, get the new value, etc. Methods ------- .. rst-class:: interim-class .. class:: CellEditable :no-index: .. method:: editing_done() -> None Emits the ``GtkCellEditable::editing-done`` signal. .. deprecated:: 4.10 Please do not use it in newly written code .. method:: remove_widget() -> None Emits the ``GtkCellEditable::remove-widget`` signal. .. deprecated:: 4.10 Please do not use it in newly written code .. method:: start_editing(event: ~gi.repository.Gdk.Event | None = None) -> None Begins editing on a ``cell_editable``. The ``GtkCellRenderer`` for the cell creates and returns a ``GtkCellEditable`` from :func:`~gi.repository.Gtk.CellRenderer.start_editing`, configured for the ``GtkCellRenderer`` type. :func:`~gi.repository.Gtk.CellEditable.start_editing` can then set up ``cell_editable`` suitably for editing a cell, e.g. making the Esc key emit ``GtkCellEditable::editing-done``. Note that the ``cell_editable`` is created on-demand for the current edit; its lifetime is temporary and does not persist across other edits and/or cells. :param event: The ``GdkEvent`` that began the editing process, or :const:`None` if editing was initiated programmatically Properties ---------- .. rst-class:: interim-class .. class:: CellEditable :no-index: .. attribute:: props.editing_canceled :type: bool Indicates whether editing on the cell has been canceled. Signals ------- .. rst-class:: interim-class .. class:: CellEditable.signals :no-index: .. method:: editing_done() -> None This signal is a sign for the cell renderer to update its value from the ``cell_editable``. Implementations of ``GtkCellEditable`` are responsible for emitting this signal when they are done editing, e.g. ``GtkEntry`` emits this signal when the user presses Enter. Typical things to do in a handler for ::editing-done are to capture the edited value, disconnect the ``cell_editable`` from signals on the ``GtkCellRenderer``, etc. :func:`~gi.repository.Gtk.CellEditable.editing_done` is a convenience method for emitting ``GtkCellEditable::editing-done``. .. method:: remove_widget() -> None This signal is meant to indicate that the cell is finished editing, and the ``cell_editable`` widget is being removed and may subsequently be destroyed. Implementations of ``GtkCellEditable`` are responsible for emitting this signal when they are done editing. It must be emitted after the ``GtkCellEditable::editing-done`` signal, to give the cell renderer a chance to update the cell's value before the widget is removed. :func:`~gi.repository.Gtk.CellEditable.remove_widget` is a convenience method for emitting ``GtkCellEditable::remove-widget``. Virtual Methods --------------- .. rst-class:: interim-class .. class:: CellEditable :no-index: .. method:: do_editing_done() -> None Emits the ``GtkCellEditable::editing-done`` signal. .. deprecated:: 4.10 Please do not use it in newly written code .. method:: do_remove_widget() -> None Emits the ``GtkCellEditable::remove-widget`` signal. .. deprecated:: 4.10 Please do not use it in newly written code .. method:: do_start_editing(event: ~gi.repository.Gdk.Event | None = None) -> None Begins editing on a ``cell_editable``. The ``GtkCellRenderer`` for the cell creates and returns a ``GtkCellEditable`` from :func:`~gi.repository.Gtk.CellRenderer.start_editing`, configured for the ``GtkCellRenderer`` type. :func:`~gi.repository.Gtk.CellEditable.start_editing` can then set up ``cell_editable`` suitably for editing a cell, e.g. making the Esc key emit ``GtkCellEditable::editing-done``. Note that the ``cell_editable`` is created on-demand for the current edit; its lifetime is temporary and does not persist across other edits and/or cells. :param event: The ``GdkEvent`` that began the editing process, or :const:`None` if editing was initiated programmatically