diff options
-rw-r--r-- | include/oox/drawingml/chart/axisconverter.hxx | 15 | ||||
-rw-r--r-- | include/oox/drawingml/chart/axismodel.hxx | 2 | ||||
-rw-r--r-- | oox/source/drawingml/chart/axiscontext.cxx | 2 | ||||
-rw-r--r-- | oox/source/drawingml/chart/axisconverter.cxx | 24 | ||||
-rw-r--r-- | oox/source/drawingml/chart/axismodel.cxx | 3 | ||||
-rw-r--r-- | oox/source/token/properties.txt | 2 |
6 files changed, 44 insertions, 4 deletions
diff --git a/include/oox/drawingml/chart/axisconverter.hxx b/include/oox/drawingml/chart/axisconverter.hxx index e107057ad5d4..7224b97fa508 100644 --- a/include/oox/drawingml/chart/axisconverter.hxx +++ b/include/oox/drawingml/chart/axisconverter.hxx @@ -33,6 +33,21 @@ namespace chart { // ============================================================================ +struct AxisDispUnitsModel; + +class AxisDispUnitsConverter : public ConverterBase< AxisDispUnitsModel > +{ +public: + explicit AxisDispUnitsConverter( + const ConverterRoot& rParent, + AxisDispUnitsModel& rModel ); + virtual ~AxisDispUnitsConverter(); + + /** Creates a chart2 axis and inserts it into the passed coordinate system. */ + void convertFromModel( + const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XAxis >& rxAxis); +}; + struct AxisModel; class TypeGroupConverter; diff --git a/include/oox/drawingml/chart/axismodel.hxx b/include/oox/drawingml/chart/axismodel.hxx index dd543d057746..d29af7fedfa3 100644 --- a/include/oox/drawingml/chart/axismodel.hxx +++ b/include/oox/drawingml/chart/axismodel.hxx @@ -41,7 +41,7 @@ struct AxisDispUnitsModel LayoutRef mxLayout; /// Layout/position of the axis units label. TextRef mxText; /// Text source of the axis units label. double mfCustomUnit; /// Custom unit size on value axis. - sal_Int32 mnBuiltInUnit; /// Built-in unit on value axis. + OUString mnBuiltInUnit; /// Built-in unit on value axis. explicit AxisDispUnitsModel(); ~AxisDispUnitsModel(); diff --git a/oox/source/drawingml/chart/axiscontext.cxx b/oox/source/drawingml/chart/axiscontext.cxx index cf023f203c25..2160354a5a91 100644 --- a/oox/source/drawingml/chart/axiscontext.cxx +++ b/oox/source/drawingml/chart/axiscontext.cxx @@ -52,7 +52,7 @@ ContextHandlerRef AxisDispUnitsContext::onCreateContext( sal_Int32 nElement, con switch( nElement ) { case C_TOKEN( builtInUnit ): - mrModel.mnBuiltInUnit = rAttribs.getToken( XML_val, XML_thousands ); + mrModel.mnBuiltInUnit = rAttribs.getString( XML_val, "thousands" ); return 0; case C_TOKEN( custUnit ): mrModel.mfCustomUnit = rAttribs.getDouble( XML_val, 0.0 ); diff --git a/oox/source/drawingml/chart/axisconverter.cxx b/oox/source/drawingml/chart/axisconverter.cxx index 5efa7d9183cc..23e4829497c8 100644 --- a/oox/source/drawingml/chart/axisconverter.cxx +++ b/oox/source/drawingml/chart/axisconverter.cxx @@ -342,6 +342,10 @@ void AxisConverter::convertFromModel( const Reference< XCoordinateSystem >& rxCo TitleConverter aTitleConv( *this, *mrModel.mxTitle ); aTitleConv.convertFromModel( xTitled, "Axis Title", OBJECTTYPE_AXISTITLE, nAxesSetIdx, nAxisIdx ); } + + // axis data unit label ----------------------------------------------- + AxisDispUnitsConverter axisDispUnitsConverter (*this, mrModel.mxDispUnits.getOrCreate()); + axisDispUnitsConverter.convertFromModel(xAxis); } catch( Exception& ) { @@ -360,6 +364,26 @@ void AxisConverter::convertFromModel( const Reference< XCoordinateSystem >& rxCo // ============================================================================ +AxisDispUnitsConverter::AxisDispUnitsConverter( const ConverterRoot& rParent, AxisDispUnitsModel& rModel ) : + ConverterBase< AxisDispUnitsModel >( rParent, rModel ) +{ +} + +AxisDispUnitsConverter::~AxisDispUnitsConverter() +{ +} + +void AxisDispUnitsConverter::convertFromModel( const Reference< XAxis >& rxAxis ) +{ + PropertySet aPropSet( rxAxis ); + if (!(mrModel.mnBuiltInUnit).isEmpty() ) + { + aPropSet.setProperty(PROP_DisplayUnits, true); + aPropSet.setProperty( PROP_BuiltInUnit, mrModel.mnBuiltInUnit ); + } +} +// ============================================================================ + } // namespace chart } // namespace drawingml } // namespace oox diff --git a/oox/source/drawingml/chart/axismodel.cxx b/oox/source/drawingml/chart/axismodel.cxx index b6281462acc4..e91c2ec8eb7e 100644 --- a/oox/source/drawingml/chart/axismodel.cxx +++ b/oox/source/drawingml/chart/axismodel.cxx @@ -26,8 +26,7 @@ namespace chart { // ============================================================================ AxisDispUnitsModel::AxisDispUnitsModel() : - mfCustomUnit( 0.0 ), - mnBuiltInUnit( XML_TOKEN_INVALID ) + mfCustomUnit( 0.0 ) { } diff --git a/oox/source/token/properties.txt b/oox/source/token/properties.txt index 7080d9b0aedb..7a41af2a5fdf 100644 --- a/oox/source/token/properties.txt +++ b/oox/source/token/properties.txt @@ -37,6 +37,7 @@ BorderWidth BottomBorder BottomBorderDistance BottomMargin +BuiltInUnit BulletChar BulletColor BulletFont @@ -135,6 +136,7 @@ DialogLibraries DisableComplexChartTypes DisableDataTableDialog DisplayLabels +DisplayUnits DrillDownOnDoubleClick Dropdown Duration |