Kaydet (Commit) 60e94d89 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Move the category level removal code into its own method.

Change-Id: I4f0cfb4b15bc145b7a5c3491a7acbff13999bf5d
üst 481a17b6
......@@ -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
......
......@@ -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,
......
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