Reference< XDataSequence > ChartConverter::createDataSequence( const Reference< XDataProvider >& rxDataProvider, const DataSequenceModel& rDataSeq, const OUString& rRole, const OUString& rRoleQualifier )
{
Reference< XDataSequence > xDataSeq; if( rxDataProvider.is() )
{
OUString aRangeRep; if( !rDataSeq.maData.empty() || (rRole == "values-y" && rDataSeq.mnPointCount > 0) ) try
{ // create a single-row array from constant source data // (multiple levels in the case of complex categories)
std::vector<Any> aRow(rDataSeq.mnLevelCount * rDataSeq.mnPointCount); for (autoconst& elem : rDataSeq.maData)
aRow.at(elem.first) = elem.second;
for (sal_Int32 i = rDataSeq.mnLevelCount-1; i >= 0; i--)
{
aRangeRep = lclGenerateApiArray( aRow, i * rDataSeq.mnPointCount, rDataSeq.mnPointCount);
if (!aRangeRep.isEmpty())
{ // create or add a new level to the data sequence
xDataSeq = rxDataProvider->createDataSequenceByValueArray(rRole, aRangeRep, rRoleQualifier); if (i == 0) return xDataSeq;
}
}
} catch( Exception& )
{
OSL_FAIL( "ChartConverter::createDataSequence - cannot create data sequence" );
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.