The QDropEvent class provides an event which is sent when a drag and drop is completed.
More...
Detailed Description
The QDropEvent class provides an event which is sent when a drag and drop is completed.
When a widget accepts drop
events, it will receive this event if it has accepted the
most recent QDragEnterEvent or QDragMoveEvent sent to it.
The widget should use data() to extract the data in an appropriate
format.
See also Drag And Drop Classes and Event Classes.
Member Type Documentation
QDropEvent::Action
This enum describes the action which a source requests that a
target perform with dropped data.
- QDropEvent::Copy - The default action. The source simply uses the data
provided in the operation.
- QDropEvent::Link - The source should somehow create a link to the
location specified by the data.
- QDropEvent::Move - The source should somehow move the object from the
location specified by the data to a new location.
- QDropEvent::Private - The target has special knowledge of the MIME type,
which the source should respond to in a similar way to
a Copy.
- QDropEvent::UserAction - The source and target can co-operate using
special actions. This feature is not currently
supported.
The Link and Move actions only makes sense if the data is a
reference, for example, text/uri-list file lists (see QUriDrag).
Member Function Documentation
QDropEvent::QDropEvent ( const QPoint & pos, Type typ = Drop )
Constructs a drop event that drops a drop of type typ on point
pos.
void QDropEvent::accept ( bool y = TRUE )
Call this function to indicate whether the event provided data
which your widget processed. Set y to TRUE (the default) if
your widget could process the data, otherwise set y to FALSE.
To get the data, use encodedData(), or preferably, the decode()
methods of existing QDragObject subclasses, such as
QTextDrag::decode(), or your own subclasses.
See also acceptAction().
Example: iconview/simple_dd/main.cpp.
void QDropEvent::acceptAction ( bool y = TRUE )
Call this to indicate that the action described by action() is
accepted (i.e. if y is TRUE, which is the default), not merely
the default copy action. If you call acceptAction(TRUE), there is
no need to also call accept(TRUE).
Examples: dirview/dirview.cpp and fileiconview/qfileiconview.cpp.
Action QDropEvent::action () const
Returns the Action which the target is requesting to be performed
with the data. If your application understands the action and can
process the supplied data, call acceptAction(); if your
application can process the supplied data but can only perform the
Copy action, call accept().
Examples: dirview/dirview.cpp and fileiconview/qfileiconview.cpp.
QByteArray QDropEvent::data ( const char * f ) const
This function is obsolete. It is provided to keep old source working. We strongly advise against using it in new code.
Use QDropEvent::encodedData().
QByteArray QDropEvent::encodedData ( const char * format ) const [virtual]
Returns a byte array containing the drag's data, in format.
data() normally needs to get the data from the drag source, which
is potentially very slow, so it's advisable to call this function
only if you're sure that you will need the data in format.
The resulting data will have a size of 0 if the format was not
available.
See also format() and QByteArray::size().
Reimplemented from QMimeSource.
const char * QDropEvent::format ( int n = 0 ) const [virtual]
Returns a string describing one of the available data types for
this drag. Common examples are "text/plain" and "image/gif". If n is less than zero or greater than the number of available data
types, format() returns 0.
This function is provided mainly for debugging. Most drop targets
will use provides().
See also data() and provides().
Example: iconview/main.cpp.
Reimplemented from QMimeSource.
void QDropEvent::ignore ()
The opposite of accept(), i.e. you have ignored the drop event.
Example: fileiconview/qfileiconview.cpp.
bool QDropEvent::isAccepted () const
Returns TRUE if the drop target accepts the event; otherwise
returns FALSE.
bool QDropEvent::isActionAccepted () const
Returns TRUE if the drop action was accepted by the drop site;
otherwise returns FALSE.
const QPoint & QDropEvent::pos () const
Returns the position where the drop was made.
Example: dirview/dirview.cpp.
bool QDropEvent::provides ( const char * mimeType ) const [virtual]
Returns TRUE if this event provides format mimeType; otherwise
returns FALSE.
See also data().
Example: fileiconview/qfileiconview.cpp.
Reimplemented from QMimeSource.
void QDropEvent::setAction ( Action a )
Sets the action to a. This is used internally, you should not
need to call this in your code: the source decides the action,
not the target.
void QDropEvent::setPoint ( const QPoint & np )
Sets the drop to happen at point np. You do not normally need
to use this as it will be set internally before your widget
receives the drop event.
QWidget * QDropEvent::source () const
If the source of the drag operation is a widget in this
application, this function returns that source, otherwise it
returns 0. The source of the operation is the first parameter to
drag object subclasses.
This is useful if your widget needs special behavior when dragging
to itself, etc.
See QDragObject::QDragObject() and subclasses.
This file is part of the Qt toolkit.
Copyright © 1995-2005
Trolltech. All Rights Reserved.