]> Pileus Git - ~andy/gtk/blob - gtk/gtkcelleditable.c
Add editable interface. This should be the last big GtkTreeView API
[~andy/gtk] / gtk / gtkcelleditable.c
1 /* gtkcelleditable.c
2  * Copyright (C) 2000  Red Hat, Inc.,  Jonathan Blandford <jrb@redhat.com>
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
21 #include "gtkcelleditable.h"
22 #include "gtksignal.h"
23
24 static void gtk_cell_editable_base_init (gpointer g_class);
25
26 GtkType
27 gtk_cell_editable_get_type (void)
28 {
29   static GtkType cell_editable_type = 0;
30
31   if (! cell_editable_type)
32     {
33       static const GTypeInfo cell_editable_info =
34       {
35         sizeof (GtkCellEditableIface), /* class_size */
36         gtk_cell_editable_base_init,   /* base_init */
37         NULL,           /* base_finalize */
38         NULL,
39         NULL,           /* class_finalize */
40         NULL,           /* class_data */
41         0,
42         0,
43         NULL
44       };
45       cell_editable_type = g_type_register_static (G_TYPE_INTERFACE, "GtkCellEditable", &cell_editable_info, 0);
46       g_type_interface_add_prerequisite (cell_editable_type, GTK_TYPE_WIDGET);
47     }
48
49   return cell_editable_type;
50 }
51
52 static void
53 gtk_cell_editable_base_init (gpointer g_class)
54 {
55   static gboolean initialized = FALSE;
56
57   if (! initialized)
58     {
59       g_signal_new ("editing_done",
60                     GTK_TYPE_CELL_EDITABLE,
61                     G_SIGNAL_RUN_LAST,
62                     G_STRUCT_OFFSET (GtkCellEditableIface, editing_done),
63                     NULL, NULL,
64                     gtk_marshal_VOID__VOID,
65                     G_TYPE_NONE, 0);
66       g_signal_new ("remove_widget",
67                     GTK_TYPE_CELL_EDITABLE,
68                     G_SIGNAL_RUN_LAST,
69                     G_STRUCT_OFFSET (GtkCellEditableIface, remove_widget),
70                     NULL, NULL,
71                     gtk_marshal_VOID__VOID,
72                     G_TYPE_NONE, 0);
73       initialized = TRUE;
74     }
75 }
76
77 void
78 gtk_cell_editable_start_editing (GtkCellEditable *cell_editable,
79                                  GdkEvent        *event)
80 {
81 }
82
83 void
84 gtk_cell_editable_stop_editing (GtkCellEditable *cell_editable)
85 {
86 }
87
88
89 void
90 gtk_cell_editable_editing_done (GtkCellEditable *cell_editable)
91 {
92 }
93
94 void
95 gtk_cell_editable_remove_widget (GtkCellEditable *cell_editable)
96 {
97
98 }