Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
73baabff
Kaydet (Commit)
73baabff
authored
Kas 10, 2015
tarafından
Noel Grandin
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
chart2: replace boost::ptr_vector with std::vector<unique_ptr>
Change-Id: I5c374afcfa2760ebf21e461f38fe392692054dfe
üst
e0dec4c7
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
43 deletions
+27
-43
precompiled_chartcore.hxx
chart2/inc/pch/precompiled_chartcore.hxx
+0
-1
ChartView.cxx
chart2/source/view/main/ChartView.cxx
+27
-42
No files found.
chart2/inc/pch/precompiled_chartcore.hxx
Dosyayı görüntüle @
73baabff
...
@@ -33,7 +33,6 @@
...
@@ -33,7 +33,6 @@
#include <boost/bind.hpp>
#include <boost/bind.hpp>
#include <boost/checked_delete.hpp>
#include <boost/checked_delete.hpp>
#include <boost/ptr_container/ptr_map.hpp>
#include <boost/ptr_container/ptr_map.hpp>
#include <boost/ptr_container/ptr_vector.hpp>
#include <memory>
#include <memory>
#include <cmath>
#include <cmath>
#include <com/sun/star/awt/CharSet.hpp>
#include <com/sun/star/awt/CharSet.hpp>
...
...
chart2/source/view/main/ChartView.cxx
Dosyayı görüntüle @
73baabff
...
@@ -116,7 +116,6 @@
...
@@ -116,7 +116,6 @@
#include <osl/time.h>
#include <osl/time.h>
#include <memory>
#include <memory>
#include <boost/ptr_container/ptr_vector.hpp>
namespace
chart
{
namespace
chart
{
...
@@ -248,7 +247,7 @@ void AxisUsage::setExplicitScaleAndIncrement(
...
@@ -248,7 +247,7 @@ void AxisUsage::setExplicitScaleAndIncrement(
aVCooSysList
[
i
]
->
setExplicitScaleAndIncrement
(
nDimIndex
,
nAxisIndex
,
rScale
,
rInc
);
aVCooSysList
[
i
]
->
setExplicitScaleAndIncrement
(
nDimIndex
,
nAxisIndex
,
rScale
,
rInc
);
}
}
typedef
boost
::
ptr_vector
<
VSeriesPlotter
>
SeriesPlottersType
;
typedef
std
::
vector
<
std
::
unique_ptr
<
VSeriesPlotter
>
>
SeriesPlottersType
;
/** This class is a container of `SeriesPlotter` objects (such as `PieChart`
/** This class is a container of `SeriesPlotter` objects (such as `PieChart`
* instances). It is used for initializing coordinate systems, axes and scales
* instances). It is used for initializing coordinate systems, axes and scales
...
@@ -385,11 +384,9 @@ SeriesPlotterContainer::~SeriesPlotterContainer()
...
@@ -385,11 +384,9 @@ SeriesPlotterContainer::~SeriesPlotterContainer()
std
::
vector
<
LegendEntryProvider
*
>
SeriesPlotterContainer
::
getLegendEntryProviderList
()
std
::
vector
<
LegendEntryProvider
*
>
SeriesPlotterContainer
::
getLegendEntryProviderList
()
{
{
std
::
vector
<
LegendEntryProvider
*
>
aRet
(
m_aSeriesPlotterList
.
size
()
);
std
::
vector
<
LegendEntryProvider
*
>
aRet
(
m_aSeriesPlotterList
.
size
()
);
SeriesPlottersType
::
iterator
aPlotterIter
=
m_aSeriesPlotterList
.
begin
();
const
SeriesPlottersType
::
iterator
aPlotterEnd
=
m_aSeriesPlotterList
.
end
();
sal_Int32
nN
=
0
;
sal_Int32
nN
=
0
;
for
(
aPlotterIter
=
m_aSeriesPlotterList
.
begin
();
aPlotterIter
!=
aPlotterEnd
;
++
aPlotterIter
,
nN
++
)
for
(
std
::
unique_ptr
<
VSeriesPlotter
>&
aPlotter
:
m_aSeriesPlotterList
)
aRet
[
nN
]
=
&
(
*
aPlotterIter
);
aRet
[
nN
++
]
=
aPlotter
.
get
(
);
return
aRet
;
return
aRet
;
}
}
...
@@ -535,7 +532,7 @@ void SeriesPlotterContainer::initializeCooSysAndSeriesPlotter(
...
@@ -535,7 +532,7 @@ void SeriesPlotterContainer::initializeCooSysAndSeriesPlotter(
if
(
!
pPlotter
)
if
(
!
pPlotter
)
continue
;
continue
;
m_aSeriesPlotterList
.
push_back
(
pPlotter
);
m_aSeriesPlotterList
.
push_back
(
std
::
unique_ptr
<
VSeriesPlotter
>
(
pPlotter
)
);
pPlotter
->
setNumberFormatsSupplier
(
xNumberFormatsSupplier
);
pPlotter
->
setNumberFormatsSupplier
(
xNumberFormatsSupplier
);
pPlotter
->
setColorScheme
(
xColorScheme
);
pPlotter
->
setColorScheme
(
xColorScheme
);
if
(
pVCooSys
)
if
(
pVCooSys
)
...
@@ -630,9 +627,7 @@ void SeriesPlotterContainer::initializeCooSysAndSeriesPlotter(
...
@@ -630,9 +627,7 @@ void SeriesPlotterContainer::initializeCooSysAndSeriesPlotter(
{
{
if
(
!
bSeriesNamesInitialized
)
if
(
!
bSeriesNamesInitialized
)
{
{
VSeriesPlotter
*
pSeriesPlotter
=
&
m_aSeriesPlotterList
[
0
];
aSeriesNames
=
m_aSeriesPlotterList
[
0
]
->
getSeriesNames
();
if
(
pSeriesPlotter
)
aSeriesNames
=
pSeriesPlotter
->
getSeriesNames
();
bSeriesNamesInitialized
=
true
;
bSeriesNamesInitialized
=
true
;
}
}
pVCooSys
->
setSeriesNamesForAxis
(
aSeriesNames
);
pVCooSys
->
setSeriesNamesForAxis
(
aSeriesNames
);
...
@@ -731,11 +726,9 @@ void SeriesPlotterContainer::initAxisUsageList(const Date& rNullDate)
...
@@ -731,11 +726,9 @@ void SeriesPlotterContainer::initAxisUsageList(const Date& rNullDate)
void
SeriesPlotterContainer
::
setScalesFromCooSysToPlotter
()
void
SeriesPlotterContainer
::
setScalesFromCooSysToPlotter
()
{
{
//set scales to plotter to enable them to provide the preferred scene AspectRatio
//set scales to plotter to enable them to provide the preferred scene AspectRatio
SeriesPlottersType
::
iterator
aPlotterIter
=
m_aSeriesPlotterList
.
begin
();
for
(
std
::
unique_ptr
<
VSeriesPlotter
>&
aPlotter
:
m_aSeriesPlotterList
)
const
SeriesPlottersType
::
iterator
aPlotterEnd
=
m_aSeriesPlotterList
.
end
();
for
(
aPlotterIter
=
m_aSeriesPlotterList
.
begin
();
aPlotterIter
!=
aPlotterEnd
;
++
aPlotterIter
)
{
{
VSeriesPlotter
*
pSeriesPlotter
=
&
(
*
aPlotterIter
);
VSeriesPlotter
*
pSeriesPlotter
=
aPlotter
.
get
(
);
VCoordinateSystem
*
pVCooSys
=
lcl_getCooSysForPlotter
(
m_rVCooSysList
,
pSeriesPlotter
);
VCoordinateSystem
*
pVCooSys
=
lcl_getCooSysForPlotter
(
m_rVCooSysList
,
pSeriesPlotter
);
if
(
pVCooSys
)
if
(
pVCooSys
)
{
{
...
@@ -750,11 +743,9 @@ void SeriesPlotterContainer::setScalesFromCooSysToPlotter()
...
@@ -750,11 +743,9 @@ void SeriesPlotterContainer::setScalesFromCooSysToPlotter()
void
SeriesPlotterContainer
::
setNumberFormatsFromAxes
()
void
SeriesPlotterContainer
::
setNumberFormatsFromAxes
()
{
{
//set numberformats to plotter to enable them to display the data labels in the numberformat of the axis
//set numberformats to plotter to enable them to display the data labels in the numberformat of the axis
SeriesPlottersType
::
iterator
aPlotterIter
=
m_aSeriesPlotterList
.
begin
();
for
(
std
::
unique_ptr
<
VSeriesPlotter
>&
aPlotter
:
m_aSeriesPlotterList
)
const
SeriesPlottersType
::
iterator
aPlotterEnd
=
m_aSeriesPlotterList
.
end
();
for
(
aPlotterIter
=
m_aSeriesPlotterList
.
begin
();
aPlotterIter
!=
aPlotterEnd
;
++
aPlotterIter
)
{
{
VSeriesPlotter
*
pSeriesPlotter
=
&
(
*
aPlotterIter
);
VSeriesPlotter
*
pSeriesPlotter
=
aPlotter
.
get
(
);
VCoordinateSystem
*
pVCooSys
=
lcl_getCooSysForPlotter
(
m_rVCooSysList
,
pSeriesPlotter
);
VCoordinateSystem
*
pVCooSys
=
lcl_getCooSysForPlotter
(
m_rVCooSysList
,
pSeriesPlotter
);
if
(
pVCooSys
)
if
(
pVCooSys
)
{
{
...
@@ -999,12 +990,9 @@ drawing::Direction3D SeriesPlotterContainer::getPreferredAspectRatio()
...
@@ -999,12 +990,9 @@ drawing::Direction3D SeriesPlotterContainer::getPreferredAspectRatio()
//first with special demands wins (less or equal zero <-> arbitrary)
//first with special demands wins (less or equal zero <-> arbitrary)
double
fx
,
fy
,
fz
;
double
fx
,
fy
,
fz
;
fx
=
fy
=
fz
=
-
1.0
;
fx
=
fy
=
fz
=
-
1.0
;
SeriesPlottersType
::
const_iterator
aPlotterIter
=
m_aSeriesPlotterList
.
begin
();
for
(
std
::
unique_ptr
<
VSeriesPlotter
>&
aPlotter
:
m_aSeriesPlotterList
)
const
SeriesPlottersType
::
const_iterator
aPlotterEnd
=
m_aSeriesPlotterList
.
end
();
for
(
aPlotterIter
=
m_aSeriesPlotterList
.
begin
(),
nPlotterCount
=
0
;
aPlotterIter
!=
aPlotterEnd
;
++
aPlotterIter
,
++
nPlotterCount
)
{
{
drawing
::
Direction3D
aSingleRatio
(
aPlotter
Iter
->
getPreferredDiagramAspectRatio
()
);
drawing
::
Direction3D
aSingleRatio
(
aPlotter
->
getPreferredDiagramAspectRatio
()
);
if
(
fx
<
0
&&
aSingleRatio
.
DirectionX
>
0
)
if
(
fx
<
0
&&
aSingleRatio
.
DirectionX
>
0
)
fx
=
aSingleRatio
.
DirectionX
;
fx
=
aSingleRatio
.
DirectionX
;
...
@@ -1030,6 +1018,7 @@ drawing::Direction3D SeriesPlotterContainer::getPreferredAspectRatio()
...
@@ -1030,6 +1018,7 @@ drawing::Direction3D SeriesPlotterContainer::getPreferredAspectRatio()
if
(
fx
>
0
&&
fy
>
0
&&
fz
>
0
)
if
(
fx
>
0
&&
fy
>
0
&&
fz
>
0
)
break
;
break
;
++
nPlotterCount
;
}
}
aPreferredAspectRatio
=
drawing
::
Direction3D
(
fx
,
fy
,
fz
);
aPreferredAspectRatio
=
drawing
::
Direction3D
(
fx
,
fy
,
fz
);
return
aPreferredAspectRatio
;
return
aPreferredAspectRatio
;
...
@@ -1728,11 +1717,9 @@ awt::Rectangle ChartView::impl_createDiagramAndContent( const CreateShapeParam2D
...
@@ -1728,11 +1717,9 @@ awt::Rectangle ChartView::impl_createDiagramAndContent( const CreateShapeParam2D
// - create data series for all charttypes
// - create data series for all charttypes
m_bPointsWereSkipped
=
false
;
m_bPointsWereSkipped
=
false
;
SeriesPlottersType
::
iterator
aPlotterIter
=
rSeriesPlotterList
.
begin
();
for
(
std
::
unique_ptr
<
VSeriesPlotter
>&
aPlotter
:
rSeriesPlotterList
)
const
SeriesPlottersType
::
iterator
aPlotterEnd
=
rSeriesPlotterList
.
end
();
for
(
aPlotterIter
=
rSeriesPlotterList
.
begin
();
aPlotterIter
!=
aPlotterEnd
;
++
aPlotterIter
)
{
{
VSeriesPlotter
*
pSeriesPlotter
=
&
(
*
aPlotterIter
);
VSeriesPlotter
*
pSeriesPlotter
=
aPlotter
.
get
(
);
OUString
aCID
;
//III
OUString
aCID
;
//III
uno
::
Reference
<
drawing
::
XShapes
>
xSeriesTarget
(
0
);
uno
::
Reference
<
drawing
::
XShapes
>
xSeriesTarget
(
0
);
if
(
pSeriesPlotter
->
WantToPlotInFrontOfAxisLine
()
)
if
(
pSeriesPlotter
->
WantToPlotInFrontOfAxisLine
()
)
...
@@ -1769,10 +1756,9 @@ awt::Rectangle ChartView::impl_createDiagramAndContent( const CreateShapeParam2D
...
@@ -1769,10 +1756,9 @@ awt::Rectangle ChartView::impl_createDiagramAndContent( const CreateShapeParam2D
if
(
!
rParam
.
mbUseFixedInnerSize
)
if
(
!
rParam
.
mbUseFixedInnerSize
)
aNewInnerRect
=
aVDiagram
.
adjustInnerSize
(
aConsumedOuterRect
);
aNewInnerRect
=
aVDiagram
.
adjustInnerSize
(
aConsumedOuterRect
);
for
(
aPlotterIter
=
rSeriesPlotterList
.
begin
();
aPlotterIter
!=
aPlotterEnd
;
++
aPlotterIter
)
for
(
std
::
unique_ptr
<
VSeriesPlotter
>&
aPlotter
:
rSeriesPlotterList
)
{
{
VSeriesPlotter
*
pSeriesPlotter
=
&
(
*
aPlotterIter
);
aPlotter
->
releaseShapes
();
pSeriesPlotter
->
releaseShapes
();
}
}
//clear and recreate
//clear and recreate
...
@@ -1789,18 +1775,17 @@ awt::Rectangle ChartView::impl_createDiagramAndContent( const CreateShapeParam2D
...
@@ -1789,18 +1775,17 @@ awt::Rectangle ChartView::impl_createDiagramAndContent( const CreateShapeParam2D
}
}
// - create data series for all charttypes
// - create data series for all charttypes
for
(
aPlotterIter
=
rSeriesPlotterList
.
begin
();
aPlotterIter
!=
aPlotterEnd
;
++
aPlotterIter
)
for
(
std
::
unique_ptr
<
VSeriesPlotter
>&
aPlotter
:
rSeriesPlotterList
)
{
{
VSeriesPlotter
*
pSeriesPlotter
=
&
(
*
aPlotterIter
);
VCoordinateSystem
*
pVCooSys
=
lcl_getCooSysForPlotter
(
rVCooSysList
,
aPlotter
.
get
()
);
VCoordinateSystem
*
pVCooSys
=
lcl_getCooSysForPlotter
(
rVCooSysList
,
pSeriesPlotter
);
if
(
2
==
nDimensionCount
)
if
(
2
==
nDimensionCount
)
pSeries
Plotter
->
setTransformationSceneToScreen
(
pVCooSys
->
getTransformationSceneToScreen
()
);
a
Plotter
->
setTransformationSceneToScreen
(
pVCooSys
->
getTransformationSceneToScreen
()
);
pSeries
Plotter
->
createShapes
();
a
Plotter
->
createShapes
();
m_bPointsWereSkipped
=
m_bPointsWereSkipped
||
pSeries
Plotter
->
PointsWereSkipped
();
m_bPointsWereSkipped
=
m_bPointsWereSkipped
||
a
Plotter
->
PointsWereSkipped
();
}
}
for
(
aPlotterIter
=
rSeriesPlotterList
.
begin
();
aPlotterIter
!=
aPlotterEnd
;
++
aPlotterIter
)
for
(
std
::
unique_ptr
<
VSeriesPlotter
>&
aPlotter
:
rSeriesPlotterList
)
aPlotter
Iter
->
rearrangeLabelToAvoidOverlapIfRequested
(
rPageSize
);
aPlotter
->
rearrangeLabelToAvoidOverlapIfRequested
(
rPageSize
);
}
}
if
(
rParam
.
mbUseFixedInnerSize
)
if
(
rParam
.
mbUseFixedInnerSize
)
...
@@ -1811,9 +1796,9 @@ awt::Rectangle ChartView::impl_createDiagramAndContent( const CreateShapeParam2D
...
@@ -1811,9 +1796,9 @@ awt::Rectangle ChartView::impl_createDiagramAndContent( const CreateShapeParam2D
aUsedOuterRect
=
rParam
.
maRemainingSpace
;
aUsedOuterRect
=
rParam
.
maRemainingSpace
;
bool
bSnapRectToUsedArea
=
false
;
bool
bSnapRectToUsedArea
=
false
;
for
(
aPlotterIter
=
rSeriesPlotterList
.
begin
();
aPlotterIter
!=
aPlotterEnd
;
++
aPlotterIter
)
for
(
std
::
unique_ptr
<
VSeriesPlotter
>&
aPlotter
:
rSeriesPlotterList
)
{
{
bSnapRectToUsedArea
=
aPlotter
Iter
->
shouldSnapRectToUsedArea
();
bSnapRectToUsedArea
=
aPlotter
->
shouldSnapRectToUsedArea
();
if
(
bSnapRectToUsedArea
)
if
(
bSnapRectToUsedArea
)
break
;
break
;
}
}
...
@@ -3213,7 +3198,7 @@ void ChartView::createShapes2D( const awt::Size& rPageSize )
...
@@ -3213,7 +3198,7 @@ void ChartView::createShapes2D( const awt::Size& rPageSize )
size_t
n
=
rSeriesPlotter
.
size
();
size_t
n
=
rSeriesPlotter
.
size
();
for
(
size_t
i
=
0
;
i
<
n
;
++
i
)
for
(
size_t
i
=
0
;
i
<
n
;
++
i
)
{
{
std
::
vector
<
VDataSeries
*>
aAllNewDataSeries
=
rSeriesPlotter
[
i
]
.
getAllSeries
();
std
::
vector
<
VDataSeries
*>
aAllNewDataSeries
=
rSeriesPlotter
[
i
]
->
getAllSeries
();
std
::
vector
<
VDataSeries
*
>&
rAllOldDataSeries
=
std
::
vector
<
VDataSeries
*
>&
rAllOldDataSeries
=
maTimeBased
.
m_aDataSeriesList
[
i
];
maTimeBased
.
m_aDataSeriesList
[
i
];
size_t
m
=
std
::
min
(
aAllNewDataSeries
.
size
(),
rAllOldDataSeries
.
size
());
size_t
m
=
std
::
min
(
aAllNewDataSeries
.
size
(),
rAllOldDataSeries
.
size
());
...
@@ -3276,7 +3261,7 @@ void ChartView::createShapes2D( const awt::Size& rPageSize )
...
@@ -3276,7 +3261,7 @@ void ChartView::createShapes2D( const awt::Size& rPageSize )
maTimeBased
.
m_aDataSeriesList
.
resize
(
n
);
maTimeBased
.
m_aDataSeriesList
.
resize
(
n
);
for
(
size_t
i
=
0
;
i
<
n
;
++
i
)
for
(
size_t
i
=
0
;
i
<
n
;
++
i
)
{
{
std
::
vector
<
VDataSeries
*>
aAllNewDataSeries
=
rSeriesPlotter
[
i
]
.
getAllSeries
();
std
::
vector
<
VDataSeries
*>
aAllNewDataSeries
=
rSeriesPlotter
[
i
]
->
getAllSeries
();
std
::
vector
<
VDataSeries
*>&
rAllOldDataSeries
=
maTimeBased
.
m_aDataSeriesList
[
i
];
std
::
vector
<
VDataSeries
*>&
rAllOldDataSeries
=
maTimeBased
.
m_aDataSeriesList
[
i
];
size_t
m
=
aAllNewDataSeries
.
size
();
size_t
m
=
aAllNewDataSeries
.
size
();
for
(
size_t
j
=
0
;
j
<
m
;
++
j
)
for
(
size_t
j
=
0
;
j
<
m
;
++
j
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment