From acfdfdf28a98b5841e4f8f669d9b6efe195926d9 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Mon, 16 Oct 2017 23:42:34 +0200 Subject: Move unoxml/source/events include files to common include directory ...that are included from various source directories. Change done in preparation of loplugin:includeform. Change-Id: I186ab7581ee7896c54a600e5cde8721a97b26425 Reviewed-on: https://gerrit.libreoffice.org/43444 Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- unoxml/inc/event.hxx | 73 ++++++++++++++++++++++ unoxml/inc/eventdispatcher.hxx | 86 +++++++++++++++++++++++++ unoxml/inc/mouseevent.hxx | 104 +++++++++++++++++++++++++++++++ unoxml/inc/mutationevent.hxx | 87 ++++++++++++++++++++++++++ unoxml/inc/uievent.hxx | 73 ++++++++++++++++++++++ unoxml/source/dom/characterdata.cxx | 2 +- unoxml/source/dom/document.cxx | 10 +-- unoxml/source/dom/element.cxx | 2 +- unoxml/source/dom/node.cxx | 4 +- unoxml/source/events/event.hxx | 73 ---------------------- unoxml/source/events/eventdispatcher.hxx | 86 ------------------------- unoxml/source/events/mouseevent.hxx | 104 ------------------------------- unoxml/source/events/mutationevent.hxx | 87 -------------------------- unoxml/source/events/uievent.hxx | 73 ---------------------- 14 files changed, 432 insertions(+), 432 deletions(-) create mode 100644 unoxml/inc/event.hxx create mode 100644 unoxml/inc/eventdispatcher.hxx create mode 100644 unoxml/inc/mouseevent.hxx create mode 100644 unoxml/inc/mutationevent.hxx create mode 100644 unoxml/inc/uievent.hxx delete mode 100644 unoxml/source/events/event.hxx delete mode 100644 unoxml/source/events/eventdispatcher.hxx delete mode 100644 unoxml/source/events/mouseevent.hxx delete mode 100644 unoxml/source/events/mutationevent.hxx delete mode 100644 unoxml/source/events/uievent.hxx diff --git a/unoxml/inc/event.hxx b/unoxml/inc/event.hxx new file mode 100644 index 000000000000..598f8702e985 --- /dev/null +++ b/unoxml/inc/event.hxx @@ -0,0 +1,73 @@ +/* -*- 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_UNOXML_INC_EVENT_HXX +#define INCLUDED_UNOXML_INC_EVENT_HXX + +#include + +#include +#include +#include +#include + +#include + +#include "node.hxx" + +namespace DOM {namespace events +{ +class CEvent : public cppu::WeakImplHelper< css::xml::dom::events::XEvent > +{ +friend class CEventDispatcher; + +protected: + ::osl::Mutex m_Mutex; + bool m_canceled; + OUString m_eventType; + css::uno::Reference< css::xml::dom::events::XEventTarget > m_target; + css::uno::Reference< css::xml::dom::events::XEventTarget > m_currentTarget; + css::xml::dom::events::PhaseType m_phase; + bool m_bubbles; + bool m_cancelable; + css::util::Time m_time; + +public: + + explicit CEvent(); + + virtual ~CEvent() override; + virtual OUString SAL_CALL getType() override; + virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getTarget() override; + virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getCurrentTarget() override; + virtual css::xml::dom::events::PhaseType SAL_CALL getEventPhase() override; + virtual sal_Bool SAL_CALL getBubbles() override; + virtual sal_Bool SAL_CALL getCancelable() override; + virtual css::util::Time SAL_CALL getTimeStamp() override; + virtual void SAL_CALL stopPropagation() override; + virtual void SAL_CALL preventDefault() override; + virtual void SAL_CALL initEvent( + const OUString& eventTypeArg, + sal_Bool canBubbleArg, + sal_Bool cancelableArg) override; +}; +}} +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/unoxml/inc/eventdispatcher.hxx b/unoxml/inc/eventdispatcher.hxx new file mode 100644 index 000000000000..ee8bec567590 --- /dev/null +++ b/unoxml/inc/eventdispatcher.hxx @@ -0,0 +1,86 @@ +/* -*- 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_UNOXML_INC_EVENTDISPATCHER_HXX +#define INCLUDED_UNOXML_INC_EVENTDISPATCHER_HXX + +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include + +namespace osl { class Mutex; } + +namespace DOM { + +class CDocument; + +namespace events { + +typedef std::multimap< xmlNodePtr, css::uno::Reference< css::xml::dom::events::XEventListener> > ListenerMap; +typedef std::map TypeListenerMap; + +class CEventDispatcher +{ +private: + TypeListenerMap m_CaptureListeners; + TypeListenerMap m_TargetListeners; + +public: + void addListener( + xmlNodePtr pNode, + const OUString& aType, + const css::uno::Reference& aListener, + bool bCapture); + + void removeListener( + xmlNodePtr pNode, + const OUString& aType, + const css::uno::Reference& aListener, + bool bCapture); + + static void callListeners( + TypeListenerMap const& rTMap, + xmlNodePtr const pNode, + const OUString& aType, + const css::uno::Reference< css::xml::dom::events::XEvent >& xEvent); + + bool dispatchEvent( + DOM::CDocument & rDocument, + ::osl::Mutex & rMutex, + xmlNodePtr const pNode, + css::uno::Reference const& xNode, + css::uno::Reference< css::xml::dom::events::XEvent > const& xEvent) const; + + ~CEventDispatcher(); +}; + +}} + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/unoxml/inc/mouseevent.hxx b/unoxml/inc/mouseevent.hxx new file mode 100644 index 000000000000..3f6788e89f13 --- /dev/null +++ b/unoxml/inc/mouseevent.hxx @@ -0,0 +1,104 @@ +/* -*- 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_UNOXML_INC_MOUSEEVENT_HXX +#define INCLUDED_UNOXML_INC_MOUSEEVENT_HXX + +#include +#include + +#include + +#include "uievent.hxx" + +namespace DOM { namespace events { + +typedef ::cppu::ImplInheritanceHelper< CUIEvent, css::xml::dom::events::XMouseEvent > + CMouseEvent_Base; + +class CMouseEvent + : public CMouseEvent_Base +{ + sal_Int32 m_screenX; + sal_Int32 m_screenY; + sal_Int32 m_clientX; + sal_Int32 m_clientY; + bool m_ctrlKey; + bool m_shiftKey; + bool m_altKey; + bool m_metaKey; + sal_Int16 m_button; + +public: + explicit CMouseEvent(); + + virtual sal_Int32 SAL_CALL getScreenX() override; + virtual sal_Int32 SAL_CALL getScreenY() override; + virtual sal_Int32 SAL_CALL getClientX() override; + virtual sal_Int32 SAL_CALL getClientY() override; + virtual sal_Bool SAL_CALL getCtrlKey() override; + virtual sal_Bool SAL_CALL getShiftKey() override; + virtual sal_Bool SAL_CALL getAltKey() override; + virtual sal_Bool SAL_CALL getMetaKey() override; + virtual sal_Int16 SAL_CALL getButton() override; + virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getRelatedTarget() override; + + virtual void SAL_CALL initMouseEvent( + const OUString& typeArg, + sal_Bool canBubbleArg, + sal_Bool cancelableArg, + const css::uno::Reference< css::xml::dom::views::XAbstractView >& viewArg, + sal_Int32 detailArg, + sal_Int32 screenXArg, + sal_Int32 screenYArg, + sal_Int32 clientXArg, + sal_Int32 clientYArg, + sal_Bool ctrlKeyArg, + sal_Bool altKeyArg, + sal_Bool shiftKeyArg, + sal_Bool metaKeyArg, + sal_Int16 buttonArg, + const css::uno::Reference< css::xml::dom::events::XEventTarget >& relatedTargetArg) override; + + // delegate to CUIevent + virtual css::uno::Reference< css::xml::dom::views::XAbstractView > SAL_CALL getView() override; + virtual sal_Int32 SAL_CALL getDetail() override; + virtual void SAL_CALL initUIEvent(const OUString& typeArg, + sal_Bool canBubbleArg, + sal_Bool cancelableArg, + const css::uno::Reference< css::xml::dom::views::XAbstractView >& viewArg, + sal_Int32 detailArg) override; + virtual OUString SAL_CALL getType() override; + virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getTarget() override; + virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getCurrentTarget() override; + virtual css::xml::dom::events::PhaseType SAL_CALL getEventPhase() override; + virtual sal_Bool SAL_CALL getBubbles() override; + virtual sal_Bool SAL_CALL getCancelable() override; + virtual css::util::Time SAL_CALL getTimeStamp() override; + virtual void SAL_CALL stopPropagation() override; + virtual void SAL_CALL preventDefault() override; + virtual void SAL_CALL initEvent( + const OUString& eventTypeArg, + sal_Bool canBubbleArg, + sal_Bool cancelableArg) override; +}; +}} +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/unoxml/inc/mutationevent.hxx b/unoxml/inc/mutationevent.hxx new file mode 100644 index 000000000000..5499b5a93633 --- /dev/null +++ b/unoxml/inc/mutationevent.hxx @@ -0,0 +1,87 @@ +/* -*- 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_UNOXML_INC_MUTATIONEVENT_HXX +#define INCLUDED_UNOXML_INC_MUTATIONEVENT_HXX + +#include + +#include + +#include +#include +#include + +#include + +#include "event.hxx" + +namespace DOM { namespace events { + +typedef ::cppu::ImplInheritanceHelper< CEvent, css::xml::dom::events::XMutationEvent > + CMutationEvent_Base; + +class CMutationEvent + : public CMutationEvent_Base +{ + css::uno::Reference< css::xml::dom::XNode > m_relatedNode; + OUString m_prevValue; + OUString m_newValue; + OUString m_attrName; + css::xml::dom::events::AttrChangeType m_attrChangeType; + +public: + explicit CMutationEvent(); + + virtual ~CMutationEvent() override; + + virtual css::uno::Reference< css::xml::dom::XNode > SAL_CALL getRelatedNode() override; + virtual OUString SAL_CALL getPrevValue() override; + virtual OUString SAL_CALL getNewValue() override; + virtual OUString SAL_CALL getAttrName() override; + virtual css::xml::dom::events::AttrChangeType SAL_CALL getAttrChange() override; + virtual void SAL_CALL initMutationEvent( + const OUString& typeArg, + sal_Bool canBubbleArg, + sal_Bool cancelableArg, + const css::uno::Reference< css::xml::dom::XNode >& relatedNodeArg, + const OUString& prevValueArg, + const OUString& newValueArg, + const OUString& attrNameArg, + css::xml::dom::events::AttrChangeType attrChangeArg) override; + + // delegate to CEvent, since we are inheriting from CEvent and XEvent + virtual OUString SAL_CALL getType() override; + virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getTarget() override; + virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getCurrentTarget() override; + virtual css::xml::dom::events::PhaseType SAL_CALL getEventPhase() override; + virtual sal_Bool SAL_CALL getBubbles() override; + virtual sal_Bool SAL_CALL getCancelable() override; + virtual css::util::Time SAL_CALL getTimeStamp() override; + virtual void SAL_CALL stopPropagation() override; + virtual void SAL_CALL preventDefault() override; + virtual void SAL_CALL initEvent( + const OUString& eventTypeArg, + sal_Bool canBubbleArg, + sal_Bool cancelableArg) override; +}; +}} +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/unoxml/inc/uievent.hxx b/unoxml/inc/uievent.hxx new file mode 100644 index 000000000000..7f7d4397a218 --- /dev/null +++ b/unoxml/inc/uievent.hxx @@ -0,0 +1,73 @@ +/* -*- 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_UNOXML_INC_UIEVENT_HXX +#define INCLUDED_UNOXML_INC_UIEVENT_HXX + +#include + +#include +#include +#include + +#include + +#include "event.hxx" + +namespace DOM { namespace events { + +typedef ::cppu::ImplInheritanceHelper< CEvent, css::xml::dom::events::XUIEvent > CUIEvent_Base; + +class CUIEvent + : public CUIEvent_Base +{ +protected: + sal_Int32 m_detail; + css::uno::Reference< css::xml::dom::views::XAbstractView > m_view; + +public: + explicit CUIEvent(); + + virtual css::uno::Reference< css::xml::dom::views::XAbstractView > SAL_CALL getView() override; + virtual sal_Int32 SAL_CALL getDetail() override; + virtual void SAL_CALL initUIEvent(const OUString& typeArg, + sal_Bool canBubbleArg, + sal_Bool cancelableArg, + const css::uno::Reference< css::xml::dom::views::XAbstractView >& viewArg, + sal_Int32 detailArg) override; + + // delegate to CEvent, since we are inheriting from CEvent and XEvent + virtual OUString SAL_CALL getType() override; + virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getTarget() override; + virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getCurrentTarget() override; + virtual css::xml::dom::events::PhaseType SAL_CALL getEventPhase() override; + virtual sal_Bool SAL_CALL getBubbles() override; + virtual sal_Bool SAL_CALL getCancelable() override; + virtual css::util::Time SAL_CALL getTimeStamp() override; + virtual void SAL_CALL stopPropagation() override; + virtual void SAL_CALL preventDefault() override; + virtual void SAL_CALL initEvent( + const OUString& eventTypeArg, + sal_Bool canBubbleArg, + sal_Bool cancelableArg) override; +}; +}} +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/unoxml/source/dom/characterdata.cxx b/unoxml/source/dom/characterdata.cxx index e8ac2aee7c23..0e929522546b 100644 --- a/unoxml/source/dom/characterdata.cxx +++ b/unoxml/source/dom/characterdata.cxx @@ -27,7 +27,7 @@ #include -#include "../events/mutationevent.hxx" +#include "mutationevent.hxx" using namespace css::uno; using namespace css::xml::dom; diff --git a/unoxml/source/dom/document.cxx b/unoxml/source/dom/document.cxx index bc2969c7abec..580926273758 100644 --- a/unoxml/source/dom/document.cxx +++ b/unoxml/source/dom/document.cxx @@ -34,11 +34,11 @@ #include #include -#include "../events/event.hxx" -#include "../events/mutationevent.hxx" -#include "../events/uievent.hxx" -#include "../events/mouseevent.hxx" -#include "../events/eventdispatcher.hxx" +#include "event.hxx" +#include "mutationevent.hxx" +#include "uievent.hxx" +#include "mouseevent.hxx" +#include "eventdispatcher.hxx" #include diff --git a/unoxml/source/dom/element.cxx b/unoxml/source/dom/element.cxx index b14890fa29d7..8e415f74eadb 100644 --- a/unoxml/source/dom/element.cxx +++ b/unoxml/source/dom/element.cxx @@ -36,7 +36,7 @@ #include #include -#include "../events/mutationevent.hxx" +#include "mutationevent.hxx" using namespace css::uno; using namespace css::xml::dom; diff --git a/unoxml/source/dom/node.cxx b/unoxml/source/dom/node.cxx index aeb77cfcd0a5..4386cfdd0637 100644 --- a/unoxml/source/dom/node.cxx +++ b/unoxml/source/dom/node.cxx @@ -39,8 +39,8 @@ #include #include -#include "../events/eventdispatcher.hxx" -#include "../events/mutationevent.hxx" +#include "eventdispatcher.hxx" +#include "mutationevent.hxx" using namespace css; using namespace css::uno; diff --git a/unoxml/source/events/event.hxx b/unoxml/source/events/event.hxx deleted file mode 100644 index ed07d59f2639..000000000000 --- a/unoxml/source/events/event.hxx +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- 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_UNOXML_SOURCE_EVENTS_EVENT_HXX -#define INCLUDED_UNOXML_SOURCE_EVENTS_EVENT_HXX - -#include - -#include -#include -#include -#include - -#include - -#include "node.hxx" - -namespace DOM {namespace events -{ -class CEvent : public cppu::WeakImplHelper< css::xml::dom::events::XEvent > -{ -friend class CEventDispatcher; - -protected: - ::osl::Mutex m_Mutex; - bool m_canceled; - OUString m_eventType; - css::uno::Reference< css::xml::dom::events::XEventTarget > m_target; - css::uno::Reference< css::xml::dom::events::XEventTarget > m_currentTarget; - css::xml::dom::events::PhaseType m_phase; - bool m_bubbles; - bool m_cancelable; - css::util::Time m_time; - -public: - - explicit CEvent(); - - virtual ~CEvent() override; - virtual OUString SAL_CALL getType() override; - virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getTarget() override; - virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getCurrentTarget() override; - virtual css::xml::dom::events::PhaseType SAL_CALL getEventPhase() override; - virtual sal_Bool SAL_CALL getBubbles() override; - virtual sal_Bool SAL_CALL getCancelable() override; - virtual css::util::Time SAL_CALL getTimeStamp() override; - virtual void SAL_CALL stopPropagation() override; - virtual void SAL_CALL preventDefault() override; - virtual void SAL_CALL initEvent( - const OUString& eventTypeArg, - sal_Bool canBubbleArg, - sal_Bool cancelableArg) override; -}; -}} -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/unoxml/source/events/eventdispatcher.hxx b/unoxml/source/events/eventdispatcher.hxx deleted file mode 100644 index d992ff30d8d3..000000000000 --- a/unoxml/source/events/eventdispatcher.hxx +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- 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_UNOXML_SOURCE_EVENTS_EVENTDISPATCHER_HXX -#define INCLUDED_UNOXML_SOURCE_EVENTS_EVENTDISPATCHER_HXX - -#include -#include - -#include - -#include - -#include -#include -#include -#include -#include - -namespace osl { class Mutex; } - -namespace DOM { - -class CDocument; - -namespace events { - -typedef std::multimap< xmlNodePtr, css::uno::Reference< css::xml::dom::events::XEventListener> > ListenerMap; -typedef std::map TypeListenerMap; - -class CEventDispatcher -{ -private: - TypeListenerMap m_CaptureListeners; - TypeListenerMap m_TargetListeners; - -public: - void addListener( - xmlNodePtr pNode, - const OUString& aType, - const css::uno::Reference& aListener, - bool bCapture); - - void removeListener( - xmlNodePtr pNode, - const OUString& aType, - const css::uno::Reference& aListener, - bool bCapture); - - static void callListeners( - TypeListenerMap const& rTMap, - xmlNodePtr const pNode, - const OUString& aType, - const css::uno::Reference< css::xml::dom::events::XEvent >& xEvent); - - bool dispatchEvent( - DOM::CDocument & rDocument, - ::osl::Mutex & rMutex, - xmlNodePtr const pNode, - css::uno::Reference const& xNode, - css::uno::Reference< css::xml::dom::events::XEvent > const& xEvent) const; - - ~CEventDispatcher(); -}; - -}} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/unoxml/source/events/mouseevent.hxx b/unoxml/source/events/mouseevent.hxx deleted file mode 100644 index 87ea75a2bb66..000000000000 --- a/unoxml/source/events/mouseevent.hxx +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- 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_UNOXML_SOURCE_EVENTS_MOUSEEVENT_HXX -#define INCLUDED_UNOXML_SOURCE_EVENTS_MOUSEEVENT_HXX - -#include -#include - -#include - -#include "uievent.hxx" - -namespace DOM { namespace events { - -typedef ::cppu::ImplInheritanceHelper< CUIEvent, css::xml::dom::events::XMouseEvent > - CMouseEvent_Base; - -class CMouseEvent - : public CMouseEvent_Base -{ - sal_Int32 m_screenX; - sal_Int32 m_screenY; - sal_Int32 m_clientX; - sal_Int32 m_clientY; - bool m_ctrlKey; - bool m_shiftKey; - bool m_altKey; - bool m_metaKey; - sal_Int16 m_button; - -public: - explicit CMouseEvent(); - - virtual sal_Int32 SAL_CALL getScreenX() override; - virtual sal_Int32 SAL_CALL getScreenY() override; - virtual sal_Int32 SAL_CALL getClientX() override; - virtual sal_Int32 SAL_CALL getClientY() override; - virtual sal_Bool SAL_CALL getCtrlKey() override; - virtual sal_Bool SAL_CALL getShiftKey() override; - virtual sal_Bool SAL_CALL getAltKey() override; - virtual sal_Bool SAL_CALL getMetaKey() override; - virtual sal_Int16 SAL_CALL getButton() override; - virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getRelatedTarget() override; - - virtual void SAL_CALL initMouseEvent( - const OUString& typeArg, - sal_Bool canBubbleArg, - sal_Bool cancelableArg, - const css::uno::Reference< css::xml::dom::views::XAbstractView >& viewArg, - sal_Int32 detailArg, - sal_Int32 screenXArg, - sal_Int32 screenYArg, - sal_Int32 clientXArg, - sal_Int32 clientYArg, - sal_Bool ctrlKeyArg, - sal_Bool altKeyArg, - sal_Bool shiftKeyArg, - sal_Bool metaKeyArg, - sal_Int16 buttonArg, - const css::uno::Reference< css::xml::dom::events::XEventTarget >& relatedTargetArg) override; - - // delegate to CUIevent - virtual css::uno::Reference< css::xml::dom::views::XAbstractView > SAL_CALL getView() override; - virtual sal_Int32 SAL_CALL getDetail() override; - virtual void SAL_CALL initUIEvent(const OUString& typeArg, - sal_Bool canBubbleArg, - sal_Bool cancelableArg, - const css::uno::Reference< css::xml::dom::views::XAbstractView >& viewArg, - sal_Int32 detailArg) override; - virtual OUString SAL_CALL getType() override; - virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getTarget() override; - virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getCurrentTarget() override; - virtual css::xml::dom::events::PhaseType SAL_CALL getEventPhase() override; - virtual sal_Bool SAL_CALL getBubbles() override; - virtual sal_Bool SAL_CALL getCancelable() override; - virtual css::util::Time SAL_CALL getTimeStamp() override; - virtual void SAL_CALL stopPropagation() override; - virtual void SAL_CALL preventDefault() override; - virtual void SAL_CALL initEvent( - const OUString& eventTypeArg, - sal_Bool canBubbleArg, - sal_Bool cancelableArg) override; -}; -}} -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/unoxml/source/events/mutationevent.hxx b/unoxml/source/events/mutationevent.hxx deleted file mode 100644 index c8dfc3aed1a0..000000000000 --- a/unoxml/source/events/mutationevent.hxx +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- 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_UNOXML_SOURCE_EVENTS_MUTATIONEVENT_HXX -#define INCLUDED_UNOXML_SOURCE_EVENTS_MUTATIONEVENT_HXX - -#include - -#include - -#include -#include -#include - -#include - -#include "event.hxx" - -namespace DOM { namespace events { - -typedef ::cppu::ImplInheritanceHelper< CEvent, css::xml::dom::events::XMutationEvent > - CMutationEvent_Base; - -class CMutationEvent - : public CMutationEvent_Base -{ - css::uno::Reference< css::xml::dom::XNode > m_relatedNode; - OUString m_prevValue; - OUString m_newValue; - OUString m_attrName; - css::xml::dom::events::AttrChangeType m_attrChangeType; - -public: - explicit CMutationEvent(); - - virtual ~CMutationEvent() override; - - virtual css::uno::Reference< css::xml::dom::XNode > SAL_CALL getRelatedNode() override; - virtual OUString SAL_CALL getPrevValue() override; - virtual OUString SAL_CALL getNewValue() override; - virtual OUString SAL_CALL getAttrName() override; - virtual css::xml::dom::events::AttrChangeType SAL_CALL getAttrChange() override; - virtual void SAL_CALL initMutationEvent( - const OUString& typeArg, - sal_Bool canBubbleArg, - sal_Bool cancelableArg, - const css::uno::Reference< css::xml::dom::XNode >& relatedNodeArg, - const OUString& prevValueArg, - const OUString& newValueArg, - const OUString& attrNameArg, - css::xml::dom::events::AttrChangeType attrChangeArg) override; - - // delegate to CEvent, since we are inheriting from CEvent and XEvent - virtual OUString SAL_CALL getType() override; - virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getTarget() override; - virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getCurrentTarget() override; - virtual css::xml::dom::events::PhaseType SAL_CALL getEventPhase() override; - virtual sal_Bool SAL_CALL getBubbles() override; - virtual sal_Bool SAL_CALL getCancelable() override; - virtual css::util::Time SAL_CALL getTimeStamp() override; - virtual void SAL_CALL stopPropagation() override; - virtual void SAL_CALL preventDefault() override; - virtual void SAL_CALL initEvent( - const OUString& eventTypeArg, - sal_Bool canBubbleArg, - sal_Bool cancelableArg) override; -}; -}} -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/unoxml/source/events/uievent.hxx b/unoxml/source/events/uievent.hxx deleted file mode 100644 index c82e600c24c6..000000000000 --- a/unoxml/source/events/uievent.hxx +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- 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_UNOXML_SOURCE_EVENTS_UIEVENT_HXX -#define INCLUDED_UNOXML_SOURCE_EVENTS_UIEVENT_HXX - -#include - -#include -#include -#include - -#include - -#include "event.hxx" - -namespace DOM { namespace events { - -typedef ::cppu::ImplInheritanceHelper< CEvent, css::xml::dom::events::XUIEvent > CUIEvent_Base; - -class CUIEvent - : public CUIEvent_Base -{ -protected: - sal_Int32 m_detail; - css::uno::Reference< css::xml::dom::views::XAbstractView > m_view; - -public: - explicit CUIEvent(); - - virtual css::uno::Reference< css::xml::dom::views::XAbstractView > SAL_CALL getView() override; - virtual sal_Int32 SAL_CALL getDetail() override; - virtual void SAL_CALL initUIEvent(const OUString& typeArg, - sal_Bool canBubbleArg, - sal_Bool cancelableArg, - const css::uno::Reference< css::xml::dom::views::XAbstractView >& viewArg, - sal_Int32 detailArg) override; - - // delegate to CEvent, since we are inheriting from CEvent and XEvent - virtual OUString SAL_CALL getType() override; - virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getTarget() override; - virtual css::uno::Reference< css::xml::dom::events::XEventTarget > SAL_CALL getCurrentTarget() override; - virtual css::xml::dom::events::PhaseType SAL_CALL getEventPhase() override; - virtual sal_Bool SAL_CALL getBubbles() override; - virtual sal_Bool SAL_CALL getCancelable() override; - virtual css::util::Time SAL_CALL getTimeStamp() override; - virtual void SAL_CALL stopPropagation() override; - virtual void SAL_CALL preventDefault() override; - virtual void SAL_CALL initEvent( - const OUString& eventTypeArg, - sal_Bool canBubbleArg, - sal_Bool cancelableArg) override; -}; -}} -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3