summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chart2/qa/extras/chart2export.cxx11
-rw-r--r--chart2/qa/extras/data/xlsx/tdf136267.xlsxbin0 -> 31986 bytes
-rw-r--r--chart2/source/tools/ExplicitCategoriesProvider.cxx1
-rw-r--r--oox/inc/drawingml/chart/typegroupmodel.hxx1
-rw-r--r--oox/source/drawingml/chart/axisconverter.cxx5
-rw-r--r--oox/source/drawingml/chart/plotareaconverter.cxx2
-rw-r--r--oox/source/drawingml/chart/typegroupconverter.cxx4
-rw-r--r--oox/source/drawingml/chart/typegroupmodel.cxx3
8 files changed, 19 insertions, 8 deletions
diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx
index 3e1f5d86e897..8916208f8bde 100644
--- a/chart2/qa/extras/chart2export.cxx
+++ b/chart2/qa/extras/chart2export.cxx
@@ -178,6 +178,7 @@ public:
void testTdf134255();
void testTdf134977();
void testTdf123647();
+ void testTdf136267();
CPPUNIT_TEST_SUITE(Chart2ExportTest);
CPPUNIT_TEST(testErrorBarXLSX);
@@ -318,6 +319,7 @@ public:
CPPUNIT_TEST(testTdf134255);
CPPUNIT_TEST(testTdf134977);
CPPUNIT_TEST(testTdf123647);
+ CPPUNIT_TEST(testTdf136267);
CPPUNIT_TEST_SUITE_END();
@@ -2921,6 +2923,15 @@ void Chart2ExportTest::testTdf123647()
assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:barChart", 1);
}
+void Chart2ExportTest::testTdf136267()
+{
+ load("/chart2/qa/extras/data/xlsx/", "tdf136267.xlsx");
+ xmlDocUniquePtr pXmlDoc = parseExport("xl/charts/chart", "Calc Office Open XML");
+ CPPUNIT_ASSERT(pXmlDoc);
+
+ assertXPathContent(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:barChart/c:ser/c:cat/c:strRef/c:strCache/c:pt/c:v", "John");
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ExportTest);
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/chart2/qa/extras/data/xlsx/tdf136267.xlsx b/chart2/qa/extras/data/xlsx/tdf136267.xlsx
new file mode 100644
index 000000000000..741a33c429b9
--- /dev/null
+++ b/chart2/qa/extras/data/xlsx/tdf136267.xlsx
Binary files differ
diff --git a/chart2/source/tools/ExplicitCategoriesProvider.cxx b/chart2/source/tools/ExplicitCategoriesProvider.cxx
index c0b232240710..bf65f58ec850 100644
--- a/chart2/source/tools/ExplicitCategoriesProvider.cxx
+++ b/chart2/source/tools/ExplicitCategoriesProvider.cxx
@@ -55,6 +55,7 @@ ExplicitCategoriesProvider::ExplicitCategoriesProvider( const Reference< chart2:
{
if( xCooSysModel.is() )
{
+ // TODO: handle different category names on the primary and secondary category axis.
uno::Reference< XAxis > xAxis( xCooSysModel->getAxisByDimension(0,0) );
if( xAxis.is() )
{
diff --git a/oox/inc/drawingml/chart/typegroupmodel.hxx b/oox/inc/drawingml/chart/typegroupmodel.hxx
index 79d55dfd2846..5a37797e1b25 100644
--- a/oox/inc/drawingml/chart/typegroupmodel.hxx
+++ b/oox/inc/drawingml/chart/typegroupmodel.hxx
@@ -74,7 +74,6 @@ struct TypeGroupModel
bool mbSmooth; /// True = smooth lines in line charts.
bool mbVaryColors; /// True = different automatic colors for each point.
bool mbWireframe; /// True = wireframe surface chart, false = filled surface chart.
- bool mbCatAxisVisible; /// True = Category axis is visible.
explicit TypeGroupModel( sal_Int32 nTypeId, bool bMSO2007Doc );
~TypeGroupModel();
diff --git a/oox/source/drawingml/chart/axisconverter.cxx b/oox/source/drawingml/chart/axisconverter.cxx
index d73632476550..8599c68e6732 100644
--- a/oox/source/drawingml/chart/axisconverter.cxx
+++ b/oox/source/drawingml/chart/axisconverter.cxx
@@ -208,7 +208,10 @@ void AxisConverter::convertFromModel(
// tdf#132076: set axis type to date, if it is a date axis!
aScaleData.AxisType = bDateAxis ? cssc2::AxisType::DATE : cssc2::AxisType::CATEGORY;
aScaleData.AutoDateAxis = mrModel.mbAuto;
- aScaleData.Categories = rTypeGroups.front()->createCategorySequence();
+ /* TODO: create main category axis labels once, while InternalDataProvider
+ can not handle different category names on the primary and secondary category axis. */
+ if( nAxesSetIdx == 0 )
+ aScaleData.Categories = rTypeGroups.front()->createCategorySequence();
/* set default ShiftedCategoryPosition values for some charttype,
because the XML can contain wrong CrossBetween value, if came from MSO */
if( rTypeGroups.front()->is3dChart() && (rTypeInfo.meTypeId == TYPEID_BAR || rTypeInfo.meTypeId == TYPEID_HORBAR || rTypeInfo.meTypeId == TYPEID_STOCK) )
diff --git a/oox/source/drawingml/chart/plotareaconverter.cxx b/oox/source/drawingml/chart/plotareaconverter.cxx
index e5f337a94193..8a8a721a1fe9 100644
--- a/oox/source/drawingml/chart/plotareaconverter.cxx
+++ b/oox/source/drawingml/chart/plotareaconverter.cxx
@@ -422,8 +422,6 @@ void PlotAreaConverter::convertFromModel( View3DModel& rView3DModel )
for (auto const& axesSet : aAxesSets)
{
- if( !axesSet->maAxes.empty() && mrModel.maTypeGroups.size() > sal::static_int_cast<sal_uInt32>(nAxesSetIdx) )
- mrModel.maTypeGroups[nAxesSetIdx]->mbCatAxisVisible = !axesSet->maAxes[0]->mbDeleted;
AxesSetConverter aAxesSetConv(*this, *axesSet);
aAxesSetConv.convertFromModel( xDiagram, rView3DModel, nAxesSetIdx, bSupportsVaryColorsByPoint );
if(nAxesSetIdx == nStartAxesSetIdx)
diff --git a/oox/source/drawingml/chart/typegroupconverter.cxx b/oox/source/drawingml/chart/typegroupconverter.cxx
index 47e2f351608a..f6cea5df9b38 100644
--- a/oox/source/drawingml/chart/typegroupconverter.cxx
+++ b/oox/source/drawingml/chart/typegroupconverter.cxx
@@ -271,7 +271,7 @@ Reference< XLabeledDataSequence > TypeGroupConverter::createCategorySequence()
first series, even if it was empty. */
for (auto const& elem : mrModel.maSeries)
{
- if( elem->maSources.has( SeriesModel::CATEGORIES ) && mrModel.mbCatAxisVisible)
+ if( elem->maSources.has( SeriesModel::CATEGORIES ) )
{
SeriesConverter aSeriesConv(*this, *elem);
xLabeledSeq = aSeriesConv.createCategorySequence( "categories" );
@@ -286,7 +286,7 @@ Reference< XLabeledDataSequence > TypeGroupConverter::createCategorySequence()
}
}
/* n#839727 Create Category Sequence when none are found */
- if( !xLabeledSeq.is() && !mrModel.maSeries.empty() && mrModel.mbCatAxisVisible) {
+ if( !xLabeledSeq.is() && !mrModel.maSeries.empty() ) {
if( nMaxValues < 0 )
nMaxValues = 2;
SeriesModel &aModel = *mrModel.maSeries.get(0);
diff --git a/oox/source/drawingml/chart/typegroupmodel.cxx b/oox/source/drawingml/chart/typegroupmodel.cxx
index 0edd189e27a6..cc106a5de118 100644
--- a/oox/source/drawingml/chart/typegroupmodel.cxx
+++ b/oox/source/drawingml/chart/typegroupmodel.cxx
@@ -54,8 +54,7 @@ TypeGroupModel::TypeGroupModel( sal_Int32 nTypeId, bool bMSO2007Doc ) :
mbShowNegBubbles( !bMSO2007Doc ),
mbSmooth( !bMSO2007Doc ),
mbVaryColors( !bMSO2007Doc ),
- mbWireframe( !bMSO2007Doc ),
- mbCatAxisVisible( true )
+ mbWireframe( !bMSO2007Doc )
{
}