summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/datatransfer/dnd/XDragSource.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/datatransfer/dnd/XDragSource.idl')
-rw-r--r--offapi/com/sun/star/datatransfer/dnd/XDragSource.idl116
1 files changed, 116 insertions, 0 deletions
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 000000000..dba6cb36c
--- /dev/null
+++ b/offapi/com/sun/star/datatransfer/dnd/XDragSource.idl
@@ -0,0 +1,116 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_datatransfer_dnd_XDragSource_idl__
+#define __com_sun_star_datatransfer_dnd_XDragSource_idl__
+
+#include <com/sun/star/datatransfer/dnd/InvalidDNDOperationException.idl>
+#include <com/sun/star/datatransfer/dnd/DragGestureEvent.idl>
+#include <com/sun/star/datatransfer/XTransferable.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+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 DragGestureEvent
+ through a com::sun::star::datatransfer::dnd::XDragGestureListener::dragGestureRecognized()
+ 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 DNDConstants.
+
+ @returns
+ The default drag cursor for the specified drag action.
+ <p>The returned value may be used as parameter for the method
+ com::sun::star::datatransfer::dnd::XDragSourceContext::setCursor().</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
+ com::sun::star::datatransfer::dnd::XDragSourceListener::dragDropEnd()
+ on the parameter listener with a DragSourceDragEvent showing a failure.</p>
+
+ @param trigger
+ The DragGestureEvent that initiated the drag.
+
+ @param sourceActions
+ The action or actions supported for this transferable as defined
+ in DNDConstants.
+
+ @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 XDragSourceListener.
+
+ @see com::sun::star::datatransfer::XTransferable
+ */
+
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */