2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GTKMM_CELLEDITABLE_H
4 #define _GTKMM_CELLEDITABLE_H
11 /* Copyright (C) 1998-2002 The gtkmm Development Team
13 * This library is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU Library General Public
15 * License as published by the Free Software Foundation; either
16 * version 2 of the License, or (at your option) any later version.
18 * This library is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * Library General Public License for more details.
23 * You should have received a copy of the GNU Library General Public
24 * License along with this library; if not, write to the Free
25 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
28 #include <glibmm/interface.h>
31 #ifndef DOXYGEN_SHOULD_SKIP_THIS
34 typedef struct _GtkCellEditableIface GtkCellEditableIface;
35 typedef union _GdkEvent GdkEvent;
37 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
40 #ifndef DOXYGEN_SHOULD_SKIP_THIS
41 typedef struct _GtkCellEditable GtkCellEditable;
42 typedef struct _GtkCellEditableClass GtkCellEditableClass;
43 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
47 { class CellEditable_Class; } // namespace Gtk
51 /** Interface for widgets which are used for editing cells.
52 * The CellEditable interface must be implemented for widgets to be usable when editing the contents of a TreeView cell.
55 class CellEditable : public Glib::Interface
58 #ifndef DOXYGEN_SHOULD_SKIP_THIS
61 typedef CellEditable CppObjectType;
62 typedef CellEditable_Class CppClassType;
63 typedef GtkCellEditable BaseObjectType;
64 typedef GtkCellEditableIface BaseClassType;
67 friend class CellEditable_Class;
68 static CppClassType celleditable_class_;
71 CellEditable(const CellEditable&);
72 CellEditable& operator=(const CellEditable&);
75 CellEditable(); // you must derive from this class
78 // This is public so that C++ wrapper instances can be
79 // created for C instances of unwrapped types.
80 // For instance, if an unexpected C type implements the C interface.
81 explicit CellEditable(GtkCellEditable* castitem);
84 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
87 virtual ~CellEditable();
89 static void add_interface(GType gtype_implementer);
91 #ifndef DOXYGEN_SHOULD_SKIP_THIS
92 static GType get_type() G_GNUC_CONST;
93 static GType get_base_type() G_GNUC_CONST;
96 ///Provides access to the underlying C GObject.
97 GtkCellEditable* gobj() { return reinterpret_cast<GtkCellEditable*>(gobject_); }
99 ///Provides access to the underlying C GObject.
100 const GtkCellEditable* gobj() const { return reinterpret_cast<GtkCellEditable*>(gobject_); }
107 /** Begins editing on a @a cell_editable . @a event is the Gdk::Event that began
108 * the editing process. It may be <tt>0</tt>, in the instance that editing was
109 * initiated through programatic means.
110 * @param event A Gdk::Event, or <tt>0</tt>.
112 void start_editing(GdkEvent* event);
114 /** Emits the Gtk::CellEditable::editing-done signal.
118 /** Emits the Gtk::CellEditable::remove-widget signal.
120 void remove_widget();
125 * <tt>void on_my_%editing_done()</tt>
128 Glib::SignalProxy0< void > signal_editing_done();
133 * <tt>void on_my_%remove_widget()</tt>
136 Glib::SignalProxy0< void > signal_remove_widget();
140 #ifdef GLIBMM_VFUNCS_ENABLED
141 virtual void start_editing_vfunc(GdkEvent* event);
142 #endif //GLIBMM_VFUNCS_ENABLED
148 //C++ methods used to invoke GTK+ virtual functions:
149 #ifdef GLIBMM_VFUNCS_ENABLED
150 #endif //GLIBMM_VFUNCS_ENABLED
153 //GTK+ Virtual Functions (override these to change behaviour):
154 #ifdef GLIBMM_VFUNCS_ENABLED
155 #endif //GLIBMM_VFUNCS_ENABLED
157 //Default Signal Handlers::
158 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
159 virtual void on_editing_done();
160 virtual void on_remove_widget();
161 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
171 /** A Glib::wrap() method for this object.
173 * @param object The C instance.
174 * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
175 * @result A C++ instance that wraps this C instance.
177 * @relates Gtk::CellEditable
179 Glib::RefPtr<Gtk::CellEditable> wrap(GtkCellEditable* object, bool take_copy = false);
184 #endif /* _GTKMM_CELLEDITABLE_H */