]> Pileus Git - ~andy/gtk/blob - gtk/gtkcelleditable.h
centralize all the editing code
[~andy/gtk] / gtk / gtkcelleditable.h
1 /* gtkcelleditable.h
2  * Copyright (C) 2001  Red Hat, Inc.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 #ifndef __GTK_CELL_EDITABLE_H__
21 #define __GTK_CELL_EDITABLE_H__
22
23 #include <gtk/gtkwidget.h>
24
25 G_BEGIN_DECLS
26
27 #define GTK_TYPE_CELL_EDITABLE            (gtk_cell_editable_get_type ())
28 #define GTK_CELL_EDITABLE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_EDITABLE, GtkCellEditable))
29 #define GTK_CELL_EDITABLE_CLASS(obj)      (G_TYPE_CHECK_CLASS_CAST ((obj), GTK_TYPE_CELL_EDITABLE, GtkCellEditableIface))
30 #define GTK_IS_CELL_EDITABLE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_EDITABLE))
31 #define GTK_CELL_EDITABLE_GET_IFACE(obj)  ((GtkCellEditableIface *)g_type_interface_peek (((GTypeInstance *) GTK_CELL_EDITABLE (obj))->g_class, GTK_TYPE_CELL_EDITABLE))
32
33 typedef struct _GtkCellEditable      GtkCellEditable; /* Dummy typedef */
34 typedef struct _GtkCellEditableIface GtkCellEditableIface;
35
36 struct _GtkCellEditableIface
37 {
38   GTypeInterface g_iface;
39
40   /* signals */
41   void (* editing_done)  (GtkCellEditable *cell_editable);
42   void (* remove_widget) (GtkCellEditable *cell_editable);
43
44   /* virtual table */
45   void (* start_editing) (GtkCellEditable *cell_editable,
46                           GdkEvent        *event);
47 };
48
49
50 GType gtk_cell_editable_get_type      (void) G_GNUC_CONST;
51
52 void  gtk_cell_editable_start_editing (GtkCellEditable *cell_editable,
53                                        GdkEvent        *event);
54 void  gtk_cell_editable_editing_done  (GtkCellEditable *cell_editable);
55 void  gtk_cell_editable_remove_widget (GtkCellEditable *cell_editable);
56
57
58 G_END_DECLS
59
60 #endif /* __GTK_CELL_EDITABLE_H__ */