diff options
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/drawingml/chart/chartspaceconverter.cxx | 7 | ||||
-rw-r--r-- | oox/source/drawingml/chart/chartspacefragment.cxx | 6 |
2 files changed, 12 insertions, 1 deletions
diff --git a/oox/source/drawingml/chart/chartspaceconverter.cxx b/oox/source/drawingml/chart/chartspaceconverter.cxx index db0421585aac..d6b09a44845e 100644 --- a/oox/source/drawingml/chart/chartspaceconverter.cxx +++ b/oox/source/drawingml/chart/chartspaceconverter.cxx @@ -212,6 +212,13 @@ void ChartSpaceConverter::convertFromModel( const Reference< XShapes >& rxExtern aProps.setProperty( PROP_DisableDataTableDialog , true ); aProps.setProperty( PROP_DisableComplexChartTypes , true ); } + + if(!mrModel.maSheetPath.isEmpty() ) + { + Reference< ::com::sun::star::chart::XChartDocument > xChartDoc( getChartDocument(), UNO_QUERY ); + PropertySet aProps( xChartDoc->getDiagram() ); + aProps.setProperty( PROP_ExternalData , uno::makeAny(mrModel.maSheetPath) ); + } } // ============================================================================ diff --git a/oox/source/drawingml/chart/chartspacefragment.cxx b/oox/source/drawingml/chart/chartspacefragment.cxx index 2e717a8a9ec5..03389f00ebdc 100644 --- a/oox/source/drawingml/chart/chartspacefragment.cxx +++ b/oox/source/drawingml/chart/chartspacefragment.cxx @@ -36,7 +36,8 @@ using namespace ::oox::core; // ============================================================================ ChartSpaceFragment::ChartSpaceFragment( XmlFilterBase& rFilter, const OUString& rFragmentPath, ChartSpaceModel& rModel ) : - FragmentBase< ChartSpaceModel >( rFilter, rFragmentPath, rModel ) + FragmentBase< ChartSpaceModel >( rFilter, rFragmentPath, rModel ), + mpFilterBase(rFilter) { } @@ -74,6 +75,9 @@ ContextHandlerRef ChartSpaceFragment::onCreateContext( sal_Int32 nElement, const case C_TOKEN( pivotSource ): mrModel.mbPivotChart = true; return 0; + case C_TOKEN (externalData): + mrModel.maSheetPath = getFragmentPathFromRelId(rAttribs.getString(R_TOKEN(id),OUString())); + return 0; } break; |