tdf#134571 chart2, xmloff: add loext:custom-leader-lines
new ODF chart series style attribute for saving not default (switched off) state of data labels in custom positions. Note: import of the embedded chart of the DOCX unit test document uses also ODF format in the background, testing also this loext attribute, i.e. the chart of the unit test document doesn't contain custom leader lines. Change-Id: Ia6b76e8d7fe5b6b6204761f3bbc2309f1b631008 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101442 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
This commit is contained in:
parent
5fca6fefc9
commit
e2f4e65a7b
@ -2374,10 +2374,19 @@ void Chart2ExportTest::testCustomDataLabelMultipleSeries()
|
||||
void Chart2ExportTest::testLeaderLines()
|
||||
{
|
||||
load("/chart2/qa/extras/data/xlsx/", "testTdf90749.xlsx");
|
||||
xmlDocUniquePtr pXmlDoc = parseExport("xl/charts/chart", "Calc Office Open XML");
|
||||
CPPUNIT_ASSERT(pXmlDoc);
|
||||
assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:lineChart/c:ser[1]/c:dLbls/c:extLst/c:ext/c15:showLeaderLines", "val", "1");
|
||||
assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:lineChart/c:ser[2]/c:dLbls/c:extLst/c:ext/c15:showLeaderLines", "val", "0");
|
||||
{
|
||||
xmlDocUniquePtr pXmlDoc = parseExport("xl/charts/chart", "Calc Office Open XML");
|
||||
CPPUNIT_ASSERT(pXmlDoc);
|
||||
assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:lineChart/c:ser[1]/c:dLbls/c:extLst/c:ext/c15:showLeaderLines", "val", "1");
|
||||
assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:lineChart/c:ser[2]/c:dLbls/c:extLst/c:ext/c15:showLeaderLines", "val", "0");
|
||||
}
|
||||
load("/chart2/qa/extras/data/docx/", "MSO_Custom_Leader_Line.docx");
|
||||
{
|
||||
xmlDocUniquePtr pXmlDoc = parseExport("word/charts/chart1", "Office Open XML Text");
|
||||
CPPUNIT_ASSERT(pXmlDoc);
|
||||
// tdf#134571: Check the leader line is switch off.
|
||||
assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:barChart/c:ser/c:dLbls/c:extLst/c:ext/c15:showLeaderLines", "val", "0");
|
||||
}
|
||||
}
|
||||
|
||||
void Chart2ExportTest::testNumberFormatExportPPTX()
|
||||
@ -2882,6 +2891,7 @@ void Chart2ExportTest::testTdf123647()
|
||||
|
||||
assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:barChart", 1);
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ExportTest);
|
||||
|
||||
CPPUNIT_PLUGIN_IMPLEMENT();
|
||||
|
BIN
chart2/qa/extras/data/docx/MSO_Custom_Leader_Line.docx
Normal file
BIN
chart2/qa/extras/data/docx/MSO_Custom_Leader_Line.docx
Normal file
Binary file not shown.
@ -79,6 +79,7 @@ enum
|
||||
PROP_SERIES_DATAPOINT_LABEL_PLACEMENT,
|
||||
//other series properties
|
||||
PROP_SERIES_ATTACHED_AXIS,
|
||||
PROP_SERIES_SHOW_CUSTOM_LEADERLINES,
|
||||
PROP_SERIES_DATAPOINT_TEXT_ROTATION,
|
||||
PROP_SERIES_DATAPOINT_LABEL_BORDER_STYLE,
|
||||
PROP_SERIES_DATAPOINT_LABEL_BORDER_WIDTH,
|
||||
@ -211,6 +212,12 @@ void lcl_AddPropertiesToVector_SeriesOnly(
|
||||
cppu::UnoType<sal_Int32>::get(),
|
||||
beans::PropertyAttribute::BOUND
|
||||
| beans::PropertyAttribute::MAYBEDEFAULT );
|
||||
|
||||
rOutProperties.emplace_back( "ShowCustomLeaderLines",
|
||||
PROP_SERIES_SHOW_CUSTOM_LEADERLINES,
|
||||
cppu::UnoType<sal_Bool>::get(),
|
||||
beans::PropertyAttribute::BOUND
|
||||
| beans::PropertyAttribute::MAYBEDEFAULT );
|
||||
}
|
||||
|
||||
uno::Sequence< Property > lcl_GetPropertySequence( DataSeriesPointWrapper::eType _eType )
|
||||
|
@ -538,6 +538,7 @@ namespace xmloff::token {
|
||||
XML_CUSTOM_LABEL_FIELD,
|
||||
XML_CUSTOM_LABEL_POS_X,
|
||||
XML_CUSTOM_LABEL_POS_Y,
|
||||
XML_CUSTOM_LEADERLINES,
|
||||
XML_CUT,
|
||||
XML_CUT_OFFS,
|
||||
XML_CUT_OFFS2,
|
||||
|
@ -2463,4 +2463,13 @@ xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.
|
||||
</rng:optional>
|
||||
</rng:define>
|
||||
|
||||
<!-- TODO no proposal -->
|
||||
<rng:define name="style-chart-properties-attlist" combine="interleave">
|
||||
<rng:optional>
|
||||
<rng:attribute name="loext:custom-leader-lines">
|
||||
<rng:ref name="boolean"/>
|
||||
</rng:attribute>
|
||||
</rng:optional>
|
||||
</rng:define>
|
||||
|
||||
</rng:grammar>
|
||||
|
@ -252,6 +252,7 @@ const XMLPropertyMapEntry aXMLChartPropMap[] =
|
||||
MAP_ENTRY_ODF12( "LabelPlacement", CHART, XML_LABEL_POSITION, XML_SCH_TYPE_LABEL_PLACEMENT_TYPE ),
|
||||
MAP_ENTRY( "SegmentOffset", CHART, XML_PIE_OFFSET, XML_TYPE_NUMBER ),
|
||||
MAP_SPECIAL_ODF12( "PercentageNumberFormat", STYLE, XML_PERCENTAGE_DATA_STYLE_NAME, XML_TYPE_NUMBER, XML_SCH_CONTEXT_SPECIAL_NUMBER_FORMAT ),
|
||||
MAP_ENTRY_ODF_EXT( "ShowCustomLeaderLines", LO_EXT, XML_CUSTOM_LEADERLINES, XML_TYPE_BOOL ),
|
||||
|
||||
// text properties for titles
|
||||
MAP_SPECIAL( "TextRotation", STYLE, XML_ROTATION_ANGLE, XML_TYPE_NUMBER, XML_SCH_CONTEXT_SPECIAL_TEXT_ROTATION ), // convert 1/100th degrees to degrees
|
||||
|
@ -540,9 +540,10 @@ namespace xmloff::token {
|
||||
TOKEN( "custom-iconset", XML_CUSTOM_ICONSET ),
|
||||
TOKEN( "custom-iconset-index", XML_CUSTOM_ICONSET_INDEX ),
|
||||
TOKEN( "custom-iconset-name", XML_CUSTOM_ICONSET_NAME ),
|
||||
TOKEN( "custom-label-field", XML_CUSTOM_LABEL_FIELD ),
|
||||
TOKEN( "custom-label-field", XML_CUSTOM_LABEL_FIELD ),
|
||||
TOKEN( "custom-label-pos-x", XML_CUSTOM_LABEL_POS_X ),
|
||||
TOKEN( "custom-label-pos-y", XML_CUSTOM_LABEL_POS_Y ),
|
||||
TOKEN( "custom-leader-lines", XML_CUSTOM_LEADERLINES ),
|
||||
TOKEN( "cut", XML_CUT ),
|
||||
TOKEN( "cut-offs", XML_CUT_OFFS ),
|
||||
TOKEN( "cut_offs", XML_CUT_OFFS2 ),
|
||||
|
@ -458,6 +458,7 @@ custom-iconset-name
|
||||
custom-label-field
|
||||
custom-label-pos-x
|
||||
custom-label-pos-y
|
||||
custom-leader-lines
|
||||
cut
|
||||
cut-offs
|
||||
cut_offs
|
||||
|
Loading…
x
Reference in New Issue
Block a user