Ardour  9.0-pre0-582-g084a23a80d
treedragsource.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 // Generated by gmmproc 2.45.3 -- DO NOT MODIFY!
3 #ifndef _GTKMM_TREEDRAGSOURCE_H
4 #define _GTKMM_TREEDRAGSOURCE_H
5 
6 
7 #include <glibmm/ustring.h>
8 #include <sigc++/sigc++.h>
9 
10 /* $Id: treedragsource.hg,v 1.8 2006/05/10 20:59:28 murrayc Exp $ */
11 
12 /* Copyright (C) 1998-2002 The gtkmm Development Team
13  *
14  * This library is free software; you can redistribute it and/or
15  * modify it under the terms of the GNU Lesser General Public
16  * License as published by the Free Software Foundation; either
17  * version 2.1 of the License, or (at your option) any later version.
18  *
19  * This library is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22  * Lesser General Public License for more details.
23  *
24  * You should have received a copy of the GNU Lesser General Public
25  * License along with this library; if not, write to the Free
26  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
27  */
28 
29 #include <glibmm/interface.h>
30 #include <gtkmm/selectiondata.h>
31 #include <gtkmm/treemodel.h>
32 
33 
34 #ifndef DOXYGEN_SHOULD_SKIP_THIS
35 extern "C"
36 {
38 typedef struct _GtkSelectionData GtkSelectionData;
39 }
40 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
41 
42 
43 #ifndef DOXYGEN_SHOULD_SKIP_THIS
44 typedef struct _GtkTreeDragSource GtkTreeDragSource;
45 typedef struct _GtkTreeDragSourceClass GtkTreeDragSourceClass;
46 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
47 
48 
49 #ifndef DOXYGEN_SHOULD_SKIP_THIS
50 namespace Gtk
51 { class TreeDragSource_Class; } // namespace Gtk
52 #endif // DOXYGEN_SHOULD_SKIP_THIS
53 
54 namespace Gtk
55 {
56 
61 class TreeDragSource : public Glib::Interface
62 {
63 
64 #ifndef DOXYGEN_SHOULD_SKIP_THIS
65 
66 public:
67  typedef TreeDragSource CppObjectType;
68  typedef TreeDragSource_Class CppClassType;
69  typedef GtkTreeDragSource BaseObjectType;
70  typedef GtkTreeDragSourceIface BaseClassType;
71 
72 private:
73  friend class TreeDragSource_Class;
74  static CppClassType treedragsource_class_;
75 
76  // noncopyable
78  TreeDragSource& operator=(const TreeDragSource&);
79 
80 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
81 protected:
86 
87 #ifndef DOXYGEN_SHOULD_SKIP_THIS
94  explicit TreeDragSource(const Glib::Interface_Class& interface_class);
95 
96 public:
97  // This is public so that C++ wrapper instances can be
98  // created for C instances of unwrapped types.
99  // For instance, if an unexpected C type implements the C interface.
100  explicit TreeDragSource(GtkTreeDragSource* castitem);
101 
102 protected:
103 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
104 
105 public:
106  virtual ~TreeDragSource();
107 
108  static void add_interface(GType gtype_implementer);
109 
112  static GType get_type() G_GNUC_CONST;
113 
114 #ifndef DOXYGEN_SHOULD_SKIP_THIS
115  static GType get_base_type() G_GNUC_CONST;
116 #endif
117 
119  GtkTreeDragSource* gobj() { return reinterpret_cast<GtkTreeDragSource*>(gobject_); }
120 
122  const GtkTreeDragSource* gobj() const { return reinterpret_cast<GtkTreeDragSource*>(gobject_); }
123 
124 private:
125 
126 
127 public:
128 
136  bool row_draggable(const TreeModel::Path& path) const;
137 
138 
148  bool drag_data_get(const TreeModel::Path& path, SelectionData& selection_data);
149 
150 
161 
162 protected:
163 
164 
165  virtual bool row_draggable_vfunc(const TreeModel::Path& path) const;
166 
167 
168  //We hand-code this so that we can use a temporary instance for the SelectionData& output parameter:
169  virtual bool drag_data_get_vfunc(const TreeModel::Path& path, SelectionData& selection_data) const;
170 
171  virtual bool drag_data_delete_vfunc(const TreeModel::Path& path);
172 
173 
174 public:
175 
176 public:
177  //C++ methods used to invoke GTK+ virtual functions:
178 
179 protected:
180  //GTK+ Virtual Functions (override these to change behaviour):
181 
182  //Default Signal Handlers::
183 
184 
185 };
186 
187 } // namespace Gtk
188 
189 
190 namespace Glib
191 {
200  Glib::RefPtr<Gtk::TreeDragSource> wrap(GtkTreeDragSource* object, bool take_copy = false);
201 
202 } // namespace Glib
203 
204 
205 #endif /* _GTKMM_TREEDRAGSOURCE_H */
206 
bool row_draggable(const TreeModel::Path &path) const
Glib::RefPtr< Gtk::TreeDragSource > wrap(GtkTreeDragSource *object, bool take_copy=false)
virtual bool drag_data_delete_vfunc(const TreeModel::Path &path)
static void add_interface(GType gtype_implementer)
bool drag_data_delete(const TreeModel::Path &path)
GtkTreeDragSource * gobj()
Provides access to the underlying C GObject.
virtual bool row_draggable_vfunc(const TreeModel::Path &path) const
virtual ~TreeDragSource()
bool drag_data_get(const TreeModel::Path &path, SelectionData &selection_data)
static GType get_type() G_GNUC_CONST
const GtkTreeDragSource * gobj() const
Provides access to the underlying C GObject.
virtual bool drag_data_get_vfunc(const TreeModel::Path &path, SelectionData &selection_data) const
struct _GtkTreeDragSource GtkTreeDragSource
Definition: gtktreednd.h:37
Definition: ardour_ui.h:188