diff options
Diffstat (limited to 'offapi/com/sun/star/datatransfer/dnd')
25 files changed, 2289 insertions, 0 deletions
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 |