CellRenderer.connectEditingStarted

gulong connectEditingStarted(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.cell_editable.CellEditable))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == string))) && (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] : gtk.cell_renderer.CellRenderer))) && Parameters!T.length < 4)

Connect to EditingStarted signal.

This signal gets emitted when a cell starts to be edited. The intended use of this signal is to do special setup on editable, e.g. adding a [gtk.entry_completion.EntryCompletion] or setting up additional columns in a [gtk.combo_box.ComboBox].

See [gtk.cell_editable.CellEditable.startEditing] for information on the lifecycle of the editable and a way to do setup that doesn’t depend on the renderer.

Note that GTK doesn't guarantee that cell renderers will continue to use the same kind of widget for editing in future releases, therefore you should check the type of editable before doing any specific setup, as in the following example:

static void
 text_editing_started (GtkCellRenderer *cell,
                       GtkCellEditable *editable,
                       const char      *path,
                       gpointer         data)
 {
   if (GTK_IS_ENTRY (editable))
     {
       GtkEntry *entry = GTK_ENTRY (editable);

       // ... create a GtkEntryCompletion

       gtk_entry_set_completion (entry, completion);
     }
 }

Parameters

callbacksignal callback delegate or function to connect void callback(gtk.cell_editable.CellEditable editable, string path, gtk.cell_renderer.CellRenderer cellRenderer) editable the [gtk.cell_editable.CellEditable] (optional) path the path identifying the edited cell (optional) cellRenderer the instance the signal is connected to (optional)
afterYes.After to execute callback after default handler, No.After to execute before (default)

Returns

Signal ID