summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/datatransfer
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/datatransfer')
-rw-r--r--offapi/com/sun/star/datatransfer/DataFlavor.idl64
-rw-r--r--offapi/com/sun/star/datatransfer/DataFormatTranslator.idl78
-rw-r--r--offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl86
-rw-r--r--offapi/com/sun/star/datatransfer/UnsupportedFlavorException.idl54
-rw-r--r--offapi/com/sun/star/datatransfer/XDataFormatTranslator.idl84
-rw-r--r--offapi/com/sun/star/datatransfer/XMimeContentType.idl115
-rw-r--r--offapi/com/sun/star/datatransfer/XMimeContentTypeFactory.idl82
-rw-r--r--offapi/com/sun/star/datatransfer/XSystemTransferable.idl72
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferDataAccess.idl84
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferable.idl110
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferableEx.idl71
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferableSource.idl59
-rw-r--r--offapi/com/sun/star/datatransfer/XTransferableSupplier.idl77
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/ClipboardEvent.idl61
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl84
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl96
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/RenderingCapabilities.idl59
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl114
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboard.idl100
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardEx.idl62
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardFactory.idl75
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardListener.idl65
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardManager.idl114
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardNotifier.idl70
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XClipboardOwner.idl73
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/XFlushableClipboard.idl60
-rw-r--r--offapi/com/sun/star/datatransfer/clipboard/makefile.mk59
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DNDConstants.idl89
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DragGestureEvent.idl96
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DragSourceDragEvent.idl72
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DragSourceDropEvent.idl70
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DragSourceEvent.idl73
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.idl69
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DropTargetDragEvent.idl97
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DropTargetDropEvent.idl106
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/DropTargetEvent.idl61
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl56
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl102
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl94
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl97
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl100
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XAutoscroll.idl90
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragGestureListener.idl70
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragGestureRecognizer.idl84
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragSource.idl139
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragSourceContext.idl107
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragSourceListener.idl114
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDropTarget.idl130
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDropTargetDragContext.idl91
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDropTargetDropContext.idl96
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDropTargetListener.idl116
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/makefile.mk70
-rw-r--r--offapi/com/sun/star/datatransfer/makefile.mk59
53 files changed, 4476 insertions, 0 deletions
diff --git a/offapi/com/sun/star/datatransfer/DataFlavor.idl b/offapi/com/sun/star/datatransfer/DataFlavor.idl
new file mode 100644
index 000000000000..b8c258bc40db
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/DataFlavor.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_DataFlavor_idl__
+#define __com_sun_star_datatransfer_DataFlavor_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer {
+
+//=============================================================================
+/** Each instance represents the concept of a data format as it would
+ appear on a clipboard, or during drag and drop.
+*/
+
+published struct DataFlavor
+{
+ //-------------------------------------------------------------------------
+ /** The MIME content-type (type/subtype) string describing the data format
+ of the object to transfer. MimeType must be conform to <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a> and
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>)
+ */
+ string MimeType;
+
+ //-------------------------------------------------------------------------
+ /** A human presentable name for the data format.
+ */
+ string HumanPresentableName;
+
+ //-------------------------------------------------------------------------
+ /** The type of the object to transfer, for example, XOutputStream.
+ */
+ type DataType;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/DataFormatTranslator.idl b/offapi/com/sun/star/datatransfer/DataFormatTranslator.idl
new file mode 100644
index 000000000000..29e9479f4a01
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/DataFormatTranslator.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_DataFormatTranslator_idl__
+#define __com_sun_star_datatransfer_DataFormatTranslator_idl__
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer {
+
+//=============================================================================
+
+ published interface XDataFormatTranslator;
+
+//=============================================================================
+/** Different platforms use different types to describe data formats available
+ during data exchange operations like clipboard or drag&drop.
+ Implementations of this service do convert system dependent data types to a
+ <type>DataFlavor</type> and vice versa.
+
+ @see com::sun::star::datatransfer::XDataFormatTranslator
+ @see com::sun::star::datatransfer::DataFlavor
+*/
+published service DataFormatTranslator
+{
+ //-------------------------------------------------------------------------
+ /** Converts a <type>DataFlavor</type> to system data types and vice versa.
+ */
+ interface XDataFormatTranslator;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl b/offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl
new file mode 100644
index 000000000000..82deb7314b0c
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/MimeContentTypeFactory.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_MimeContentType_idl__
+#define __com_sun_star_datatransfer_MimeContentType_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer {
+
+//=============================================================================
+
+ published interface XMimeContentTypeFactory;
+
+//=============================================================================
+/** Used to create an instance that implement the interface
+ <type>XMimeContentType</type> from a string
+ representation of such a MIME content-type that is conform to
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a> and
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>.
+
+ @see com::sun::star::datatransfer::XMimeContentTypeFactory
+*/
+published service MimeContentTypeFactory
+{
+ //-------------------------------------------------------------------------
+ /** Creates an instance that implement the interface
+ <type>XMimeContentType</type> from the string
+ representation of such a MIME content-types that is conform to
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a>,
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>.
+ */
+ interface XMimeContentTypeFactory;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/UnsupportedFlavorException.idl b/offapi/com/sun/star/datatransfer/UnsupportedFlavorException.idl
new file mode 100644
index 000000000000..0d0ffda23547
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/UnsupportedFlavorException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_UnsupportedFlavorException_idl__
+#define __com_sun_star_datatransfer_UnsupportedFlavorException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer {
+
+//=============================================================================
+/** Exception will be thrown if there is a request for data in a
+ <type>DataFlavor</type> that is not supported by a data source.
+
+ @see com::sun::star::datatransfer::DataFlavor
+ @see com::sun::star::datatransfer::XTransferable
+*/
+published exception UnsupportedFlavorException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/XDataFormatTranslator.idl b/offapi/com/sun/star/datatransfer/XDataFormatTranslator.idl
new file mode 100644
index 000000000000..aad2882af77b
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XDataFormatTranslator.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_datatransfer_XDataFormatTranslator_idl__
+#define __com_sun_star_datatransfer_XDataFormatTranslator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_DataFlavor_idl__
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#endif
+
+module com { module sun { module star { module datatransfer {
+
+//=============================================================================
+/** Interface to be implemented by objects used to translate a <type>DataFlavor</type> to
+ a system dependent data transfer type and vice versa.
+
+ <p>Different platforms use different types to describe data formats available
+ during data exchange operations like clipboard or drag&drop. Windows for instance
+ uses integer values to describe an available clipboard or drag&drop format, Unix
+ X11 uses so called Atoms etc.</p>
+*/
+
+published interface XDataFormatTranslator : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Converts a <type>DataFlavor</type> to system dependend data type.
+
+ @param aDataFlavor
+ Describes the format for which a system dependent data types is requested.
+
+ @returns
+ A system dependent data transfer type for the given <type>DataFlavor</type>
+ if there is one available.
+ <p>If the is no system dependent data type for a given <type>DataFlavor</type>
+ the returned any is empty.</p>
+ */
+ any getSystemDataTypeFromDataFlavor( [in] DataFlavor aDataFlavor );
+
+ //-------------------------------------------------------------------------
+ /** Converts a system dependent data type to a <type>DataFlavor</type>.
+
+ @param aSysDataType
+ A system dependent data type. If aSysDataType is empty so is the returned <type>DataFlavor</type>.
+
+ @returns
+ A <type>DataFlavor</type> for the given system dependent data transfer type.
+ <p>If there is no appropriate mapping for a sytem dependent data type, the returned <type>DataFlavor</type> will be empty.</p>
+ */
+ DataFlavor getDataFlavorFromSystemDataType( [in] any aSysDataType );
+};
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/datatransfer/XMimeContentType.idl b/offapi/com/sun/star/datatransfer/XMimeContentType.idl
new file mode 100644
index 000000000000..ccfee62c6a2b
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XMimeContentType.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_datatransfer_XMimeContentType_idl__
+#define __com_sun_star_datatransfer_XMimeContentType_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+module com { module sun { module star { module datatransfer {
+
+//-------------------------------------------------------------------------
+/** An implementation of this interface represents a MIME content-type that
+ is conform to <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a> and
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>.
+ Instances that implement this interface could be created using the
+ interface <type>XMimeContentTypeFactory</type>.
+*/
+
+published interface XMimeContentType : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** To get the media type of the MIME content-type.
+
+ @returns
+ The media type of the MIME content-type.
+ */
+ string getMediaType( );
+
+ //-------------------------------------------------------------------------
+ /** To get the media subtype of the MIME content-type.
+
+ @returns
+ The media subtype of the MIME content-type.
+ */
+ string getMediaSubtype( );
+
+ //-------------------------------------------------------------------------
+ /** To get the full media/submedia type of the MIME content-type.
+
+ @returns
+ The full media/submedia type of the MIME content-type.
+ */
+ string getFullMediaType( );
+
+ //-------------------------------------------------------------------------
+ /** To get a list of parameters that the MIME content-type contains.
+
+ @returns
+ A list of the names of all parameters of the MIME content-type.
+ */
+ sequence< string > getParameters( );
+
+ //-------------------------------------------------------------------------
+ /** To query if a specific parameter is supported.
+
+ @param aName
+ The name of the parameter to query for.
+
+ @returns
+ A value of <TRUE/> if the MIME content-type has the specified parameter.
+ <p>A value of <FALSE/> if the MIME content-type has not the specified parameter.</p>
+ */
+ boolean hasParameter( [in] string aName );
+
+ //-------------------------------------------------------------------------
+ /** To get the value of a specified parameter.
+
+ @param aName
+ The name of the parameter for which the value is requested.
+
+ @returns
+ The value of the specified parameter.
+
+ @throws com::sun::star::container::NoSuchElementException
+ if the specified parameter doesn't exist.
+ */
+ string getParameterValue( [in] string aName )
+ raises ( com::sun::star::container::NoSuchElementException );
+};
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/datatransfer/XMimeContentTypeFactory.idl b/offapi/com/sun/star/datatransfer/XMimeContentTypeFactory.idl
new file mode 100644
index 000000000000..5b7df3168c3b
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XMimeContentTypeFactory.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef __com_sun_star_datatransfer_XMimeContentTypeFactory_idl__
+#define __com_sun_star_datatransfer_XMimeContentTypeFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_XMimeContentType_idl__
+#include <com/sun/star/datatransfer/XMimeContentType.idl>
+#endif
+
+module com { module sun { module star { module datatransfer {
+
+//-------------------------------------------------------------------------
+/** Implementations of this interface do create a
+ <type scope="com::sun::star::datatransfer">XMimeContentType</type> from
+ a given string that represents a MIME content-type
+ (see <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a> and
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>).
+
+*/
+published interface XMimeContentTypeFactory : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Creates an object that implements <type>XMimeContentType</type>.
+
+ @param aContentType
+ A string that represents a MIME content-type as specified in
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a> and
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>.
+
+ @returns
+ An object that implements <type>XMimeContentType</type>.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the string does not conform to
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2045.txt">Rfc2045</a> and
+ <a href="ftp://ftp.isi.edu/in-notes/rfc2046.txt">Rfc2046</a>;
+ <p><strong>Exception:</strong> Quoted parameter values may contain spaces.</p>
+
+ @see com::sun::star::datatransfer::XMimeContentType
+ */
+ com::sun::star::datatransfer::XMimeContentType createMimeContentType( [in] string aContentType )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/datatransfer/XSystemTransferable.idl b/offapi/com/sun/star/datatransfer/XSystemTransferable.idl
new file mode 100644
index 000000000000..ad634d8a6190
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XSystemTransferable.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_XSystemTransferable_idl__
+#define __com_sun_star_datatransfer_XSystemTransferable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer {
+
+//=============================================================================
+/** Interface to be implemented by objects used to provide system dependent data
+ for a transfer operation. Those objects usually also implement <type>XTransferable</type>.
+*/
+
+published interface XSystemTransferable: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Called by a data consumer to obtain a system specific data object from the
+ source.
+ The data object is returned in an any. The contained type may differ on
+ different platforms.
+
+ @param aProcessId
+ The argument aProcessId is a process identifier of the caller's process.
+ The interface implementation must ensure that the system data object can be
+ used in that process. If the data object is not valid in the caller process
+ then the returned any must be empty.
+
+ @returns
+ The system dependent data object.
+
+ <br/><br/><p><strong>Notes:</strong>Under Windows the returned any contains an unsigned long which represents a pointer to
+ an IDataObject interface. The caller of getData has to release the data
+ object (IDataObject::Release) if it is no longer needed.
+ The caller must also make sure that the current thread has been initialized for
+ OLE (use OleInitialize).</p>
+ */
+ any getData( [in] sequence < byte > aProcessId);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/XTransferDataAccess.idl b/offapi/com/sun/star/datatransfer/XTransferDataAccess.idl
new file mode 100644
index 000000000000..1c766cd1ddd8
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferDataAccess.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_XTransferDataInfo_idl__
+#define __com_sun_star_datatransfer_XTransferDataInfo_idl__
+
+#ifndef __com_sun_star_datatransfer_DataFlavor_idl__
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer {
+
+//=============================================================================
+/** This interface provides direct access to the data in all data flavors. It can
+ be used by the clipboard implementation to optimize data transport on
+ flush operations.
+
+ @see com::sun::star::datatransfer::XTransferable
+*/
+
+published interface XTransferDataAccess: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** To query for the summarized data size in bytes of a sequence of <type>DataFlavor</type>.
+
+ @param aFlavorList
+ A squence of requested <type>DataFlavor</type>.
+ <p>An unsupported <type>DataFlavor</type> will be ignored.</p>
+
+ @returns
+ The number of bytes of the transfer data in the specified sequence of <type>DataFlavor</type>.
+ */
+ hyper queryDataSize( [in] sequence < DataFlavor > aFlavorList );
+
+ //-------------------------------------------------------------------------
+ /** To get all the data of a sequence of <type>DataFlavor</type>.
+
+ @param aFlavorList
+ The sequence of requested <type>DataFlavor</type>.
+ <p>An unsupported <type>DataFlavor</type> will be ignored.</p>
+
+ @returns
+ The data in the requested <type>DataFlavor</type>.
+ <p>For unsupported <type>DataFlavor</type> an
+ empty any will be returned.</p>
+ */
+ sequence < any > getData( [in] sequence < DataFlavor > aFlavorList );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/XTransferable.idl b/offapi/com/sun/star/datatransfer/XTransferable.idl
new file mode 100644
index 000000000000..3336b2d5db0b
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferable.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#define __com_sun_star_datatransfer_XTransferable_idl__
+
+#ifndef __com_sun_star_datatransfer_UnsupportedFlavorException_idl__
+#include <com/sun/star/datatransfer/UnsupportedFlavorException.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_DataFlavor_idl__
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer {
+
+//=============================================================================
+/** Interface to be implemented by objects used to provide data for a data
+ transfer operation.
+
+ @see com::sun::star::datatransfer::DataFlavor
+*/
+
+published interface XTransferable: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Called by a data consumer to obtain data from the source in a specified
+ format.
+
+ @param aFlavor
+ Describes the requested data format
+
+ @returns
+ The data in the specified <type>DataFlavor</type>.
+
+ @throws com::sun::star::io::IOException
+ if the data is no longer available in the requested flavor.
+
+ @throws com::sun::star::datatransfer::UnsupportedFlavorException
+ if the requested <type>DataFlavor</type> is not supported.
+ */
+ any getTransferData( [in] DataFlavor aFlavor )
+ raises ( UnsupportedFlavorException, com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** Returns a sequence of supported <type>DataFlavor</type>.
+
+ @returns
+ The sequence of supported <type>DataFlavor</type>.
+
+ @see com::sun::star::datatransfer::DataFlavor
+ */
+ sequence < DataFlavor > getTransferDataFlavors();
+
+ //-------------------------------------------------------------------------
+ /** Checks if the data object supports the specified data flavor.
+
+ @param aFlavor
+ Describes the format that should be checked
+
+ @returns
+ A value of <TRUE/> if the <type>DataFlavor</type> is supported by the transfer source.
+ <p>A value of <FALSE/> if the <type>DataFlavor</type> is unsupported by the transfer source.</p>
+
+ <br/><br/><p><strong>Note: </strong>This method is only for analogy with the JAVA Clipboard interface. To
+ avoid many calls, the caller should instead use
+ <member scope="com::sun::star::datatransfer">XTransferable::getTransferDataFlavors()</member>.
+ */
+ boolean isDataFlavorSupported( [in] DataFlavor aFlavor );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/XTransferableEx.idl b/offapi/com/sun/star/datatransfer/XTransferableEx.idl
new file mode 100644
index 000000000000..ab388725170f
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferableEx.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_XTransferableEx_idl__
+#define __com_sun_star_datatransfer_XTransferable_idl__
+
+#ifndef __com_sun_star_datatransfer_DataFlavor_idl__
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer {
+
+//=============================================================================
+/** Interface to be implemented by objects used to provide data for a transfer
+ operation.
+
+ @see com::sun::star::datatransfer::DataFlavor
+ @see com::sun::star::datatransfer::XTransferable
+*/
+
+
+published interface XTransferableEx: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** @param requestedFlavors
+ Sequence of <type>DataFlavor</type> of interest. Specify an empty sequence for interest
+ in all data flavors with top-level MIME content-types. To get all MIME
+ content-types, call <member scope="com::sun::star::datatransfer">XTransferable::getTransferDataFlavors()</member>.
+
+ @returns
+ The list of the matching supported <type>DataFlavor</type> that were requested. For
+ each requested top-level MIME content-type, all supported subtypes are returned.
+ */
+ sequence < DataFlavor > queryTransferDataFlavors( [in] sequence< DataFlavor > requestedFlavors );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/XTransferableSource.idl b/offapi/com/sun/star/datatransfer/XTransferableSource.idl
new file mode 100644
index 000000000000..0ff9bca08302
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferableSource.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_XTransferableSource_idl__
+#define __com_sun_star_datatransfer_XTransferableSource_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer {
+
+//=============================================================================
+/** The transferable source interface.
+
+ @see com::sun::star::datatransfer::XTransferable
+*/
+
+published interface XTransferableSource: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** @returns
+ A human presentable description of the source that created the
+ transferable object.
+ */
+ string getDataSourceDescription();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/XTransferableSupplier.idl b/offapi/com/sun/star/datatransfer/XTransferableSupplier.idl
new file mode 100644
index 000000000000..2cf5c4967597
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/XTransferableSupplier.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_XTransferableSupplier_idl__
+#define __com_sun_star_datatransfer_XTransferableSupplier_idl__
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer {
+
+interface XTransferableSupplier
+{
+ //-------------------------------------------------------------------------
+ /** To get access to a transferable representation of a selected part of an object.
+
+ @returns
+ The transferable object representing the selection inside the supplying object
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+ XTransferable getTransferable();
+
+ //-------------------------------------------------------------------------
+ /** Hands over a transferable object that shall be inserted.
+
+ @param xTrans
+ The transferable object to be inserted
+ <p>A NULL value is not allowed.</p>
+
+ @throws com::sun::star::datatransfer::UnsupportedFlavorException
+ if the given <type scope="com::sun::star::datatransfer">XTransferable</type>
+ has no <type scope="com::sun::star::datatransfer">DataFlavor</type> or the called
+ object can't handle any of the available ones.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+ void insertTransferable( [in] XTransferable xTrans )
+ raises ( UnsupportedFlavorException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/ClipboardEvent.idl b/offapi/com/sun/star/datatransfer/clipboard/ClipboardEvent.idl
new file mode 100644
index 000000000000..c7085041b3d0
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/ClipboardEvent.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_ClipboardEvent_idl__
+#define __com_sun_star_datatransfer_clipboard_ClipboardEvent_idl__
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+//=============================================================================
+/** A clipboard uses this object to notify its listeners of content changes.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboardListener
+*/
+
+published struct ClipboardEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** The current content of the clipboard.
+ */
+ XTransferable Contents;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl b/offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl
new file mode 100644
index 000000000000..369bfd9c53d0
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/ClipboardManager.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_ClipboardManager_idl__
+#define __com_sun_star_datatransfer_clipboard_ClipboardManager_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+//=============================================================================
+
+ published interface XClipboardManager;
+
+//=============================================================================
+/** The clipboard manager is a one-instance service that holds a list of all
+ known clipboard instances.
+
+ @see XClipboardManager
+*/
+published service ClipboardManager
+{
+ //-------------------------------------------------------------------------
+ /** Manages internal and external clipboard implementations.
+ */
+ interface XClipboardManager;
+
+ //-------------------------------------------------------------------------
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl b/offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl
new file mode 100644
index 000000000000..7a128ee2d108
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/GenericClipboard.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_GenericClipboard_idl__
+#define __com_sun_star_datatransfer_clipboard_GenericClipboard_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+//=============================================================================
+
+ published interface XClipboardEx;
+ published interface XClipboardNotifier;
+
+//=============================================================================
+/** A generic clipboard service is a simple container for transferable objects.
+*/
+published service GenericClipboard
+{
+ //-------------------------------------------------------------------------
+ /** Provides access to the clipboard content.
+ */
+ interface XClipboardEx;
+
+ //-------------------------------------------------------------------------
+ /** Provides the ability to request notifications on content changes.
+ */
+ interface XClipboardNotifier;
+
+ //-------------------------------------------------------------------------
+ /** Provides the ability to initially set the name of the clipboard.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/RenderingCapabilities.idl b/offapi/com/sun/star/datatransfer/clipboard/RenderingCapabilities.idl
new file mode 100644
index 000000000000..5190f52a3ad9
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/RenderingCapabilities.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_RenderingCapabilities_idl__
+#define __com_sun_star_datatransfer_clipboard_RenderingCapabilities_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+//=============================================================================
+/** These flags describe the capabilities a system clipboard has to transfer
+ data to other applications via the OS.
+
+ @see com::sun::star::datatransfer::clipboard::SystemClipboard
+*/
+published constants RenderingCapabilities
+{
+ //-------------------------------------------------------------------------
+ /** The implementation supports delayed rendering.
+ */
+ const byte Delayed = 1;
+
+ //-------------------------------------------------------------------------
+ /** The implementation is able to store the data persistant in the system
+ so that it does not get lost when the source application no longer exist.
+ */
+ const byte Persistant = 2;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl b/offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl
new file mode 100644
index 000000000000..43a8e0e5ba76
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/SystemClipboard.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_SystemClipboard_idl__
+#define __com_sun_star_datatransfer_clipboard_SystemClipboard_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+//=============================================================================
+
+ published interface XClipboardEx;
+ published interface XClipboardNotifier;
+ published interface XFlushableClipboard;
+
+//=============================================================================
+/** The system clipboard service builds a bridge to the OS specific clipboard
+ interfaces.
+
+ <br/><br/><p><strong>Notes:</strong> The Unix implementation needs to be instantiated with 2 Arguments:
+ <ul>
+ <li>A <type scope="com::sun::star::awt">XDisplayConnection</type> that provides the
+ display to be used.</li>
+ <li>A string that names the selection to be used</li>
+ </ul>
+ It is possible to use clipboards for different selections simultaneously.</p>
+*/
+published service SystemClipboard
+{
+ //-------------------------------------------------------------------------
+ /** Provides access to the clipboard content.
+ */
+ interface XClipboardEx;
+
+ //-------------------------------------------------------------------------
+ /** Provides the ability to request notifications on content changes.
+ */
+ interface XClipboardNotifier;
+
+ //-------------------------------------------------------------------------
+ /** Provides the ability to render the complete clipboard content. This
+ interface is only available if the method
+ <member scope="com::sun::star::datatransfer::clipboard">XClipboardEx::getRenderingCapabilities()</member>
+ returns Persistant
+ */
+ [optional] interface XFlushableClipboard;
+
+ //-------------------------------------------------------------------------
+ /** Provides the ability to initialize the clipboard
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboard.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboard.idl
new file mode 100644
index 000000000000..11fe45a2a239
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboard.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboard_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboard_idl__
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+//=============================================================================
+/** The default interface to access clipboard instances.
+*/
+
+ published interface XClipboardListener;
+ published interface XClipboardOwner;
+
+published interface XClipboard: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** To get the current content of the clipboard.
+
+ @returns
+ The transferable object representing the current content of
+ this clipboard.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+ XTransferable getContents();
+
+ //-------------------------------------------------------------------------
+ /** Sets the current contents of the clipboard to the specified
+ transferable object and registers the specified clipboard owner
+ as the owner of the new contents.
+
+ @param xTrans
+ The transferable object to set as new content.
+ <p>If the given <type scope="com::sun::star::datatransfer">XTransferable</type>
+ has no <type scope="com::sun::star::datatransfer">DataFlavor</type> the clipboard
+ will be deleted.
+ <p>A NULL value is not allowed.</p>
+
+ @param xClipboardOwner
+ The new owner of the clipboard.
+ <p>NULL is an acceptable value and means that the
+ caller is not interested in lost ownership notifications.</p>
+
+ @see com::sun::star::datatransfer::XTransferable
+ @see com::sun::star::datatransfer::clipboard::XClipboardOwner
+ */
+ [oneway] void setContents( [in] XTransferable xTrans, [in] XClipboardOwner xClipboardOwner );
+
+ //-------------------------------------------------------------------------
+ /** To get the name of the clipboard instance.
+
+ @returns
+ The name of this clipboard object.
+ <p>If the returned string is empty the
+ clipboard instance ist the system clipboard.</p>
+ */
+ string getName();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboardEx.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboardEx.idl
new file mode 100644
index 000000000000..11f0757fe740
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardEx.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboardEx_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardEx_idl__
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboard_idl__
+#include <com/sun/star/datatransfer/clipboard/XClipboard.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+//=============================================================================
+/** The extended clipboard interface.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboard
+*/
+
+published interface XClipboardEx: com::sun::star::datatransfer::clipboard::XClipboard
+{
+ //-------------------------------------------------------------------------
+ /** To determine the supported rendering capabilities of the clipboard instance.
+
+ @returns
+ A set of flags describing the rendering capabilities of the clipboard instance.
+
+ @see RenderingCapabilities
+ */
+ byte getRenderingCapabilities();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboardFactory.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboardFactory.idl
new file mode 100644
index 000000000000..24ded33f7239
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardFactory.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboardFactory_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardFactory_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+ published interface XClipboard;
+
+//=============================================================================
+/** Should be implemented by a clipboard factory that simplifies the creation of
+ multiple clipboard instances.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboard
+*/
+
+published interface XClipboardFactory: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Creates a new named clipboard instance.
+
+ @returns
+ A newly created instance of a <type>GenericClipboard</type>
+ implementation.
+
+ @param aName
+ The name the clipboard should have.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If an empty string is passed as clipboard name.
+ */
+ XClipboard createClipboard( [in] string aName )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboardListener.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboardListener.idl
new file mode 100644
index 000000000000..36305a4ae412
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardListener.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboardListener_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardListener_idl__
+
+#ifndef __com_sun_star_datatransfer_clipboard_ClipboardEvent_idl__
+#include <com/sun/star/datatransfer/clipboard/ClipboardEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+//=============================================================================
+/** Interface to be implemented to receive notifications on clipboard content
+ changes.
+*/
+
+published interface XClipboardListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** The content of the clipboard has changed.
+
+ @param event
+ The event object containing the new clipboard content.
+
+ @see com::sun::star::datatransfer::clipboard::ClipboardEvent
+ */
+ [oneway] void changedContents( [in] ClipboardEvent event );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboardManager.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboardManager.idl
new file mode 100644
index 000000000000..e9626c9fcd84
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardManager.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboardManager_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardManager_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+ published interface XClipboard;
+
+//=============================================================================
+/** This interface is used to retrieve, add, or remove clipboard instances.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboard
+*/
+
+published interface XClipboardManager: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Get a clipboard instance by name.
+
+ @returns
+ The clipboard object with the specified name.
+
+ @param aName
+ The name of clipboard to return. To retrieve the default (system)
+ clipboard, pass an empty string.
+
+ @throws com::sun::star::container::NoSuchElementException
+ if no clipboard with the specified name exists.
+ */
+ XClipboard getClipboard( [in] string aName )
+ raises ( com::sun::star::container::NoSuchElementException );
+
+ //-------------------------------------------------------------------------
+ /** Add a clipboard instance to the manager's list.
+
+ @param xClipboard
+ The clipboard to add.
+
+ @throws com::sun::star::IllegalArgumentException
+ if xClipboard is not a valid clipboard.
+
+ @throws com::sun::star::container::ElementExistsException
+ if a clipboard with the name of xClipboard already exists.
+ */
+ void addClipboard( [in] XClipboard xClipboard )
+ raises ( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException );
+
+ //-------------------------------------------------------------------------
+ /** Removes the clipboard with the specified name from the list.
+
+ @param aName
+ The name of the clipboard to remove.
+ */
+ void removeClipboard( [in] string aName );
+
+ //-------------------------------------------------------------------------
+ /** Get a list of a managed clipboards.
+
+ @returns
+ A sequence of the names of all available clipboards.
+ */
+ sequence < string > listClipboardNames();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboardNotifier.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboardNotifier.idl
new file mode 100644
index 000000000000..6cfbe19c31f5
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardNotifier.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboardNotifier_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardNotifier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+//=============================================================================
+/** Provides the ability to request notifiations on clipboard content changes.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboardListener
+*/
+
+ published interface XClipboardListener;
+
+published interface XClipboardNotifier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Requests notifications on clipboard content changes.
+
+ @param listener
+ The object receiving the notifications.
+ */
+ [oneway] void addClipboardListener( [in] XClipboardListener listener );
+
+ //-------------------------------------------------------------------------
+ /** Removes listener from notification list.
+
+ @param listener
+ The object to remove from notification list.
+ */
+ [oneway] void removeClipboardListener( [in] XClipboardListener listener );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XClipboardOwner.idl b/offapi/com/sun/star/datatransfer/clipboard/XClipboardOwner.idl
new file mode 100644
index 000000000000..69127087617d
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XClipboardOwner.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_datatransfer_clipboard_XClipboardOwner_idl__
+#define __com_sun_star_datatransfer_clipboard_XClipboardOwner_idl__
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+ published interface XClipboard;
+
+//=============================================================================
+/** The owner of a transferable object may pass this interface to the
+ clipboard instance.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboard
+*/
+
+published interface XClipboardOwner: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Notifies the tranferable object source that it is no longer the owner of
+ the clipboard.
+
+ @param xClipboard
+ The clipboard for which the ownership was lost.
+
+ @param xTrans
+ The transferable object that has been the contents of the clipboard.
+
+ @see com::sun::star::datatransfer::clipboard::XClipboard
+ @see com::sun::star::datatransfer::XTransferable
+ */
+ [oneway] void lostOwnership( [in] XClipboard xClipboard, [in] XTransferable xTrans );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/XFlushableClipboard.idl b/offapi/com/sun/star/datatransfer/clipboard/XFlushableClipboard.idl
new file mode 100644
index 000000000000..d3e1682090f7
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/XFlushableClipboard.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_clipboard_XFlushableClipboard_idl__
+#define __com_sun_star_datatransfer_clipboard_XFlushableClipboard_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module clipboard {
+
+//=============================================================================
+/** An interface for flushable clipboards may optionally be implemented by a
+ system clipboard service.
+
+ @see com::sun::star::datatransfer::clipboard::SystemClipboard
+*/
+
+
+published interface XFlushableClipboard: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Renders the current content of the clipboard to the system so that it
+ is available even if the source application no longer exist.
+ */
+ void flushClipboard();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/clipboard/makefile.mk b/offapi/com/sun/star/datatransfer/clipboard/makefile.mk
new file mode 100644
index 000000000000..c7d011aea6ca
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/clipboard/makefile.mk
@@ -0,0 +1,59 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssdclipboard
+PACKAGE=com$/sun$/star$/datatransfer$/clipboard
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ClipboardEvent.idl \
+ ClipboardManager.idl \
+ GenericClipboard.idl \
+ RenderingCapabilities.idl \
+ SystemClipboard.idl \
+ XClipboard.idl \
+ XClipboardEx.idl \
+ XClipboardFactory.idl \
+ XClipboardListener.idl \
+ XClipboardManager.idl \
+ XClipboardNotifier.idl \
+ XClipboardOwner.idl \
+ XFlushableClipboard.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/datatransfer/dnd/DNDConstants.idl b/offapi/com/sun/star/datatransfer/dnd/DNDConstants.idl
new file mode 100644
index 000000000000..2f3ec5a7912c
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DNDConstants.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DNDConstants_idl__
+#define __com_sun_star_datatransfer_dnd_DNDConstants_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** These values represent the type of action or actions to be performed by a
+ Drag and Drop operation.
+*/
+
+published constants DNDConstants
+{
+ //=============================================================================
+ /** No action.
+ */
+
+ const byte ACTION_NONE = 0x00;
+
+ //=============================================================================
+ /** Action copy.
+ */
+
+ const byte ACTION_COPY = 0x01;
+
+ //=============================================================================
+ /** Action move.
+ */
+
+ const byte ACTION_MOVE = 0x02;
+
+ //=============================================================================
+ /** Action copy or move.
+ */
+
+ const byte ACTION_COPY_OR_MOVE = 0x03;
+
+ //=============================================================================
+ /** Action link.
+ */
+
+ const byte ACTION_LINK = 0x04;
+
+ //=============================================================================
+ /** Action reference.
+ */
+
+ const byte ACTION_REFERENCE = 0x04;
+
+ //=============================================================================
+ /** Action default.
+ */
+
+ const byte ACTION_DEFAULT = 0x80;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/DragGestureEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DragGestureEvent.idl
new file mode 100644
index 000000000000..bc23cd376ced
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DragGestureEvent.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DragGestureEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DragGestureEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDragSource;
+
+//=============================================================================
+/** A DragGestureEvent is passed to the method <member>XDragGestureListener::dragGestureRecognized()</member>
+ when a particular <type>XDragGestureRecognizer</type> detects that a platform
+ dependent drag initiating gesture has occurred on the component that it is
+ tracking.
+*/
+
+published struct DragGestureEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** The action selected by the user.
+ <p>Different constants may be combined using a logical OR.</p>
+ It's further possible to combine the ACTION_DEFAULT with one of the other
+ actions defined in <type scope="com::sun::star::datatransfer::dnd">DNDConstants</type>.
+ This means the user did not press any key during the Drag and Drop operation
+ and the action that was combined with ACTION_DEFAULT is the system default action.</p>
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+
+ byte DragAction;
+
+ //-------------------------------------------------------------------------
+ /** The x coordinate where the drag originated in component coordinates.
+ */
+
+ long DragOriginX;
+
+ //-------------------------------------------------------------------------
+ /** The y coordinate where the drag originated in component coordinates.
+ */
+
+ long DragOriginY;
+
+ //-------------------------------------------------------------------------
+ /** The DragSource associated with this drag action.
+ */
+
+ XDragSource DragSource;
+
+ //-------------------------------------------------------------------------
+ /** The last event comprising the gesture.
+
+ <p>The initial trigger event will presumably be a <type scope="com::sun::star::awt">MouseEvent</type> event.
+ If it is not, the implementation should either react accordingly or
+ presume that the left mouse button was clicked. </p>
+ */
+
+ any Event;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/DragSourceDragEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DragSourceDragEvent.idl
new file mode 100644
index 000000000000..4a51d894e1a6
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DragSourceDragEvent.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceDragEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DragSourceDragEvent_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DragSourceEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** The <type>DragSourceDragEvent</type> is delivered from an object that
+ implements the <type>XDragSourceContext</type> to the
+ currently registered drag source listener.
+
+ <p>It contains state regarding the current state of the operation to enable
+ the operations initiator to provide the end user with the appropriate drag
+ over feedback.</p>
+
+ @see com::sun::star::datatransfer::dnd::XDragSourceListener
+*/
+
+published struct DragSourceDragEvent: com::sun::star::datatransfer::dnd::DragSourceEvent
+{
+ //-------------------------------------------------------------------------
+ /** The drag action selected by the current drop target.
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+ byte DropAction;
+
+ //-------------------------------------------------------------------------
+ /** The user's currently selected drop action.
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+ byte UserAction;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/DragSourceDropEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DragSourceDropEvent.idl
new file mode 100644
index 000000000000..3ff38b281d17
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DragSourceDropEvent.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceDropEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DragSourceDropEvent_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DragSourceEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** The <type>DragSourceDropEvent</type> is delivered from an object that implements
+ <type>XDragSourceContext</type> to its currently registered drag source listener's.
+
+ <p>It contains sufficient information for the originator of the operation to
+ provide appropriate feedback to the end user when the operation completes.</p>
+
+ @see com::sun::star::datatransfer::dnd::XDragSourceListener
+*/
+
+published struct DragSourceDropEvent: com::sun::star::datatransfer::dnd::DragSourceEvent
+{
+ //-------------------------------------------------------------------------
+ /** The action performed by the target on the subject of the drop.
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+
+ byte DropAction;
+
+ //-------------------------------------------------------------------------
+ /** Indicates if the drop was successful.
+ */
+
+ boolean DropSuccess;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/DragSourceEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DragSourceEvent.idl
new file mode 100644
index 000000000000..3cf97f7c4418
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DragSourceEvent.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DragSourceEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDragSource;
+ published interface XDragSourceContext;
+
+//=============================================================================
+/** This class is the base class for <type>DragSourceDragEvent</type> and <type>DragSourceDropEvent</type>.
+
+ <p>To access the <type>XDragSource</type> that originated this event, use the
+ <member scope="com::sun::star::lang">EventObject::Source</member> member of
+ this object.</p>
+*/
+
+published struct DragSourceEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** The drag source context of the current drag operation.
+
+ @see com::sun::star::datatransfer::dnd::XDragSourceContext
+ */
+
+ XDragSourceContext DragSourceContext;
+
+ //-------------------------------------------------------------------------
+ /** The drag source on which the Drag and Drop operation was initiated.
+
+ @see com::sun::star::datatransfer::dnd::XDragSource
+ */
+
+ XDragSource DragSource;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.idl
new file mode 100644
index 000000000000..688cfe843d52
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetDragEnterEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DropTargetDragEnterEvent_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetDragEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DropTargetDragEvent.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_DataFlavor_idl__
+#include <com/sun/star/datatransfer/DataFlavor.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** The <type>DropTargetDragEnterEvent</type> is delivered from the drop target to the
+ currently registered drop target listeners whenever the logical cursor
+ associated with a Drag and Drop operation enters the visible geometry
+ of a window associated with a drop target.
+
+ <p>It contains the <type scope="com::sun::star::datatransfer">DataFlavor</type>
+ types supported by the transferable object of the current Drag and Drop operation. </p>
+
+ @see com::sun::star::datatransfer::XTransferable
+*/
+
+published struct DropTargetDragEnterEvent: DropTargetDragEvent
+{
+ //-------------------------------------------------------------------------
+ /** A sequence of supported <type scope="com::sun::star::datatransfer">DataFlavor</type> types.
+
+ */
+
+ sequence< DataFlavor > SupportedDataFlavors;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEvent.idl
new file mode 100644
index 000000000000..d8280d0e5454
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DropTargetDragEvent.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetDragEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DropTargetDragEvent_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DropTargetEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDropTargetDragContext;
+
+//=============================================================================
+/** The <type>DropTargetDragEvent</type> is delivered from the drop target
+ to the currently registered drop target listener.
+
+ <p>It contains information regarding the current state of the operation to enable
+ the operations initiator to provide the end user with the appropriate drag
+ over feedback.</p>
+
+ @see com::sun::star::datatransfer::dnd::XDropTargetListener
+*/
+
+published struct DropTargetDragEvent: com::sun::star::datatransfer::dnd::DropTargetEvent
+{
+ //-------------------------------------------------------------------------
+ /** The drop target context of the current drag operation.
+
+ @see com::sun::star::datatransfer::dnd::XDropTargetDragContext
+ */
+
+ XDropTargetDragContext Context;
+
+ //-------------------------------------------------------------------------
+ /** This value represents the currently selected drop action.
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+
+ byte DropAction;
+
+ //-------------------------------------------------------------------------
+ /** The cursor's current x location within the window's coordinates.
+ */
+
+ long LocationX;
+
+ //-------------------------------------------------------------------------
+ /** The cursor's current y location within the window's coordinates.
+ */
+
+ long LocationY;
+
+ //-------------------------------------------------------------------------
+ /** This value represents the action or actions supported by the source.
+ This may be a combination of arbitrary source actions except ACTION_DEFAULT.
+ <p>To combine different actions use a logical OR.</p>
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+
+ byte SourceActions;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/DropTargetDropEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DropTargetDropEvent.idl
new file mode 100644
index 000000000000..661bfbdeae0c
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DropTargetDropEvent.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetDropEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DropTargetDropEvent_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DropTargetEvent.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDropTargetDropContext;
+
+//=============================================================================
+/** The <type>DropTargetDropEvent</type> is delivered from the drop target to
+ its currently registered drop target listener.
+
+ <p>It contains sufficient information for the originator of the operation to
+ provide appropriate feedback to the end user when the operation completes.</p>
+*/
+
+published struct DropTargetDropEvent: com::sun::star::datatransfer::dnd::DropTargetEvent
+{
+ //-------------------------------------------------------------------------
+ /** The drop target context of the current drag operation.
+
+ @see com::sun::star::datatransfer::dnd::XDropTargetDropContext
+ */
+
+ XDropTargetDropContext Context;
+
+ //-------------------------------------------------------------------------
+ /** This value represents the action or actions selected by the user at
+ the time of the drop.
+
+ <p>If more than one action is specified, the <type>XDropTargetListener</type>
+ should raise a dialog to ask the user which action to use.</p>
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+
+ byte DropAction;
+
+ //-------------------------------------------------------------------------
+ /** The cursor's current x location within the windows' coordinates.
+ */
+
+ long LocationX;
+
+ //-------------------------------------------------------------------------
+ /** The cursor's current y location within the windows' coordinates.
+ */
+
+ long LocationY;
+
+ //-------------------------------------------------------------------------
+ /** This value represents the action or actions supported by the source.
+ */
+
+ byte SourceActions;
+
+ //-------------------------------------------------------------------------
+ /** The transferable object associated with the drop.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+
+ com::sun::star::datatransfer::XTransferable Transferable;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/DropTargetEvent.idl b/offapi/com/sun/star/datatransfer/dnd/DropTargetEvent.idl
new file mode 100644
index 000000000000..c73958afce3a
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/DropTargetEvent.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetEvent_idl__
+#define __com_sun_star_datatransfer_dnd_DropTargetEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** This class is the base class for <type>DropTargetDragEvent</type> and
+ <type>DropTargetDropEvent</type>.
+
+ <p>To access the <type>XDropTarget</type> that originated this event, use the
+ <member scope="com::sun::star::lang">EventObject::Source</member> member of
+ this object.</p>
+*/
+
+published struct DropTargetEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** UNO specification does not allow empty struct definitions.
+ */
+
+ byte Dummy;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl b/offapi/com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl
new file mode 100644
index 000000000000..80397604cdc8
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_InvalidDNDOperationException_idl__
+#define __com_sun_star_datatransfer_dnd_InvalidDNDOperationException_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** This exception is thrown by various methods in the datatransfer.dnd
+ package.
+
+ <p>It is usually thrown to indicate that the target in question is unable
+ to undertake the requested operation at the present time, since the
+ underlying Drag and Drop system is not in the appropriate state.</p>
+*/
+
+published exception InvalidDNDOperationException: com::sun::star::uno::RuntimeException
+{
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl b/offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl
new file mode 100644
index 000000000000..7227f805f642
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/OleDragSource.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_OleDragSource_idl__
+#define __com_sun_star_datatransfer_dnd_OleDragSource_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+
+ published interface XDragSource;
+
+//=============================================================================
+/** This service connects the Java-like UNO drag and drop protocol to the protocol
+ used on window platforms. It realized the drag source.
+
+ @see XDragSource
+*/
+
+published service OleDragSource
+{
+ //-------------------------------------------------------------------------
+ /** Used to provide data to other applications via the Ole Drag & Drop protocol.
+ */
+ interface XDragSource;
+
+ //-------------------------------------------------------------------------
+ /** The service expects a byte sequence uniquely identifying the machine as
+ the first, and only, parameter. This idenifier should be checked to
+ ensure that the window ids used for creating DropTargets are valid for
+ the service, that is, come from the same machine.
+
+ <p>TODO: specify how such a machine id should look like.</p>
+
+ The second parameter is a window handle of the native windows window.
+ Is is passed as an unsigned long.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl b/offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl
new file mode 100644
index 000000000000..de1431e59e65
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/OleDropTarget.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_OleDropTarget_idl__
+#define __com_sun_star_datatransfer_dnd_OleDropTarget_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+
+ published interface XDropTarget;
+
+//=============================================================================
+/** This service connects the Java-like UNO Drag & Drop protocol to the protocol
+ used on window platforms. It realizes the drop target.
+
+ @see XDropTarget
+*/
+
+published service OleDropTarget
+{
+ //-------------------------------------------------------------------------
+ /** Used to provide data to other applications via Ole Drap & Drop protocol.
+ */
+ interface XDropTarget;
+
+ //-------------------------------------------------------------------------
+ /** The service expects a windows window handle. It is passed as unsigned long.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl b/offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl
new file mode 100644
index 000000000000..c301d81e24f8
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/X11DragSource.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_X11DragSource_idl__
+#define __com_sun_star_datatransfer_dnd_X11DragSource_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+
+ published interface XDragSource;
+
+//=============================================================================
+/** This service connects the Java-like UNO Drag and Drop protocol to the
+ X Drag and Drop protocol used on X-Servers to transfer data between
+ applications via Drag and Drop operations.
+
+ @see XDragSource
+*/
+
+published service X11DragSource
+{
+ //-------------------------------------------------------------------------
+ /** Used to provide data to other applications via X Drag and Drop protocol.
+ */
+ interface XDragSource;
+
+ //-------------------------------------------------------------------------
+ /** The service expects an instance of
+ <type scope="com::sun::star::awt">XDisplayConnection</type>
+ as the first parameter.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl b/offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl
new file mode 100644
index 000000000000..0ed961ede186
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/X11DropTarget.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_X11DropTarget_idl__
+#define __com_sun_star_datatransfer_dnd_X11DropTarget_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+
+ published interface XDropTarget;
+
+//=============================================================================
+/** This service connects the Java-like UNO Drag and Drop protocol to the
+ X Drag and Drop protocol used on X-Servers to transfer data between
+ application via Drag and Drop operations.
+
+ @see XDragSource
+ @see XDropTarget
+*/
+
+published service X11DropTarget
+{
+ //-------------------------------------------------------------------------
+ /** Used to get data from other applications via X Drag and Drop protocol.
+ */
+ interface XDropTarget;
+
+ //-------------------------------------------------------------------------
+ /** The service expects an instance of
+ <type scope="com::sun::star::awt">XDisplayConnection</type>
+ as the first parameter. The second parameter must be a long
+ that contains an XWindow window which shall be registered
+ as drop target.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/XAutoscroll.idl b/offapi/com/sun/star/datatransfer/dnd/XAutoscroll.idl
new file mode 100644
index 000000000000..37efc1d7f6cd
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XAutoscroll.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XAutoscroll_idl__
+#define __com_sun_star_datatransfer_dnd_XAutoscroll_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** Interface for autoscroll support.
+
+ <p>During Drag and Drop operations it is possible that a user may wish to drop the
+ subject of the operation on a region of a scrollable GUI control that is
+ not currently visible to the user.</p>
+
+ <p>In such situations it is desirable that the GUI control detect this and
+ institute a scroll operation in order to make obscured region(s) visible to
+ the user. This feature is known as autoscrolling.</p>
+
+ <p>If a GUI control is both an active DropTarget and is also scrollable,
+ it can receive notifications of autoscrolling gestures by the user from
+ the Drag and Drop system by implementing this interface.</p>
+
+ <p>An autoscrolling gesture is initiated by the user by keeping the drag
+ cursor motionless with a border region of the Component, referred to as
+ the "autoscrolling region", for a predefined period of time, this will
+ result in repeated scroll requests to the Component until the drag Cursor
+ resumes its motion. </p>
+*/
+
+published interface XAutoscroll: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Notify the component to autoscroll.
+
+ @param cursorLocationX
+ X location of the cursor in pixel.
+
+ @param cursorLocationY
+ Y location of the cursor in pixel.
+ */
+
+ [oneway] void autoscroll( [in] long cursorLocationX, [in] long cursorLocationY );
+
+ //-------------------------------------------------------------------------
+ /** Returns the regions describing the autoscrolling region.
+
+ @returns
+ The regions describing the autoscrolling region or border
+ relative to the geometry of the implementing component.
+ */
+
+ any getAutoscrollRegion();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDragGestureListener.idl b/offapi/com/sun/star/datatransfer/dnd/XDragGestureListener.idl
new file mode 100644
index 000000000000..3aa14195448a
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragGestureListener.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDragGestureListener_idl__
+#define __com_sun_star_datatransfer_dnd_XDragGestureListener_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DragGestureEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DragGestureEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** This interface will be used by a <type>XDragGestureRecognizer</type>
+ when it detects a drag initiating gesture.
+
+ <p>The implementor of this interface is responsible for starting the drag
+ as a result of receiving such notification.</p>
+
+*/
+
+published interface XDragGestureListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** A <type>XDragGestureRecognizer</type> has detected a platform-dependent
+ drag initiating gesture and is notifying this listener in order
+ for it to initiate the action for the user.
+
+ @param dge
+ The DragGestureEvent describing the gesture that has just occurred.
+
+ */
+ [oneway] void dragGestureRecognized( [in] DragGestureEvent dge );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDragGestureRecognizer.idl b/offapi/com/sun/star/datatransfer/dnd/XDragGestureRecognizer.idl
new file mode 100644
index 000000000000..1d0fc5b63d13
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragGestureRecognizer.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDragGestureRecognizer_idl__
+#define __com_sun_star_datatransfer_dnd_XDragGestureRecognizer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDragGestureListener;
+
+//=============================================================================
+/** This interface is implemented by a view or window that supports drag
+ operations.
+
+ <p>Different to Java, the association between view and interface is fixed
+ and cannot be changed. Otherwise, the AWT messaging would have to be
+ implemented for any window supporting Drag and Drop operations, which would
+ be a performance issue.</p>
+*/
+
+published interface XDragGestureRecognizer: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Registers a new <type>XDragGestureListener</type>.
+
+ @param dgl
+ The <type>XDragGestureListener</type> to register with this
+ <type>XDragGestureRecognizer</type>.
+ */
+
+ [oneway] void addDragGestureListener( [in] XDragGestureListener dgl );
+
+ //-------------------------------------------------------------------------
+ /** Unregisters the specified <type>XDragGestureListener</type>.
+
+ @param dgl
+ The <type>XDragGestureListener</type> to register with this
+ <type>XDragGestureRecognizer</type>.
+ */
+
+ [oneway] void removeDragGestureListener( [in] XDragGestureListener dgl );
+
+ //-------------------------------------------------------------------------
+ /** Reset the recognizer. If it is currently recognizing a gesture, ignore it.
+ */
+
+ void resetRecognizer();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDragSource.idl b/offapi/com/sun/star/datatransfer/dnd/XDragSource.idl
new file mode 100644
index 000000000000..a67de276c1a5
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragSource.idl
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDragSource_idl__
+#define __com_sun_star_datatransfer_dnd_XDragSource_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_InvalidDNDOperationException_idl__
+#include <com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_dnd_DragGestureEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DragGestureEvent.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDragSourceListener;
+
+//=============================================================================
+/** This interface is implemented by a view or window that supports drag
+ operations and will be received as part of a <type>DragGestureEvent</type>
+ through a <member scope="com::sun::star::datatransfer::dnd">XDragGestureListener::dragGestureRecognized()</member>
+ callback.
+
+ <p>Differently to Java, the association between view and interface is fixed
+ and can not be changed. Otherwise, the AWT messaging would have to be
+ implemented for any window supporting Drag and Drop operations, which would
+ be a real performance issue.</p>
+*/
+
+published interface XDragSource: com::sun::star::uno::XInterface
+{
+
+ //-------------------------------------------------------------------------
+ /** In order to query if drag image support is available.
+
+ @returns
+ A boolean indicating whether or not drag image support is
+ available on the underlying platform.
+ */
+
+ boolean isDragImageSupported();
+
+ //-------------------------------------------------------------------------
+ /** To get the default cursor for a specified drag action.
+
+ @param dragAction
+ A drag action as specified in <type>DNDConstants</type>.
+
+ @returns
+ The default drag cursor for the specified drag action.
+ <p>The returned value may be used as parameter for the method
+ <member scope="com::sun::star::datatransfer::dnd">XDragSourceContext::setCursor()</member>.</p>
+ */
+
+ long getDefaultCursor( [in] byte dragAction )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** Starts the drag operation.
+
+ <p>Note: this call does <em>not</em> block until the drag and drop
+ operation ends. If the Drag and Drop system is unable to initiate
+ a drag operation or if the user attempts to start a drag while an
+ existing drag operation is still executing, the action fails immediately.
+ This is indicated by calling
+ <member scope="com::sun::star::datatransfer::dnd">XDragSourceListener::dragDropEnd()</member>
+ on the parameter listener with a DragSourceDragEvent showing a failure.</p>
+
+ @param trigger
+ The <type>DragGestureEvent</type> that initiated the drag.
+
+ @param sourceActions
+ The action or actions supported for this transferable as defined
+ in <type>DNDConstants</type>.
+
+ @param cursor
+ The initial drag cursor id or 0 as default.
+
+ @param image
+ The initial drag image id or 0 as default.
+
+ @param trans
+ The transferable object dragged.
+
+ @param listener
+ The <type>XDragSourceListener</type>.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+
+ [oneway] void startDrag(
+ [in] DragGestureEvent trigger,
+ [in] byte sourceActions,
+ [in] long cursor,
+ [in] long image,
+ [in] com::sun::star::datatransfer::XTransferable trans,
+ [in] XDragSourceListener listener );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDragSourceContext.idl b/offapi/com/sun/star/datatransfer/dnd/XDragSourceContext.idl
new file mode 100644
index 000000000000..3c212d8999b0
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragSourceContext.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDragSourceContext_idl__
+#define __com_sun_star_datatransfer_dnd_XDragSourceContext_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDragSourceListener;
+
+//=============================================================================
+/** The drag source context class is responsible for managing the initiator side
+ of the Drag and Drop protocol.
+
+ <p>In particular, it is responsible for managing event notifications to the
+ DragSourceListener and providing the Transferable state to enable the data
+ transfer. </p>
+
+ <p>An instance of this class is created as a result of the method <member>XDragSource::startDrag()</member>
+ being successfully invoked. This instance is responsible
+ for tracking the state of the operation on behalf of the drag source and
+ dispatching state changes to the drag source listener. </p>
+
+ @see com::sun::star::datatransfer::dnd::XDragSourceContext
+ @see com::sun::star::datatransfer::dnd::XDragSourceListener
+*/
+
+published interface XDragSourceContext: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Get the identifier of the currently used cursor.
+
+ @returns
+ The currently selected drag cursor.
+ */
+
+ long getCurrentCursor();
+
+ //-------------------------------------------------------------------------
+ /** This method sets the current drag cursor.
+
+ <p>This method should only be called to set another cursor than the
+ default one for drag action currently selected by the user.</p>
+ <p>Invalid cursor identifiers will be ignored.</p>
+
+ @param cursorId
+ The identifier the drag source returned when registering the cursor.
+ */
+
+ [oneway] void setCursor( [in] long cursorId );
+
+ //-------------------------------------------------------------------------
+ /** This method sets the current drag image.
+
+ @param dragImage
+ The identifier the drag source returned when registering the image (0 = none).
+ Invalid identifier will be ignored.
+ */
+
+ [oneway] void setImage( [in] long imageId );
+
+ //-------------------------------------------------------------------------
+ /** This method notifies the context that the
+ <type scope="com::sun::star::datatransfer">DataFlavor</type> types
+ of the transferable object have changed.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+
+ [oneway] void transferablesFlavorsChanged();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDragSourceListener.idl b/offapi/com/sun/star/datatransfer/dnd/XDragSourceListener.idl
new file mode 100644
index 000000000000..b15896be1e6a
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragSourceListener.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDragSourceListener_idl__
+#define __com_sun_star_datatransfer_dnd_XDragSourceListener_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceDragEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DragSourceDragEvent.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_dnd_DragSourceDropEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DragSourceDropEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** This interface must be implemented by any drag gesture recognizer
+ implementation that a drag source supports.
+
+ @see com::sun::star::datatransfer::dnd::XDragGestureRecognizer
+ @see com::sun::star::datatransfer::dnd::XDragSource
+*/
+
+published interface XDragSourceListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** This method is invoked to signify that the Drag and Drop operation is
+ complete.
+
+ @param dsde
+ The <type>DragSourceDropEvent</type>
+ */
+
+ [oneway] void dragDropEnd( [in] DragSourceDropEvent dsde );
+
+ //-------------------------------------------------------------------------
+ /** Called as the hotspot enters a platform dependent drop site.
+
+ <p><strong>NOTE:</strong> currently this notification can not be ensured by all
+ implementations. Do not rely on it ! </p>
+
+ @param dsde
+ The <type>DragSourceDragEvent</type>.
+ */
+
+ [oneway] void dragEnter( [in] DragSourceDragEvent dsde );
+
+ //-------------------------------------------------------------------------
+ /** Called as the hotspot exits a platform dependent drop site.
+
+ <p><strong>NOTE:</strong> Currently this notification can not be ensured by all
+ implementations. Do not rely on it ! </p>
+
+ @param dse
+ The <type>DragSourceEvent</type>.
+ */
+
+ [oneway] void dragExit( [in] DragSourceEvent dse );
+
+ //-------------------------------------------------------------------------
+ /** Called as the hotspot moves over a platform dependent drop site.
+
+ @param dsde
+ The <type>DragSourceEvent</type>
+ */
+
+ [oneway] void dragOver( [in] DragSourceDragEvent dsde );
+
+ //-------------------------------------------------------------------------
+ /** Called when the user has modified the drop gesture.
+
+ @param dsde
+ The <type>DragSourceEvent</type>.
+ */
+
+ [oneway] void dropActionChanged( [in] DragSourceDragEvent dsde );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDropTarget.idl b/offapi/com/sun/star/datatransfer/dnd/XDropTarget.idl
new file mode 100644
index 000000000000..f4b52182583a
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDropTarget.idl
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDropTarget_idl__
+#define __com_sun_star_datatransfer_dnd_XDropTarget_idl__
+
+#ifndef __com_sun_star_datatransfer_XTransferable_idl__
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+ published interface XDropTargetListener;
+
+//=============================================================================
+/** This interface is implemented by a view or window that supports drop
+ operations.
+
+ <p>Differently to Java, the association between view and interface is fixed
+ and cannot be changed. Otherwise, the AWT messaging would have to be
+ implemented for any window supporting Drag and Drop operations, which would
+ be a performance issue.</p>
+*/
+
+published interface XDropTarget: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Add a DropTargetListener.
+
+ <p>The listener will be queried for the <type>XAutoscroll</type> interface
+ to see if it supports autoscrolling.</p>
+
+ @param dtl
+ The listener to add to the notification list.
+ */
+
+ [oneway] void addDropTargetListener( [in] XDropTargetListener dtl );
+
+ //-------------------------------------------------------------------------
+ /** Remove a drop target listener.
+
+ @param dtl
+ The listener to remove from notification list.
+ */
+
+ [oneway] void removeDropTargetListener( [in] XDropTargetListener dtl );
+
+ //-------------------------------------------------------------------------
+ /** Indicates either a drop target object is active or not.
+
+ @returns
+ A boolean indicating whether or not this drop target object is
+ currently active, that is ready to accept drops.
+ */
+
+ boolean isActive();
+
+ //-------------------------------------------------------------------------
+ /** Sets the drop target object active or inactive.
+
+ @param active
+ A value of <TRUE/> sets the drop target object active.
+ <p>A value of <FALSE/> sets the drop target object inactive.
+ */
+
+ void setActive( [in] boolean active );
+
+ //-------------------------------------------------------------------------
+ /** Determine the actions supported by a drop target.
+
+ @returns
+ The current action or actions supported by this drop target.
+
+ <p>By default this will include all drag and drop actions.</p>
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+
+ byte getDefaultActions();
+
+ //-------------------------------------------------------------------------
+ /** Sets the default acceptable actions for this drop target.
+
+ <p>This method is a way to reduce the number of Drag and Drop events
+ by blocking events for actions not supported by this target.</p>
+ <p>By default the listener will receive notifications for all actions.</p>
+
+ @param actions
+ The actions.
+
+ @see com::sun::star::datatransfer::dnd::DNDConstants
+ */
+ [oneway] void setDefaultActions( [in] byte actions );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDropTargetDragContext.idl b/offapi/com/sun/star/datatransfer/dnd/XDropTargetDragContext.idl
new file mode 100644
index 000000000000..261ad3a857f0
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDropTargetDragContext.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDropTargetDragContext_idl__
+#define __com_sun_star_datatransfer_dnd_XDropTargetDragContext_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_InvalidDNDOperationException_idl__
+#include <com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** This interface is implemented by any drop target context object.
+
+ <p>A drop target context is created whenever the logical cursor associated
+ with a Drag and Drop operation moves within the visible geometry of a
+ window associated with a drop target. </p>
+
+ <p>The drop target context provides the mechanism for a potential receiver
+ of a drop operation to both provide the end user with the appropriate drag
+ under feedback and effect the subsequent data transfer, if appropriate. </p>
+*/
+
+published interface XDropTargetDragContext: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Accept the Drag.
+
+ <p>This method should be called from the methods of <type>XDropTargetListener</type>
+ <ul>
+ <li><member>XDropTargetListener::dragEnter()</member></li>
+ <li><member>XDropTargetListener::dragOver()</member></li>
+ <li><member>XDropTargetListener::dragActionChanged()</member></li>
+ </ul>
+ if the implementation wishes to accept the drag operation with the specified
+ action.</p>
+
+ @param dragOperation
+ The operation accepted by the target.
+
+ @see DNDConstants
+ @see DropTargetDragEvent
+ */
+
+ [oneway] void acceptDrag( [in] byte dragOperation );
+
+ //-------------------------------------------------------------------------
+ /** Reject the drag as a result of examining the available
+ <type scope="com::sun::star::datatransfer">DataFlavor</type> types
+ received in the <member scope="com::sun::star::datatransfer::dnd">XDropTargetListener::dragEnter()</member> method.
+ */
+
+ [oneway] void rejectDrag();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDropTargetDropContext.idl b/offapi/com/sun/star/datatransfer/dnd/XDropTargetDropContext.idl
new file mode 100644
index 000000000000..6cd354a92b2e
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDropTargetDropContext.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDropTargetDropContext_idl__
+#define __com_sun_star_datatransfer_dnd_XDropTargetDropContext_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_InvalidDNDOperationException_idl__
+#include <com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** This interface is implemented by any drop target context object.
+
+ <p>A DropTargetContext is created whenever the logical cursor associated
+ with a Drag and Drop operation moves within the visible geometry of a
+ window associated with a DropTarget. </p>
+
+ <p>The drop target context provides the mechanism for a potential receiver
+ of a drop operation to provide the end user with the appropriate drag
+ under feedback and to effect the subsequent data transfer, if appropriate. </p>
+*/
+
+published interface XDropTargetDropContext : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Accept the Drop.
+
+ <p>This method should be called from the
+ <member scope="com::sun::star::datatransfer::dnd">XDropTargetListener::drop()</member>
+ method if the implementation wishes to accept the drop operation with the specified action.</p>
+
+ @param dragOperation
+ The operation accepted by the target.
+
+ @see DNDConstants
+ @see DropTargetDragEvent
+ */
+
+ [oneway] void acceptDrop( [in] byte dragOperation );
+
+ //-------------------------------------------------------------------------
+ /** Reject the drop as a result of examining the available
+ <type scope="com::sun::star::datatransfer">DataFlavor</type> types
+ received in the <member>XDropTargetListener::dragEnter()</member> method.
+ */
+
+ [oneway] void rejectDrop();
+
+ //-------------------------------------------------------------------------
+ /** Signals that the drop is completed and if it was successful or not.
+
+ @param success
+ A value of <TRUE/> means the drop completed successfully
+ <p>A value of <FALSE/> means the drop completed unsuccessfully.</p>
+ */
+
+ [oneway] void dropComplete( [in] boolean success );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/XDropTargetListener.idl b/offapi/com/sun/star/datatransfer/dnd/XDropTargetListener.idl
new file mode 100644
index 000000000000..78516990da84
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDropTargetListener.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_datatransfer_dnd_XDropTargetListener_idl__
+#define __com_sun_star_datatransfer_dnd_XDropTargetListener_idl__
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetDragEnterEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DropTargetDragEnterEvent.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_dnd_DropTargetDropEvent_idl__
+#include <com/sun/star/datatransfer/dnd/DropTargetDropEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module datatransfer { module dnd {
+
+//=============================================================================
+/** This interface is the callback interface used by the drop target object to
+ provide notification of Drag and Drop operations that involve the subject
+ drop target.
+
+ <p>Methods of this interface may be implemented to provide "drag under"
+ visual feedback to the user throughout the Drag and Drop operation.</p>
+*/
+
+published interface XDropTargetListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** The drag operation has terminated with a drop on this drop target.
+
+ <p><strong>NOTE:</strong> This method should not be oneway. The implentation
+ has to wait until the method <method>XDropTargetDropContext::dropComplete</method>
+ is called before releasing the data for the drop operation. This
+ should occur before returning from drop in a normal flow of operation.
+ Also, the implementor of <type>XDropTargetListener</type> should not assume
+ the <type>DropTargetDropEvent</type> to be meaningful after returning
+ from the <member>XDropTargetListener::drop()</member> method.</p>
+
+ @param dtde
+ The <type>DropTargetDropEvent</type>.
+ */
+
+ void drop( [in] DropTargetDropEvent dtde );
+
+ //-------------------------------------------------------------------------
+ /** Called when a drag operation has encountered the drop target.
+
+ @param dtde
+ The <type>DropTargetDragEvent</type>.
+ */
+
+ [oneway] void dragEnter( [in] DropTargetDragEnterEvent dtdee );
+
+ //-------------------------------------------------------------------------
+ /** The drag operation has departed the drop target without dropping.
+
+ @param dte
+ The <type>DropTargetEvent</type>.
+ */
+
+ [oneway] void dragExit( [in] DropTargetEvent dte );
+
+ //-------------------------------------------------------------------------
+ /** Called when a drag operation is ongoing on the drop target.
+
+ @param dtde
+ The <type>DropTargetEvent</type>.
+ */
+
+ [oneway] void dragOver( [in] DropTargetDragEvent dtde );
+
+ //-------------------------------------------------------------------------
+ /** Called when the user has modified the drop gesture.
+
+ @param dtde
+ The <type>DropTargetEvent</type>.
+ */
+
+ [oneway] void dropActionChanged( [in] DropTargetDragEvent dtde );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/datatransfer/dnd/makefile.mk b/offapi/com/sun/star/datatransfer/dnd/makefile.mk
new file mode 100644
index 000000000000..358a126aabb1
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/makefile.mk
@@ -0,0 +1,70 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssddnd
+PACKAGE=com$/sun$/star$/datatransfer$/dnd
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ DNDConstants.idl \
+ DragGestureEvent.idl \
+ DragSourceEvent.idl \
+ DragSourceDragEvent.idl \
+ DragSourceDropEvent.idl \
+ DropTargetDragEvent.idl \
+ DropTargetDragEnterEvent.idl \
+ DropTargetDropEvent.idl \
+ DropTargetEvent.idl \
+ InvalidDNDOperationException.idl \
+ OleDragSource.idl \
+ OleDropTarget.idl \
+ X11DragSource.idl \
+ X11DropTarget.idl \
+ XAutoscroll.idl\
+ XDragGestureListener.idl \
+ XDragGestureRecognizer.idl \
+ XDragSource.idl \
+ XDragSourceContext.idl \
+ XDragSourceListener.idl \
+ XDropTarget.idl \
+ XDropTargetDragContext.idl \
+ XDropTargetDropContext.idl \
+ XDropTargetListener.idl \
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/datatransfer/makefile.mk b/offapi/com/sun/star/datatransfer/makefile.mk
new file mode 100644
index 000000000000..aff51f398a23
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/makefile.mk
@@ -0,0 +1,59 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssdatatransfer
+PACKAGE=com$/sun$/star$/datatransfer
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XTransferableSupplier.idl \
+ DataFlavor.idl \
+ UnsupportedFlavorException.idl \
+ XTransferable.idl \
+ XTransferableEx.idl \
+ XSystemTransferable.idl \
+ XTransferableSource.idl \
+ XTransferDataAccess.idl \
+ XMimeContentType.idl \
+ XMimeContentTypeFactory.idl \
+ MimeContentTypeFactory.idl\
+ DataFormatTranslator.idl\
+ XDataFormatTranslator.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk