From 200963d3019b7d296f4e22c5e6874eef8b84012b Mon Sep 17 00:00:00 2001 From: Markus Mohrhard Date: Wed, 30 Apr 2014 01:20:36 +0200 Subject: set graphic properties for error bars during import, fdo#78041 Change-Id: I43138745b074dcacdafa090d97eeb9aa2ccecf78 --- chart2/source/tools/ErrorBar.cxx | 2 +- xmloff/source/chart/SchXMLPlotAreaContext.cxx | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/chart2/source/tools/ErrorBar.cxx b/chart2/source/tools/ErrorBar.cxx index c500ddd9ecd3..c75188645acd 100644 --- a/chart2/source/tools/ErrorBar.cxx +++ b/chart2/source/tools/ErrorBar.cxx @@ -167,7 +167,7 @@ void ErrorBar::setPropertyValue( const OUString& rPropName, const uno::Any& rAny else if(rPropName == "ShowNegativeError") rAny >>= mbShowNegativeError; else if(rPropName == "ErrorBarRangePositive" || rPropName == "ErrorBarRangeNegative") - throw uno::RuntimeException("read-only property", static_cast< uno::XWeak*>(this)); + throw beans::UnknownPropertyException("read-only property", static_cast< uno::XWeak*>(this)); else LineProperties::setPropertyValue(rPropName, rAny); diff --git a/xmloff/source/chart/SchXMLPlotAreaContext.cxx b/xmloff/source/chart/SchXMLPlotAreaContext.cxx index ef6ef13b4b2d..c1045a981d24 100644 --- a/xmloff/source/chart/SchXMLPlotAreaContext.cxx +++ b/xmloff/source/chart/SchXMLPlotAreaContext.cxx @@ -1011,6 +1011,19 @@ SchXMLStatisticsObjectContext::~SchXMLStatisticsObjectContext() namespace { +void SetErrorBarStyleProperties( const OUString& rStyleName, uno::Reference< beans::XPropertySet > xBarProp, + SchXMLImportHelper& rImportHelper ) +{ + const SvXMLStylesContext* pStylesCtxt = rImportHelper.GetAutoStylesContext(); + const SvXMLStyleContext* pStyle = pStylesCtxt->FindStyleChildContext(rImportHelper.GetChartFamilyID(), + rStyleName); + + XMLPropStyleContext * pSeriesStyleContext = + const_cast< XMLPropStyleContext * >( dynamic_cast< const XMLPropStyleContext * >( pStyle )); + + pSeriesStyleContext->FillPropertySet( xBarProp ); +} + void SetErrorBarPropertiesFromStyleName( const OUString& aStyleName, uno::Reference< beans::XPropertySet> xBarProp, SchXMLImportHelper& rImportHelper, OUString& aPosRange, OUString& aNegRange) { @@ -1177,6 +1190,8 @@ void SchXMLStatisticsObjectContext::StartElement( const uno::Reference< xml::sax xBarProp->setPropertyValue("ShowNegativeError",uno::makeAny(sal_True)); // first import defaults from parent style + SetErrorBarStyleProperties( maSeriesStyleName, xBarProp, mrImportHelper ); + SetErrorBarStyleProperties( sAutoStyleName, xBarProp, mrImportHelper ); SetErrorBarPropertiesFromStyleName( maSeriesStyleName, xBarProp, mrImportHelper, aPosRange, aNegRange ); SetErrorBarPropertiesFromStyleName( sAutoStyleName, xBarProp, mrImportHelper, aPosRange, aNegRange ); -- cgit