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 @@
#include <ViewDefines.hxx>
#include <CommonConverters.hxx>
#include <DateHelper.hxx>
#include <o3tl/make_unique.hxx>
#include <com/sun/star/chart/TimeUnit.hpp>
namespace chart
......@@ -46,10 +47,9 @@ BarPositionHelper::~BarPositionHelper()
{
}
PlottingPositionHelper* BarPositionHelper::clone() const
std::unique_ptr<PlottingPositionHelper> BarPositionHelper::clone() const
{
BarPositionHelper* pRet = new BarPositionHelper(*this);
return pRet;
return o3tl::make_unique<BarPositionHelper>(*this);
}
void BarPositionHelper::updateSeriesCount( double fSeriesCount )
......
......@@ -33,7 +33,7 @@ public:
BarPositionHelper( const BarPositionHelper& rSource );
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*/
......
......@@ -175,11 +175,6 @@ VSeriesPlotter::~VSeriesPlotter()
}
m_aZSlots.clear();
for (auto const& elem : m_aSecondaryPosHelperMap)
{
PlottingPositionHelper* pPosHelper = elem.second;
delete pPosHelper;
}
m_aSecondaryPosHelperMap.clear();
m_aSecondaryValueScales.clear();
......@@ -2077,15 +2072,15 @@ PlottingPositionHelper& VSeriesPlotter::getPlottingPositionHelper( sal_Int32 nAx
tSecondaryPosHelperMap::const_iterator aPosIt = m_aSecondaryPosHelperMap.find( nAxisIndex );
if( aPosIt != m_aSecondaryPosHelperMap.end() )
{
pRet = aPosIt->second;
pRet = aPosIt->second.get();
}
else if (m_pPosHelper)
{
tSecondaryValueScales::const_iterator aScaleIt = m_aSecondaryValueScales.find( nAxisIndex );
if( aScaleIt != m_aSecondaryValueScales.end() )
{
pRet = m_pPosHelper->createSecondaryPosHelper( aScaleIt->second );
m_aSecondaryPosHelperMap[nAxisIndex] = pRet;
m_aSecondaryPosHelperMap[nAxisIndex] = m_pPosHelper->createSecondaryPosHelper( aScaleIt->second );
pRet = m_aSecondaryPosHelperMap[nAxisIndex].get();
}
}
}
......
......@@ -46,8 +46,8 @@ public:
PlottingPositionHelper( const PlottingPositionHelper& rSource );
virtual ~PlottingPositionHelper();
virtual PlottingPositionHelper* clone() const;
PlottingPositionHelper* createSecondaryPosHelper( const ExplicitScaleData& rSecondaryScale );
virtual std::unique_ptr<PlottingPositionHelper> clone() const;
std::unique_ptr<PlottingPositionHelper> createSecondaryPosHelper( const ExplicitScaleData& rSecondaryScale );
virtual void setTransformationSceneToScreen( const css::drawing::HomogenMatrix& rMatrix);
......@@ -143,7 +143,7 @@ public:
PolarPlottingPositionHelper( const PolarPlottingPositionHelper& rSource );
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 setScales( const std::vector< ExplicitScaleData >& rScales, bool bSwapXAndYAxis ) override;
......
......@@ -424,7 +424,7 @@ private:
typedef std::map< sal_Int32 , ExplicitScaleData > tSecondaryValueScales;
tSecondaryValueScales m_aSecondaryValueScales;
typedef std::map< sal_Int32 , PlottingPositionHelper* > tSecondaryPosHelperMap;
typedef std::map< sal_Int32 , std::unique_ptr<PlottingPositionHelper> > tSecondaryPosHelperMap;
mutable tSecondaryPosHelperMap m_aSecondaryPosHelperMap;
css::awt::Size m_aPageReferenceSize;
};
......
......@@ -33,6 +33,7 @@
#include <com/sun/star/drawing/Position3D.hpp>
#include <com/sun/star/drawing/XShapes.hpp>
#include <o3tl/make_unique.hxx>
#include <rtl/math.hxx>
#include <tools/helpers.hxx>
......@@ -81,15 +82,14 @@ PlottingPositionHelper::~PlottingPositionHelper()
}
PlottingPositionHelper* PlottingPositionHelper::clone() const
std::unique_ptr<PlottingPositionHelper> PlottingPositionHelper::clone() const
{
PlottingPositionHelper* pRet = new PlottingPositionHelper(*this);
return pRet;
return o3tl::make_unique<PlottingPositionHelper>(*this);
}
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;
return pRet;
}
......@@ -338,10 +338,9 @@ PolarPlottingPositionHelper::~PolarPlottingPositionHelper()
{
}
PlottingPositionHelper* PolarPlottingPositionHelper::clone() const
std::unique_ptr<PlottingPositionHelper> PolarPlottingPositionHelper::clone() const
{
PolarPlottingPositionHelper* pRet = new PolarPlottingPositionHelper(*this);
return pRet;
return o3tl::make_unique<PolarPlottingPositionHelper>(*this);
}
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