KDNDDropZone Class Reference

[kdecore Index] [kdecore Hierarchy] [Headers]


Drop zone for KDE Drag n Drop. More...

#include <drag.h>

Inherits: QObject (qt)

Public Members

Protected Members

Signals


Detailed Description

Drop zone for KDE Drag n Drop.

You can create a DropZone for every widget. When the user makes a drop over this widget, the KDNDDropZone takes over control.

The KDE drag and drop classes are based on the Offix Drag and Drop protocol, but are not compatible with it yet.

Currently used types are: DndText, DndURL.


KDNDDropZone( QWidget* _parent, int _type ) [public]

Create a DropZone for the widget _parent.

Parameters:
_type The type of Drop events to accept, eg DndURL.
_parent The parent of this dropzone, usually the widget for which you wish to receive drop events.

~KDNDDropZone() [public virtual]

Destructor

void drop( char *_data, int _size, int _type, int _x, int _y ) [public virtual]

This function is called when a drop event occurs.

Parameters:
_type The type of the data, eg DndURL means a URL was dropped.
_data A pointer to the dropped data.
_size The length of the data dropped.
_x,_y The global coordinates of the drop.

void enter( char *_data, int _size, int _type, int _x, int _y ) [public virtual]

This function is called when an icon is being dragged over this drop zone.

Note that the icon may never have left the drop zone; the user may be dragging it around withing this zone and this function would still be called.

Parameters:
_type The type of the data, eg DndURL means a URL is being dragged.
_data A pointer to the dragged data.
_size The length of the data dragged.
_x,_y The global coordinates of the drag.

void leave() [public virtual]

This function is called when the icon being dragged has left this drop zone.

QStrList & getURLList() [public virtual]

Decode the dropped data into a list of URLs. This should only be called if the dropped data was of type DndURL.

Note that the contents of this list are only valid till the next drop event.

const char* getData() [public virtual]

Get dropped data.

Returns:
A pointer to the dropped data.

int getDataSize() [public virtual]

Get dropped data length.

Returns:
the length of the data that was dropped.

int getDataType() [public virtual]

Get drop data type.

Returns:
the type of the data dropped.

int getMouseX() [public virtual]

Get the mouse position at which the item was dropped.

Returns:
the X coordinate at which the item was dropped.
See Also:
getMouseY

int getMouseY() [public virtual]

Get the mouse position at which the item was dropped.

Returns:
the Y coordinate at which the item was dropped.
See Also:
getMouseX

int getAcceptType() [public virtual]

The types of dropped data this drop zone will accept.

Returns:
the types of drops accepted.

bool accepts( int _type ) [public virtual]

Tests whether this data type will be accepted.

Parameters:
_type the data type to be tested.
Returns:
TRUE if this type will be accepted, FALSE otherwise.

QWidget* getWidget() [public]

Get the parent widget.

Returns:
the parent widget for which this object is monitoring drops.

void parseURLList() [protected]

Fills 'urlList' with the URLs in 'dndData'. Works only if 'dndType' is DndURL.

QWidget *widget[protected]

The parent widget being monitored.

char *dndData[protected]

Last drop data. Only valid during a call to 'dropAction'

int dndX[protected]

Drop/drag X position.

int dndY[protected]

Drop/drag Y position.

int acceptType[protected]

Data type mask.

QStrList urlList[protected]

If 'dndType' is URL, then all URLs in 'dndData' are stored here.

void dropAction( KDNDDropZone* ) [signal]

Emitted when a drop has occurred.

The zone into which the drop has occurred is passed as a parameter.

void dropEnter( KDNDDropZone* ) [signal]

Emitted when an icon is dragged into and inside this drop zone.

void dropLeave( KDNDDropZone* ) [signal]

Emitted when an icon is dragged out of this drop zone.


  • Author: Torben Weis (weis@kde.org)
  • Version: $Id: KDNDDropZone.html.in,v 1.1.1.1 2000/02/09 22:24:53 tasin Exp $
  • Documentation generated by tasin@cd1 on Die Nov 30 17:31:35 CET 1999
Kdoc