Kaydet (Commit) 6bb564b9 authored tarafından Muthu Subramanian's avatar Muthu Subramanian

n#839727: Chart missing dataset.

This was because there is no explicit category
in the chart - while libreoffice expects it.
üst 7a6043c2
...@@ -272,6 +272,7 @@ Reference< XCoordinateSystem > TypeGroupConverter::createCoordinateSystem() ...@@ -272,6 +272,7 @@ Reference< XCoordinateSystem > TypeGroupConverter::createCoordinateSystem()
Reference< XLabeledDataSequence > TypeGroupConverter::createCategorySequence() Reference< XLabeledDataSequence > TypeGroupConverter::createCategorySequence()
{ {
sal_Int32 nMaxValues = 0;
Reference< XLabeledDataSequence > xLabeledSeq; Reference< XLabeledDataSequence > xLabeledSeq;
/* Find first existing category sequence. The bahaviour of Excel 2007 is /* Find first existing category sequence. The bahaviour of Excel 2007 is
different to Excel 2003, which always used the category sequence of the different to Excel 2003, which always used the category sequence of the
...@@ -283,6 +284,24 @@ Reference< XLabeledDataSequence > TypeGroupConverter::createCategorySequence() ...@@ -283,6 +284,24 @@ Reference< XLabeledDataSequence > TypeGroupConverter::createCategorySequence()
SeriesConverter aSeriesConv( *this, **aIt ); SeriesConverter aSeriesConv( *this, **aIt );
xLabeledSeq = aSeriesConv.createCategorySequence( "categories" ); xLabeledSeq = aSeriesConv.createCategorySequence( "categories" );
} }
else if( nMaxValues <= 0 && (*aIt)->maSources.has( SeriesModel::VALUES ) )
{
DataSourceModel *pValues = (*aIt)->maSources.get( SeriesModel::VALUES ).get();
if( pValues->mxDataSeq.is() )
nMaxValues = pValues->mxDataSeq.get()->maData.size();
}
}
/* n#839727 Create Category Sequence when none are found */
if( !xLabeledSeq.is() && mrModel.maSeries.size() > 0 ) {
if( nMaxValues < 0 )
nMaxValues = 2;
SeriesModel &aModel = mrModel.maSeries.create();
DataSourceModel &aSrc = aModel.maSources.create( SeriesModel::CATEGORIES );
DataSequenceModel &aSeq = aSrc.mxDataSeq.create();
for( sal_Int32 i = 0; i < nMaxValues; i++ )
aSeq.maData[ i ] <<= OUString::number( i + 1 );
SeriesConverter aSeriesConv( *this, aModel );
xLabeledSeq = aSeriesConv.createCategorySequence( "categories" );
} }
return xLabeledSeq; return xLabeledSeq;
} }
......
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