include/oox/drawingml/chart/seriesmodel.hxx | 20 ---- include/oox/drawingml/chart/typegroupconverter.hxx | 17 --- include/oox/drawingml/fillproperties.hxx | 12 -- include/oox/drawingml/lineproperties.hxx | 6 - include/oox/drawingml/shape.hxx | 6 - include/oox/export/chartexport.hxx | 2 oox/source/drawingml/chart/seriesconverter.cxx | 27 ------ oox/source/drawingml/chart/typegroupcontext.cxx | 22 ----- oox/source/drawingml/chart/typegroupconverter.cxx | 6 + oox/source/export/chartexport.cxx | 92 +++++++++++---------- 10 files changed, 63 insertions(+), 147 deletions(-)
New commits: commit 953cef76ac6f760728a5b2296704d32af2b81ba5 Author: Markus Mohrhard <markus.mohrh...@collabora.co.uk> Date: Sun Apr 6 01:38:41 2014 +0200 export data point symbol color Change-Id: I0dcbf616b8ab3c8cea4437d399fa4b5ec33e475a diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index a19c3a0..822eb90 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -3000,6 +3000,9 @@ void ChartExport::exportMarker(Reference< chart2::XDataSeries > xSeries) break; } + if( aSymbol.Style == chart2::SymbolStyle_AUTO ) + pSymbolType = "auto"; + if( pSymbolType ) { pFS->singleElement( FSNS( XML_c, XML_symbol ), @@ -3016,6 +3019,11 @@ void ChartExport::exportMarker(Reference< chart2::XDataSeries > xSeries) XML_val, I32S(nSize), FSEND ); + pFS->startElement( FSNS( XML_c, XML_spPr ), + FSEND ); + WriteSolidFill(aSymbol.FillColor); + pFS->endElement( FSNS( XML_c, XML_spPr ) ); + pFS->endElement( FSNS( XML_c, XML_marker ) ); } commit 3f50246f6af1d26353377ff5cb2cc5a381c7d426 Author: Markus Mohrhard <markus.mohrh...@collabora.co.uk> Date: Sun Apr 6 01:38:13 2014 +0200 import data point symbol color Change-Id: I27ebd67a535f8617a6f535414ee8426fae6614b9 diff --git a/include/oox/drawingml/chart/seriesmodel.hxx b/include/oox/drawingml/chart/seriesmodel.hxx index e6e8a01..b9c2c3c 100644 --- a/include/oox/drawingml/chart/seriesmodel.hxx +++ b/include/oox/drawingml/chart/seriesmodel.hxx @@ -27,8 +27,6 @@ namespace oox { namespace drawingml { namespace chart { - - struct DataLabelModelBase { typedef ModelRef< Shape > ShapeRef; @@ -51,8 +49,6 @@ struct DataLabelModelBase ~DataLabelModelBase(); }; - - struct DataLabelModel : public DataLabelModelBase { typedef ModelRef< LayoutModel > LayoutRef; @@ -66,8 +62,6 @@ struct DataLabelModel : public DataLabelModelBase ~DataLabelModel(); }; - - struct DataLabelsModel : public DataLabelModelBase { typedef ModelVector< DataLabelModel > DataLabelVector; @@ -81,8 +75,6 @@ struct DataLabelsModel : public DataLabelModelBase ~DataLabelsModel(); }; - - struct PictureOptionsModel { double mfStackUnit; /// Bitmap stacking unit. @@ -95,8 +87,6 @@ struct PictureOptionsModel ~PictureOptionsModel(); }; - - struct ErrorBarModel { enum SourceType @@ -120,8 +110,6 @@ struct ErrorBarModel ~ErrorBarModel(); }; - - struct TrendlineLabelModel { typedef ModelRef< Shape > ShapeRef; @@ -139,8 +127,6 @@ struct TrendlineLabelModel ~TrendlineLabelModel(); }; - - struct TrendlineModel { typedef ModelRef< Shape > ShapeRef; @@ -162,8 +148,6 @@ struct TrendlineModel ~TrendlineModel(); }; - - struct DataPointModel { typedef ModelRef< Shape > ShapeRef; @@ -183,8 +167,6 @@ struct DataPointModel ~DataPointModel(); }; - - struct SeriesModel { enum SourceType @@ -226,8 +208,6 @@ struct SeriesModel ~SeriesModel(); }; - - } // namespace chart } // namespace drawingml } // namespace oox diff --git a/include/oox/drawingml/chart/typegroupconverter.hxx b/include/oox/drawingml/chart/typegroupconverter.hxx index e61f81f..16c8271 100644 --- a/include/oox/drawingml/chart/typegroupconverter.hxx +++ b/include/oox/drawingml/chart/typegroupconverter.hxx @@ -153,7 +153,8 @@ public: sal_Int32 nAxesSetIdx, bool bSupportsVaryColorsByPoint ); /** Sets the passed OOXML marker style at the passed property set. */ - void convertMarker( PropertySet& rPropSet, sal_Int32 nOoxSymbol, sal_Int32 nOoxSize ) const; + void convertMarker( PropertySet& rPropSet, sal_Int32 nOoxSymbol, sal_Int32 nOoxSize, + ModelRef< Shape > xShapeProps ) const; /** Sets the passed OOXML line smoothing at the passed property set. */ void convertLineSmooth( PropertySet& rPropSet, bool bOoxSmooth ) const; /** Sets the passed OOXML bar 3D geometry at the passed property set. */ diff --git a/oox/source/drawingml/chart/seriesconverter.cxx b/oox/source/drawingml/chart/seriesconverter.cxx index b33aabe..0b2b20a 100644 --- a/oox/source/drawingml/chart/seriesconverter.cxx +++ b/oox/source/drawingml/chart/seriesconverter.cxx @@ -481,7 +481,8 @@ void DataPointConverter::convertFromModel( const Reference< XDataSeries >& rxDat // data point marker if( mrModel.monMarkerSymbol.differsFrom( rSeries.mnMarkerSymbol ) || mrModel.monMarkerSize.differsFrom( rSeries.mnMarkerSize ) ) - rTypeGroup.convertMarker( aPropSet, mrModel.monMarkerSymbol.get( rSeries.mnMarkerSymbol ), mrModel.monMarkerSize.get( rSeries.mnMarkerSize ) ); + rTypeGroup.convertMarker( aPropSet, mrModel.monMarkerSymbol.get( rSeries.mnMarkerSymbol ), + mrModel.monMarkerSize.get( rSeries.mnMarkerSize ), mrModel.mxMarkerProp ); // data point pie explosion if( mrModel.monExplosion.differsFrom( rSeries.mnExplosion ) ) @@ -578,7 +579,7 @@ Reference< XDataSeries > SeriesConverter::createDataSeries( const TypeGroupConve } // data point markers - rTypeGroup.convertMarker( aSeriesProp, mrModel.mnMarkerSymbol, mrModel.mnMarkerSize ); + rTypeGroup.convertMarker( aSeriesProp, mrModel.mnMarkerSymbol, mrModel.mnMarkerSize, mrModel.mxMarkerProp ); #if OOX_CHART_SMOOTHED_PER_SERIES // #i66858# smoothed series lines rTypeGroup.convertLineSmooth( aSeriesProp, mrModel.mbSmooth ); diff --git a/oox/source/drawingml/chart/typegroupconverter.cxx b/oox/source/drawingml/chart/typegroupconverter.cxx index 7804650..a57c218 100644 --- a/oox/source/drawingml/chart/typegroupconverter.cxx +++ b/oox/source/drawingml/chart/typegroupconverter.cxx @@ -452,7 +452,8 @@ void TypeGroupConverter::convertFromModel( const Reference< XDiagram >& rxDiagra } } -void TypeGroupConverter::convertMarker( PropertySet& rPropSet, sal_Int32 nOoxSymbol, sal_Int32 nOoxSize ) const +void TypeGroupConverter::convertMarker( PropertySet& rPropSet, sal_Int32 nOoxSymbol, sal_Int32 nOoxSize, + ModelRef< Shape > xShapeProps ) const { if( !isSeriesFrameFormat() ) { @@ -480,6 +481,9 @@ void TypeGroupConverter::convertMarker( PropertySet& rPropSet, sal_Int32 nOoxSym sal_Int32 nSize = static_cast< sal_Int32 >( nOoxSize * (2540.0 / 72.0) + 0.5 ); aSymbol.Size.Width = aSymbol.Size.Height = nSize; + Color aFillColor = xShapeProps->getFillProperties().maFillColor; + aSymbol.FillColor = aFillColor.getColor(getFilter().getGraphicHelper()); + // set the property rPropSet.setProperty( PROP_Symbol, aSymbol ); } commit 08906623da9f8c0749f12276832c95d229d9436c Author: Markus Mohrhard <markus.mohrh...@collabora.co.uk> Date: Sun Apr 6 00:58:22 2014 +0200 remove whitespace Change-Id: I69454c3d9bddfe01da2622117a16bbb37797062a diff --git a/include/oox/drawingml/chart/typegroupconverter.hxx b/include/oox/drawingml/chart/typegroupconverter.hxx index 2219e88..e61f81f 100644 --- a/include/oox/drawingml/chart/typegroupconverter.hxx +++ b/include/oox/drawingml/chart/typegroupconverter.hxx @@ -34,8 +34,6 @@ namespace oox { namespace drawingml { namespace chart { - - /** Enumerates different chart types. */ enum TypeId { @@ -55,8 +53,6 @@ enum TypeId TYPEID_UNKNOWN /// Default for unknown chart types. }; - - /** Enumerates different categories of similar chart types. */ enum TypeCategory { @@ -68,8 +64,6 @@ enum TypeCategory TYPECATEGORY_SURFACE /// Surface charts. }; - - /** Enumerates modes for varying point colors in a series. */ enum VarPointMode { @@ -78,8 +72,6 @@ enum VarPointMode VARPOINTMODE_MULTI /// Supported for multiple series in a chart type group. }; - - /** Contains info for a chart type related to the OpenOffice.org chart module. */ struct TypeGroupInfo { @@ -101,8 +93,6 @@ struct TypeGroupInfo bool mbPictureOptions; /// True = bitmaps support options from c:pictureOptions. }; - - struct UpDownBarsModel; class UpDownBarsConverter : public ConverterBase< UpDownBarsModel > @@ -116,8 +106,6 @@ public: const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartType >& rxChartType ); }; - - struct TypeGroupModel; struct View3DModel; @@ -187,8 +175,6 @@ private: bool mb3dChart; /// True = type is a 3D chart type. }; - - } // namespace chart } // namespace drawingml } // namespace oox diff --git a/include/oox/drawingml/fillproperties.hxx b/include/oox/drawingml/fillproperties.hxx index f588033..447cba2 100644 --- a/include/oox/drawingml/fillproperties.hxx +++ b/include/oox/drawingml/fillproperties.hxx @@ -38,8 +38,6 @@ namespace drawingml { class ShapePropertyMap; - - struct GradientFillProperties { typedef ::std::map< double, Color > GradientStopMap; @@ -57,8 +55,6 @@ struct GradientFillProperties void assignUsed( const GradientFillProperties& rSourceProps ); }; - - struct PatternFillProperties { Color maPattFgColor; /// Pattern foreground color. @@ -69,8 +65,6 @@ struct PatternFillProperties void assignUsed( const PatternFillProperties& rSourceProps ); }; - - struct BlipFillProperties { ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic > @@ -99,8 +93,6 @@ struct BlipFillProperties void assignUsed( const BlipFillProperties& rSourceProps ); }; - - struct OOX_DLLPUBLIC FillProperties { OptValue< sal_Int32 > moFillType; /// Fill type (OOXML token). @@ -126,8 +118,6 @@ struct OOX_DLLPUBLIC FillProperties bool bFlipV = false ) const; }; - - struct GraphicProperties { BlipFillProperties maBlipProps; /// Properties for the graphic. @@ -143,8 +133,6 @@ struct GraphicProperties sal_Int32 nPhClr = API_RGB_TRANSPARENT ) const; }; - - } // namespace drawingml } // namespace oox diff --git a/include/oox/drawingml/lineproperties.hxx b/include/oox/drawingml/lineproperties.hxx index 5e0c062..c38c7e1 100644 --- a/include/oox/drawingml/lineproperties.hxx +++ b/include/oox/drawingml/lineproperties.hxx @@ -27,8 +27,6 @@ namespace oox { namespace drawingml { - - struct LineArrowProperties { OptValue< sal_Int32 > moArrowType; @@ -39,8 +37,6 @@ struct LineArrowProperties void assignUsed( const LineArrowProperties& rSourceProps ); }; - - struct OOX_DLLPUBLIC LineProperties { typedef ::std::pair< sal_Int32, sal_Int32 > DashStop; @@ -73,8 +69,6 @@ struct OOX_DLLPUBLIC LineProperties sal_Int32 getLineWidth() const; }; - - } // namespace drawingml } // namespace oox diff --git a/include/oox/drawingml/shape.hxx b/include/oox/drawingml/shape.hxx index 5b5966b..a7232fa 100644 --- a/include/oox/drawingml/shape.hxx +++ b/include/oox/drawingml/shape.hxx @@ -54,8 +54,6 @@ struct ShapeStyleRef typedef ::std::map< sal_Int32, ShapeStyleRef > ShapeStyleRefMap; - - /** Additional information for a chart embedded in a drawing shape. */ struct ChartShapeInfo { @@ -65,8 +63,6 @@ struct ChartShapeInfo explicit ChartShapeInfo( bool bEmbedShapes ) : mbEmbedShapes( bEmbedShapes ) {} }; - - class OOX_DLLPUBLIC Shape : public boost::enable_shared_from_this< Shape > { @@ -287,8 +283,6 @@ private: com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> maDiagramDoms; }; - - } } #endif // INCLUDED_OOX_DRAWINGML_SHAPE_HXX diff --git a/oox/source/drawingml/chart/seriesconverter.cxx b/oox/source/drawingml/chart/seriesconverter.cxx index 240255c..b33aabe 100644 --- a/oox/source/drawingml/chart/seriesconverter.cxx +++ b/oox/source/drawingml/chart/seriesconverter.cxx @@ -39,15 +39,11 @@ namespace oox { namespace drawingml { namespace chart { - - using namespace ::com::sun::star::beans; using namespace ::com::sun::star::chart2; using namespace ::com::sun::star::chart2::data; using namespace ::com::sun::star::uno; - - namespace { /** nastied-up sgn function - employs some gratuity around 0 - values @@ -168,8 +164,6 @@ void lclConvertLabelFormatting( PropertySet& rPropSet, ObjectFormatter& rFormatt } // namespace - - DataLabelConverter::DataLabelConverter( const ConverterRoot& rParent, DataLabelModel& rModel ) : ConverterBase< DataLabelModel >( rParent, rModel ) { @@ -213,8 +207,6 @@ void DataLabelConverter::convertFromModel( const Reference< XDataSeries >& rxDat } } - - DataLabelsConverter::DataLabelsConverter( const ConverterRoot& rParent, DataLabelsModel& rModel ) : ConverterBase< DataLabelsModel >( rParent, rModel ) { @@ -244,8 +236,6 @@ void DataLabelsConverter::convertFromModel( const Reference< XDataSeries >& rxDa } } - - ErrorBarConverter::ErrorBarConverter( const ConverterRoot& rParent, ErrorBarModel& rModel ) : ConverterBase< ErrorBarModel >( rParent, rModel ) { @@ -346,8 +336,6 @@ void ErrorBarConverter::convertFromModel( const Reference< XDataSeries >& rxData } } -// private -------------------------------------------------------------------- - Reference< XLabeledDataSequence > ErrorBarConverter::createLabeledDataSequence( ErrorBarModel::SourceType eSourceType ) { OUString aRole; @@ -372,8 +360,6 @@ Reference< XLabeledDataSequence > ErrorBarConverter::createLabeledDataSequence( return lclCreateLabeledDataSequence( *this, mrModel.maSources.get( eSourceType ).get(), aRole ); } - - TrendlineLabelConverter::TrendlineLabelConverter( const ConverterRoot& rParent, TrendlineLabelModel& rModel ) : ConverterBase< TrendlineLabelModel >( rParent, rModel ) { @@ -389,8 +375,6 @@ void TrendlineLabelConverter::convertFromModel( PropertySet& rPropSet ) getFormatter().convertFormatting( rPropSet, mrModel.mxShapeProp, mrModel.mxTextProp, OBJECTTYPE_TRENDLINELABEL ); } - - TrendlineConverter::TrendlineConverter( const ConverterRoot& rParent, TrendlineModel& rModel ) : ConverterBase< TrendlineModel >( rParent, rModel ) { @@ -479,8 +463,6 @@ void TrendlineConverter::convertFromModel( const Reference< XDataSeries >& rxDat } } - - DataPointConverter::DataPointConverter( const ConverterRoot& rParent, DataPointModel& rModel ) : ConverterBase< DataPointModel >( rParent, rModel ) { @@ -519,8 +501,6 @@ void DataPointConverter::convertFromModel( const Reference< XDataSeries >& rxDat } } - - SeriesConverter::SeriesConverter( const ConverterRoot& rParent, SeriesModel& rModel ) : ConverterBase< SeriesModel >( rParent, rModel ) { @@ -683,8 +663,6 @@ Reference< XLabeledDataSequence > SeriesConverter::createLabeledDataSequence( return lclCreateLabeledDataSequence( *this, pValues, rRole, pTitle ); } - - } // namespace chart } // namespace drawingml } // namespace oox diff --git a/oox/source/drawingml/chart/typegroupcontext.cxx b/oox/source/drawingml/chart/typegroupcontext.cxx index 22107e9..b39dfb0 100644 --- a/oox/source/drawingml/chart/typegroupcontext.cxx +++ b/oox/source/drawingml/chart/typegroupcontext.cxx @@ -26,13 +26,9 @@ namespace oox { namespace drawingml { namespace chart { - - using ::oox::core::ContextHandler2Helper; using ::oox::core::ContextHandlerRef; - - UpDownBarsContext::UpDownBarsContext( ContextHandler2Helper& rParent, UpDownBarsModel& rModel ) : ContextBase< UpDownBarsModel >( rParent, rModel ) { @@ -62,8 +58,6 @@ ContextHandlerRef UpDownBarsContext::onCreateContext( sal_Int32 nElement, const return 0; } - - AreaTypeGroupContext::AreaTypeGroupContext( ContextHandler2Helper& rParent, TypeGroupModel& rModel ) : TypeGroupContextBase( rParent, rModel ) { @@ -100,8 +94,6 @@ ContextHandlerRef AreaTypeGroupContext::onCreateContext( sal_Int32 nElement, con return 0; } - - BarTypeGroupContext::BarTypeGroupContext( ContextHandler2Helper& rParent, TypeGroupModel& rModel ) : TypeGroupContextBase( rParent, rModel ) { @@ -151,8 +143,6 @@ ContextHandlerRef BarTypeGroupContext::onCreateContext( sal_Int32 nElement, cons return 0; } - - BubbleTypeGroupContext::BubbleTypeGroupContext( ContextHandler2Helper& rParent, TypeGroupModel& rModel ) : TypeGroupContextBase( rParent, rModel ) { @@ -195,8 +185,6 @@ ContextHandlerRef BubbleTypeGroupContext::onCreateContext( sal_Int32 nElement, c return 0; } - - LineTypeGroupContext::LineTypeGroupContext( ContextHandler2Helper& rParent, TypeGroupModel& rModel ) : TypeGroupContextBase( rParent, rModel ) { @@ -246,8 +234,6 @@ ContextHandlerRef LineTypeGroupContext::onCreateContext( sal_Int32 nElement, con return 0; } - - PieTypeGroupContext::PieTypeGroupContext( ContextHandler2Helper& rParent, TypeGroupModel& rModel ) : TypeGroupContextBase( rParent, rModel ) { @@ -296,8 +282,6 @@ ContextHandlerRef PieTypeGroupContext::onCreateContext( sal_Int32 nElement, cons return 0; } - - RadarTypeGroupContext::RadarTypeGroupContext( ContextHandler2Helper& rParent, TypeGroupModel& rModel ) : TypeGroupContextBase( rParent, rModel ) { @@ -329,8 +313,6 @@ ContextHandlerRef RadarTypeGroupContext::onCreateContext( sal_Int32 nElement, co return 0; } - - ScatterTypeGroupContext::ScatterTypeGroupContext( ContextHandler2Helper& rParent, TypeGroupModel& rModel ) : TypeGroupContextBase( rParent, rModel ) { @@ -362,8 +344,6 @@ ContextHandlerRef ScatterTypeGroupContext::onCreateContext( sal_Int32 nElement, return 0; } - - SurfaceTypeGroupContext::SurfaceTypeGroupContext( ContextHandler2Helper& rParent, TypeGroupModel& rModel ) : TypeGroupContextBase( rParent, rModel ) { @@ -390,8 +370,6 @@ ContextHandlerRef SurfaceTypeGroupContext::onCreateContext( sal_Int32 nElement, return 0; } - - } // namespace chart } // namespace drawingml } // namespace oox commit 4074f6f92d64fab4cbeae1e19e1abebae6646b78 Author: Markus Mohrhard <markus.mohrh...@collabora.co.uk> Date: Sun Apr 6 00:36:01 2014 +0200 improve chart series symbol export Using the chart2 service allows us to export series symbols instead of the diagram settings. Change-Id: Ic46f067b60c972af35c0628b3ec4f7851580d725 diff --git a/include/oox/export/chartexport.hxx b/include/oox/export/chartexport.hxx index 54e2802..4252135 100644 --- a/include/oox/export/chartexport.hxx +++ b/include/oox/export/chartexport.hxx @@ -162,7 +162,7 @@ private: sal_Int32 nSeriesLength ); void exportGrouping( bool isBar = false ); void exportTrendlines( ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDataSeries > xSeries ); - void exportMarker(); + void exportMarker( ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDataSeries > xSeries ); void exportSmooth(); void exportFirstSliceAng(); diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 73ebb8e..a19c3a0 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -55,6 +55,7 @@ #include <com/sun/star/chart2/XDataSeriesContainer.hpp> #include <com/sun/star/chart2/DataPointGeometry3D.hpp> #include <com/sun/star/chart2/DataPointLabel.hpp> +#include <com/sun/star/chart2/Symbol.hpp> #include <com/sun/star/chart2/data/XDataSource.hpp> #include <com/sun/star/chart2/data/XDataSink.hpp> #include <com/sun/star/chart2/data/XDataReceiver.hpp> @@ -1657,6 +1658,7 @@ void ChartExport::exportSeries( Reference< chart2::XChartType > xChartType, sal_ Reference< chart2::data::XDataSource > xSource( aSeriesSeq[nSeriesIdx], uno::UNO_QUERY ); if( xSource.is()) { + Reference< chart2::XDataSeries > xDataSeries( xSource, uno::UNO_QUERY ); Sequence< Reference< chart2::data::XLabeledDataSequence > > aSeqCnt( xSource->getDataSequences()); // search for main sequence and create a series element @@ -1727,7 +1729,7 @@ void ChartExport::exportSeries( Reference< chart2::XChartType > xChartType, sal_ { case chart::TYPEID_LINE: { - exportMarker( ); + exportMarker(xDataSeries); break; } case chart::TYPEID_PIE: @@ -1745,12 +1747,12 @@ void ChartExport::exportSeries( Reference< chart2::XChartType > xChartType, sal_ } case chart::TYPEID_SCATTER: { - exportMarker( ); + exportMarker(xDataSeries); break; } case chart::TYPEID_RADARLINE: { - exportMarker( ); + exportMarker(xDataSeries); break; } } @@ -2947,48 +2949,55 @@ void ChartExport::exportTrendlines( Reference< chart2::XDataSeries > xSeries ) } } -void ChartExport::exportMarker() +void ChartExport::exportMarker(Reference< chart2::XDataSeries > xSeries) { + Reference< XPropertySet > xPropSet( xSeries, uno::UNO_QUERY ); + chart2::Symbol aSymbol; + if( GetProperty( xPropSet, "Symbol" ) ) + mAny >>= aSymbol; + + if(aSymbol.Style != chart2::SymbolStyle_STANDARD && aSymbol.Style != chart2::SymbolStyle_AUTO) + return; + FSHelperPtr pFS = GetFS(); pFS->startElement( FSNS( XML_c, XML_marker ), FSEND ); - Reference< XPropertySet > xPropSet( mxDiagram , uno::UNO_QUERY ); - sal_Int32 nSymbolType = ::com::sun::star::chart::ChartSymbolType::NONE; - if( GetProperty( xPropSet, "SymbolType" ) ) - mAny >>= nSymbolType; + sal_Int32 nSymbol = aSymbol.StandardSymbol; // TODO: more properties support for marker const char* pSymbolType = NULL; - switch( nSymbolType ) + switch( nSymbol ) { - case cssc::ChartSymbolType::NONE: - pSymbolType = "none"; - break; - case cssc::ChartSymbolType::SYMBOL0: + case 0: pSymbolType = "square"; break; - case cssc::ChartSymbolType::SYMBOL1: + case 1: pSymbolType = "diamond"; break; - // map all triangle variants to the OOXML version - case cssc::ChartSymbolType::SYMBOL2: - case cssc::ChartSymbolType::SYMBOL3: - case cssc::ChartSymbolType::SYMBOL4: - case cssc::ChartSymbolType::SYMBOL5: + case 2: + case 3: + case 4: + case 5: pSymbolType = "triangle"; break; - case cssc::ChartSymbolType::SYMBOL6: - pSymbolType = "plus"; + case 8: + pSymbolType = "circle"; break; - case cssc::ChartSymbolType::SYMBOL7: - pSymbolType = "plus"; + case 9: + pSymbolType = "star"; + break; + case 10: + pSymbolType = "X"; break; - case cssc::ChartSymbolType::AUTO: + case 11: + pSymbolType = "plus"; break; - case cssc::ChartSymbolType::BITMAPURL: + case 13: + pSymbolType = "dash"; break; default: - SAL_WARN("oox", "unknown data series symbol"); + pSymbolType = "square"; + break; } if( pSymbolType ) @@ -2997,21 +3006,16 @@ void ChartExport::exportMarker() XML_val, pSymbolType, FSEND ); } - if( nSymbolType != cssc::ChartSymbolType::NONE ) - { - awt::Size aSymbolSize; - if( GetProperty( xPropSet, "SymbolSize" ) ) - { - mAny >>= aSymbolSize;; - sal_Int32 nSize = std::max( aSymbolSize.Width, aSymbolSize.Height ); - nSize = nSize/250.0*7.0; // just guessed based on some test cases - nSize = std::min<sal_Int32>( 72, std::max<sal_Int32>( 2, nSize ) ); - pFS->singleElement( FSNS( XML_c, XML_size), - XML_val, I32S(nSize), - FSEND ); - } - } + awt::Size aSymbolSize = aSymbol.Size; + sal_Int32 nSize = std::max( aSymbolSize.Width, aSymbolSize.Height ); + + nSize = nSize/250.0*7.0; // just guessed based on some test cases + nSize = std::min<sal_Int32>( 72, std::max<sal_Int32>( 2, nSize ) ); + pFS->singleElement( FSNS( XML_c, XML_size), + XML_val, I32S(nSize), + FSEND ); + pFS->endElement( FSNS( XML_c, XML_marker ) ); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits