/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef INCLUDED_VCL_INC_DNDEVDIS_HXX #define INCLUDED_VCL_INC_DNDEVDIS_HXX #include #include #include #include #include class DNDEventDispatcher: public ::cppu::WeakImplHelper3< ::com::sun::star::datatransfer::dnd::XDropTargetListener, ::com::sun::star::datatransfer::dnd::XDropTargetDragContext, ::com::sun::star::datatransfer::dnd::XDragGestureListener > { Window * m_pTopWindow; Window * m_pCurrentWindow; ::osl::Mutex m_aMutex; ::com::sun::star::uno::Sequence< ::com::sun::star::datatransfer::DataFlavor > m_aDataFlavorList; Window* findTopLevelWindow(Point location); /* * fire the events on the dnd listener container of the specified window */ sal_Int32 fireDragEnterEvent( Window *pWindow, const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::dnd::XDropTargetDragContext >& xContext, const sal_Int8 nDropAction, const Point& rLocation, const sal_Int8 nSourceAction, const ::com::sun::star::uno::Sequence< ::com::sun::star::datatransfer::DataFlavor >& aFlavorList ) throw(::com::sun::star::uno::RuntimeException); sal_Int32 fireDragOverEvent( Window *pWindow, const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::dnd::XDropTargetDragContext >& xContext, const sal_Int8 nDropAction, const Point& rLocation, const sal_Int8 nSourceAction ) throw(::com::sun::star::uno::RuntimeException); sal_Int32 fireDragExitEvent( Window *pWindow ) throw(::com::sun::star::uno::RuntimeException); sal_Int32 fireDropActionChangedEvent( Window *pWindow, const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::dnd::XDropTargetDragContext >& xContext, const sal_Int8 nDropAction, const Point& rLocation, const sal_Int8 nSourceAction ) throw(::com::sun::star::uno::RuntimeException); sal_Int32 fireDropEvent( Window *pWindow, const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::dnd::XDropTargetDropContext >& xContext, const sal_Int8 nDropAction, const Point& rLocation, const sal_Int8 nSourceAction, const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >& xTransferable ) throw(::com::sun::star::uno::RuntimeException); sal_Int32 fireDragGestureEvent( Window *pWindow, const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::dnd::XDragSource >& xSource, const ::com::sun::star::uno::Any event, const Point& rOrigin, const sal_Int8 nDragAction )throw(::com::sun::star::uno::RuntimeException); public: DNDEventDispatcher( Window * pTopWindow ); virtual ~DNDEventDispatcher(); /* * XDropTargetDragContext */ virtual void SAL_CALL acceptDrag( sal_Int8 dropAction ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; virtual void SAL_CALL rejectDrag() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; /* * XDropTargetListener */ virtual void SAL_CALL drop( const ::com::sun::star::datatransfer::dnd::DropTargetDropEvent& dtde ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; virtual void SAL_CALL dragEnter( const ::com::sun::star::datatransfer::dnd::DropTargetDragEnterEvent& dtdee ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; virtual void SAL_CALL dragExit( const ::com::sun::star::datatransfer::dnd::DropTargetEvent& dte ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; virtual void SAL_CALL dragOver( const ::com::sun::star::datatransfer::dnd::DropTargetDragEvent& dtde ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; virtual void SAL_CALL dropActionChanged( const ::com::sun::star::datatransfer::dnd::DropTargetDragEvent& dtde ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; /* * XDragGestureListener */ virtual void SAL_CALL dragGestureRecognized( const ::com::sun::star::datatransfer::dnd::DragGestureEvent& dge ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; /* * XEventListener */ virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& eo ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ office-24-8-1'>libreoffice-24-8-1 LibreOffice 界面翻译代码仓库文档基金会
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2023-12-08 16:06:42 +0100
committerChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2023-12-08 16:06:42 +0100
commitf1be90def78768c6cea7e5c759113edc62e34047 (patch)
treef3a6d622c39c6e04b0d4db61c44667c604148c54 /source/nso
parenta0c2cb43becec95fddd09ed6300525a735b4ba95 (diff)
Branch libreoffice-24-2
This is 'libreoffice-24-2' - the stable branch for the 24.2.x releases. The commit rules are different according to the development phase: A. 24.2.0 beta phase: A. any bug fixes are allowed without review B. late features need approval by 3 people with different affiliation B. 24.2.0 rc phase and later: A. fixes need approval by one reviewer B. late features need approval by 3 more people with different affiliation IMPORTANT: Every developer is responsible for pushing the fixes into all appropriate branches. Note that we do not plan any merge from this branch to master or vice versa. Please, help use to make stable and usable release. If you want to build something cool, unstable, and risky, use master. Change-Id: Iad2113f1cf52a9f95333db676d33c29d5f2dda22
Diffstat (limited to 'source/nso')
0 files changed, 0 insertions, 0 deletions