GtkCellEditable

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

Synopsis

#include <gtk/gtk.h>

                    GtkCellEditable;
struct              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 GtkComboBox, GtkComboBoxEntry, GtkEntry and GtkSpinButton.

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;


struct GtkCellEditableIface

struct GtkCellEditableIface {
  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);
};


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.