[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.1' - oox/source

Markus Mohrhard markus.mohrhard at collabora.co.uk
Fri Feb 21 21:41:18 PST 2014


 oox/source/drawingml/chart/datasourceconverter.cxx |   28 +++++++++++++++++++++
 1 file changed, 28 insertions(+)

New commits:
commit b8741791fbe9b053875df74c060f405c5253830e
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Sat Feb 22 05:49:39 2014 +0100

    we only support simple labels in the InternalDataProvider, bnc#864396
    
    Change-Id: Ie31c5c73bb5185125fd4493c4e476997e2e9bc63

diff --git a/oox/source/drawingml/chart/datasourceconverter.cxx b/oox/source/drawingml/chart/datasourceconverter.cxx
index 6be4710..ea22348 100644
--- a/oox/source/drawingml/chart/datasourceconverter.cxx
+++ b/oox/source/drawingml/chart/datasourceconverter.cxx
@@ -50,6 +50,34 @@ Reference< XDataSequence > DataSequenceConverter::createDataSequence( const OUSt
     Reference< XDataSequence > xDataSeq;
     if( getChartConverter() )
     {
+        // the internal data table does not support complex labels
+        // this is only supported in Calc!!!
+        // merge the labels into a single one
+        if(rRole == "label")
+        {
+            mrModel.mnPointCount = std::min<sal_Int32>(mrModel.mnPointCount, 1);
+            OUStringBuffer aTitle;
+            bool bFirst = true;
+            for(DataSequenceModel::AnyMap::const_iterator itr = mrModel.maData.begin(),
+                    itrEnd = mrModel.maData.end(); itr != itrEnd; ++itr)
+            {
+                Any aAny = itr->second;
+                if(aAny.has<OUString>())
+                {
+                    if(!bFirst)
+                        aTitle.append(" ");
+
+                    aTitle.append(aAny.get<OUString>());
+                    bFirst = false;
+                }
+            }
+
+            if(!bFirst)
+            {
+                mrModel.maData.clear();
+                mrModel.maData.insert(std::make_pair<sal_Int32, Any>(1, Any(aTitle.makeStringAndClear())));
+            }
+        }
         xDataSeq = getChartConverter()->createDataSequence( getChartDocument()->getDataProvider(), mrModel );
 
         // set sequen   ce role


More information about the Libreoffice-commits mailing list