diff options
Diffstat (limited to 'offapi/com/sun/star/datatransfer/dnd/XDragSource.idl')
-rw-r--r-- | offapi/com/sun/star/datatransfer/dnd/XDragSource.idl | 139 |
1 files changed, 139 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 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 |