gtkmm: Gdk::DragContext Class Reference

A Gdk::DragContext holds information about a drag in progress. More...

#include <gdkmm/dragcontext.h>

Inheritance diagram for Gdk::DragContext:

Public Member Functions

 DragContext (DragContext&& src) noexcept
 
DragContextoperator= (DragContext&& src) noexcept
 
 ~DragContext () noexceptoverride
 
GdkDragContext* gobj ()
 Provides access to the underlying C GObject. More...

 
const GdkDragContext* gobj () const
 Provides access to the underlying C GObject. More...

 
GdkDragContext* gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...

 
void drag_status (DragAction action, guint32 time)
 Selects one of the actions offered by the drag source. More...

 
void drag_refuse (guint32 time)
 Indicate that a drop will not be accepted. More...

 
void drop_reply (bool accepted, guint32 time)
 Accepts or rejects a drop. More...

 
void drop_finish (bool success, guint32 time)
 Ends the drag operation after a drop. More...

 
Glib::ustring get_selection () const
 Returns the selection atom for the current source window. More...

 
void drag_finish (bool success, bool del, guint32 time)
 Informs the drag source that the drop is finished, and that the data of the drag will no longer be required. More...

 
void set_icon (const ::Cairo::RefPtr< ::Cairo::Surface >& surface)
 
void set_icon (const Glib::RefPtr< Gdk::Pixbuf >& pixbuf, int hot_x, int hot_y)
 
void set_icon (const Glib::ustring& stock_id, int hot_x, int hot_y)
 
void set_icon_name (const Glib::ustring& name, int hot_x, int hot_y)
 
void set_icon ()
 
Glib::RefPtr< Windowget_source_window ()
 Returns the Gdk::Window where the DND operation started. More...

 
Glib::RefPtr< const Windowget_source_window () const
 Returns the Gdk::Window where the DND operation started. More...

 
Glib::RefPtr< Windowget_dest_window ()
 Returns the destination windw for the DND operation. More...

 
Glib::RefPtr< const Windowget_dest_window () const
 Returns the destination windw for the DND operation. More...

 
DragProtocol get_protocol () const
 Returns the drag protocol thats used by this context. More...

 
void set_device (const Glib::RefPtr< Device >& device)
 Associates a Gdk::Device to context, so all Drag and Drop events for context are emitted as if they came from this device. More...

 
Glib::RefPtr< Deviceget_device ()
 Returns the Gdk::Device associated to the drag context. More...

 
Glib::RefPtr< const Deviceget_device () const
 Returns the Gdk::Device associated to the drag context. More...

 
std::vector< std::stringlist_targets () const
 Get a list of targets offered by the source. More...

 
DragAction get_actions () const
 Determines the bitmask of actions proposed by the source if get_suggested_action() returns Gdk::ACTION_ASK. More...

 
DragAction get_suggested_action () const
 Determines the suggested drag action of the context. More...

 
DragAction get_selected_action () const
 Determines the action chosen by the drag destination. More...

 
void 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
 Finds the destination window and DND protocol to use at the given pointer position. More...

 
- Public Member Functions inherited from Glib::Object
 Object (const Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object &&src) noexcept
 
Objectoperator= (Object &&src) noexcept
 
void * get_data (const QueryQuark &key)
 
void set_data (const Quark &key, void *data)
 
void set_data (const Quark &key, void *data, DestroyNotify notify)
 
void remove_data (const QueryQuark &quark)
 
void * steal_data (const QueryQuark &quark)
 
Glib::RefPtr< Glib::Objectwrap (GObject *object, bool take_copy=false)
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (const ObjectBase &)=delete
 
void set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
 
void get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
 
void set_property (const Glib::ustring &property_name, const PropertyType &value)
 
void get_property (const Glib::ustring &property_name, PropertyType &value) const
 
void connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void > &slot)
 
void connect_property_changed (const Glib::ustring &property_name, sigc::slot< void > &&slot)
 
