1/* $Id: celleditable.hg,v 1.2 2005/01/10 10:49:23 murrayc Exp $ */
2
3/* Copyright (C) 1998-2002 The gtkmm Development Team
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free
17 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19
20#include <glibmm/interface.h>
21_DEFS(gtkmm,gtk)
22_PINCLUDE(glibmm/private/interface_p.h)
23
24#ifndef DOXYGEN_SHOULD_SKIP_THIS
25extern "C"
26{
27typedef struct _GtkCellEditableIface GtkCellEditableIface;
28typedef union _GdkEvent GdkEvent;
29}
30#endif /* DOXYGEN_SHOULD_SKIP_THIS */
31
32
33namespace Gtk
34{
35
36/** Interface for widgets which are used for editing cells.
37 * The CellEditable interface must be implemented for widgets to be usable when editing the contents of a TreeView cell.
38 */
39class CellEditable : public Glib::Interface
40{
41  _CLASS_INTERFACE(CellEditable,GtkCellEditable,GTK_CELL_EDITABLE,GtkCellEditableIface)
42
43public:
44  _WRAP_METHOD(void start_editing(GdkEvent* event), gtk_cell_editable_start_editing)
45  _WRAP_METHOD(void editing_done(), gtk_cell_editable_editing_done)
46  _WRAP_METHOD(void remove_widget(), gtk_cell_editable_remove_widget)
47
48  _WRAP_SIGNAL(void editing_done(), "editing_done")
49  _WRAP_SIGNAL(void remove_widget(), "remove_widget")
50
51  _WRAP_PROPERTY("editing-canceled", bool)
52
53protected:
54  _WRAP_VFUNC(void start_editing(GdkEvent* event), start_editing)
55};
56
57} // namespace Gtk
58
59