Kaydet (Commit) 65360836 authored tarafından Noel Grandin's avatar Noel Grandin

pass PlottingPositionHelper around by std::unique_ptr

Change-Id: I2bcfeb1e670bc75f093a05e7d5bfb0be09235052
Reviewed-on: https://gerrit.libreoffice.org/59023
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 0b6f2f3f
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <ViewDefines.hxx> #include <ViewDefines.hxx>
#include <CommonConverters.hxx> #include <CommonConverters.hxx>
#include <DateHelper.hxx> #include <DateHelper.hxx>
#include <o3tl/make_unique.hxx>
#include <com/sun/star/chart/TimeUnit.hpp> #include <com/sun/star/chart/TimeUnit.hpp>
namespace chart namespace chart
...@@ -46,10 +47,9 @@ BarPositionHelper::~BarPositionHelper() ...@@ -46,10 +47,9 @@ BarPositionHelper::~BarPositionHelper()
{ {
} }
PlottingPositionHelper* BarPositionHelper::clone() const std::unique_ptr<PlottingPositionHelper> BarPositionHelper::clone() const
{ {
BarPositionHelper* pRet = new BarPositionHelper(*this); return o3tl::make_unique<BarPositionHelper>(*this);
return pRet;
} }
void BarPositionHelper::updateSeriesCount( double fSeriesCount ) void BarPositionHelper::updateSeriesCount( double fSeriesCount )
......
...@@ -33,7 +33,7 @@ public: ...@@ -33,7 +33,7 @@ public:
BarPositionHelper( const BarPositionHelper& rSource ); BarPositionHelper( const BarPositionHelper& rSource );
virtual ~BarPositionHelper() override; virtual ~BarPositionHelper() override;
virtual PlottingPositionHelper* clone() const override; virtual std::unique_ptr<PlottingPositionHelper> clone() const override;
void updateSeriesCount( double fSeriesCount ); /*only enter the size of x stacked series*/ void updateSeriesCount( double fSeriesCount ); /*only enter the size of x stacked series*/
......
...@@ -175,11 +175,6 @@ VSeriesPlotter::~VSeriesPlotter() ...@@ -175,11 +175,6 @@ VSeriesPlotter::~VSeriesPlotter()
} }
m_aZSlots.clear(); m_aZSlots.clear();
for (auto const& elem : m_aSecondaryPosHelperMap)
{
PlottingPositionHelper* pPosHelper = elem.second;
delete pPosHelper;
}
m_aSecondaryPosHelperMap.clear(); m_aSecondaryPosHelperMap.clear();
m_aSecondaryValueScales.clear(); m_aSecondaryValueScales.clear();
...@@ -2077,15 +2072,15 @@ PlottingPositionHelper& VSeriesPlotter::getPlottingPositionHelper( sal_Int32 nAx ...@@ -2077,15 +2072,15 @@ PlottingPositionHelper& VSeriesPlotter::getPlottingPositionHelper( sal_Int32 nAx
tSecondaryPosHelperMap::const_iterator aPosIt = m_aSecondaryPosHelperMap.find( nAxisIndex ); tSecondaryPosHelperMap::const_iterator aPosIt = m_aSecondaryPosHelperMap.find( nAxisIndex );
if( aPosIt != m_aSecondaryPosHelperMap.end() ) if( aPosIt != m_aSecondaryPosHelperMap.end() )
{ {
pRet = aPosIt->second; pRet = aPosIt->second.get();
} }
else if (m_pPosHelper) else if (m_pPosHelper)
{ {
tSecondaryValueScales::const_iterator aScaleIt = m_aSecondaryValueScales.find( nAxisIndex ); tSecondaryValueScales::const_iterator aScaleIt = m_aSecondaryValueScales.find( nAxisIndex );
if( aScaleIt != m_aSecondaryValueScales.end() ) if( aScaleIt != m_aSecondaryValueScales.end() )
{ {
pRet = m_pPosHelper->createSecondaryPosHelper( aScaleIt->second ); m_aSecondaryPosHelperMap[nAxisIndex] = m_pPosHelper->createSecondaryPosHelper( aScaleIt->second );
m_aSecondaryPosHelperMap[nAxisIndex] = pRet; pRet = m_aSecondaryPosHelperMap[nAxisIndex].get();
} }
} }
} }
......
...@@ -46,8 +46,8 @@ public: ...@@ -46,8 +46,8 @@ public:
PlottingPositionHelper( const PlottingPositionHelper& rSource ); PlottingPositionHelper( const PlottingPositionHelper& rSource );
virtual ~PlottingPositionHelper(); virtual ~PlottingPositionHelper();
virtual PlottingPositionHelper* clone() const; virtual std::unique_ptr<PlottingPositionHelper> clone() const;
PlottingPositionHelper* createSecondaryPosHelper( const ExplicitScaleData& rSecondaryScale ); std::unique_ptr<PlottingPositionHelper> createSecondaryPosHelper( const ExplicitScaleData& rSecondaryScale );
virtual void setTransformationSceneToScreen( const css::drawing::HomogenMatrix& rMatrix); virtual void setTransformationSceneToScreen( const css::drawing::HomogenMatrix& rMatrix);
...@@ -143,7 +143,7 @@ public: ...@@ -143,7 +143,7 @@ public:
PolarPlottingPositionHelper( const PolarPlottingPositionHelper& rSource ); PolarPlottingPositionHelper( const PolarPlottingPositionHelper& rSource );
virtual ~PolarPlottingPositionHelper() override; virtual ~PolarPlottingPositionHelper() override;
virtual PlottingPositionHelper* clone() const override; virtual std::unique_ptr<PlottingPositionHelper> clone() const override;
virtual void setTransformationSceneToScreen( const css::drawing::HomogenMatrix& rMatrix) override; virtual void setTransformationSceneToScreen( const css::drawing::HomogenMatrix& rMatrix) override;
virtual void setScales( const std::vector< ExplicitScaleData >& rScales, bool bSwapXAndYAxis ) override; virtual void setScales( const std::vector< ExplicitScaleData >& rScales, bool bSwapXAndYAxis ) override;
......
...@@ -424,7 +424,7 @@ private: ...@@ -424,7 +424,7 @@ private:
typedef std::map< sal_Int32 , ExplicitScaleData > tSecondaryValueScales; typedef std::map< sal_Int32 , ExplicitScaleData > tSecondaryValueScales;
tSecondaryValueScales m_aSecondaryValueScales; tSecondaryValueScales m_aSecondaryValueScales;
typedef std::map< sal_Int32 , PlottingPositionHelper* > tSecondaryPosHelperMap; typedef std::map< sal_Int32 , std::unique_ptr<PlottingPositionHelper> > tSecondaryPosHelperMap;
mutable tSecondaryPosHelperMap m_aSecondaryPosHelperMap; mutable tSecondaryPosHelperMap m_aSecondaryPosHelperMap;
css::awt::Size m_aPageReferenceSize; css::awt::Size m_aPageReferenceSize;
}; };
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <com/sun/star/drawing/Position3D.hpp> #include <com/sun/star/drawing/Position3D.hpp>
#include <com/sun/star/drawing/XShapes.hpp> #include <com/sun/star/drawing/XShapes.hpp>
#include <o3tl/make_unique.hxx>
#include <rtl/math.hxx> #include <rtl/math.hxx>
#include <tools/helpers.hxx> #include <tools/helpers.hxx>
...@@ -81,15 +82,14 @@ PlottingPositionHelper::~PlottingPositionHelper() ...@@ -81,15 +82,14 @@ PlottingPositionHelper::~PlottingPositionHelper()
} }
PlottingPositionHelper* PlottingPositionHelper::clone() const std::unique_ptr<PlottingPositionHelper> PlottingPositionHelper::clone() const
{ {
PlottingPositionHelper* pRet = new PlottingPositionHelper(*this); return o3tl::make_unique<PlottingPositionHelper>(*this);
return pRet;
} }
PlottingPositionHelper* PlottingPositionHelper::createSecondaryPosHelper( const ExplicitScaleData& rSecondaryScale ) std::unique_ptr<PlottingPositionHelper> PlottingPositionHelper::createSecondaryPosHelper( const ExplicitScaleData& rSecondaryScale )
{ {
PlottingPositionHelper* pRet = clone(); auto pRet = clone();
pRet->m_aScales[1]=rSecondaryScale; pRet->m_aScales[1]=rSecondaryScale;
return pRet; return pRet;
} }
...@@ -338,10 +338,9 @@ PolarPlottingPositionHelper::~PolarPlottingPositionHelper() ...@@ -338,10 +338,9 @@ PolarPlottingPositionHelper::~PolarPlottingPositionHelper()
{ {
} }
PlottingPositionHelper* PolarPlottingPositionHelper::clone() const std::unique_ptr<PlottingPositionHelper> PolarPlottingPositionHelper::clone() const
{ {
PolarPlottingPositionHelper* pRet = new PolarPlottingPositionHelper(*this); return o3tl::make_unique<PolarPlottingPositionHelper>(*this);
return pRet;
} }
void PolarPlottingPositionHelper::setTransformationSceneToScreen( const drawing::HomogenMatrix& rMatrix) void PolarPlottingPositionHelper::setTransformationSceneToScreen( const drawing::HomogenMatrix& rMatrix)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment