Kaydet (Commit) b845d236 authored tarafından Bjoern Michaelsen's avatar Bjoern Michaelsen

use getCells()

Change-Id: I11ac9c87ac1d17b2ebc847e268d935c23f129ce1
üst d7b6b1dc
...@@ -3704,25 +3704,25 @@ uno::Sequence< uno::Sequence< double > > SwXCellRange::getData(void) throw( uno: ...@@ -3704,25 +3704,25 @@ uno::Sequence< uno::Sequence< double > > SwXCellRange::getData(void) throw( uno:
const sal_uInt16 nColCount = getColumnCount(); const sal_uInt16 nColCount = getColumnCount();
if(!nRowCount || !nColCount) if(!nRowCount || !nColCount)
throw uno::RuntimeException("Table too complex", static_cast<cppu::OWeakObject*>(this)); throw uno::RuntimeException("Table too complex", static_cast<cppu::OWeakObject*>(this));
uno::Sequence< uno::Sequence< double > > aRowSeq(m_bFirstRowAsLabel ? nRowCount - 1 : nRowCount); if(m_bFirstColumnAsLabel || m_bFirstRowAsLabel)
lcl_EnsureCoreConnected(GetFrmFmt(), static_cast<cppu::OWeakObject*>(this));
uno::Sequence<double>* pRowArray = aRowSeq.getArray();
const sal_uInt16 nRowStart = m_bFirstRowAsLabel ? 1 : 0;
for(sal_uInt16 nRow = nRowStart; nRow < nRowCount; nRow++)
{ {
uno::Sequence<double> aColSeq(m_bFirstColumnAsLabel ? nColCount - 1 : nColCount); uno::Reference<chart::XChartDataArray> xDataRange(getCellRangeByPosition(m_bFirstRowAsLabel ? 1 : 0, m_bFirstColumnAsLabel ? 1 : 0,
double* pArray = aColSeq.getArray(); nRowCount, nColCount), uno::UNO_QUERY);
const sal_uInt16 nColStart = m_bFirstColumnAsLabel ? 1 : 0; return xDataRange->getData();
for(sal_uInt16 nCol = nColStart; nCol < nColCount; nCol++) }
uno::Sequence< uno::Sequence< double > > vRows(nColCount);
auto vCells(getCells());
auto pCurrentCell(vCells.begin());
for(auto& rRow : vRows)
{
rRow = uno::Sequence<double>(nRowCount);
for(auto& rValue : rRow)
{ {
uno::Reference<table::XCell> xCell = getCellByPosition(nCol, nRow); rValue = (*pCurrentCell)->getValue();
if(!xCell.is()) ++pCurrentCell;
throw uno::RuntimeException();
pArray[nCol - nColStart] = xCell->getValue();
} }
pRowArray[nRow - nRowStart] = aColSeq;
} }
return aRowSeq; return vRows;
} }
void SwXCellRange::setData(const uno::Sequence< uno::Sequence< double > >& rData) void SwXCellRange::setData(const uno::Sequence< uno::Sequence< double > >& rData)
......
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