[Libreoffice-commits] core.git: chart2/Library_chartcore.mk chart2/source compilerplugins/clang solenv/clang-format

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Thu Sep 3 09:18:40 UTC 2020


 chart2/Library_chartcore.mk                                  |    1 
 chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx |    3 
 chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx |    2 
 chart2/source/inc/ModifyListenerCallBack.hxx                 |   58 +++++
 chart2/source/tools/ModifyListenerCallBack.cxx               |  114 +++++++++++
 compilerplugins/clang/unusedmethods.results                  |    2 
 solenv/clang-format/excludelist                              |    2 
 7 files changed, 180 insertions(+), 2 deletions(-)

New commits:
commit 48def32f9ce8f10baa6bb0f01ddfe5dfa16ecdfc
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Sep 1 19:42:38 2020 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Sep 3 11:17:55 2020 +0200

    restore m_aModelChangeListener
    
    which disappeared, apparently by accident with...
    
    commit 56e1133f724896aec3f5b5c409fb5917a3b13eb4
    Date:   Sun Dec 8 19:33:42 2013 -0200
    
        Convert chart 3D scene illumination to .ui
    
    and then a bunch of cleanups removed the unused code
    
    Change-Id: I53fe4f6878dda4f7b8d76a04213b5c6d1366a165
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101917
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/chart2/Library_chartcore.mk b/chart2/Library_chartcore.mk
index 1e285392c42f..3882c379a7a0 100644
--- a/chart2/Library_chartcore.mk
+++ b/chart2/Library_chartcore.mk
@@ -204,6 +204,7 @@ $(eval $(call gb_Library_add_exception_objects,chartcore,\
     chart2/source/tools/LogarithmicRegressionCurveCalculator \
     chart2/source/tools/MeanValueRegressionCurveCalculator \
     chart2/source/tools/MediaDescriptorHelper \
+    chart2/source/tools/ModifyListenerCallBack \
     chart2/source/tools/ModifyListenerHelper \
     chart2/source/tools/MovingAverageRegressionCurveCalculator \
     chart2/source/tools/NameContainer \
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
index 27566a2a1251..3ee495b7f84d 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
@@ -189,6 +189,7 @@ ThreeD_SceneIllumination_TabPage::ThreeD_SceneIllumination_TabPage(weld::Contain
     : m_xSceneProperties( xSceneProperties )
     , m_aTimerTriggeredControllerLock( xChartModel )
     , m_bInCommitToModel( false )
+    , m_aModelChangeListener( LINK( this, ThreeD_SceneIllumination_TabPage, fillControlsFromModel ) )
     , m_xChartModel( xChartModel )
     , m_pTopLevel(pTopLevel)
     , m_xBuilder(Application::CreateBuilder(pParent, "modules/schart/ui/tp_3D_SceneIllumination.ui"))
@@ -243,6 +244,8 @@ ThreeD_SceneIllumination_TabPage::ThreeD_SceneIllumination_TabPage(weld::Contain
     m_xCtl_Preview->SetUserSelectionChangeCallback( LINK( this, ThreeD_SceneIllumination_TabPage, PreviewSelectHdl ) );
 
     ClickLightSourceButtonHdl(*m_xBtn_Light2->get_widget());
+
+    m_aModelChangeListener.startListening( uno::Reference< util::XModifyBroadcaster >(m_xSceneProperties, uno::UNO_QUERY) );
 }
 
 ThreeD_SceneIllumination_TabPage::~ThreeD_SceneIllumination_TabPage()
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
index 27606079ec91..5af02536d127 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
@@ -19,6 +19,7 @@
 #ifndef INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_TP_3D_SCENEILLUMINATION_HXX
 #define INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_TP_3D_SCENEILLUMINATION_HXX
 
+#include <ModifyListenerCallBack.hxx>
 #include <TimerTriggeredControllerLock.hxx>
 #include <vcl/weld.hxx>
 #include <svx/dlgctl3d.hxx>
@@ -65,6 +66,7 @@ private:
 
     bool            m_bInCommitToModel;
 
+    ModifyListenerCallBack m_aModelChangeListener;
     css::uno::Reference<css::frame::XModel> m_xChartModel;
 
     weld::Window* m_pTopLevel;
diff --git a/chart2/source/inc/ModifyListenerCallBack.hxx b/chart2/source/inc/ModifyListenerCallBack.hxx
new file mode 100644
index 000000000000..f53f10fbb9ad
--- /dev/null
+++ b/chart2/source/inc/ModifyListenerCallBack.hxx
@@ -0,0 +1,58 @@
+/* -*- 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_CHART2_SOURCE_INC_MODIFYLISTENERCALLBACK_HXX
+#define INCLUDED_CHART2_SOURCE_INC_MODIFYLISTENERCALLBACK_HXX
+
+#include <tools/link.hxx>
+#include <com/sun/star/util/XModifyBroadcaster.hpp>
+#include <com/sun/star/util/XModifyListener.hpp>
+#include "charttoolsdllapi.hxx"
+
+namespace chart {
+
+/** Use this class as a member if you want to listen on a XModifyBroadcaster
+without becoming a XModifyListener yourself
+ */
+
+class ModifyListenerCallBack_impl;
+
+class OOO_DLLPUBLIC_CHARTTOOLS ModifyListenerCallBack
+{
+public:
+    explicit ModifyListenerCallBack( const Link<void*,void>& rCallBack );
+
+    virtual ~ModifyListenerCallBack();
+
+    void startListening( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyBroadcaster >& xBroadcaster );
+    SAL_DLLPRIVATE void stopListening();
+
+private: //methods
+    ModifyListenerCallBack( const ModifyListenerCallBack& ) = delete;
+
+private: //member
+    ModifyListenerCallBack_impl* pModifyListener_impl;
+    css::uno::Reference< css::util::XModifyListener >   m_xModifyListener;
+};
+
+} // namespace chart
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/tools/ModifyListenerCallBack.cxx b/chart2/source/tools/ModifyListenerCallBack.cxx
new file mode 100644
index 000000000000..55d681061f8d
--- /dev/null
+++ b/chart2/source/tools/ModifyListenerCallBack.cxx
@@ -0,0 +1,114 @@
+/* -*- 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 .
+ */
+
+#include <ModifyListenerCallBack.hxx>
+#include <cppuhelper/compbase.hxx>
+#include <MutexContainer.hxx>
+
+using namespace ::com::sun::star;
+using ::com::sun::star::uno::Reference;
+
+namespace chart {
+
+typedef ::cppu::WeakComponentImplHelper< css::util::XModifyListener >
+    ModifyListenerCallBack_Base;
+
+class ModifyListenerCallBack_impl
+    : public ::chart::MutexContainer
+    , public ModifyListenerCallBack_Base
+{
+public:
+    explicit ModifyListenerCallBack_impl( const Link<void*,void>& rCallBack );
+
+    void startListening( const Reference< util::XModifyBroadcaster >& xBroadcaster );
+    void stopListening();
+
+    //XModifyListener
+    virtual void SAL_CALL modified( const lang::EventObject& aEvent ) override;
+
+    //XEventListener
+    virtual void SAL_CALL disposing( const lang::EventObject& Source ) override;
+
+    using ::cppu::WeakComponentImplHelperBase::disposing;
+
+private:
+    Link<void*,void> m_aLink;//will be called on modify
+    Reference< util::XModifyBroadcaster > m_xBroadcaster;//broadcaster to listen at
+};
+
+ModifyListenerCallBack_impl::ModifyListenerCallBack_impl( const Link<void*,void>& rCallBack )
+                        : ModifyListenerCallBack_Base( m_aMutex )
+                        , m_aLink( rCallBack )
+{
+}
+
+//XModifyListener
+void SAL_CALL ModifyListenerCallBack_impl::modified( const lang::EventObject& /*aEvent*/ )
+{
+    m_aLink.Call(nullptr);
+}
+
+//XEventListener
+void SAL_CALL ModifyListenerCallBack_impl::disposing( const lang::EventObject& /*Source*/ )
+{
+    m_xBroadcaster.clear();
+}
+
+void ModifyListenerCallBack_impl::startListening( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyBroadcaster >& xBroadcaster )
+{
+    if( m_xBroadcaster == xBroadcaster )
+        return;
+
+    stopListening();
+    m_xBroadcaster = xBroadcaster;
+    if( m_xBroadcaster.is() )
+        m_xBroadcaster->addModifyListener( this );
+}
+void ModifyListenerCallBack_impl::stopListening()
+{
+    if( m_xBroadcaster.is() )
+    {
+        m_xBroadcaster->removeModifyListener( this );
+        m_xBroadcaster.clear();
+    }
+}
+
+ModifyListenerCallBack::ModifyListenerCallBack( const Link<void*,void>& rCallBack )
+                        : pModifyListener_impl( new ModifyListenerCallBack_impl(rCallBack) )
+                        , m_xModifyListener( pModifyListener_impl )
+{
+}
+
+ModifyListenerCallBack::~ModifyListenerCallBack()
+{
+    stopListening();
+}
+
+void ModifyListenerCallBack::startListening( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyBroadcaster >& xBroadcaster )
+{
+    pModifyListener_impl->startListening( xBroadcaster );
+}
+void ModifyListenerCallBack::stopListening()
+{
+    pModifyListener_impl->stopListening();
+}
+
+} // namespace chart
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/compilerplugins/clang/unusedmethods.results b/compilerplugins/clang/unusedmethods.results
index 3b45782a7e5c..81fa3f339a1c 100644
--- a/compilerplugins/clang/unusedmethods.results
+++ b/compilerplugins/clang/unusedmethods.results
@@ -40,8 +40,6 @@ canvas/inc/vclwrapper.hxx:137
     void canvas::vcltools::VCLObject::swap(VCLObject<Wrappee_> &)
 canvas/source/vcl/impltools.hxx:103
      vclcanvas::tools::LocalGuard::LocalGuard()
-chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx:55
-    void chart::ThreeD_SceneIllumination_TabPage::LinkStubfillControlsFromModel(void *,void *)
 connectivity/inc/sdbcx/VGroup.hxx:61
      connectivity::sdbcx::OGroup::OGroup(_Bool)
 connectivity/inc/sdbcx/VGroup.hxx:62
diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist
index 970a45ca64e6..e78748adc6a8 100644
--- a/solenv/clang-format/excludelist
+++ b/solenv/clang-format/excludelist
@@ -1171,6 +1171,7 @@ chart2/source/inc/LinearRegressionCurveCalculator.hxx
 chart2/source/inc/LogarithmicRegressionCurveCalculator.hxx
 chart2/source/inc/MeanValueRegressionCurveCalculator.hxx
 chart2/source/inc/MediaDescriptorHelper.hxx
+chart2/source/inc/ModifyListenerCallBack.hxx
 chart2/source/inc/ModifyListenerHelper.hxx
 chart2/source/inc/MovingAverageRegressionCurveCalculator.hxx
 chart2/source/inc/NameContainer.hxx
@@ -1334,6 +1335,7 @@ chart2/source/tools/LinearRegressionCurveCalculator.cxx
 chart2/source/tools/LogarithmicRegressionCurveCalculator.cxx
 chart2/source/tools/MeanValueRegressionCurveCalculator.cxx
 chart2/source/tools/MediaDescriptorHelper.cxx
+chart2/source/tools/ModifyListenerCallBack.cxx
 chart2/source/tools/ModifyListenerHelper.cxx
 chart2/source/tools/MovingAverageRegressionCurveCalculator.cxx
 chart2/source/tools/NameContainer.cxx


More information about the Libreoffice-commits mailing list