sigc::connection connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot< void > &slot)
 
sigc::connection connect_property_changed_with_return (const Glib::ustring &property_name, sigc::slot< void > &&slot)
 
void freeze_notify ()
 
void thaw_notify ()
 
virtual void reference () const
 
virtual void unreference () const
 
GObject * gobj ()
 
const GObject * gobj () const
 
GObject * gobj_copy () const
 
- Public Member Functions inherited from sigc::trackable
 trackable () noexcept
 
 trackable (const trackable &src) noexcept
 
 trackable (trackable &&src)
 
 ~trackable ()
 
void add_destroy_notify_callback (void *data, func_destroy_notify func) const
 
void notify_callbacks ()
 
trackableoperator= (const trackable &src)
 
trackableoperator= (trackable &&src)
 
void remove_destroy_notify_callback (void *data) const
 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...

 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Gdk::DragContextwrap (GdkDragContext* object, bool take_copy=false)
 A Glib::wrap() method for this object. More...

 

Additional Inherited Members

- Public Types inherited from Glib::Object
typedef void(*)(gpointer data DestroyNotify)
 
- Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify func_destroy_notify
 
- Protected Member Functions inherited from Glib::Object
 Object ()
 
 Object (const Glib::ConstructParams &construct_params)
 
 Object (GObject *castitem)
 
 ~Object () noexceptoverride
 
- Protected Member Functions inherited from Glib::ObjectBase
 ObjectBase ()
 
 ObjectBase (const char *custom_type_name)
 
 ObjectBase (const std::type_info &custom_type_info)
 
 ObjectBase (ObjectBase &&src) noexcept
 
ObjectBaseoperator= (ObjectBase &&src) noexcept
 
virtual ~ObjectBase () noexcept=0
 
void initialize (GObject *castitem)
 
void initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
 

Detailed Description

A Gdk::DragContext holds information about a drag in progress.

It is used on both source and destination sides.

Constructor & Destructor Documentation

Gdk::DragContext::DragContext ( DragContext&&  src)
noexcept
Gdk::DragContext::~DragContext ( )
overridenoexcept

Member Function Documentation

void Gdk::DragContext::drag_finish ( bool  success,
bool  del,
guint32  time 
)

Informs the drag source that the drop is finished, and that the data of the drag will no longer be required.

Parameters
successA flag indicating whether the drop was successful.
delA flag indicating whether the source should delete the original data. (This should be true for a move.)
timeThe timestamp from the "drag_data_drop" signal.
void Gdk::DragContext::drag_refuse ( guint32  time)

Indicate that a drop will not be accepted.

This function may be called by the drag destination in response to gdk_drag_motion() called by the drag source. Alternatively, call drag_status() to indicate which drag action will be accepted.

Parameters
timeThe timestamp for this operation.
void Gdk::DragContext::drag_status ( DragAction  action,
guint32  time 
)

Selects one of the actions offered by the drag source.

This function is called by the drag destination in response to gdk_drag_motion() called by the drag source.

Parameters
actionThe selected action which will be taken when a drop happens, or 0 to indicate that a drop will not be accepted.
timeThe timestamp for this operation.
void Gdk::DragContext::drop_finish ( bool  success,
guint32  time 
)

Ends the drag operation after a drop.

This function is called by the drag destination.

Parameters
successtrue if the data was successfully received.
timeThe timestamp for this operation.
void Gdk::DragContext::drop_reply ( bool  accepted,
guint32  time 
)

Accepts or rejects a drop.

This function is called by the drag destination in response to a drop initiated by the drag source.

Parameters
acceptedtrue if the drop is accepted.
timeThe timestamp for this operation.
void Gdk::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

Finds the destination window and DND protocol to use at the given pointer position.

This function is called by the drag source to obtain the dest_window and protocol parameters for gdk_drag_motion().

