/* -*- 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_XDropTargetListener_idl__ #define __com_sun_star_datatransfer_dnd_XDropTargetListener_idl__ #include #include #include 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.

Methods of this interface may be implemented to provide "drag under" visual feedback to the user throughout the Drag and Drop operation.

*/ published interface XDropTargetListener: com::sun::star::lang::XEventListener { /** The drag operation has terminated with a drop on this drop target.

NOTE: The implementation has to wait until the method XDropTargetDropContext::dropComplete() 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 XDropTargetListener should not assume the DropTargetDropEvent to be meaningful after returning from the XDropTargetListener::drop() method.

@param dtde The DropTargetDropEvent. */ void drop( [in] DropTargetDropEvent dtde ); /** Called when a drag operation has encountered the drop target. @param dtdee The DropTargetDragEvent. */ void dragEnter( [in] DropTargetDragEnterEvent dtdee ); /** The drag operation has departed the drop target without dropping. @param dte The DropTargetEvent. */ void dragExit( [in] DropTargetEvent dte ); /** Called when a drag operation is ongoing on the drop target. @param dtde The DropTargetEvent. */ void dragOver( [in] DropTargetDragEvent dtde ); /** Called when the user has modified the drop gesture. @param dtde The DropTargetEvent. */ void dropActionChanged( [in] DropTargetDragEvent dtde ); }; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */