class KMultipleDrag

# class KMultipleDrag | This class makes it easy for applications to provide a drag object (for drag-n-drop or for clipboard) that has several representations of the same data, under different formats. More...
Definition | `#include <kmultipledrag.h>`
Inherits | QDragObject (qt) [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- KMultipleDrag ( QWidget *dragSource = 0L, const char *name = 0L )
- void addDragObject ( QDragObject *dragObject )

#### Protected Methods

- virtual QByteArray encodedData ( const char *mime ) const
- virtual const char* format ( int i ) const
- virtual void virtual_hook ( int id, void* data )

#### Protected Members

- QPtrList m_dragObjects
- QValueList m_numberFormats

## Detailed Description

This class makes it easy for applications to provide a drag object (for drag-n-drop or for clipboard) that has several representations of the same data, under different formats.

Instead of creating a specific class for each case (as would otherwise be necessary), you can simply create independent drag objects (e.g. a QImageDrag object and a KURLDrag object), and bundle them together using KMultipleDrag.

Sample code for this:

     KMultipleDrag *drag = new KMultipleDrag( parentWidget );
     drag->addDragObject( new QImageDrag( someQImage, 0L ) );
     drag->addDragObject( KURLDrag::newDrag( someKURL, 0L ) );
     drag->drag();

Note that the drag objects added to the multiple drag become owned by it. For that reason their parent should be 0L.

KMultipleDrag ( QWidget *dragSource = 0L, const char *name = 0L ) | ### KMultipleDrag

Create a new KMultipleDrag object.

Parameters:

dragSource | the parent object which is the source of the data, 0 for a parent-less object
name | the name of the object, can be 0

void addDragObject ( QDragObject *dragObject ) | ### addDragObject

Call this to add each underlying drag object to the multiple drag object. The drag object should not have a parent because the multiple drag object will own it.

Parameters:

dragObject | the drag object to add. Should have no parent object.

QByteArray encodedData ( const char *mime ) | ### encodedData

[protected const virtual]

Returns the data of a drag object with that supports the given mime type.

Parameters:

mime | the mime type to search

Returns: the data, or a null byte array if not found

const char* format ( int i ) | ### format

[protected const virtual]

Returns the `i`'th supported format, or 0.

Parameters:

i | the number of the format to check

Returns: the format with the number `i`, or 0 otherwise

QPtrList<QDragObject> m_dragObjects | ### m_dragObjects

[protected]

QValueList m_numberFormats | ### m_numberFormats

[protected]

void virtual_hook ( int id, void* data ) | ### virtual_hook

[protected virtual]

- Author: David Faure
- Generated: root on macppc.ports.openbsd.org on Sat Sep 6 10:36:15 2003, using kdoc 2.0a54.