summaryrefslogtreecommitdiff
path: root/chart2
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-06-26 10:10:29 -0400
committerKohei Yoshida <kohei.yoshida@collabora.com>2014-06-26 11:26:15 -0400
commit60e94d8982e2b3d2e92a178a7179142fb7fcc631 (patch)
treeaba045b53e9a86a8b8be5fe9b8f23a42a1cbc6d3 /chart2
parent481a17b6a6fb332935c3e41c077cc5f60b751021 (diff)
Move the category level removal code into its own method.
Change-Id: I4f0cfb4b15bc145b7a5c3491a7acbff13999bf5d
Diffstat (limited to 'chart2')
-rw-r--r--chart2/source/controller/dialogs/DataBrowserModel.cxx40
-rw-r--r--chart2/source/controller/dialogs/DataBrowserModel.hxx2
2 files changed, 25 insertions, 17 deletions
diff --git a/chart2/source/controller/dialogs/DataBrowserModel.cxx b/chart2/source/controller/dialogs/DataBrowserModel.cxx
index 56d6b41f76ac..49dfec30d64f 100644
--- a/chart2/source/controller/dialogs/DataBrowserModel.cxx
+++ b/chart2/source/controller/dialogs/DataBrowserModel.cxx
@@ -440,32 +440,38 @@ void DataBrowserModel::insertComplexCategoryLevel( sal_Int32 nAfterColumnIndex )
updateFromModel();
}
-void DataBrowserModel::removeDataSeriesOrComplexCategoryLevel( sal_Int32 nAtColumnIndex )
+void DataBrowserModel::removeComplexCategoryLevel( sal_Int32 nAtColumnIndex )
{
- OSL_ASSERT( m_apDialogModel.get());
- if (static_cast<size_t>(nAtColumnIndex) >= m_aColumns.size())
+ //delete a category column if there is more than one level (in case of a single column we do not get here)
+ OSL_ENSURE(nAtColumnIndex>0, "wrong index for categories deletion" );
+
+ Reference< chart2::XInternalDataProvider > xDataProvider( m_apDialogModel->getDataProvider(), uno::UNO_QUERY );
+ if (!xDataProvider.is())
return;
- Reference< chart2::XDataSeries > xSeries( m_aColumns[nAtColumnIndex].m_xDataSeries );
- if (!xSeries.is())
- {
- //delete a category column if there is more than one level (in case of a single column we do not get here)
- OSL_ENSURE(nAtColumnIndex>0, "wrong index for categories deletion" );
+ m_apDialogModel->startControllerLockTimer();
+ ControllerLockGuardUNO aLockedControllers( Reference< frame::XModel >( m_xChartDocument, uno::UNO_QUERY ) );
+ xDataProvider->deleteComplexCategoryLevel( nAtColumnIndex );
- Reference< chart2::XInternalDataProvider > xDataProvider( m_apDialogModel->getDataProvider(), uno::UNO_QUERY );
- if (!xDataProvider.is())
- return;
+ updateFromModel();
+}
- m_apDialogModel->startControllerLockTimer();
- ControllerLockGuardUNO aLockedControllers( Reference< frame::XModel >( m_xChartDocument, uno::UNO_QUERY ) );
- xDataProvider->deleteComplexCategoryLevel( nAtColumnIndex );
- updateFromModel();
+void DataBrowserModel::removeDataSeriesOrComplexCategoryLevel( sal_Int32 nAtColumnIndex )
+{
+ OSL_ASSERT( m_apDialogModel.get());
+ if (nAtColumnIndex < 0 || static_cast<size_t>(nAtColumnIndex) >= m_aColumns.size())
+ // Out of bound.
+ return;
+ if (isCategoriesColumn(nAtColumnIndex))
+ {
+ removeComplexCategoryLevel(nAtColumnIndex);
return;
}
- m_apDialogModel->deleteSeries(
- xSeries, getHeaderForSeries( xSeries ).m_xChartType );
+ const Reference<chart2::XDataSeries>& xSeries = m_aColumns[nAtColumnIndex].m_xDataSeries;
+
+ m_apDialogModel->deleteSeries(xSeries, getHeaderForSeries(xSeries).m_xChartType);
//delete sequences from internal data provider that are not used anymore
//but do not delete sequences that are still in use by the remaining series
diff --git a/chart2/source/controller/dialogs/DataBrowserModel.hxx b/chart2/source/controller/dialogs/DataBrowserModel.hxx
index 57bd55f14848..ce1b5e14f98d 100644
--- a/chart2/source/controller/dialogs/DataBrowserModel.hxx
+++ b/chart2/source/controller/dialogs/DataBrowserModel.hxx
@@ -143,6 +143,8 @@ public:
private:
void updateFromModel();
+ void removeComplexCategoryLevel( sal_Int32 nAtColumnIndex );
+
void addErrorBarRanges(
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XDataSeries > & xDataSeries,