include/oox/export/chartexport.hxx | 2 oox/source/export/chartexport.cxx | 80 +++++++++++++++++++++++++------------ 2 files changed, 58 insertions(+), 24 deletions(-)
New commits: commit 6483f39e8959050ca4d5df42c27695ae98efa8c9 Author: Markus Mohrhard <[email protected]> Date: Fri Dec 13 20:47:12 2013 +0100 also export hiLowLines for lineChart Change-Id: I7b96fcb1e537517a80de87d997818d372d03f74a diff --git a/include/oox/export/chartexport.hxx b/include/oox/export/chartexport.hxx index 833b90a..1e6278b 100644 --- a/include/oox/export/chartexport.hxx +++ b/include/oox/export/chartexport.hxx @@ -130,6 +130,7 @@ private: void exportScatterChart( com::sun::star::uno::Reference< com::sun::star::chart2::XChartType > xChartType ); void exportStockChart( com::sun::star::uno::Reference< com::sun::star::chart2::XChartType > xChartType ); void exportSuffaceChart( com::sun::star::uno::Reference< com::sun::star::chart2::XChartType > xChartType ); + void exportHiLowLines(); void exportUpDownBars(com::sun::star::uno::Reference< com::sun::star::chart2::XChartType > xChartType ); void exportSeries( com::sun::star::uno::Reference< com::sun::star::chart2::XChartType > xChartType, sal_Int32& nAttachedAxis ); diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index fddaf8e..0c06208 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -1246,6 +1246,7 @@ void ChartExport::exportLineChart( Reference< chart2::XChartType > xChartType ) if( !mbIs3DChart ) { + exportHiLowLines(); exportUpDownBars(xChartType); const char* marker = nSymbolType == ::com::sun::star::chart::ChartSymbolType::NONE? "0":"1"; pFS->singleElement( FSNS( XML_c, XML_marker ), @@ -1347,15 +1348,7 @@ void ChartExport::exportStockChart( Reference< chart2::XChartType > xChartType ) Reference< ::com::sun::star::chart::XStatisticDisplay > xStockPropProvider( mxDiagram, uno::UNO_QUERY ); if( xStockPropProvider.is()) { - // stock-range-line - Reference< beans::XPropertySet > xStockPropSet = xStockPropProvider->getMinMaxLine(); - if( xStockPropSet.is() ) - { - pFS->startElement( FSNS( XML_c, XML_hiLowLines ), - FSEND ); - exportShapeProps( xStockPropSet ); - pFS->endElement( FSNS( XML_c, XML_hiLowLines ) ); - } + exportHiLowLines(); exportUpDownBars(xChartType); } @@ -1364,6 +1357,25 @@ void ChartExport::exportStockChart( Reference< chart2::XChartType > xChartType ) pFS->endElement( FSNS( XML_c, XML_stockChart ) ); } +void ChartExport::exportHiLowLines() +{ + FSHelperPtr pFS = GetFS(); + // export the chart property + Reference< ::com::sun::star::chart::XStatisticDisplay > xChartPropProvider( mxDiagram, uno::UNO_QUERY ); + + if (!xChartPropProvider.is()) + return; + + Reference< beans::XPropertySet > xStockPropSet = xChartPropProvider->getMinMaxLine(); + if( xStockPropSet.is() ) + { + pFS->startElement( FSNS( XML_c, XML_hiLowLines ), + FSEND ); + exportShapeProps( xStockPropSet ); + pFS->endElement( FSNS( XML_c, XML_hiLowLines ) ); + } +} + void ChartExport::exportUpDownBars( Reference< chart2::XChartType > xChartType) { FSHelperPtr pFS = GetFS(); commit e1ace08771da5b32ed9801d4ee6166c619aae8fa Author: Markus Mohrhard <[email protected]> Date: Fri Dec 13 20:30:13 2013 +0100 fix an OOXML validation error with the last patch Change-Id: I1aa1b2675a23b124666fce25807ddf65dfdcb8d5 diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 095203f..fddaf8e 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -1246,13 +1246,13 @@ void ChartExport::exportLineChart( Reference< chart2::XChartType > xChartType ) if( !mbIs3DChart ) { + exportUpDownBars(xChartType); const char* marker = nSymbolType == ::com::sun::star::chart::ChartSymbolType::NONE? "0":"1"; pFS->singleElement( FSNS( XML_c, XML_marker ), XML_val, marker, FSEND ); } - exportUpDownBars(xChartType); exportAxesId( nAttachedAxis ); pFS->endElement( FSNS( XML_c, nTypeId ) ); commit 077213c23e377fd7398b35b88050ac173d22d268 Author: YogeshBharate <[email protected]> Date: Wed Dec 11 18:01:27 2013 +0530 fdo#72345: Fixed for Charts - Up Down Bars are missing after Round trip UpDownBars missing after Roundtrip in case of LineChart. Change-Id: Ia3e574aefb9436a2f5b2b88e8824625d09d35c38 diff --git a/include/oox/export/chartexport.hxx b/include/oox/export/chartexport.hxx index 237b410..833b90a 100644 --- a/include/oox/export/chartexport.hxx +++ b/include/oox/export/chartexport.hxx @@ -130,6 +130,7 @@ private: void exportScatterChart( com::sun::star::uno::Reference< com::sun::star::chart2::XChartType > xChartType ); void exportStockChart( com::sun::star::uno::Reference< com::sun::star::chart2::XChartType > xChartType ); void exportSuffaceChart( com::sun::star::uno::Reference< com::sun::star::chart2::XChartType > xChartType ); + void exportUpDownBars(com::sun::star::uno::Reference< com::sun::star::chart2::XChartType > xChartType ); void exportSeries( com::sun::star::uno::Reference< com::sun::star::chart2::XChartType > xChartType, sal_Int32& nAttachedAxis ); void exportCandleStickSeries( diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 9655f3e..095203f 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -1252,6 +1252,7 @@ void ChartExport::exportLineChart( Reference< chart2::XChartType > xChartType ) FSEND ); } + exportUpDownBars(xChartType); exportAxesId( nAttachedAxis ); pFS->endElement( FSNS( XML_c, nTypeId ) ); @@ -1355,38 +1356,57 @@ void ChartExport::exportStockChart( Reference< chart2::XChartType > xChartType ) exportShapeProps( xStockPropSet ); pFS->endElement( FSNS( XML_c, XML_hiLowLines ) ); } - // stock updownbar + exportUpDownBars(xChartType); + } + + exportAxesId( nAttachedAxis ); + + pFS->endElement( FSNS( XML_c, XML_stockChart ) ); +} + +void ChartExport::exportUpDownBars( Reference< chart2::XChartType > xChartType) +{ + FSHelperPtr pFS = GetFS(); + // export the chart property + Reference< ::com::sun::star::chart::XStatisticDisplay > xChartPropProvider( mxDiagram, uno::UNO_QUERY ); + if(xChartPropProvider.is()) + { + Reference< beans::XPropertySet > xChartPropSet = xChartPropProvider->getMinMaxLine(); + // updownbar pFS->startElement( FSNS( XML_c, XML_upDownBars ), FSEND ); // TODO: gapWidth sal_Int32 nGapWidth = 150; pFS->singleElement( FSNS( XML_c, XML_gapWidth ), - XML_val, I32S( nGapWidth ), - FSEND ); + XML_val, I32S( nGapWidth ), + FSEND ); - xStockPropSet = xStockPropProvider->getUpBar(); - if( xStockPropSet.is() ) + xChartPropSet = xChartPropProvider->getUpBar(); + if( xChartPropSet.is() ) { pFS->startElement( FSNS( XML_c, XML_upBars ), - FSEND ); - exportShapeProps( xStockPropSet ); + FSEND ); + // For Linechart with UpDownBars, spPr is not getting imported + // so no need to call the exportShapeProps() for LineChart + if(xChartType->getChartType().equals("com.sun.star.chart2.CandleStickChartType")) + { + exportShapeProps(xChartPropSet); + } pFS->endElement( FSNS( XML_c, XML_upBars ) ); } - - xStockPropSet = xStockPropProvider->getDownBar(); - if( xStockPropSet.is() ) + xChartPropSet = xChartPropProvider->getDownBar(); + if( xChartPropSet.is() ) { pFS->startElement( FSNS( XML_c, XML_downBars ), - FSEND ); - exportShapeProps( xStockPropSet ); + FSEND ); + if(xChartType->getChartType().equals("com.sun.star.chart2.CandleStickChartType")) + { + exportShapeProps(xChartPropSet); + } pFS->endElement( FSNS( XML_c, XML_downBars ) ); } pFS->endElement( FSNS( XML_c, XML_upDownBars ) ); } - - exportAxesId( nAttachedAxis ); - - pFS->endElement( FSNS( XML_c, XML_stockChart ) ); } void ChartExport::exportSuffaceChart( Reference< chart2::XChartType > xChartType ) _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
