1
// Generated by gtkmmproc -- DO NOT MODIFY!
4
#include <gdkmm/dragcontext.h>
5
#include <gdkmm/private/dragcontext_p.h>
8
/* $Id: dragcontext.ccg,v 1.7 2005/02/13 13:01:36 murrayc Exp $ */
12
* Copyright 2002 The gtkmm Development Team
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.
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.
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.
29
#include <glibmm/vectorutils.h>
31
#include <gdkmm/window.h>
34
#include <glibmm/utility.h> //For ScopedPtr<>.
39
void DragContext::find_window_for_screen(const Glib::RefPtr<Window>& drag_window, const Glib::RefPtr<Screen>& screen, int x_root, int y_root, Glib::RefPtr<Window>& dest_window, DragProtocol& protocol) const
41
GdkWindow* cWindow = 0;
42
GdkDragProtocol cprotocol = GDK_DRAG_PROTO_NONE; //arbitrary default.
43
gdk_drag_find_window_for_screen(const_cast<GdkDragContext*>(gobj()), drag_window->gobj(), screen->gobj(), x_root, y_root, &cWindow, &cprotocol);
44
dest_window = Glib::wrap(cWindow);
45
protocol = (DragProtocol)cprotocol;
48
void DragContext::drag_refuse(guint32 time)
50
gdk_drag_status(gobj(), ((GdkDragAction)(0)) /* see GDK docs */, time);
53
std::vector<std::string> DragContext::list_targets() const
55
//Note that we don't free the GList* (or it's items), because we are accessing the struct directly:
56
return Glib::ListHandler<std::string, AtomStringTraits>::list_to_vector( gdk_drag_context_list_targets(const_cast<GdkDragContext*>(gobj())), Glib::OWNERSHIP_NONE);
63
} // anonymous namespace
66
GType Glib::Value<Gdk::DragAction>::value_type()
68
return gdk_drag_action_get_type();
72
GType Glib::Value<Gdk::DragProtocol>::value_type()
74
return gdk_drag_protocol_get_type();
81
Glib::RefPtr<Gdk::DragContext> wrap(GdkDragContext* object, bool take_copy)
83
return Glib::RefPtr<Gdk::DragContext>( dynamic_cast<Gdk::DragContext*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
84
//We use dynamic_cast<> in case of multiple inheritance.
87
} /* namespace Glib */
94
/* The *_Class implementation: */
96
const Glib::Class& DragContext_Class::init()
98
if(!gtype_) // create the GType if necessary
100
// Glib::Class has to know the class init function to clone custom types.
101
class_init_func_ = &DragContext_Class::class_init_function;
103
// This is actually just optimized away, apparently with no harm.
104
// Make sure that the parent type has been created.
105
//CppClassParent::CppObjectType::get_type();
107
// Create the wrapper type, with the same class/instance size as the base type.
108
register_derived_type(gdk_drag_context_get_type());
110
// Add derived versions of interfaces, if the C type implements any interfaces:
118
void DragContext_Class::class_init_function(void* g_class, void* class_data)
120
BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
121
CppClassParent::class_init_function(klass, class_data);
127
Glib::ObjectBase* DragContext_Class::wrap_new(GObject* object)
129
return new DragContext((GdkDragContext*)object);
133
/* The implementation: */
135
GdkDragContext* DragContext::gobj_copy()
141
DragContext::DragContext(const Glib::ConstructParams& construct_params)
143
Glib::Object(construct_params)
148
DragContext::DragContext(GdkDragContext* castitem)
150
Glib::Object((GObject*)(castitem))
154
DragContext::~DragContext()
158
DragContext::CppClassType DragContext::dragcontext_class_; // initialize static member
160
GType DragContext::get_type()
162
return dragcontext_class_.init().get_type();
166
GType DragContext::get_base_type()
168
return gdk_drag_context_get_type();
172
void DragContext::drag_status(DragAction action, guint32 time)
174
gdk_drag_status(gobj(), ((GdkDragAction)(action)), time);
177
void DragContext::drop_reply(bool ok, guint32 time)
179
gdk_drop_reply(gobj(), static_cast<int>(ok), time);
182
void DragContext::drop_finish(bool success, guint32 time)
184
gdk_drop_finish(gobj(), static_cast<int>(success), time);
187
Glib::ustring DragContext::get_selection() const
189
return Gdk::AtomString::to_cpp_type(gdk_drag_get_selection(const_cast<GdkDragContext*>(gobj())));
192
void DragContext::drag_finish(bool success, bool del, guint32 time)
194
gtk_drag_finish(gobj(), static_cast<int>(success), static_cast<int>(del), time);
197
void DragContext::set_icon(const Cairo::RefPtr<Cairo::Surface>& surface)
199
gtk_drag_set_icon_surface(gobj(), (surface) ? const_cast<cairo_surface_t*>((surface)->cobj()) : 0);
202
void DragContext::set_icon(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf, int hot_x, int hot_y)
204
gtk_drag_set_icon_pixbuf(gobj(), Glib::unwrap(pixbuf), hot_x, hot_y);
207
void DragContext::set_icon(const Glib::ustring& stock_id, int hot_x, int hot_y)
209
gtk_drag_set_icon_stock(gobj(), stock_id.c_str(), hot_x, hot_y);
212
void DragContext::set_icon_name(const Glib::ustring& name, int hot_x, int hot_y)
214
gtk_drag_set_icon_name(gobj(), name.c_str(), hot_x, hot_y);
217
void DragContext::set_icon()
219
gtk_drag_set_icon_default(gobj());
222
Glib::RefPtr<Window> DragContext::get_source_window()
225
Glib::RefPtr<Window> retvalue = Glib::wrap(gdk_drag_context_get_source_window(gobj()));
227
retvalue->reference(); //The function does not do a ref for us.
232
Glib::RefPtr<const Window> DragContext::get_source_window() const
234
return const_cast<DragContext*>(this)->get_source_window();
237
Glib::RefPtr<Window> DragContext::get_dest_window()
240
Glib::RefPtr<Window> retvalue = Glib::wrap(gdk_drag_context_get_dest_window(gobj()));
242
retvalue->reference(); //The function does not do a ref for us.
247
Glib::RefPtr<const Window> DragContext::get_dest_window() const
249
return const_cast<DragContext*>(this)->get_dest_window();
252
DragProtocol DragContext::get_protocol() const
254
return ((DragProtocol)(gdk_drag_context_get_protocol(const_cast<GdkDragContext*>(gobj()))));
257
void DragContext::set_device(const Glib::RefPtr<Device>& device)
259
gdk_drag_context_set_device(gobj(), Glib::unwrap(device));
262
Glib::RefPtr<Device> DragContext::get_device()
265
Glib::RefPtr<Device> retvalue = Glib::wrap(gdk_drag_context_get_device(gobj()));
267
retvalue->reference(); //The function does not do a ref for us.
272
Glib::RefPtr<const Device> DragContext::get_device() const
274
return const_cast<DragContext*>(this)->get_device();
277
DragAction DragContext::get_actions() const
279
return ((DragAction)(gdk_drag_context_get_actions(const_cast<GdkDragContext*>(gobj()))));
282
DragAction DragContext::get_suggested_action() const
284
return ((DragAction)(gdk_drag_context_get_suggested_action(const_cast<GdkDragContext*>(gobj()))));
287
DragAction DragContext::get_selected_action() const
289
return ((DragAction)(gdk_drag_context_get_selected_action(const_cast<GdkDragContext*>(gobj()))));