Since gtkmm 2.2:
Parameters
drag_windowA window which may be at the pointer position, but should be ignored, since it is put up by the drag source as an icon.
screenThe screen where the destination window is sought.
x_rootThe x position of the pointer in root coordinates.
y_rootThe y position of the pointer in root coordinates.
dest_windowLocation to store the destination window in.
protocolLocation to store the DND protocol in.
DragAction Gdk::DragContext::get_actions ( ) const

Determines the bitmask of actions proposed by the source if get_suggested_action() returns Gdk::ACTION_ASK.

Since gtkmm 2.22:
Returns
The Gdk::DragAction flags.
Glib::RefPtr<Window> Gdk::DragContext::get_dest_window ( )

Returns the destination windw for the DND operation.

Since gtkmm 3.0:
Returns
A Gdk::Window.
Glib::RefPtr<const Window> Gdk::DragContext::get_dest_window ( ) const

Returns the destination windw for the DND operation.

Since gtkmm 3.0:
Returns
A Gdk::Window.
Glib::RefPtr<Device> Gdk::DragContext::get_device ( )

Returns the Gdk::Device associated to the drag context.

Returns
The Gdk::Device associated to context.
Glib::RefPtr<const Device> Gdk::DragContext::get_device ( ) const

Returns the Gdk::Device associated to the drag context.

Returns
The Gdk::Device associated to context.
DragProtocol Gdk::DragContext::get_protocol ( ) const

Returns the drag protocol thats used by this context.

Since gtkmm 3.0:
Returns
The drag protocol.
DragAction Gdk::DragContext::get_selected_action ( ) const

Determines the action chosen by the drag destination.

Since gtkmm 2.22:
Returns
A Gdk::DragAction value.
Glib::ustring Gdk::DragContext::get_selection ( ) const

Returns the selection atom for the current source window.

Returns
The selection atom, or Gdk::NONE.
Glib::RefPtr<Window> Gdk::DragContext::get_source_window ( )

Returns the Gdk::Window where the DND operation started.

Since gtkmm 2.22:
Returns
A Gdk::Window.
Glib::RefPtr<const Window> Gdk::DragContext::get_source_window ( ) const

Returns the Gdk::Window where the DND operation started.

Since gtkmm 2.22:
Returns
A Gdk::Window.
DragAction Gdk::DragContext::get_suggested_action ( ) const

Determines the suggested drag action of the context.

Since gtkmm 2.22:
Returns
A Gdk::DragAction value.
static GType Gdk::DragContext::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

GdkDragContext* Gdk::DragContext::gobj ( )
inline

Provides access to the underlying C GObject.

const GdkDragContext* Gdk::DragContext::gobj ( ) const
inline

Provides access to the underlying C GObject.

GdkDragContext* Gdk::DragContext::gobj_copy ( )

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

std::vector<std::string> Gdk::DragContext::list_targets ( ) const

Get a list of targets offered by the source.

Returns
a list of targets offered by the source.
DragContext& Gdk::DragContext::operator= ( DragContext&&  src)
noexcept
void Gdk::DragContext::set_device ( const Glib::RefPtr< Device >&  device)

Associates a Gdk::Device to context, so all Drag and Drop events for context are emitted as if they came from this device.

Parameters
deviceA Gdk::Device.
void Gdk::DragContext::set_icon ( const ::Cairo::RefPtr< ::Cairo::Surface > &  surface)
void Gdk::DragContext::set_icon ( const Glib::RefPtr< Gdk::Pixbuf >&  pixbuf,
int  hot_x,
int  hot_y 
)
void Gdk::DragContext::set_icon ( const Glib::ustring stock_id,
int  hot_x,
int  hot_y 
)
void Gdk::DragContext::set_icon ( )
void Gdk::DragContext::set_icon_name ( const Glib::ustring name,
int  hot_x,
int  hot_y 
)

Friends And Related Function Documentation

Glib::RefPtr< Gdk::DragContext > wrap ( GdkDragContext *  object,
bool  take_copy = false 
)
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns
A C++ instance that wraps this C instance.