chart2/source/inc/Diagram.hxx | 7 +++---- chart2/source/model/main/Diagram.cxx | 26 ++++++++++++++++---------- chart2/source/model/main/Wall.hxx | 2 +- 3 files changed, 20 insertions(+), 15 deletions(-)
New commits: commit 96878d682cb298173cfc649271f0e92fc9f62dd4 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Wed Jan 19 13:23:59 2022 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Jan 19 15:00:31 2022 +0100 use more concrete types in chart2, Diagram Change-Id: Id21836b1258b8757e634fc9ab670ef1180748469 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128612 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/chart2/source/inc/Diagram.hxx b/chart2/source/inc/Diagram.hxx index 0235d52853c6..256a2c24ca6d 100644 --- a/chart2/source/inc/Diagram.hxx +++ b/chart2/source/inc/Diagram.hxx @@ -39,6 +39,7 @@ namespace com::sun::star::uno { class XComponentContext; } namespace chart { +class Wall; namespace impl { @@ -160,11 +161,9 @@ private: tCoordinateSystemContainerType m_aCoordSystems; - css::uno::Reference< css::beans::XPropertySet > - m_xWall; + rtl::Reference< Wall > m_xWall; - css::uno::Reference< css::beans::XPropertySet > - m_xFloor; + rtl::Reference< Wall > m_xFloor; css::uno::Reference< css::chart2::XTitle > m_xTitle; diff --git a/chart2/source/model/main/Diagram.cxx b/chart2/source/model/main/Diagram.cxx index c813831ef465..15082ccf42c2 100644 --- a/chart2/source/model/main/Diagram.cxx +++ b/chart2/source/model/main/Diagram.cxx @@ -277,13 +277,17 @@ Diagram::Diagram( const Diagram & rOther ) : lcl_CloneCoordinateSystems( rOther.m_aCoordSystems, m_aCoordSystems ); ModifyListenerHelper::addListenerToAllElements( m_aCoordSystems, m_xModifyEventForwarder ); - m_xWall.set( CloneHelper::CreateRefClone< beans::XPropertySet >()( rOther.m_xWall )); - m_xFloor.set( CloneHelper::CreateRefClone< beans::XPropertySet >()( rOther.m_xFloor )); + if ( rOther.m_xWall ) + m_xWall = new Wall( *rOther.m_xWall ); + if ( rOther.m_xFloor ) + m_xFloor = new Wall( *rOther.m_xFloor ); m_xTitle.set( CloneHelper::CreateRefClone< chart2::XTitle >()( rOther.m_xTitle )); m_xLegend.set( CloneHelper::CreateRefClone< chart2::XLegend >()( rOther.m_xLegend )); - ModifyListenerHelper::addListener( m_xWall, m_xModifyEventForwarder ); - ModifyListenerHelper::addListener( m_xFloor, m_xModifyEventForwarder ); + if ( m_xWall ) + m_xWall->addModifyListener( m_xModifyEventForwarder ); + if ( m_xFloor ) + m_xFloor->addModifyListener( m_xModifyEventForwarder ); ModifyListenerHelper::addListener( m_xTitle, m_xModifyEventForwarder ); ModifyListenerHelper::addListener( m_xLegend, m_xModifyEventForwarder ); } @@ -294,8 +298,10 @@ Diagram::~Diagram() { ModifyListenerHelper::removeListenerFromAllElements( m_aCoordSystems, m_xModifyEventForwarder ); - ModifyListenerHelper::removeListener( m_xWall, m_xModifyEventForwarder ); - ModifyListenerHelper::removeListener( m_xFloor, m_xModifyEventForwarder ); + if ( m_xWall ) + m_xWall->removeModifyListener( m_xModifyEventForwarder ); + if ( m_xFloor ) + m_xFloor->removeModifyListener( m_xModifyEventForwarder ); ModifyListenerHelper::removeListener( m_xTitle, m_xModifyEventForwarder ); ModifyListenerHelper::removeListener( m_xLegend, m_xModifyEventForwarder ); } @@ -308,7 +314,7 @@ Diagram::~Diagram() // ____ XDiagram ____ uno::Reference< beans::XPropertySet > SAL_CALL Diagram::getWall() { - uno::Reference< beans::XPropertySet > xRet; + rtl::Reference< Wall > xRet; bool bAddListener = false; { MutexGuard aGuard( m_aMutex ); @@ -320,13 +326,13 @@ uno::Reference< beans::XPropertySet > SAL_CALL Diagram::getWall() xRet = m_xWall; } if(bAddListener) - ModifyListenerHelper::addListener( xRet, m_xModifyEventForwarder ); + xRet->addModifyListener( m_xModifyEventForwarder ); return xRet; } uno::Reference< beans::XPropertySet > SAL_CALL Diagram::getFloor() { - uno::Reference< beans::XPropertySet > xRet; + rtl::Reference< Wall > xRet; bool bAddListener = false; { MutexGuard aGuard( m_aMutex ); @@ -338,7 +344,7 @@ uno::Reference< beans::XPropertySet > SAL_CALL Diagram::getFloor() xRet = m_xFloor; } if(bAddListener) - ModifyListenerHelper::addListener( xRet, m_xModifyEventForwarder ); + xRet->addModifyListener( m_xModifyEventForwarder ); return xRet; } diff --git a/chart2/source/model/main/Wall.hxx b/chart2/source/model/main/Wall.hxx index 916be997bef5..ddec92b6c876 100644 --- a/chart2/source/model/main/Wall.hxx +++ b/chart2/source/model/main/Wall.hxx @@ -50,7 +50,6 @@ public: /// merge XInterface implementations DECLARE_XINTERFACE() -private: explicit Wall( const Wall & rOther ); // ____ OPropertySet ____ @@ -72,6 +71,7 @@ private: virtual void SAL_CALL removeModifyListener( const css::uno::Reference< css::util::XModifyListener >& aListener ) override; +private: // ____ XModifyListener ____ virtual void SAL_CALL modified( const css::lang::EventObject& aEvent ) override;