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