<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- /tmp/qt-3.0-reggie-28534/qt-x11-free-3.0.2/src/kernel/qdnd_x11.cpp:1498 --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>QDropEvent Class</title> <style type="text/css"><!-- h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; } a:link { color: #004faf; text-decoration: none } a:visited { color: #672967; text-decoration: none } body { background: #ffffff; color: black; } --></style> </head> <body> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr bgcolor="#E5E5E5"> <td valign=center> <a href="index.html"> <font color="#004faf">Home</font></a> | <a href="classes.html"> <font color="#004faf">All Classes</font></a> | <a href="mainclasses.html"> <font color="#004faf">Main Classes</font></a> | <a href="annotated.html"> <font color="#004faf">Annotated</font></a> | <a href="groups.html"> <font color="#004faf">Grouped Classes</font></a> | <a href="functions.html"> <font color="#004faf">Functions</font></a> </td> <td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDropEvent Class Reference</h1> <p>The QDropEvent class provides an event which is sent when a drag and drop is completed. <a href="#details">More...</a> <p><tt>#include <<a href="qevent-h.html">qevent.h</a>></tt> <p>Inherits <a href="qevent.html">QEvent</a> and <a href="qmimesource.html">QMimeSource</a>. <p>Inherited by <a href="qdragmoveevent.html">QDragMoveEvent</a>. <p><a href="qdropevent-members.html">List of all member functions.</a> <h2>Public Members</h2> <ul> <li><div class=fn><a href="#QDropEvent"><b>QDropEvent</b></a> ( const QPoint & pos, Type typ = Drop )</div></li> <li><div class=fn>const QPoint & <a href="#pos"><b>pos</b></a> () const</div></li> <li><div class=fn>bool <a href="#isAccepted"><b>isAccepted</b></a> () const</div></li> <li><div class=fn>void <a href="#accept"><b>accept</b></a> ( bool y = TRUE )</div></li> <li><div class=fn>void <a href="#ignore"><b>ignore</b></a> ()</div></li> <li><div class=fn>bool <a href="#isActionAccepted"><b>isActionAccepted</b></a> () const</div></li> <li><div class=fn>void <a href="#acceptAction"><b>acceptAction</b></a> ( bool y = TRUE )</div></li> <li><div class=fn>enum <a href="#Action-enum"><b>Action</b></a> { Copy, Link, Move, Private, UserAction = 100 }</div></li> <li><div class=fn>void <a href="#setAction"><b>setAction</b></a> ( Action a )</div></li> <li><div class=fn>Action <a href="#action"><b>action</b></a> () const</div></li> <li><div class=fn>QWidget * <a href="#source"><b>source</b></a> () const</div></li> <li><div class=fn>virtual const char * <a href="#format"><b>format</b></a> ( int n = 0 ) const</div></li> <li><div class=fn>virtual QByteArray <a href="#encodedData"><b>encodedData</b></a> ( const char * format ) const</div></li> <li><div class=fn>virtual bool <a href="#provides"><b>provides</b></a> ( const char * mimeType ) const</div></li> <li><div class=fn>QByteArray data ( const char * f ) const <em>(obsolete)</em></div></li> <li><div class=fn>void <a href="#setPoint"><b>setPoint</b></a> ( const QPoint & np )</div></li> </ul> <hr><a name="details"></a><h2>Detailed Description</h2> <p> The QDropEvent class provides an event which is sent when a drag and drop is completed. <p> When a widget <a href="qwidget.html#setAcceptDrops">accepts drop events</a>, it will receive this event if it has accepted the most recent <a href="qdragenterevent.html">QDragEnterEvent</a> or <a href="qdragmoveevent.html">QDragMoveEvent</a> sent to it. <p> The widget should use <a href="#data">data</a>() to extract data in an appropriate format. <p>See also <a href="draganddrop.html">Drag And Drop Classes</a> and <a href="events.html">Event Classes</a>. <hr><h2>Member Type Documentation</h2> <h3 class=fn><a name="Action-enum"></a>QDropEvent::Action</h3> <p> This enum describes the action which a source requests that a target perform with dropped data. <ul> <li><tt>QDropEvent::Copy</tt> - The default action. The source simply uses the data provided in the operation. <li><tt>QDropEvent::Link</tt> - The source should somehow create a link to the location specified by the data. <li><tt>QDropEvent::Move</tt> - The source should somehow move the object from the location specified by the data to a new location. <li><tt>QDropEvent::Private</tt> - The target has special knowledge of the MIME type, which the source should respond to in a similar way to a Copy. <li><tt>QDropEvent::UserAction</tt> - The source and target can co-operate using special actions. This feature is not supported in Qt at this time. </ul><p> The Link and Move actions only makes sense if the data is a reference, for example, text/uri-list file lists (see <a href="quridrag.html">QUriDrag</a>). <hr><h2>Member Function Documentation</h2> <h3 class=fn><a name="QDropEvent"></a>QDropEvent::QDropEvent ( const <a href="qpoint.html">QPoint</a> & pos, <a href="qevent.html#Type-enum">Type</a> typ = Drop ) </h3> <p> Constructs a drop event that drops a drop of type <em>typ</em> on point <em>pos</em>. <h3 class=fn>void <a name="accept"></a>QDropEvent::accept ( bool y = TRUE ) </h3> <p> Call this function to indicate whether the event provided data which your widget processed. Set <em>y</em> to TRUE (the default) if your widget could process the data, otherwise set <em>y</em> to FALSE. To get the data, use <a href="#encodedData">encodedData</a>(), or preferably, the decode() methods of existing <a href="qdragobject.html">QDragObject</a> subclasses, such as <a href="qtextdrag.html#decode">QTextDrag::decode</a>(), or your own subclasses. <p> <b>Warning:</b> To accept or reject the drop, don't call this function, call <a href="#acceptAction">acceptAction</a>() instead. This function indicates whether you processed the event at all. <p> <p>See also <a href="#acceptAction">acceptAction</a>(). <p>Examples: <a href="desktop-example.html#x1722">desktop/desktop.cpp</a>, <a href="dirview-example.html#x1667">dirview/dirview.cpp</a> and <a href="simple_dd-example.html#x2490">iconview/simple_dd/main.cpp</a>. <h3 class=fn>void <a name="acceptAction"></a>QDropEvent::acceptAction ( bool y = TRUE ) </h3> <p> Call this to indicate that the action described by <a href="#action">action</a>() is accepted (i.e. if <em>y</em> is TRUE which is the default), not merely the default copy action. If you call <a href="#acceptAction">acceptAction</a>(TRUE), there is no need to also call <a href="#accept">accept</a>(TRUE). <p>Examples: <a href="dirview-example.html#x1668">dirview/dirview.cpp</a> and <a href="fileiconview-example.html#x1529">fileiconview/qfileiconview.cpp</a>. <h3 class=fn><a href="qdropevent.html#Action-enum">Action</a> <a name="action"></a>QDropEvent::action () const </h3> <p> Returns the Action which the target is requesting to be performed with the data. If your application understands the action and can process the supplied data, call <a href="#acceptAction">acceptAction</a>(); if your application can process the supplied data but can only perform the Copy action, call <a href="#accept">accept</a>(). <p>Examples: <a href="dirview-example.html#x1669">dirview/dirview.cpp</a> and <a href="fileiconview-example.html#x1530">fileiconview/qfileiconview.cpp</a>. <h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="data"></a>QDropEvent::data ( const char * f ) const </h3> <p> <b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code. <p> Use <a href="#encodedData">QDropEvent::encodedData</a>(). <h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="encodedData"></a>QDropEvent::encodedData ( const char * format ) const<tt> [virtual]</tt> </h3> Returns a byte array containing the payload data of this drag, in <em>format</em>. <p> <a href="#data">data</a>() normally needs to get the data from the drag source, which is potentially very slow, so it's advisable to call this function only if you're sure that you will need the data in <em>format</em>. <p> The resulting data will have a size of 0 if the format was not available. <p> <p>See also <a href="#format">format</a>() and <a href="qmemarray.html#size">QByteArray::size</a>(). <p>Reimplemented from <a href="qmimesource.html#encodedData">QMimeSource</a>. <h3 class=fn>const char * <a name="format"></a>QDropEvent::format ( int n = 0 ) const<tt> [virtual]</tt> </h3> Returns a string describing one of the available data types for this drag. Common examples are "text/plain" and "image/gif". If <em>n</em> is less than zero or greater than the number of available data types, <a href="#format">format</a>() returns 0. <p> This function is provided mainly for debugging. Most drop targets will use <a href="#provides">provides</a>(). <p> <p>See also <a href="#data">data</a>() and <a href="#provides">provides</a>(). <p>Example: <a href="iconview-example.html#x1346">iconview/main.cpp</a>. <p>Reimplemented from <a href="qmimesource.html#format">QMimeSource</a>. <h3 class=fn>void <a name="ignore"></a>QDropEvent::ignore () </h3> <p> The opposite of <a href="#accept">accept</a>(), i.e. you have ignored the drop event. <p>Example: <a href="fileiconview-example.html#x1531">fileiconview/qfileiconview.cpp</a>. <h3 class=fn>bool <a name="isAccepted"></a>QDropEvent::isAccepted () const </h3> <p> Returns TRUE if the drop target accepts the event; otherwise returns FALSE. <h3 class=fn>bool <a name="isActionAccepted"></a>QDropEvent::isActionAccepted () const </h3> <p> Returns TRUE if the drop action was accepted by the drop site; otherwise returns FALSE. <h3 class=fn>const <a href="qpoint.html">QPoint</a> & <a name="pos"></a>QDropEvent::pos () const </h3> <p> Returns the position where the drop was made. <p>Example: <a href="dirview-example.html#x1670">dirview/dirview.cpp</a>. <h3 class=fn>bool <a name="provides"></a>QDropEvent::provides ( const char * mimeType ) const<tt> [virtual]</tt> </h3> Returns TRUE if this event provides format <em>mimeType</em> or FALSE if it does not. <p> <p>See also <a href="#data">data</a>(). <p>Example: <a href="fileiconview-example.html#x1532">fileiconview/qfileiconview.cpp</a>. <p>Reimplemented from <a href="qmimesource.html#provides">QMimeSource</a>. <h3 class=fn>void <a name="setAction"></a>QDropEvent::setAction ( <a href="qdropevent.html#Action-enum">Action</a> a ) </h3> <p> Sets the action to <em>a</em>. This is used internally, you should not need to call this in your code - the <em>source</em> decides the action, not the target. <h3 class=fn>void <a name="setPoint"></a>QDropEvent::setPoint ( const <a href="qpoint.html">QPoint</a> & np ) </h3> <p> Sets the drop to happen at point <em>np</em>. You do not normally need to use this as it will be set internally before your widget receives the drop event. <h3 class=fn><a href="qwidget.html">QWidget</a> * <a name="source"></a>QDropEvent::source () const </h3> If the source of the drag operation is a widget in this application, this function returns that source, otherwise it returns 0. The source of the operation is the first parameter to to drag object subclass. <p> This is useful if your widget needs special behavior when dragging to itself, etc. <p> See <a href="qdragobject.html#QDragObject">QDragObject::QDragObject</a>() and subclasses. <!-- eof --> <hr><p> This file is part of the <a href="index.html">Qt toolkit</a>. Copyright © 1995-2001 <a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center> <table width=100% cellspacing=0 border=0><tr> <td>Copyright © 2001 <a href="http://www.trolltech.com">Trolltech</a><td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a> <td align=right><div align=right>Qt version 3.0.2</div> </table></div></address></body> </html>