Gtk::CellEditable Class Reference

Interface for widgets which are used for editing cells. More...

`#include <gtkmm/celleditable.h>`

Inheritance diagram for Gtk::CellEditable:
[legend]

## Public Member Functions

| CellEditable (CellEditable &&src) noexcept
CellEditable & | operator= (CellEditable &&src) noexcept
| ~CellEditable () noexcept override
GtkCellEditable * | gobj ()
| Provides access to the underlying C GObject.
const GtkCellEditable * | gobj () const
| Provides access to the underlying C GObject.
void | start_editing (GdkEvent * event)
| Begins editing on a cell_editable.
void | editing_done ()
| Emits the Gtk::CellEditable::signal_editing_done() signal.
void | remove_widget ()
| Emits the Gtk::CellEditable::signal_remove_widget() signal.
Glib::SignalProxy< void > | signal_editing_done ()
Glib::SignalProxy< void > | signal_remove_widget ()
Glib::PropertyProxy< bool > | property_editing_canceled ()
| Indicates whether editing on the cell has been canceled.
Glib::PropertyProxy_ReadOnly< bool > | property_editing_canceled () const
| Indicates whether editing on the cell has been canceled.

## Static Public Member Functions

static void | add_interface (GType gtype_implementer)
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system.

## Protected Member Functions

| CellEditable ()
| You should derive from this class to use it.
virtual void | start_editing_vfunc (GdkEvent * event)
virtual void | on_editing_done ()
| This is a default handler for the signal signal_editing_done().
virtual void | on_remove_widget ()
| This is a default handler for the signal signal_remove_widget().

## Related Symbols

(Note that these are not member symbols.)
Glib::RefPtr< Gtk::CellEditable > | wrap (GtkCellEditable *object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

Interface for widgets which are used for editing cells.

The CellEditable interface must be implemented for widgets to be usable when editing the contents of a TreeView cell.

## Constructor & Destructor Documentation

## CellEditable() [1/2]

Gtk::CellEditable::CellEditable | ( |  | ) |

protected

You should derive from this class to use it.

## CellEditable() [2/2]

Gtk::CellEditable::CellEditable | ( | CellEditable && | src | ) |

noexcept

## ~CellEditable()

Gtk::CellEditable::~CellEditable | ( |  | ) |

override noexcept

## Member Function Documentation

## add_interface()

static void Gtk::CellEditable::add_interface | ( | GType | gtype_implementer | ) |

static

## editing_done()

void Gtk::CellEditable::editing_done | ( |  | ) |

Emits the Gtk::CellEditable::signal_editing_done() signal.

## get_type()

static GType Gtk::CellEditable::get_type | ( |  | ) |

static

Get the GType for this class, for use with the underlying GObject type system.

## gobj() [1/2]

GtkCellEditable * Gtk::CellEditable::gobj | ( |  | ) |

inline

Provides access to the underlying C GObject.

## gobj() [2/2]

const GtkCellEditable * Gtk::CellEditable::gobj | ( |  | ) | const

inline

Provides access to the underlying C GObject.

## on_editing_done()

virtual void Gtk::CellEditable::on_editing_done | ( |  | ) |

protected virtual

This is a default handler for the signal signal_editing_done().

## on_remove_widget()

virtual void Gtk::CellEditable::on_remove_widget | ( |  | ) |

protected virtual

This is a default handler for the signal signal_remove_widget().

## operator=()

CellEditable & Gtk::CellEditable::operator= | ( | CellEditable && | src | ) |

noexcept

## property_editing_canceled() [1/2]

Glib::PropertyProxy< bool > Gtk::CellEditable::property_editing_canceled | ( |  | ) |

Indicates whether editing on the cell has been canceled.

Since gtkmm 2.20:

Default value: `false`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_editing_canceled() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::CellEditable::property_editing_canceled | ( |  | ) | const

Indicates whether editing on the cell has been canceled.

Since gtkmm 2.20:

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## remove_widget()

void Gtk::CellEditable::remove_widget | ( |  | ) |

Emits the Gtk::CellEditable::signal_remove_widget() signal.

## signal_editing_done()

Glib::SignalProxy< void > Gtk::CellEditable::signal_editing_done | ( |  | ) |

Slot Prototype:
  `void on_my_editing_done()`

Flags: Run Last

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

Implementations of Gtk::CellEditable are responsible for emitting this signal when they are done editing, e.g. Gtk::Entry emits this signal when the user presses Enter. Typical things to do in a handler for signal_editing_done() are to capture the edited value, disconnect the cell_editable from signals on the Gtk::CellRenderer, etc.

Gtk::CellEditable::editing_done() is a convenience method for emitting Gtk::CellEditable::signal_editing_done().

## signal_remove_widget()

Glib::SignalProxy< void > Gtk::CellEditable::signal_remove_widget | ( |  | ) |

Slot Prototype:
  `void on_my_remove_widget()`

Flags: Run Last

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

Gtk::CellEditable::remove_widget() is a convenience method for emitting Gtk::CellEditable::signal_remove_widget().

## start_editing()

void Gtk::CellEditable::start_editing | ( | GdkEvent * | event | ) |

Begins editing on a cell_editable.

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

start_editing() can then set up cell_editable suitably for editing a cell, e.g. making the Esc key emit Gtk::CellEditable::signal_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.

Parameters

  event | The Gdk::Event that began the editing process, or `nullptr` if editing was initiated programmatically.

## start_editing_vfunc()

virtual void Gtk::CellEditable::start_editing_vfunc | ( | GdkEvent * | event | ) |

protected virtual

## Friends And Related Symbol Documentation

## wrap()

Glib::RefPtr< Gtk::CellEditable > wrap | ( | GtkCellEditable * | object,
|  | bool | take_copy = `false`
| ) |  |

related

A Glib::wrap() method for this object.

Parameters

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns
  A C++ instance that wraps this C instance.