[Libreoffice-commits] core.git: 6 commits - chart2/qa include/oox oox/source
Markus Mohrhard
markus.mohrhard at googlemail.com
Sun Apr 26 21:35:55 PDT 2015
chart2/qa/extras/chart2export.cxx | 34 +++++++++++++
chart2/qa/extras/data/xlsx/axis_character_properties.xlsx |binary
chart2/qa/extras/data/xlsx/title_character_properties.xlsx |binary
include/oox/export/chartexport.hxx | 1
include/oox/export/drawingml.hxx | 3 -
oox/source/drawingml/chart/axiscontext.cxx | 11 +---
oox/source/export/chartexport.cxx | 26 +++++++++
oox/source/export/drawingml.cxx | 6 +-
8 files changed, 69 insertions(+), 12 deletions(-)
New commits:
commit 84fba0e79f319e9279ac1a6f50588a687b018ddb
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Mon Apr 27 06:29:42 2015 +0200
add test for title character properties, tdf#90532
Change-Id: Ib9117e73a446e0e369bae0d9cfdd8bd73e3c237c
diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx
index f31d0bf..7c14b73 100644
--- a/chart2/qa/extras/chart2export.cxx
+++ b/chart2/qa/extras/chart2export.cxx
@@ -94,6 +94,7 @@ public:
void testPlotAreaManualLayoutXLSX();
void testLegendManualLayoutXLSX();
void testAxisCharacterPropertiesXLSX();
+ void testTitleCharacterPropertiesXLSX();
CPPUNIT_TEST_SUITE(Chart2ExportTest);
CPPUNIT_TEST(testErrorBarXLSX);
@@ -152,6 +153,7 @@ public:
CPPUNIT_TEST(testPlotAreaManualLayoutXLSX);
CPPUNIT_TEST(testLegendManualLayoutXLSX);
CPPUNIT_TEST(testAxisCharacterPropertiesXLSX);
+ CPPUNIT_TEST(testTitleCharacterPropertiesXLSX);
CPPUNIT_TEST_SUITE_END();
protected:
@@ -1408,6 +1410,19 @@ void Chart2ExportTest::testAxisCharacterPropertiesXLSX()
assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:valAx/c:txPr/a:p/a:pPr/a:defRPr/a:solidFill/a:srgbClr", "val", "ff0000");
}
+void Chart2ExportTest::testTitleCharacterPropertiesXLSX()
+{
+ load("/chart2/qa/extras/data/xlsx/", "title_character_properties.xlsx");
+ xmlDocPtr pXmlDoc = parseExport("xl/charts/chart", "Calc Office Open XML");
+ CPPUNIT_ASSERT(pXmlDoc);
+
+ assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:title/c:tx/c:rich/a:p/a:pPr/a:defRPr", "sz", "2400");
+ assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:title/c:tx/c:rich/a:p/a:pPr/a:defRPr", "b", "1");
+
+ assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:title/c:tx/c:rich/a:p/a:r/a:rPr", "sz", "2400");
+ assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:title/c:tx/c:rich/a:p/a:r/a:rPr", "b", "1");
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ExportTest);
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/chart2/qa/extras/data/xlsx/title_character_properties.xlsx b/chart2/qa/extras/data/xlsx/title_character_properties.xlsx
new file mode 100644
index 0000000..2a23993
Binary files /dev/null and b/chart2/qa/extras/data/xlsx/title_character_properties.xlsx differ
commit ea4e3d6970aaa2ff567c027bf3b5a6902c9dabed
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Mon Apr 27 06:28:52 2015 +0200
add test for axis character properties, tdf#90532
Change-Id: Ica4dc4c621d722bdad1d3c47c2e5389c8a6b8d04
diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx
index f087463..f31d0bf 100644
--- a/chart2/qa/extras/chart2export.cxx
+++ b/chart2/qa/extras/chart2export.cxx
@@ -93,6 +93,7 @@ public:
void testTitleManualLayoutXLSX();
void testPlotAreaManualLayoutXLSX();
void testLegendManualLayoutXLSX();
+ void testAxisCharacterPropertiesXLSX();
CPPUNIT_TEST_SUITE(Chart2ExportTest);
CPPUNIT_TEST(testErrorBarXLSX);
@@ -150,6 +151,7 @@ public:
CPPUNIT_TEST(testTitleManualLayoutXLSX);
CPPUNIT_TEST(testPlotAreaManualLayoutXLSX);
CPPUNIT_TEST(testLegendManualLayoutXLSX);
+ CPPUNIT_TEST(testAxisCharacterPropertiesXLSX);
CPPUNIT_TEST_SUITE_END();
protected:
@@ -1389,6 +1391,23 @@ void Chart2ExportTest::testLegendManualLayoutXLSX()
CPPUNIT_ASSERT(nX != nY);
}
+void Chart2ExportTest::testAxisCharacterPropertiesXLSX()
+{
+ load("/chart2/qa/extras/data/xlsx/", "axis_character_properties.xlsx");
+ xmlDocPtr pXmlDoc = parseExport("xl/charts/chart", "Calc Office Open XML");
+ CPPUNIT_ASSERT(pXmlDoc);
+
+ assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:catAx/c:txPr/a:p/a:pPr/a:defRPr", "sz", "1000");
+ assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:catAx/c:txPr/a:p/a:pPr/a:defRPr", "b", "1");
+ assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:catAx/c:txPr/a:p/a:pPr/a:defRPr", "i", "1");
+ assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:catAx/c:txPr/a:p/a:pPr/a:defRPr", "u", "sng");
+
+ assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:valAx/c:txPr/a:p/a:pPr/a:defRPr", "sz", "900");
+ assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:valAx/c:txPr/a:p/a:pPr/a:defRPr", "b", "1");
+ assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:valAx/c:txPr/a:p/a:pPr/a:defRPr", "strike", "sngStrike");
+ assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:valAx/c:txPr/a:p/a:pPr/a:defRPr/a:solidFill/a:srgbClr", "val", "ff0000");
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ExportTest);
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/chart2/qa/extras/data/xlsx/axis_character_properties.xlsx b/chart2/qa/extras/data/xlsx/axis_character_properties.xlsx
new file mode 100644
index 0000000..635aafe
Binary files /dev/null and b/chart2/qa/extras/data/xlsx/axis_character_properties.xlsx differ
commit e7232574e2050fea57b06cf1e87177bc419974da
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Mon Apr 27 05:49:51 2015 +0200
support more font properties for title OOXML export, tdf#90532
Change-Id: Ib620d279332f61fb2ca1deee4b47802f995a76a1
diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx
index c8fb4c9..5bfa5fe 100644
--- a/oox/source/export/chartexport.cxx
+++ b/oox/source/export/chartexport.cxx
@@ -1106,8 +1106,9 @@ void ChartExport::exportTitle( Reference< XShape > xShape )
pFS->startElement( FSNS( XML_a, XML_pPr ),
FSEND );
- pFS->singleElement( FSNS( XML_a, XML_defRPr ),
- FSEND );
+
+ WriteRunProperties(xPropSet, false, XML_defRPr);
+
pFS->endElement( FSNS( XML_a, XML_pPr ) );
pFS->startElement( FSNS( XML_a, XML_r ),
commit bcf295f9ca05f5b8d40ef2747b46dfb5564a74a9
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Mon Apr 27 05:30:30 2015 +0200
support axis text properties during OOXML export, tdf#90532
Change-Id: Ied2b21154e31754f8b8461c349fe0e52ce7455e8
diff --git a/include/oox/export/chartexport.hxx b/include/oox/export/chartexport.hxx
index 2a3ff80..31c5234 100644
--- a/include/oox/export/chartexport.hxx
+++ b/include/oox/export/chartexport.hxx
@@ -154,6 +154,7 @@ private:
void exportSeriesValues(
const css::uno::Reference< css::chart2::data::XDataSequence >& xValueSeq, sal_Int32 nValueType = XML_val );
void exportShapeProps( css::uno::Reference< css::beans::XPropertySet > xPropSet );
+ void exportTextProps(css::uno::Reference< css::beans::XPropertySet > xPropSet);
void exportDataPoints(
const css::uno::Reference< css::beans::XPropertySet >& xSeriesProperties,
sal_Int32 nSeriesLength );
diff --git a/include/oox/export/drawingml.hxx b/include/oox/export/drawingml.hxx
index 4bfaf3a..77cfd3c 100644
--- a/include/oox/export/drawingml.hxx
+++ b/include/oox/export/drawingml.hxx
@@ -29,6 +29,7 @@
#include <tools/poly.hxx>
#include <filter/msfilter/escherex.hxx>
#include "oox/drawingml/drawingmltypes.hxx"
+#include <oox/token/tokens.hxx>
#ifndef OOX_DRAWINGML_EXPORT_ROTATE_CLOCKWISIFY
// Our rotation is counter-clockwise and is in 100ths of a degree.
// drawingML rotation is clockwise and is in 60000ths of a degree.
@@ -172,7 +173,7 @@ public:
void WriteParagraphNumbering( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet,
sal_Int16 nLevel );
void WriteRun( ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > rRun );
- void WriteRunProperties( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rRun, bool bIsField );
+ void WriteRunProperties( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rRun, bool bIsField, sal_Int32 nElement = XML_rPr );
void WritePresetShape( const char* pShape );
void WritePresetShape( const char* pShape, MSO_SPT eShapeType, bool bPredefinedHandlesUsed, sal_Int32 nAdjustmentsWhichNeedsToBeConverted, const ::com::sun::star::beans::PropertyValue& rProp );
diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx
index 263db8d..c8fb4c9 100644
--- a/oox/source/export/chartexport.cxx
+++ b/oox/source/export/chartexport.cxx
@@ -2306,6 +2306,25 @@ void ChartExport::exportShapeProps( Reference< XPropertySet > xPropSet )
pFS->endElement( FSNS( XML_c, XML_spPr ) );
}
+void ChartExport::exportTextProps(Reference<XPropertySet> xPropSet)
+{
+ FSHelperPtr pFS = GetFS();
+ pFS->startElement(FSNS(XML_c, XML_txPr), FSEND);
+
+ pFS->startElement(FSNS(XML_c, XML_bodyPr), FSEND);
+ pFS->endElement(FSNS(XML_c, XML_bodyPr));
+
+ pFS->startElement(FSNS(XML_a, XML_p), FSEND);
+ pFS->startElement(FSNS(XML_a, XML_pPr), FSEND);
+
+ WriteRunProperties(xPropSet, false, XML_defRPr);
+
+ pFS->endElement(FSNS(XML_a, XML_pPr));
+ pFS->endElement(FSNS(XML_a, XML_p));
+
+ pFS->endElement(FSNS(XML_c, XML_txPr));
+}
+
void ChartExport::InitPlotArea( )
{
Reference< XPropertySet > xDiagramProperties (mxDiagram, uno::UNO_QUERY);
@@ -2680,6 +2699,8 @@ void ChartExport::_exportAxis(
// shape properties
exportShapeProps( xAxisProp );
+ exportTextProps(xAxisProp);
+
pFS->singleElement( FSNS( XML_c, XML_crossAx ),
XML_val, I32S( rAxisIdPair.nCrossAx ),
FSEND );
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 7ba4f1f..4f0621d 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -1167,7 +1167,7 @@ void DrawingML::WriteShapeTransformation( Reference< XShape > rXShape, sal_Int32
WriteTransformation( Rectangle( Point( aPos.X, aPos.Y ), Size( aSize.Width, aSize.Height ) ), nXmlNamespace, bFlipH, bFlipV, OOX_DRAWINGML_EXPORT_ROTATE_CLOCKWISIFY(nRotation) );
}
-void DrawingML::WriteRunProperties( Reference< XPropertySet > rRun, bool bIsField )
+void DrawingML::WriteRunProperties( Reference< XPropertySet > rRun, bool bIsField, sal_Int32 nElement /*= XML_rPr*/ )
{
Reference< XPropertySet > rXPropSet( rRun, UNO_QUERY );
Reference< XPropertyState > rXPropState( rRun, UNO_QUERY );
@@ -1318,7 +1318,7 @@ void DrawingML::WriteRunProperties( Reference< XPropertySet > rRun, bool bIsFiel
}
}
- mpFS->startElementNS( XML_a, XML_rPr,
+ mpFS->startElementNS( XML_a, nElement,
XML_b, bold,
XML_i, italic,
XML_lang, usLanguage.isEmpty() ? NULL : USS( usLanguage ),
@@ -1405,7 +1405,7 @@ void DrawingML::WriteRunProperties( Reference< XPropertySet > rRun, bool bIsFiel
}
}
- mpFS->endElementNS( XML_a, XML_rPr );
+ mpFS->endElementNS( XML_a, nElement );
}
const char* DrawingML::GetFieldType( ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > rRun, bool& bIsField )
commit 38a5e500b1b9ff135d190e65413cd519ae8c89be
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Sun Apr 26 04:05:30 2015 +0200
fix noMultiLvlLbl MSO 2007 vs OOXML
Change-Id: I22c8708e9868696bd03eb05360cf198ded7d65f5
diff --git a/oox/source/drawingml/chart/axiscontext.cxx b/oox/source/drawingml/chart/axiscontext.cxx
index 2c7f876..fec2785 100644
--- a/oox/source/drawingml/chart/axiscontext.cxx
+++ b/oox/source/drawingml/chart/axiscontext.cxx
@@ -187,8 +187,7 @@ ContextHandlerRef CatAxisContext::onCreateContext( sal_Int32 nElement, const Att
mrModel.mnLabelOffset = rAttribs.getInteger( XML_val, 100 );
return 0;
case C_TOKEN( noMultiLvlLbl ):
- // default is 'false', not 'true' as specified
- mrModel.mbNoMultiLevel = rAttribs.getBool( XML_val, false );
+ mrModel.mbNoMultiLevel = rAttribs.getBool( XML_val, !bMSO2007Doc );
return 0;
case C_TOKEN( tickLblSkip ):
mrModel.mnTickLabelSkip = rAttribs.getInteger( XML_val, 0 );
commit 00bb94ebdc2dcfb8408befbff79cbcbdd94ad7d7
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Sun Apr 26 04:04:14 2015 +0200
fix auto MSO 2007 vs OOXML
Change-Id: I23dfa8612cc46a46b7cb8d9fa991058fdb506ef0
diff --git a/oox/source/drawingml/chart/axiscontext.cxx b/oox/source/drawingml/chart/axiscontext.cxx
index 95c2f37..2c7f876 100644
--- a/oox/source/drawingml/chart/axiscontext.cxx
+++ b/oox/source/drawingml/chart/axiscontext.cxx
@@ -171,11 +171,11 @@ CatAxisContext::~CatAxisContext()
ContextHandlerRef CatAxisContext::onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs )
{
+ bool bMSO2007Doc = getFilter().isMSO2007Document();
if( isRootElement() ) switch( nElement )
{
case C_TOKEN( auto ):
- // default is 'false', not 'true' as specified
- mrModel.mbAuto = rAttribs.getBool( XML_val, false );
+ mrModel.mbAuto = rAttribs.getBool( XML_val, !bMSO2007Doc );
return 0;
case C_TOKEN( axPos ):
mrModel.mnAxisPos = rAttribs.getToken( XML_val, XML_TOKEN_INVALID );
@@ -211,11 +211,11 @@ DateAxisContext::~DateAxisContext()
ContextHandlerRef DateAxisContext::onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs )
{
+ bool bMSO2007Doc = getFilter().isMSO2007Document();
if( isRootElement() ) switch( nElement )
{
case C_TOKEN( auto ):
- // default is 'false', not 'true' as specified
- mrModel.mbAuto = rAttribs.getBool( XML_val, false );
+ mrModel.mbAuto = rAttribs.getBool( XML_val, !bMSO2007Doc );
return 0;
case C_TOKEN( baseTimeUnit ):
mrModel.monBaseTimeUnit = rAttribs.getToken( XML_val, XML_days );
More information about the Libreoffice-commits
mailing list