KDECore
KMultipleDrag Class Reference
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...
#include <kmultipledrag.h>
Public Member Functions | |
void | addDragObject (QDragObject *dragObject) |
virtual QByteArray | encodedData (const char *mime) const |
virtual const char * | format (int i) const |
KMultipleDrag (QWidget *dragSource=0, const char *name=0) | |
Protected Member Functions | |
virtual void | virtual_hook (int id, void *data) |
Protected Attributes | |
QPtrList< QDragObject > | m_dragObjects |
QValueList< int > | 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, 0 ) ); drag->addDragObject( new KURLDrag( someKURL, 0 ) ); drag->drag();
Note that the drag objects added to the multiple drag become owned by it. For that reason their parent should be 0.
Definition at line 54 of file kmultipledrag.h.
Constructor & Destructor Documentation
KMultipleDrag::KMultipleDrag | ( | QWidget * | dragSource = 0 , |
|
const char * | name = 0 | |||
) |
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
Definition at line 25 of file kmultipledrag.cpp.
Member Function Documentation
void KMultipleDrag::addDragObject | ( | QDragObject * | dragObject | ) |
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.
Definition at line 31 of file kmultipledrag.cpp.
QByteArray KMultipleDrag::encodedData | ( | const char * | mime | ) | 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
- Reimplemented from superclass.
Definition at line 42 of file kmultipledrag.cpp.
const char * KMultipleDrag::format | ( | int | i | ) | 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
- Reimplemented from superclass.
Definition at line 58 of file kmultipledrag.cpp.
void KMultipleDrag::virtual_hook | ( | int | id, | |
void * | data | |||
) | [protected, virtual] |
Definition at line 77 of file kmultipledrag.cpp.
Member Data Documentation
QPtrList<QDragObject> KMultipleDrag::m_dragObjects [protected] |
Definition at line 95 of file kmultipledrag.h.
QValueList<int> KMultipleDrag::m_numberFormats [protected] |
Definition at line 96 of file kmultipledrag.h.
The documentation for this class was generated from the following files: