140 lines
4.3 KiB
HTML
140 lines
4.3 KiB
HTML
<HTML>
|
|
<HEAD><TITLE>DragSite</TITLE></HEAD>
|
|
<BODY BGCOLOR=white>
|
|
<DL><DT><I><A HREF="#descr">NAME</A></I></DT>
|
|
<DD><B>DragSite</B>
|
|
- Commands set for Drag facilities
|
|
</DD></DL>
|
|
<DL>
|
|
<DT><I><A HREF="#wc">COMMAND</A></I></DT>
|
|
<DD>DragSite::<A HREF="#include"><B>include</B></A>
|
|
<I>class</I>
|
|
<I>type</I>
|
|
<I>event</I>
|
|
</DD>
|
|
<DD>DragSite::<A HREF="#register"><B>register</B></A>
|
|
<I>path</I>
|
|
?<I>option value...</I>?
|
|
</DD>
|
|
<DD>DragSite::<A HREF="#setdrag"><B>setdrag</B></A>
|
|
<I>path</I>
|
|
<I>subpath</I>
|
|
<I>initcmd</I>
|
|
<I>endcmd</I>
|
|
?<I>force</I>?
|
|
</DD>
|
|
</DL>
|
|
<BR><HR WIDTH="100%"><BR>
|
|
<B><A NAME="descr"></A>DESCRIPTION</B><BR>
|
|
<P>
|
|
|
|
Commands of this namespace enable user to define a BWidget or a Tk widget as a drag site.
|
|
|
|
|
|
|
|
</P>
|
|
<HR WIDTH="50%"><BR>
|
|
<B><A NAME="wc">COMMAND</A></B><BR>
|
|
<DL><DT><A NAME="include">DragSite::<B>include</B></A>
|
|
<I>class</I>
|
|
<I>type</I>
|
|
<I>event</I>
|
|
</DT><DD>
|
|
|
|
This command provides a simple way to include options relatives to a drag site into
|
|
BWidget resources definition.
|
|
It includes the options needed for <B>register</B>: <I>-dragevent</I>, initialized to
|
|
<I>event</I>, <I>-draginitcmd</I> and <I>-dragendcmd</I>, initialized to empty string,
|
|
and two new options:
|
|
<TABLE BORDER=0 CELLSPACING=1>
|
|
<TR><TD><I>-dragenabled</I><TD>Specifies wether or not drag is active (initialized to 0)
|
|
<TR><TD><I>-dragtype</I><TD>Default or alternate dragged data type (initialized to <I>type</I>)
|
|
</TABLE>
|
|
|
|
</DD></DL>
|
|
<DL><DT><A NAME="register">DragSite::<B>register</B></A>
|
|
<I>path</I>
|
|
?<I>option value...</I>?
|
|
</DT><DD>
|
|
|
|
This command is used to declare <I>path</I> as a drag site. Options are:
|
|
|
|
<P>
|
|
<DL><DT><A NAME="DragSite-dragendcmd"><B>-dragendcmd</B></A></DT>
|
|
<DD>
|
|
|
|
Command called when drag terminates (ie when user release drag icon).
|
|
This command is called with the following arguments:
|
|
<UL>
|
|
<LI>the pathname of the drag source (the widget itself),
|
|
<LI>the pathname of the drop target,
|
|
<LI>the operation,
|
|
<LI>the type of the dragged data,
|
|
<LI>the dragged data,
|
|
<LI>result of the drop (result of the call to <B>-dropcmd</B> of the target),
|
|
</UL>
|
|
If the drop does not occurs, the target and the operation are empty string and the result
|
|
is 0.
|
|
|
|
</DD>
|
|
</DL>
|
|
<DL><DT><A NAME="DragSite-dragevent"><B>-dragevent</B></A></DT>
|
|
<DD>
|
|
|
|
Specifies the number of the mouse button associated to the drag.
|
|
Must be <B>1</B>, <B>2</B> or <B>3</B>.
|
|
|
|
</DD>
|
|
</DL>
|
|
<DL><DT><A NAME="DragSite-draginitcmd"><B>-draginitcmd</B></A></DT>
|
|
<DD>
|
|
|
|
Command called when drag initiates. When the event of option <B>dragevent</B> occurs on
|
|
<I>path</I>, this command is called with the following arguments:
|
|
<UL>
|
|
<LI>pathname of the drag source (<I>path</I>),
|
|
<LI>root x-coordinate of pointer,
|
|
<LI>root y-coordinate of pointer,
|
|
<LI>a toplevel created to represent dragged data. When returning, if it
|
|
has no children, a bitmap is automatically displayed.
|
|
</UL>
|
|
The command must return a list containing three elements:
|
|
<UL>
|
|
<LI>the type of the data,
|
|
<LI>the list of acceptable basic operations (<B>copy</B>, <B>move</B> and <B>link</B>)
|
|
<LI>and the data.
|
|
</UL>
|
|
Note that even if <B>copy</b> does not appear in the list of basic operation,
|
|
it is considered as an acceptable operation, since <B>copy</B> semantic does not modify
|
|
the drag source.
|
|
|
|
</DD>
|
|
</DL>
|
|
</DD></DL>
|
|
<DL><DT><A NAME="setdrag">DragSite::<B>setdrag</B></A>
|
|
<I>path</I>
|
|
<I>subpath</I>
|
|
<I>initcmd</I>
|
|
<I>endcmd</I>
|
|
?<I>force</I>?
|
|
</DT><DD>
|
|
|
|
This command provides a simple way to call <B>register</B> during a BWidget creation or
|
|
configuration.
|
|
<UL>
|
|
<LI><I>path</I> is the pathname of the BWidget,
|
|
<LI><I>subpath</I> is the pathname of the tk widget where drag event occurs,
|
|
<LI><I>initcmd</I> BWidget command for <I>drag-init</I> event,
|
|
<LI><I>endcmd</I> BWidget command for <I>drag-end</I> event,
|
|
<LI><I>force</I> specifies wether or not to call <B>register</B> whenever no option value has
|
|
changed (0 by default - for BWidget configuration, use 1 for BWidget creation).
|
|
</UL>
|
|
<B>setdrag</B> verifies the modification flag of options <B>dragenabled</B> and
|
|
<B>dragevent</B> and calls <B>register</B> if needed according to the options values and
|
|
<I>initcmd</I> and <I>endcmd</I> arguments. <B>draginitcmd</B> and <B>dragendcmd</B> are not
|
|
taken from options of widget because they are considered as user command, called by
|
|
BWidget implementation of <I>drag-init</I> and <I>drag-end</I> events.
|
|
</DD></DL>
|
|
</BODY>
|
|
</HTML>
|