diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-04-21 03:27:05 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-04-21 06:45:27 +0200 |
commit | 3d54555a1e7d79f00a8ba309cf821f0e5f48be21 (patch) | |
tree | 4693d54244851ebbf80ce15a2b002e40d4dac268 /oox | |
parent | c93a4d3d602e4126c2a086e44733a33862dd57a1 (diff) |
fix AxisModel MSO2007 vs OOXMl default values
Change-Id: Ie4265bf5ef02126d88d7521f86b0b922f77817a8
Diffstat (limited to 'oox')
-rw-r--r-- | oox/inc/drawingml/chart/axismodel.hxx | 2 | ||||
-rw-r--r-- | oox/source/drawingml/chart/axiscontext.cxx | 4 | ||||
-rw-r--r-- | oox/source/drawingml/chart/axismodel.cxx | 4 | ||||
-rw-r--r-- | oox/source/drawingml/chart/plotareacontext.cxx | 8 | ||||
-rw-r--r-- | oox/source/drawingml/chart/plotareaconverter.cxx | 11 |
5 files changed, 15 insertions, 14 deletions
diff --git a/oox/inc/drawingml/chart/axismodel.hxx b/oox/inc/drawingml/chart/axismodel.hxx index 57ecbf49de0a..949f2848f731 100644 --- a/oox/inc/drawingml/chart/axismodel.hxx +++ b/oox/inc/drawingml/chart/axismodel.hxx @@ -87,7 +87,7 @@ struct AxisModel bool mbDeleted; /// True = axis has been deleted manually. bool mbNoMultiLevel; /// True = no multi-level categories supported. - explicit AxisModel( sal_Int32 nTypeId ); + explicit AxisModel( sal_Int32 nTypeId, bool bMSO2007Doc ); ~AxisModel(); }; diff --git a/oox/source/drawingml/chart/axiscontext.cxx b/oox/source/drawingml/chart/axiscontext.cxx index 295b25f76fe1..95c2f378c256 100644 --- a/oox/source/drawingml/chart/axiscontext.cxx +++ b/oox/source/drawingml/chart/axiscontext.cxx @@ -86,6 +86,7 @@ AxisContextBase::~AxisContextBase() ContextHandlerRef AxisContextBase::onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs ) { + bool bMSO2007Doc = getFilter().isMSO2007Document(); switch( getCurrentElement() ) { case C_TOKEN( catAx ): @@ -107,8 +108,7 @@ ContextHandlerRef AxisContextBase::onCreateContext( sal_Int32 nElement, const At mrModel.mofCrossesAt = rAttribs.getDouble( XML_val, 0.0 ); return 0; case C_TOKEN( delete ): - // default is 'false', not 'true' as specified - mrModel.mbDeleted = rAttribs.getBool( XML_val, false ); + mrModel.mbDeleted = rAttribs.getBool( XML_val, !bMSO2007Doc ); return 0; case C_TOKEN( majorGridlines ): return new ShapePrWrapperContext( *this, mrModel.mxMajorGridLines.create() ); diff --git a/oox/source/drawingml/chart/axismodel.cxx b/oox/source/drawingml/chart/axismodel.cxx index d4163bca151f..7541a4ea848b 100644 --- a/oox/source/drawingml/chart/axismodel.cxx +++ b/oox/source/drawingml/chart/axismodel.cxx @@ -32,7 +32,7 @@ AxisDispUnitsModel::~AxisDispUnitsModel() { } -AxisModel::AxisModel( sal_Int32 nTypeId ) : +AxisModel::AxisModel( sal_Int32 nTypeId, bool bMSO2007Doc ) : mnAxisId( -1 ), mnAxisPos( XML_TOKEN_INVALID ), mnCrossAxisId( -1 ), @@ -50,7 +50,7 @@ AxisModel::AxisModel( sal_Int32 nTypeId ) : mnTickMarkSkip( 0 ), mnTypeId( nTypeId ), mbAuto( false ), - mbDeleted( false ), + mbDeleted( !bMSO2007Doc ), mbNoMultiLevel( false ) { } diff --git a/oox/source/drawingml/chart/plotareacontext.cxx b/oox/source/drawingml/chart/plotareacontext.cxx index f50deb1e2025..2c9fb12e66bc 100644 --- a/oox/source/drawingml/chart/plotareacontext.cxx +++ b/oox/source/drawingml/chart/plotareacontext.cxx @@ -179,13 +179,13 @@ ContextHandlerRef PlotAreaContext::onCreateContext( sal_Int32 nElement, const At return new SurfaceTypeGroupContext( *this, mrModel.maTypeGroups.create( nElement, bMSO2007Doc ) ); case C_TOKEN( catAx ): - return new CatAxisContext( *this, mrModel.maAxes.create( nElement ) ); + return new CatAxisContext( *this, mrModel.maAxes.create( nElement, bMSO2007Doc ) ); case C_TOKEN( dateAx ): - return new DateAxisContext( *this, mrModel.maAxes.create( nElement ) ); + return new DateAxisContext( *this, mrModel.maAxes.create( nElement, bMSO2007Doc ) ); case C_TOKEN( serAx ): - return new SerAxisContext( *this, mrModel.maAxes.create( nElement ) ); + return new SerAxisContext( *this, mrModel.maAxes.create( nElement, bMSO2007Doc ) ); case C_TOKEN( valAx ): - return new ValAxisContext( *this, mrModel.maAxes.create( nElement ) ); + return new ValAxisContext( *this, mrModel.maAxes.create( nElement, bMSO2007Doc ) ); case C_TOKEN( layout ): return new LayoutContext( *this, mrModel.mxLayout.create() ); diff --git a/oox/source/drawingml/chart/plotareaconverter.cxx b/oox/source/drawingml/chart/plotareaconverter.cxx index f8ea9fe6032d..54771b80bf7a 100644 --- a/oox/source/drawingml/chart/plotareaconverter.cxx +++ b/oox/source/drawingml/chart/plotareaconverter.cxx @@ -99,11 +99,11 @@ AxesSetConverter::~AxesSetConverter() { } -ModelRef< AxisModel > lclGetOrCreateAxis( const AxesSetModel::AxisMap& rFromAxes, sal_Int32 nAxisIdx, sal_Int32 nDefTypeId ) +ModelRef< AxisModel > lclGetOrCreateAxis( const AxesSetModel::AxisMap& rFromAxes, sal_Int32 nAxisIdx, sal_Int32 nDefTypeId, bool bMSO2007Doc ) { ModelRef< AxisModel > xAxis = rFromAxes.get( nAxisIdx ); if( !xAxis ) - xAxis.create( nDefTypeId ).mbDeleted = true; // missing axis is invisible + xAxis.create( nDefTypeId, bMSO2007Doc ).mbDeleted = true; // missing axis is invisible return xAxis; } @@ -159,9 +159,10 @@ void AxesSetConverter::convertFromModel( const Reference< XDiagram >& rxDiagram, to the data provider attached to the chart document. */ if( xCoordSystem.is() ) { + bool bMSO2007Doc = getFilter().isMSO2007Document(); // convert all axes (create missing axis models) - ModelRef< AxisModel > xXAxis = lclGetOrCreateAxis( mrModel.maAxes, API_X_AXIS, rFirstTypeGroup.getTypeInfo().mbCategoryAxis ? C_TOKEN( catAx ) : C_TOKEN( valAx ) ); - ModelRef< AxisModel > xYAxis = lclGetOrCreateAxis( mrModel.maAxes, API_Y_AXIS, C_TOKEN( valAx ) ); + ModelRef< AxisModel > xXAxis = lclGetOrCreateAxis( mrModel.maAxes, API_X_AXIS, rFirstTypeGroup.getTypeInfo().mbCategoryAxis ? C_TOKEN( catAx ) : C_TOKEN( valAx ), bMSO2007Doc ); + ModelRef< AxisModel > xYAxis = lclGetOrCreateAxis( mrModel.maAxes, API_Y_AXIS, C_TOKEN( valAx ), bMSO2007Doc ); AxisConverter aXAxisConv( *this, *xXAxis ); aXAxisConv.convertFromModel( xCoordSystem, aTypeGroups, xYAxis.get(), nAxesSetIdx, API_X_AXIS ); @@ -170,7 +171,7 @@ void AxesSetConverter::convertFromModel( const Reference< XDiagram >& rxDiagram, if( rFirstTypeGroup.isDeep3dChart() ) { - ModelRef< AxisModel > xZAxis = lclGetOrCreateAxis( mrModel.maAxes, API_Z_AXIS, C_TOKEN( serAx ) ); + ModelRef< AxisModel > xZAxis = lclGetOrCreateAxis( mrModel.maAxes, API_Z_AXIS, C_TOKEN( serAx ), bMSO2007Doc ); AxisConverter aZAxisConv( *this, *xZAxis ); aZAxisConv.convertFromModel( xCoordSystem, aTypeGroups, 0, nAxesSetIdx, API_Z_AXIS ); } |