[Libreoffice-commits] core.git: Branch 'libreoffice-4-1' - xmloff/source

Markus Mohrhard markus.mohrhard at googlemail.com
Sat Nov 2 20:26:01 CET 2013


 xmloff/source/chart/SchXMLChartContext.cxx |    4 +--
 xmloff/source/chart/SchXMLTableContext.cxx |   33 +----------------------------
 xmloff/source/chart/SchXMLTableContext.hxx |    5 +---
 3 files changed, 6 insertions(+), 36 deletions(-)

New commits:
commit cc502dadd01658e80a4f36fe43ac16c46e819b30
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Sat Nov 2 20:44:38 2013 +0100

    Revert "transpose "data in rows" ranges for internal data provider, fdo#62057"
    
    This reverts commit 14fa5488a829936275f79a7693b13da55114220e.
    
    Signed-off-by: Michael Meeks <michael.meeks at collabora.com>
    
    Conflicts:
    	xmloff/source/chart/SchXMLTableContext.cxx
    
    Signed-off-by: Michael Meeks <michael.meeks at collabora.com>

diff --git a/xmloff/source/chart/SchXMLChartContext.cxx b/xmloff/source/chart/SchXMLChartContext.cxx
index 69410a5..5aeb93b 100644
--- a/xmloff/source/chart/SchXMLChartContext.cxx
+++ b/xmloff/source/chart/SchXMLChartContext.cxx
@@ -788,7 +788,7 @@ void SchXMLChartContext::EndElement()
         //own data or only rectangular range available
 
         if( xNewDoc->hasInternalDataProvider() )
-            SchXMLTableHelper::applyTableToInternalDataProvider( maTable, xNewDoc, meDataRowSource );
+            SchXMLTableHelper::applyTableToInternalDataProvider( maTable, xNewDoc );
 
         bool bOlderThan2_3 = SchXMLTools::isDocumentGeneratedWithOpenOfficeOlderThan2_3( Reference< frame::XModel >( xNewDoc, uno::UNO_QUERY ));
         bool bOldFileWithOwnDataFromRows = (bOlderThan2_3 && bHasOwnData && (meDataRowSource==chart::ChartDataRowSource_ROWS)); // in this case there are range addresses that are simply wrong.
@@ -825,7 +825,7 @@ void SchXMLChartContext::EndElement()
                     if( !xNewDoc->hasInternalDataProvider() )
                     {
                         xNewDoc->createInternalDataProvider( sal_False /* bCloneExistingData */ );
-                        SchXMLTableHelper::applyTableToInternalDataProvider( maTable, xNewDoc, meDataRowSource );
+                        SchXMLTableHelper::applyTableToInternalDataProvider( maTable, xNewDoc );
                         try
                         {
                             lcl_ApplyDataFromRectangularRangeToDiagram( xNewDoc, msChartAddress, meDataRowSource, mbRowHasLabels, mbColHasLabels, bHasOwnData, msColTrans, msRowTrans );
diff --git a/xmloff/source/chart/SchXMLTableContext.cxx b/xmloff/source/chart/SchXMLTableContext.cxx
index ea877d6..206e5e8 100644
--- a/xmloff/source/chart/SchXMLTableContext.cxx
+++ b/xmloff/source/chart/SchXMLTableContext.cxx
@@ -775,35 +775,9 @@ static void lcl_ApplyCellToComplexLabel( const SchXMLCell& rCell, Sequence< uno:
     }
 }
 
-namespace {
-
-void transposeTable(SchXMLTable& rTable)
-{
-    std::vector<std::vector<SchXMLCell> > aNewData;
-    sal_Int32 nRows = rTable.aData.size();
-    aNewData.resize(rTable.nMaxColumnIndex+1);
-    for(sal_Int32 i = 0; i < nRows; ++i)
-    {
-        sal_Int32 nCols = rTable.aData[i].size();
-        for(sal_Int32 j = 0; j < nCols; ++j)
-        {
-            SchXMLCell& rCell = rTable.aData[i][j];
-            aNewData[j].push_back(rCell);
-        }
-    }
-    bool bHasRowHeader = rTable.bHasHeaderRow;
-    bool bHasColHeader = rTable.bHasHeaderColumn;
-    rTable.bHasHeaderColumn = bHasRowHeader;
-    rTable.bHasHeaderRow = bHasColHeader;
-    rTable.nMaxColumnIndex = nRows;
-    rTable.aData = aNewData;
-}
-
-}
-
 void SchXMLTableHelper::applyTableToInternalDataProvider(
-    SchXMLTable rTable,
-    uno::Reference< chart2::XChartDocument > xChartDoc, chart::ChartDataRowSource eDataRowSource )
+    const SchXMLTable& rTable,
+    uno::Reference< chart2::XChartDocument > xChartDoc )
 {
     // apply all data read from the local table to the internal data provider
     if( !xChartDoc.is() || !xChartDoc->hasInternalDataProvider() )
@@ -812,9 +786,6 @@ void SchXMLTableHelper::applyTableToInternalDataProvider(
     if( !xDataProv.is() )
         return;
 
-    if(eDataRowSource == chart::ChartDataRowSource_ROWS)
-        transposeTable(rTable);
-
     //prepare the read local table data
     sal_Int32 nNumRows( static_cast< sal_Int32 >( rTable.aData.size()));
     sal_Int32 nRowOffset = 0;
diff --git a/xmloff/source/chart/SchXMLTableContext.hxx b/xmloff/source/chart/SchXMLTableContext.hxx
index 811e921..1d06dd5 100644
--- a/xmloff/source/chart/SchXMLTableContext.hxx
+++ b/xmloff/source/chart/SchXMLTableContext.hxx
@@ -82,9 +82,8 @@ private:
                            sal_Int32& nRows, sal_Int32& nColumns );
 
 public:
-    static void applyTableToInternalDataProvider( SchXMLTable rTable,
-                            com::sun::star::uno::Reference< com::sun::star::chart2::XChartDocument > xChartDoc,
-                            com::sun::star::chart::ChartDataRowSource eDataRowSource );
+    static void applyTableToInternalDataProvider( const SchXMLTable& rTable,
+                            com::sun::star::uno::Reference< com::sun::star::chart2::XChartDocument > xChartDoc );
 
     /** This function reorders local data to fit the correct data structure.
         Call it after the data series got their styles set.


More information about the Libreoffice-commits mailing list