| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the 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 |