xref: /AOO41X/main/vcl/source/app/dndhelp.cxx (revision 9f62ea84a806e17e6f2bbff75724a7257a0eb5d9)
1*9f62ea84SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*9f62ea84SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*9f62ea84SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*9f62ea84SAndrew Rist  * distributed with this work for additional information
6*9f62ea84SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*9f62ea84SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*9f62ea84SAndrew Rist  * "License"); you may not use this file except in compliance
9*9f62ea84SAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11*9f62ea84SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13*9f62ea84SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*9f62ea84SAndrew Rist  * software distributed under the License is distributed on an
15*9f62ea84SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*9f62ea84SAndrew Rist  * KIND, either express or implied.  See the License for the
17*9f62ea84SAndrew Rist  * specific language governing permissions and limitations
18*9f62ea84SAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20*9f62ea84SAndrew Rist  *************************************************************/
21*9f62ea84SAndrew Rist 
22*9f62ea84SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_vcl.hxx"
26cdf0e10cSrcweir 
27cdf0e10cSrcweir 
28cdf0e10cSrcweir 
29cdf0e10cSrcweir #include <vcl/dndhelp.hxx>
30cdf0e10cSrcweir 
31cdf0e10cSrcweir using namespace ::com::sun::star;
32cdf0e10cSrcweir 
~DragAndDropClient()33cdf0e10cSrcweir vcl::unohelper::DragAndDropClient::~DragAndDropClient() {}
34cdf0e10cSrcweir 
dragGestureRecognized(const::com::sun::star::datatransfer::dnd::DragGestureEvent &)35cdf0e10cSrcweir void vcl::unohelper::DragAndDropClient::dragGestureRecognized( const ::com::sun::star::datatransfer::dnd::DragGestureEvent& /*dge*/ ) throw (::com::sun::star::uno::RuntimeException)
36cdf0e10cSrcweir {
37cdf0e10cSrcweir }
38cdf0e10cSrcweir 
dragDropEnd(const::com::sun::star::datatransfer::dnd::DragSourceDropEvent &)39cdf0e10cSrcweir void vcl::unohelper::DragAndDropClient::dragDropEnd( const ::com::sun::star::datatransfer::dnd::DragSourceDropEvent& /*dsde*/ ) throw (::com::sun::star::uno::RuntimeException)
40cdf0e10cSrcweir {
41cdf0e10cSrcweir }
42cdf0e10cSrcweir 
dragEnter(const::com::sun::star::datatransfer::dnd::DragSourceDragEvent &)43cdf0e10cSrcweir void vcl::unohelper::DragAndDropClient::dragEnter( const ::com::sun::star::datatransfer::dnd::DragSourceDragEvent& /*dsde*/ ) throw (::com::sun::star::uno::RuntimeException)
44cdf0e10cSrcweir {
45cdf0e10cSrcweir }
46cdf0e10cSrcweir 
dragExit(const::com::sun::star::datatransfer::dnd::DragSourceEvent &)47cdf0e10cSrcweir void vcl::unohelper::DragAndDropClient::dragExit( const ::com::sun::star::datatransfer::dnd::DragSourceEvent& /*dse*/ ) throw (::com::sun::star::uno::RuntimeException)
48cdf0e10cSrcweir {
49cdf0e10cSrcweir }
50cdf0e10cSrcweir 
dragOver(const::com::sun::star::datatransfer::dnd::DragSourceDragEvent &)51cdf0e10cSrcweir void vcl::unohelper::DragAndDropClient::dragOver( const ::com::sun::star::datatransfer::dnd::DragSourceDragEvent& /*dsde*/ ) throw (::com::sun::star::uno::RuntimeException)
52cdf0e10cSrcweir {
53cdf0e10cSrcweir }
54cdf0e10cSrcweir 
dropActionChanged(const::com::sun::star::datatransfer::dnd::DragSourceDragEvent &)55cdf0e10cSrcweir void vcl::unohelper::DragAndDropClient::dropActionChanged( const ::com::sun::star::datatransfer::dnd::DragSourceDragEvent& /*dsde*/ ) throw (::com::sun::star::uno::RuntimeException)
56cdf0e10cSrcweir {
57cdf0e10cSrcweir }
58cdf0e10cSrcweir 
drop(const::com::sun::star::datatransfer::dnd::DropTargetDropEvent &)59cdf0e10cSrcweir void vcl::unohelper::DragAndDropClient::drop( const ::com::sun::star::datatransfer::dnd::DropTargetDropEvent& /*dtde*/ ) throw (::com::sun::star::uno::RuntimeException)
60cdf0e10cSrcweir {
61cdf0e10cSrcweir }
62cdf0e10cSrcweir 
dragEnter(const::com::sun::star::datatransfer::dnd::DropTargetDragEnterEvent &)63cdf0e10cSrcweir void vcl::unohelper::DragAndDropClient::dragEnter( const ::com::sun::star::datatransfer::dnd::DropTargetDragEnterEvent& /*dtdee*/ ) throw (::com::sun::star::uno::RuntimeException)
64cdf0e10cSrcweir {
65cdf0e10cSrcweir }
66cdf0e10cSrcweir 
dragExit(const::com::sun::star::datatransfer::dnd::DropTargetEvent &)67cdf0e10cSrcweir void vcl::unohelper::DragAndDropClient::dragExit( const ::com::sun::star::datatransfer::dnd::DropTargetEvent& /*dte*/ ) throw (::com::sun::star::uno::RuntimeException)
68cdf0e10cSrcweir {
69cdf0e10cSrcweir }
70cdf0e10cSrcweir 
dragOver(const::com::sun::star::datatransfer::dnd::DropTargetDragEvent &)71cdf0e10cSrcweir void vcl::unohelper::DragAndDropClient::dragOver( const ::com::sun::star::datatransfer::dnd::DropTargetDragEvent& /*dtde*/ ) throw (::com::sun::star::uno::RuntimeException)
72cdf0e10cSrcweir {
73cdf0e10cSrcweir }
74cdf0e10cSrcweir 
dropActionChanged(const::com::sun::star::datatransfer::dnd::DropTargetDragEvent &)75cdf0e10cSrcweir void vcl::unohelper::DragAndDropClient::dropActionChanged( const ::com::sun::star::datatransfer::dnd::DropTargetDragEvent& /*dtde*/ ) throw (::com::sun::star::uno::RuntimeException)
76cdf0e10cSrcweir {
77cdf0e10cSrcweir }
78cdf0e10cSrcweir 
79cdf0e10cSrcweir // =======================================================================
80cdf0e10cSrcweir 
DragAndDropWrapper(DragAndDropClient * pClient)81cdf0e10cSrcweir vcl::unohelper::DragAndDropWrapper::DragAndDropWrapper( DragAndDropClient* pClient )
82cdf0e10cSrcweir {
83cdf0e10cSrcweir     mpClient = pClient;
84cdf0e10cSrcweir }
85cdf0e10cSrcweir 
~DragAndDropWrapper()86cdf0e10cSrcweir vcl::unohelper::DragAndDropWrapper::~DragAndDropWrapper()
87cdf0e10cSrcweir {
88cdf0e10cSrcweir }
89cdf0e10cSrcweir 
90cdf0e10cSrcweir // uno::XInterface
queryInterface(const uno::Type & rType)91cdf0e10cSrcweir uno::Any vcl::unohelper::DragAndDropWrapper::queryInterface( const uno::Type & rType ) throw(uno::RuntimeException)
92cdf0e10cSrcweir {
93cdf0e10cSrcweir 	uno::Any aRet = ::cppu::queryInterface( rType,
94cdf0e10cSrcweir 							SAL_STATIC_CAST( ::com::sun::star::lang::XEventListener*, (::com::sun::star::datatransfer::dnd::XDragGestureListener*)this ),
95cdf0e10cSrcweir 							SAL_STATIC_CAST( ::com::sun::star::datatransfer::dnd::XDragGestureListener*, this ),
96cdf0e10cSrcweir 							SAL_STATIC_CAST( ::com::sun::star::datatransfer::dnd::XDragSourceListener*, this ),
97cdf0e10cSrcweir 							SAL_STATIC_CAST( ::com::sun::star::datatransfer::dnd::XDropTargetListener*, this ) );
98cdf0e10cSrcweir 	return (aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType ));
99cdf0e10cSrcweir }
100cdf0e10cSrcweir 
101cdf0e10cSrcweir // ::com::sun::star::lang::XEventListener
disposing(const::com::sun::star::lang::EventObject & rEvent)102cdf0e10cSrcweir void vcl::unohelper::DragAndDropWrapper::disposing( const ::com::sun::star::lang::EventObject& rEvent ) throw (::com::sun::star::uno::RuntimeException)
103cdf0e10cSrcweir {
104cdf0e10cSrcweir     // Empty Source means it's the client, because the client is not a XInterface
105cdf0e10cSrcweir     if ( !rEvent.Source.is() )
106cdf0e10cSrcweir         mpClient = NULL;
107cdf0e10cSrcweir }
108cdf0e10cSrcweir 
109cdf0e10cSrcweir 
110cdf0e10cSrcweir // ::com::sun::star::datatransfer::dnd::XDragGestureListener
dragGestureRecognized(const::com::sun::star::datatransfer::dnd::DragGestureEvent & rDGE)111cdf0e10cSrcweir void vcl::unohelper::DragAndDropWrapper::dragGestureRecognized( const ::com::sun::star::datatransfer::dnd::DragGestureEvent& rDGE ) throw (::com::sun::star::uno::RuntimeException)
112cdf0e10cSrcweir {
113cdf0e10cSrcweir     if ( mpClient )
114cdf0e10cSrcweir         mpClient->dragGestureRecognized( rDGE );
115cdf0e10cSrcweir }
116cdf0e10cSrcweir 
117cdf0e10cSrcweir // ::com::sun::star::datatransfer::dnd::XDragSourceListener
dragDropEnd(const::com::sun::star::datatransfer::dnd::DragSourceDropEvent & rDSDE)118cdf0e10cSrcweir void vcl::unohelper::DragAndDropWrapper::dragDropEnd( const ::com::sun::star::datatransfer::dnd::DragSourceDropEvent& rDSDE ) throw (::com::sun::star::uno::RuntimeException)
119cdf0e10cSrcweir {
120cdf0e10cSrcweir     if ( mpClient )
121cdf0e10cSrcweir         mpClient->dragDropEnd( rDSDE );
122cdf0e10cSrcweir }
123cdf0e10cSrcweir 
dragEnter(const::com::sun::star::datatransfer::dnd::DragSourceDragEvent & dsde)124cdf0e10cSrcweir void vcl::unohelper::DragAndDropWrapper::dragEnter( const ::com::sun::star::datatransfer::dnd::DragSourceDragEvent& dsde ) throw (::com::sun::star::uno::RuntimeException)
125cdf0e10cSrcweir {
126cdf0e10cSrcweir     if ( mpClient )
127cdf0e10cSrcweir         mpClient->dragEnter( dsde );
128cdf0e10cSrcweir }
129cdf0e10cSrcweir 
dragExit(const::com::sun::star::datatransfer::dnd::DragSourceEvent & dse)130cdf0e10cSrcweir void vcl::unohelper::DragAndDropWrapper::dragExit( const ::com::sun::star::datatransfer::dnd::DragSourceEvent& dse ) throw (::com::sun::star::uno::RuntimeException)
131cdf0e10cSrcweir {
132cdf0e10cSrcweir     if ( mpClient )
133cdf0e10cSrcweir         mpClient->dragExit( dse );
134cdf0e10cSrcweir }
135cdf0e10cSrcweir 
dragOver(const::com::sun::star::datatransfer::dnd::DragSourceDragEvent & dsde)136cdf0e10cSrcweir void vcl::unohelper::DragAndDropWrapper::dragOver( const ::com::sun::star::datatransfer::dnd::DragSourceDragEvent& dsde ) throw (::com::sun::star::uno::RuntimeException)
137cdf0e10cSrcweir {
138cdf0e10cSrcweir     if ( mpClient )
139cdf0e10cSrcweir         mpClient->dragOver( dsde );
140cdf0e10cSrcweir }
141cdf0e10cSrcweir 
dropActionChanged(const::com::sun::star::datatransfer::dnd::DragSourceDragEvent & dsde)142cdf0e10cSrcweir void vcl::unohelper::DragAndDropWrapper::dropActionChanged( const ::com::sun::star::datatransfer::dnd::DragSourceDragEvent& dsde ) throw (::com::sun::star::uno::RuntimeException)
143cdf0e10cSrcweir {
144cdf0e10cSrcweir     if ( mpClient )
145cdf0e10cSrcweir         mpClient->dropActionChanged( dsde );
146cdf0e10cSrcweir }
147cdf0e10cSrcweir 
148cdf0e10cSrcweir // ::com::sun::star::datatransfer::dnd::XDropTargetListener
drop(const::com::sun::star::datatransfer::dnd::DropTargetDropEvent & rDTDE)149cdf0e10cSrcweir void vcl::unohelper::DragAndDropWrapper::drop( const ::com::sun::star::datatransfer::dnd::DropTargetDropEvent& rDTDE ) throw (::com::sun::star::uno::RuntimeException)
150cdf0e10cSrcweir {
151cdf0e10cSrcweir     if ( mpClient )
152cdf0e10cSrcweir         mpClient->drop( rDTDE );
153cdf0e10cSrcweir }
154cdf0e10cSrcweir 
dragEnter(const::com::sun::star::datatransfer::dnd::DropTargetDragEnterEvent & rDTDEE)155cdf0e10cSrcweir void vcl::unohelper::DragAndDropWrapper::dragEnter( const ::com::sun::star::datatransfer::dnd::DropTargetDragEnterEvent& rDTDEE ) throw (::com::sun::star::uno::RuntimeException)
156cdf0e10cSrcweir {
157cdf0e10cSrcweir     if ( mpClient )
158cdf0e10cSrcweir         mpClient->dragEnter( rDTDEE );
159cdf0e10cSrcweir }
160cdf0e10cSrcweir 
dragExit(const::com::sun::star::datatransfer::dnd::DropTargetEvent & dte)161cdf0e10cSrcweir void vcl::unohelper::DragAndDropWrapper::dragExit( const ::com::sun::star::datatransfer::dnd::DropTargetEvent& dte ) throw (::com::sun::star::uno::RuntimeException)
162cdf0e10cSrcweir {
163cdf0e10cSrcweir     if ( mpClient )
164cdf0e10cSrcweir         mpClient->dragExit( dte );
165cdf0e10cSrcweir }
166cdf0e10cSrcweir 
dragOver(const::com::sun::star::datatransfer::dnd::DropTargetDragEvent & rDTDE)167cdf0e10cSrcweir void vcl::unohelper::DragAndDropWrapper::dragOver( const ::com::sun::star::datatransfer::dnd::DropTargetDragEvent& rDTDE ) throw (::com::sun::star::uno::RuntimeException)
168cdf0e10cSrcweir {
169cdf0e10cSrcweir     if ( mpClient )
170cdf0e10cSrcweir         mpClient->dragOver( rDTDE );
171cdf0e10cSrcweir }
172cdf0e10cSrcweir 
dropActionChanged(const::com::sun::star::datatransfer::dnd::DropTargetDragEvent & rDTDE)173cdf0e10cSrcweir void vcl::unohelper::DragAndDropWrapper::dropActionChanged( const ::com::sun::star::datatransfer::dnd::DropTargetDragEvent& rDTDE ) throw (::com::sun::star::uno::RuntimeException)
174cdf0e10cSrcweir {
175cdf0e10cSrcweir     if ( mpClient )
176cdf0e10cSrcweir         mpClient->dropActionChanged( rDTDE );
177cdf0e10cSrcweir }
178cdf0e10cSrcweir 
179