summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/oox/drawingml/chart/axisconverter.hxx15
-rw-r--r--include/oox/drawingml/chart/axismodel.hxx2
-rw-r--r--oox/source/drawingml/chart/axiscontext.cxx2
-rw-r--r--oox/source/drawingml/chart/axisconverter.cxx24
-rw-r--r--oox/source/drawingml/chart/axismodel.cxx3
-rw-r--r--oox/source/token/properties.txt2
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