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
DragContext & operator= ( 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 < Window > get_source_window ()
Returns the Gdk::Window where the DND operation started. More...

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

Glib::RefPtr < Window > get_dest_window ()
Returns the destination windw for the DND operation. More...

Glib::RefPtr < const Window > get_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 < Device > get_device ()
Returns the Gdk::Device associated to the drag context. More...

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

std::vector < std::string > list_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
Object & operator= (const Object &)=delete
Object ( Object &&src) noexcept
Object & operator= ( 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::Object > wrap (GObject *object, bool take_copy=false)
- Public Member Functions inherited from Glib::ObjectBase
ObjectBase (const ObjectBase &)=delete
ObjectBase & operator= (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 ()
trackable & operator= (const trackable &src)
trackable & operator= ( 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::DragContext > wrap (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
ObjectBase & operator= ( 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 ( )
override noexcept

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
success A flag indicating whether the drop was successful.
del A flag indicating whether the source should delete the original data. (This should be true for a move.)
time The 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
time The 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
action The selected action which will be taken when a drop happens, or 0 to indicate that a drop will not be accepted.
time The 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
success true if the data was successfully received.
time The 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
accepted true if the drop is accepted.
time The 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_window A window which may be at the pointer position, but should be ignored, since it is put up by the drag source as an icon.
screen The screen where the destination window is sought.
x_root The x position of the pointer in root coordinates.
y_root The y position of the pointer in root coordinates.
dest_window Location to store the destination window in.
protocol Location 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
device A 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
object The C instance.
take_copy False 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.