You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qt3/doc/html/qdropevent.html

226 lines
11 KiB

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qdnd_x11.cpp:1565 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>QDropEvent Class</title>
<style type="text/css"><!--
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&nbsp;Classes</font></a>
| <a href="mainclasses.html">
<font color="#004faf">Main&nbsp;Classes</font></a>
| <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
| <a href="groups.html">
<font color="#004faf">Grouped&nbsp;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 &lt;<a href="qevent-h.html">qevent.h</a>&gt;</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 class=fn><a href="#QDropEvent"><b>QDropEvent</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;pos, Type&nbsp;typ = Drop )</li>
<li class=fn>const QPoint &amp; <a href="#pos"><b>pos</b></a> () const</li>
<li class=fn>bool <a href="#isAccepted"><b>isAccepted</b></a> () const</li>
<li class=fn>void <a href="#accept"><b>accept</b></a> ( bool&nbsp;y = TRUE )</li>
<li class=fn>void <a href="#ignore"><b>ignore</b></a> ()</li>
<li class=fn>bool <a href="#isActionAccepted"><b>isActionAccepted</b></a> () const</li>
<li class=fn>void <a href="#acceptAction"><b>acceptAction</b></a> ( bool&nbsp;y = TRUE )</li>
<li class=fn>enum <a href="#Action-enum"><b>Action</b></a> { Copy, Link, Move, Private, UserAction = 100 }</li>
<li class=fn>void <a href="#setAction"><b>setAction</b></a> ( Action&nbsp;a )</li>
<li class=fn>Action <a href="#action"><b>action</b></a> () const</li>
<li class=fn>QWidget * <a href="#source"><b>source</b></a> () const</li>
<li class=fn>virtual const char * <a href="#format"><b>format</b></a> ( int&nbsp;n = 0 ) const</li>
<li class=fn>virtual QByteArray <a href="#encodedData"><b>encodedData</b></a> ( const&nbsp;char&nbsp;*&nbsp;format ) const</li>
<li class=fn>virtual bool <a href="#provides"><b>provides</b></a> ( const&nbsp;char&nbsp;*&nbsp;mimeType ) const</li>
<li class=fn>QByteArray data ( const&nbsp;char&nbsp;*&nbsp;f ) const &nbsp;<em>(obsolete)</em></li>
<li class=fn>void <a href="#setPoint"><b>setPoint</b></a> ( const&nbsp;QPoint&nbsp;&amp;&nbsp;np )</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 the 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 currently
supported.
</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&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;pos, <a href="qevent.html#Type-enum">Type</a>&nbsp;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&nbsp;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> <p>See also <a href="#acceptAction">acceptAction</a>().
<p>Example: <a href="simple_dd-example.html#x2819">iconview/simple_dd/main.cpp</a>.
<h3 class=fn>void <a name="acceptAction"></a>QDropEvent::acceptAction ( bool&nbsp;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#x1671">dirview/dirview.cpp</a> and <a href="fileiconview-example.html#x816">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#x1672">dirview/dirview.cpp</a> and <a href="fileiconview-example.html#x817">fileiconview/qfileiconview.cpp</a>.
<h3 class=fn><a href="qbytearray.html">QByteArray</a> <a name="data"></a>QDropEvent::data ( const&nbsp;char&nbsp;*&nbsp;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&nbsp;char&nbsp;*&nbsp;format ) const<tt> [virtual]</tt>
</h3>
Returns a byte array containing the drag's data, 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&nbsp;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#x1454">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#x818">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&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp; <a name="pos"></a>QDropEvent::pos () const
</h3>
<p> Returns the position where the drop was made.
<p>Example: <a href="dirview-example.html#x1673">dirview/dirview.cpp</a>.
<h3 class=fn>bool <a name="provides"></a>QDropEvent::provides ( const&nbsp;char&nbsp;*&nbsp;mimeType ) const<tt> [virtual]</tt>
</h3>
Returns TRUE if this event provides format <em>mimeType</em>; otherwise
returns FALSE.
<p> <p>See also <a href="#data">data</a>().
<p>Example: <a href="fileiconview-example.html#x819">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>&nbsp;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&nbsp;<a href="qpoint.html">QPoint</a>&nbsp;&amp;&nbsp;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>&nbsp;* <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
drag object subclasses.
<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 &copy; 1995-2007
<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 &copy; 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>Qt 3.3.8</div>
</table></div></address></body>
</html>