pub trait CellEditableExt: 'static {
    fn editing_done(&self);
    fn remove_widget(&self);
    fn start_editing(&self, event: Option<&Event>);
    fn is_editing_canceled(&self) -> bool;
    fn set_editing_canceled(&self, editing_canceled: bool);
    fn connect_editing_done<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_remove_widget<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_editing_canceled_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; }
Expand description

Required Methods

Emits the signal::CellEditable::editing-done signal.

Emits the signal::CellEditable::remove-widget signal.

Begins editing on a self.

The CellRenderer for the cell creates and returns a CellEditable from CellRendererExt::start_editing(), configured for the CellRenderer type.

start_editing() can then set up self suitably for editing a cell, e.g. making the Esc key emit signal::CellEditable::editing-done.

Note that the self is created on-demand for the current edit; its lifetime is temporary and does not persist across other edits and/or cells.

event

The GdkEvent that began the editing process, or None if editing was initiated programmatically

Indicates whether editing on the cell has been canceled.

Indicates whether editing on the cell has been canceled.

This signal is a sign for the cell renderer to update its value from the cell_editable.

Implementations of CellEditable are responsible for emitting this signal when they are done editing, e.g. Entry 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 CellRenderer, etc.

editing_done() is a convenience method for emitting signal::CellEditable::editing-done.

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 CellEditable are responsible for emitting this signal when they are done editing. It must be emitted after the signal::CellEditable::editing-done signal, to give the cell renderer a chance to update the cell’s value before the widget is removed.

remove_widget() is a convenience method for emitting signal::CellEditable::remove-widget.

Implementors