summaryrefslogtreecommitdiff
path: root/oox/source
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-04-15 00:21:21 +0200
committerAndras Timar <andras.timar@collabora.com>2015-04-15 08:59:12 +0200
commitf7702d0b65c7acd5c5f78a550534469f8f912f26 (patch)
tree0b5eb7edfeec26046fad227f9e7287ecba2c143a /oox/source
parent8a6d5960d41cf50691f32082831b6406ff03b484 (diff)
export missing value treatment to OOXML
Change-Id: I1a448e9c954a3851fe3590a0fae73ed5b27555f0 (cherry picked from commit e68ceaec43f0c0ff326064642072bb8f904e7e8a)
Diffstat (limited to 'oox/source')
-rw-r--r--oox/source/export/chartexport.cxx36
1 files changed, 36 insertions, 0 deletions
diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx
index 3fdf45bd7f5d..9a2bb31f57f6 100644
--- a/oox/source/export/chartexport.cxx
+++ b/oox/source/export/chartexport.cxx
@@ -45,6 +45,7 @@
#include <com/sun/star/chart/ChartSolidType.hpp>
#include <com/sun/star/chart/DataLabelPlacement.hpp>
#include <com/sun/star/chart/ErrorBarStyle.hpp>
+#include <com/sun/star/chart/MissingValueTreatment.hpp>
#include <com/sun/star/chart2/XChartDocument.hpp>
#include <com/sun/star/chart2/XDiagram.hpp>
@@ -905,9 +906,44 @@ void ChartExport::exportChart( Reference< ::com::sun::star::chart::XChartDocumen
XML_val, "1",
FSEND );
+ exportMissingValueTreatment(Reference<beans::XPropertySet>(mxDiagram, uno::UNO_QUERY));
+
pFS->endElement( FSNS( XML_c, XML_chart ) );
}
+void ChartExport::exportMissingValueTreatment(uno::Reference<beans::XPropertySet> xPropSet)
+{
+ if (!xPropSet.is())
+ return;
+
+ sal_Int32 nVal = 0;
+ uno::Any aAny = xPropSet->getPropertyValue("MissingValueTreatment");
+ if (!(aAny >>= nVal))
+ return;
+
+ const char* pVal = NULL;
+ switch (nVal)
+ {
+ case cssc::MissingValueTreatment::LEAVE_GAP:
+ pVal = "gap";
+ break;
+ case cssc::MissingValueTreatment::USE_ZERO:
+ pVal = "zero";
+ break;
+ case cssc::MissingValueTreatment::CONTINUE:
+ pVal = "span";
+ break;
+ default:
+ SAL_WARN("oox", "unknown MissingValueTreatment value");
+ break;
+ }
+
+ FSHelperPtr pFS = GetFS();
+ pFS->singleElement( FSNS(XML_c, XML_dispBlanksAs),
+ XML_val, pVal,
+ FSEND);
+}
+
void ChartExport::exportLegend( Reference< ::com::sun::star::chart::XChartDocument > rChartDoc )
{
FSHelperPtr pFS = GetFS();