#include <Flu_DND.h>
Public Member Functions | |
void | dnd_callback (void(*cb)(const Flu_DND_Event *, void *), void *cbd=0) |
Set the function that is called when the dragged object is dropped. This is called in addition to the member function on_dnd_drop(). | |
Protected Member Functions | |
Flu_DND (const char *thisType) | |
Default constructor. | |
virtual | ~Flu_DND () |
Default destructor. | |
bool | dnd_event_is_text () const |
See Flu_DND_Event::event_is_text(). | |
bool | dnd_event_is_other () const |
See Flu_DND_Event::event_is_other(). | |
bool | dnd_is_dragging () const |
See Flu_DND_Event::event_is_valid(). | |
bool | dnd_is_data_type (const char *t) const |
See Flu_DND_Event::is_data_type(). | |
void | dnd_allow_text (bool b) |
Set whether standard FLTK text events can be dropped on this object. | |
bool | dnd_allow_text () const |
Get whether standard FLTK text events can be dropped on this object. | |
void | dnd_allow_dragging (bool b) |
Set whether this object can be dragged to another object. | |
bool | dnd_allow_dragging () const |
Get whether this object can be dragged to another object. | |
void | dnd_allow_dropping (bool b) |
Set whether this object can have other objects dropped on it. | |
bool | dnd_allow_dropping () const |
Get whether this object can have other objects dropped on it. | |
void | dnd_allow_type (const char *t) |
Add type t to the list of types that are allowed to be dropped on this object (up to a compiled maximum of FLU_DND_MAX_TYPES) . | |
bool | dnd_type_allowed (const char *t) const |
true if type t is allowed to be dropped on this object, false otherwise | |
void | dnd_grab (void *data, const char *type) |
Descendents should call this when they detect themselves being grabbed for a drag-n-drop. | |
int | dnd_handle (int event) |
Descendents should call this at the start of their handle() method to handle DND processing. | |
virtual void | on_dnd_release () |
Descendents can override this to respond to when the mouse is let go during a drag-n-drop (regardless of whether the item was dropped on you). | |
virtual void | on_dnd_enter () |
Descendents can override this to respond to when the mouse has entered you during a drag-n-drop. | |
virtual void | on_dnd_leave () |
Descendents can override this to respond to when the mouse has left you during a drag-n-drop. | |
virtual void | on_dnd_drop (const Flu_DND_Event *e) |
Descendents should override this to respond to when the dragged object has been dropped on you. | |
virtual bool | on_dnd_drag (int X, int Y) |
Descendents should override this to indicate whether the currently dragged item is allowed to be dropped on you (for example, if the item can only be dropped at certain locations). |
It adds the ability to create specific DND objects, allowing classes that handle DND to discriminate between which objects are "allowed" to be dropped on them.
Almost all functions are protected, since only a derived class should be in charge of what kinds of events to handle and what kinds of objects to support.