Qt Reference Documentation

Contents

Q3IconDrag Class Reference

The Q3IconDrag class supports drag and drop operations within a Q3IconView. More...

 #include <Q3IconDrag>

This class is part of the Qt 3 support library. It is provided to keep old source code working. We strongly advise against using it in new code. See Porting to Qt 4 for more information.

Inherits: Q3DragObject.

Public Functions

Q3IconDrag ( QWidget * dragSource, const char * name = 0 )
virtual ~Q3IconDrag ()
void append ( const Q3IconDragItem & i, const QRect & pr, const QRect & tr )

Reimplemented Public Functions

virtual QByteArray encodedData ( const char * mime ) const
virtual const char * format ( int i ) const

Static Public Members

bool canDecode ( QMimeSource * e )

Additional Inherited Members

Detailed Description

The Q3IconDrag class supports drag and drop operations within a Q3IconView.

A Q3IconDrag object is used to maintain information about the positions of dragged items and the data associated with them. Q3IconViews are able to use this information to paint the dragged items in the correct positions. Internally, Q3IconDrag stores the data associated with drag items in Q3IconDragItem objects.

If you want to use the extended drag and drop functionality of Q3IconView, create a Q3IconDrag object in a reimplementation of Q3IconView::dragObject(). Then create a Q3IconDragItem for each item which should be dragged, set the data it represents with Q3IconDragItem::setData(), and add each Q3IconDragItem to the drag object using append().

The data in Q3IconDragItems 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 Q3IconDrag and reimplement format(), encodedData() and canDecode().

The fileiconview example program demonstrates the use of the Q3IconDrag class including subclassing and reimplementing dragObject(), format(), encodedData() and canDecode().

See also QMimeSource::format().

Member Function Documentation

Q3IconDrag::Q3IconDrag ( 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.

Q3IconDrag::~Q3IconDrag () [virtual]

Destructor.

void Q3IconDrag::append ( const Q3IconDragItem & i, const QRect & pr, const QRect & tr )

Append the Q3IconDragItem, i, to the Q3IconDrag object's list of items. You must also supply the geometry of the pixmap, pr, and the textual caption, tr.

See also Q3IconDragItem.

bool Q3IconDrag::canDecode ( QMimeSource * e ) [static]

Returns true if e can be decoded by the Q3IconDrag, otherwise return false.

QByteArray Q3IconDrag::encodedData ( const char * mime ) const [virtual]

Reimplemented from QMimeSource::encodedData().

Returns the encoded data of the drag object if mime is application/x-qiconlist.

const char * Q3IconDrag::format ( int i ) const [virtual]

Reimplemented from QMimeSource::format().