GtkCellEditable

GtkCellEditable — Interface for widgets which can are used for editing cells

Synopsis


#include <gtk/gtk.h>

                    GtkCellEditable;
                    GtkCellEditableIface;
void                gtk_cell_editable_start_editing     (GtkCellEditable *cell_editable,
                                                         GdkEvent *event);
void                gtk_cell_editable_editing_done      (GtkCellEditable *cell_editable);
void                gtk_cell_editable_remove_widget     (GtkCellEditable *cell_editable);

Object Hierarchy

  GInterface
   +----GtkCellEditable

Prerequisites

GtkCellEditable requires GtkWidget.

Known Implementations

GtkCellEditable is implemented by GtkEntry, GtkComboBox, GtkSpinButton and GtkComboBoxEntry.

Signals

  "editing-done"                                   : Run Last
  "remove-widget"                                  : Run Last

Description

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

Details

GtkCellEditable

typedef struct _GtkCellEditable GtkCellEditable;


GtkCellEditableIface

typedef struct {
  GTypeInterface g_iface;

  /* signals */
  void (* editing_done)  (GtkCellEditable *cell_editable);
  void (* remove_widget) (GtkCellEditable *cell_editable);

  /* virtual table */
  void (* start_editing) (GtkCellEditable *cell_editable,
			  GdkEvent        *event);
} GtkCellEditableIface;


gtk_cell_editable_start_editing ()

void                gtk_cell_editable_start_editing     (GtkCellEditable *cell_editable,
                                                         GdkEvent *event);

Begins editing on a cell_editable. event is the GdkEvent that began the editing process. It may be NULL, in the instance that editing was initiated through programatic means.

cell_editable : A GtkCellEditable
event : A GdkEvent, or NULL

gtk_cell_editable_editing_done ()

void                gtk_cell_editable_editing_done      (GtkCellEditable *cell_editable);

Emits the "editing-done" signal.

cell_editable : A GtkTreeEditable

gtk_cell_editable_remove_widget ()

void                gtk_cell_editable_remove_widget     (GtkCellEditable *cell_editable);

Emits the "remove-widget" signal.

cell_editable : A GtkTreeEditable

Signal Details

The "editing-done" signal

void                user_function                      (GtkCellEditable *cell_editable,
                                                        gpointer         user_data)          : Run Last

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 is emitting it when the user presses Enter.

gtk_cell_editable_editing_done() is a convenience method for emitting ::editing-done.

cell_editable : the object on which the signal was emitted
user_data : user data set when the signal handler was connected.

The "remove-widget" signal

void                user_function                      (GtkCellEditable *cell_editable,
                                                        gpointer         user_data)          : Run Last

This signal is meant to indicate that the cell is finished editing, and the widget may now be destroyed.

Implementations of GtkCellEditable are responsible for emitting this signal when they are done editing. It must be emitted after the "editing-done" signal, to give the cell renderer a chance to update the cell's value before the widget is removed.

gtk_cell_editable_remove_widget() is a convenience method for emitting ::remove-widget.

cell_editable : the object on which the signal was emitted
user_data : user data set when the signal handler was connected.