Detailed Description
The QIconDrag class supports drag and drop operations
within a QIconView.
A QIconDrag object is used to maintain information about the
positions of dragged items and the data associated with the
dragged items. QIconViews are able to use this information to
paint the dragged items in the correct positions. Internally
QIconDrag stores the data associated with drag items in
QIconDragItem objects.
If you want to use the extended drag-and-drop functionality of
QIconView, create a QIconDrag object in a reimplementation of
QIconView::dragObject(). Then create a QIconDragItem for each item
which should be dragged, set the data it represents with
QIconDragItem::setData(), and add each QIconDragItem to the drag
object using append().
The data in QIconDragItems is stored in a QByteArray and is
mime-typed (see QMimeSource and the
Drag and Drop
overview). If you want to use your own mime-types derive a class
from QIconDrag and reimplement format(), encodedData() and
canDecode().
The fileiconview example program demonstrates the use of the
QIconDrag class including subclassing and reimplementing
dragObject(), format(), encodedData() and canDecode(). See the files
qt/examples/fileiconview/qfileiconview.h and
qt/examples/fileiconview/qfileiconview.cpp.
See also QMimeSource::format() and Drag And Drop Classes.
Member Function Documentation
QIconDrag::QIconDrag ( QWidget * dragSource, const char * name = 0 )
Constructs a drag object called name, which is a child of dragSource.
Note that the drag object will be deleted when dragSource is deleted.
QIconDrag::~QIconDrag () [virtual]
Destructor.
void QIconDrag::append ( const QIconDragItem & i, const QRect & pr, const QRect & tr )
Append the QIconDragItem, i, to the QIconDrag object's list of
items. You must also supply the geometry of the pixmap, pr, and
the textual caption, tr.
See also QIconDragItem.
Example: fileiconview/qfileiconview.cpp.
bool QIconDrag::canDecode ( QMimeSource * e ) [static]
Returns TRUE if e can be decoded by the QIconDrag, otherwise
return FALSE.
Example: fileiconview/qfileiconview.cpp.
QByteArray QIconDrag::encodedData ( const char * mime ) const [virtual]
Returns the encoded data of the drag object if mime is
application/x-qiconlist.
Example: fileiconview/qfileiconview.cpp.
Reimplemented from QMimeSource.
This file is part of the Qt toolkit.
Copyright © 1995-2005
Trolltech. All Rights Reserved.