struct Gtk::CellRenderer::EditingStartedSignal

Overview

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::EntryCompletion or setting up additional columns in a Gtk::ComboBox.

See gtk_cell_editable_start_editing() 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:

WARNING ⚠️ The following code is in c ⚠️

static void
text_editing_started (Gtk::CellRenderer *cell,
                      Gtk::CellEditable *editable,
                      const char      *path,
                      gpointer         data)
{
  if (GTK_IS_ENTRY (editable))
    {
      Gtk::Entry *entry = GTK_ENTRY (editable);

      // ... create a Gtk::EntryCompletion

      gtk_entry_set_completion (entry, completion);
    }
}

Defined in:

lib/gi-crystal/src/auto/gtk-4.0/cell_renderer.cr

Instance Method Summary

Instance methods inherited from struct GObject::Signal

[](detail : String) : self [], name : String name

Constructor methods inherited from struct GObject::Signal

new(source : GObject::Object, detail : Nil | String = nil) new

Instance Method Detail

def connect(*, after : Bool = false, &block : Proc(Gtk::CellEditable, String, Nil)) : GObject::SignalConnection #

def connect(handler : Proc(Gtk::CellEditable, String, Nil), *, after : Bool = false) : GObject::SignalConnection #

def connect(handler : Proc(Gtk::CellRenderer, Gtk::CellEditable, String, Nil), *, after : Bool = false) : GObject::SignalConnection #

def emit(editable : Gtk::CellEditable, path : String) : Nil #

def name : String #
Description copied from struct GObject::Signal

The signal name