[Libreoffice-commits] core.git: writerfilter/source

Miklos Vajna vmiklos at collabora.co.uk
Thu Jan 28 03:13:28 PST 2016


 writerfilter/source/dmapper/DomainMapperTableHandler.cxx |   14 ++++----------
 writerfilter/source/dmapper/DomainMapperTableHandler.hxx |    6 ++----
 writerfilter/source/dmapper/TableManager.cxx             |    2 +-
 3 files changed, 7 insertions(+), 15 deletions(-)

New commits:
commit 0513fdc7ea03b2744c2eabeb936286efca562338
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Thu Jan 28 11:57:10 2016 +0100

    writerfilter: uno::Sequence -> std::vector for table row ranges
    
    Change-Id: I16ade5392354ddf030e6ca8969560c56adb0a8f9

diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
index b7363b6..60acaca 100644
--- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
+++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
@@ -56,7 +56,6 @@ DomainMapperTableHandler::DomainMapperTableHandler(
             DomainMapper_Impl& rDMapper_Impl)
     : m_xText(xText),
         m_rDMapper_Impl( rDMapper_Impl ),
-        m_nCellIndex(0),
         m_nRowIndex(0),
         m_bHadFootOrEndnote(false)
 {
@@ -1137,28 +1136,24 @@ void DomainMapperTableHandler::endTable(unsigned int nestedTableLevel)
 #endif
 }
 
-void DomainMapperTableHandler::startRow(unsigned int nCells,
-                                        TablePropertyMapPtr pProps)
+void DomainMapperTableHandler::startRow(TablePropertyMapPtr pProps)
 {
     m_aRowProperties.push_back( pProps );
     m_aCellProperties.push_back( PropertyMapVector1() );
 
 #ifdef DEBUG_WRITERFILTER
     TagLogger::getInstance().startElement("table.row");
-    TagLogger::getInstance().attribute("cells", nCells);
     if (pProps != nullptr)
         pProps->dumpXml();
 #endif
 
-    m_aRowSeq = RowSequence_t(nCells);
-    m_nCellIndex = 0;
+    m_aRowRanges.clear();
 }
 
 void DomainMapperTableHandler::endRow()
 {
-    m_aTableSeq[m_nRowIndex] = m_aRowSeq;
+    m_aTableSeq[m_nRowIndex] = comphelper::containerToSequence(m_aRowRanges);
     ++m_nRowIndex;
-    m_nCellIndex = 0;
 #ifdef DEBUG_WRITERFILTER
     TagLogger::getInstance().endElement();
 #endif
@@ -1208,8 +1203,7 @@ void DomainMapperTableHandler::endCell(const css::uno::Reference< css::text::XTe
     if (end.get())
         xEnd = end->getEnd();
     m_aCellRange.push_back(xEnd);
-    m_aRowSeq[m_nCellIndex] = comphelper::containerToSequence(m_aCellRange);
-    ++m_nCellIndex;
+    m_aRowRanges.push_back(comphelper::containerToSequence(m_aCellRange));
 }
 
 void DomainMapperTableHandler::setHadFootOrEndnote(bool bHadFootOrEndnote)
diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.hxx b/writerfilter/source/dmapper/DomainMapperTableHandler.hxx
index fd48aa3..c6c9bd5 100644
--- a/writerfilter/source/dmapper/DomainMapperTableHandler.hxx
+++ b/writerfilter/source/dmapper/DomainMapperTableHandler.hxx
@@ -63,7 +63,7 @@ class DomainMapperTableHandler
     css::uno::Reference<css::text::XTextAppendAndConvert>  m_xText;
     DomainMapper_Impl&      m_rDMapper_Impl;
     std::vector< css::uno::Reference<css::text::XTextRange> > m_aCellRange;
-    RowSequence_t    m_aRowSeq;
+    std::vector<CellSequence_t> m_aRowRanges;
     TableSequence_t m_aTableSeq;
 
     css::uno::Reference< css::text::XTextRange >           m_xTableRange;
@@ -73,7 +73,6 @@ class DomainMapperTableHandler
     PropertyMapVector1      m_aRowProperties;
     TablePropertyMapPtr     m_aTableProperties;
 
-    sal_Int32 m_nCellIndex;
     sal_Int32 m_nRowIndex;
 
     /// Did we have a foot or endnote in this table?
@@ -103,10 +102,9 @@ public:
     /**
        Handle start of row.
 
-       @param nCols    number of columns in the table
        @param pProps   properties of the row
      */
-    void startRow(unsigned int nCells, TablePropertyMapPtr pProps);
+    void startRow(TablePropertyMapPtr pProps);
     /// Handle end of row.
     void endRow();
     /**
diff --git a/writerfilter/source/dmapper/TableManager.cxx b/writerfilter/source/dmapper/TableManager.cxx
index be5a618..7d68e70 100644
--- a/writerfilter/source/dmapper/TableManager.cxx
+++ b/writerfilter/source/dmapper/TableManager.cxx
@@ -302,7 +302,7 @@ void TableManager::resolveCurrentTable()
 
                 unsigned int nCells = pRowData->getCellCount();
 
-                mpTableDataHandler->startRow(nCells, pRowData->getProperties());
+                mpTableDataHandler->startRow(pRowData->getProperties());
 
                 for (unsigned int nCell = 0; nCell < nCells; ++nCell)
                 {


More information about the Libreoffice-commits mailing list