VirtualBox

Changeset 51555 in vbox


Ignore:
Timestamp:
Jun 5, 2014 2:34:32 PM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
94205
Message:

DnD: Documentation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/manual/en_US/SDKRef.xml

    r51495 r51555  
    836836        wrappers for PHP5. These wrappers rely on the PHP SOAP
    837837        Extension<footnote>
    838             <para>See <ulink url="???">http://www.php.net/soap</ulink>.</para>
     838            <para>See
     839            <ulink url="https://www.php.net/soap">https://www.php.net/soap</ulink>.</para>
    839840          </footnote>, which can be installed by configuring PHP with
    840841        <computeroutput>--enable-soap</computeroutput>.</para>
     
    22672268
    22682269    <sect1>
    2269       <title>Changing machine settings. Sessions</title>
     2270      <title>Changing machine settings: Sessions</title>
    22702271
    22712272      <para>As said in the previous section, to read a machine's attribute,
     
    34883489      </sect2>
    34893490    </sect1>
     3491  </chapter>
     3492
     3493  <chapter id="dnd">
     3494    <title>Drag'n Drop</title>
     3495
     3496    <para>Since VirtualBox 4.2 it's possible to transfer files from host to the
     3497    Linux guests by dragging files, directories or text from the host into the
     3498    guest's screen. This is called <emphasis>drag'n drop (DnD)</emphasis>.</para>
     3499
     3500    <para>In version 4.4 support for Windows guests has been added, as well as
     3501    the ability to transfer data the other way around, that is, from the guest
     3502    to the host.</para>
     3503
     3504    <note><para>Currently only the VirtualBox Manager frontend supports drag'n
     3505      drop.</para></note>
     3506
     3507    <para>This chapter will show how to use the required interfaces provided
     3508    by VirtualBox for adding drag'n drop functionality to third-party
     3509    frontends.</para>
     3510
     3511    <sect1>
     3512      <title>Basic concepts</title>
     3513
     3514      <para>In order to use the interfaces provided by VirtualBox, some basic
     3515      concepts needs to be understood first: To successfully initiate a
     3516      drag'n drop operation at least two sides needs to be involved, a
     3517      <emphasis>source</emphasis> and a <emphasis>target</emphasis>:</para>
     3518
     3519      <para>The <emphasis>source</emphasis> is the side which provides the data,
     3520      e.g. is the origin of data. This data can be stored within the source directly
     3521      or can be retrieved on-demand by the source itself. Other interfaces don't
     3522      care where the data from this source actually came from.</para>
     3523
     3524      <para>The <emphasis>target</emphasis> on the other hand is the side which
     3525      provides the source a visual representation where the user can drop the
     3526      data the source offers. This representation can be a window (or just a certain
     3527      part of it), for example.</para>
     3528
     3529      <para>The source and the target have abstract interfaces called
     3530      <xref linkend="IDnDSource" xreflabel="IDnDSource" /> and
     3531      <xref linkend="IDnDTarget" xreflabel="IDnDTarget" />. VirtualBox also
     3532      provides implementations of both interfaces, called
     3533      <xref linkend="IGuestDnDSource" xreflabel="IGuestDnDSource" /> and
     3534      <xref linkend="IGuestDnDTarget" xreflabel="IGuestDnDTarget" />. Both
     3535      implementations are also used in the VirtualBox Manager frontend.</para>
     3536    </sect1>
     3537
     3538    <sect1>
     3539      <title>Supported formats</title>
     3540
     3541      <para>As the target needs to perform specific actions depending on the data
     3542      the source provided, the target first needs to know what type of data it
     3543      actually is going to retrieve. It might be that the source offers data the
     3544      target cannot (or intentionally does not want to) support.</para>
     3545
     3546      <para>VirtualBox handles those data types by providing so-called
     3547      <emphasis>MIME types</emphasis> -- these MIME types were originally defined
     3548      in <ulink url="https://tools.ietf.org/html/rfc2046">RFC 2046</ulink> and
     3549      are also called <emphasis>Content-types</emphasis>.
     3550      <xref linkend="IGuestDnDSource" xreflabel="IGuestDnDSource" /> and
     3551      <xref linkend="IGuestDnDTarget" xreflabel="IGuestDnDTarget" /> support
     3552      the following MIME types by default:<itemizedlist>
     3553          <listitem>
     3554            <para><emphasis role="bold">text/uri-list</emphasis> - A list of URIs
     3555            (Uniform Resource Identifier, see
     3556            <ulink url="https://tools.ietf.org/html/rfc3986">RFC 3986</ulink>)
     3557            pointing to the file and/or directory paths already transferred from
     3558            the source to the target.</para>
     3559          </listitem>
     3560          <listitem>
     3561            <para><emphasis role="bold">text/plain;charset=utf-8</emphasis> and
     3562            <emphasis role="bold">UTF8_STRING</emphasis> - text in UTF8 format.</para>
     3563          </listitem>
     3564          <listitem>
     3565            <para><emphasis role="bold">text/plain, TEXT</emphasis>
     3566            and <emphasis role="bold">STRING</emphasis> - plain ASCII text, depending
     3567            on the source's active ANSI page (if any).</para>
     3568          </listitem>
     3569        </itemizedlist>
     3570      </para>
     3571
     3572      <para>If, for whatever reason, a certain default format should not be supported
     3573      or a new format should be registered,
     3574      <xref linkend="IDnDSource" xreflabel="IDnDSource" /> and
     3575      <xref linkend="IDnDTarget" xreflabel="IDnDTarget" /> have methods derived from
     3576      <xref linkend="IDnDBase" xreflabel="IDnDBase" /> which provide adding,
     3577      removing and enumerating specific formats.
     3578      <note><para>Registering new or removing default formats on the guest side
     3579      currently is not implemented.</para></note></para>
     3580    </sect1>
     3581
    34903582  </chapter>
    34913583
     
    36223714      for VirtualBox version 3.2. <itemizedlist>
    36233715          <listitem>
    3624             <para><emphasis role="bold">XPCOM:</emphasis> - for all platforms,
     3716            <para><emphasis role="bold">XPCOM</emphasis> - for all platforms,
    36253717            but Microsoft Windows. A Java bridge based on JavaXPCOM is shipped
    36263718            with VirtualBox. The classpath must contain
     
    36373729
    36383730          <listitem>
    3639             <para><emphasis role="bold">COM:</emphasis> - for Microsoft
     3731            <para><emphasis role="bold">COM</emphasis> - for Microsoft
    36403732            Windows. We rely on <computeroutput>Jacob</computeroutput> - a
    36413733            generic Java to COM bridge - which has to be installed seperately.
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette