QIconDrag(3) Supports drag and drop operations within a QIconView

SYNOPSIS

#include <qiconview.h>

Inherits QDragObject.

Public Members


QIconDrag ( QWidget * dragSource, const char * name = 0 )

virtual ~QIconDrag ()

void append ( const QIconDragItem & i, const QRect & pr, const QRect & tr )

virtual QByteArray encodedData ( const char * mime ) const

Static Public Members


bool canDecode ( QMimeSource * e )

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.

COPYRIGHT

Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the license file included in the distribution for a complete license statement.

AUTHOR

Generated automatically from the source code.

BUGS

If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you.

The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech.

If you find errors in this manual page, please report them to [email protected]. Please include the name of the manual page (qicondrag.3qt) and the Qt version (3.3.8).