diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-03-24 15:58:33 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-03-24 16:01:58 +0100 |
commit | 849c1b64de19ef42cbd8cd392b036b9f914f2522 (patch) | |
tree | 4ab7e20d1840bb3faf3bbf301cd2cbe9ac905d04 | |
parent | 7d1fa5fb8ef2067c406eadbdfb0dbca37d4627bf (diff) |
also import and export to ODF the new databar property
Change-Id: Ib29a0d5c9fefe15fbd0f08a5cf9600eff58cd030
-rw-r--r-- | include/xmloff/xmltoken.hxx | 2 | ||||
-rw-r--r-- | sc/source/filter/xml/xmlcondformat.cxx | 22 | ||||
-rw-r--r-- | sc/source/filter/xml/xmlexprt.cxx | 6 | ||||
-rw-r--r-- | sc/source/filter/xml/xmlimprt.cxx | 2 | ||||
-rw-r--r-- | sc/source/filter/xml/xmlimprt.hxx | 4 | ||||
-rw-r--r-- | xmloff/source/core/xmltoken.cxx | 2 |
6 files changed, 37 insertions, 1 deletions
diff --git a/include/xmloff/xmltoken.hxx b/include/xmloff/xmltoken.hxx index d1d39a72fa24..2527a8fc1e8d 100644 --- a/include/xmloff/xmltoken.hxx +++ b/include/xmloff/xmltoken.hxx @@ -1176,6 +1176,7 @@ namespace xmloff { namespace token { XML_MAX, XML_MAX_EDGE, XML_MAX_HEIGHT, + XML_MAX_LENGTH, XML_MAX_WIDTH, XML_MAXIMUM, XML_MAXIMUM_DIFFERENCE, @@ -1205,6 +1206,7 @@ namespace xmloff { namespace token { XML_MIN_INTEGER_DIGITS, XML_MIN_LABEL_DISTANCE, XML_MIN_LABEL_WIDTH, + XML_MIN_LENGTH, XML_MIN_LINE_HEIGHT, XML_MIN_NUMERATOR_DIGITS, XML_MIN_ROW_HEIGHT, diff --git a/sc/source/filter/xml/xmlcondformat.cxx b/sc/source/filter/xml/xmlcondformat.cxx index 911f5c0d5474..4f067cb37d4f 100644 --- a/sc/source/filter/xml/xmlcondformat.cxx +++ b/sc/source/filter/xml/xmlcondformat.cxx @@ -180,6 +180,8 @@ ScXMLDataBarFormatContext::ScXMLDataBarFormatContext( ScXMLImport& rImport, sal_ OUString sAxisPosition; OUString sShowValue; OUString sAxisColor; + OUString sMinLength; + OUString sMaxLength; sal_Int16 nAttrCount(xAttrList.is() ? xAttrList->getLength() : 0); const SvXMLTokenMap& rAttrTokenMap = GetScImport().GetDataBarAttrMap(); @@ -211,6 +213,12 @@ ScXMLDataBarFormatContext::ScXMLDataBarFormatContext( ScXMLImport& rImport, sal_ case XML_TOK_DATABAR_AXISCOLOR: sAxisColor = sValue; break; + case XML_TOK_DATABAR_MINLENGTH: + sMinLength = sValue; + break; + case XML_TOK_DATABAR_MAXLENGTH: + sMaxLength = sValue; + break; default: break; } @@ -265,6 +273,20 @@ ScXMLDataBarFormatContext::ScXMLDataBarFormatContext( ScXMLImport& rImport, sal_ mpFormatData->mbOnlyBar = !bShowValue; } + if (!sMinLength.isEmpty()) + { + double nVal = sMinLength.toDouble(); + mpFormatData->mnMinLength = nVal; + } + + if (!sMaxLength.isEmpty()) + { + double nVal = sMaxLength.toDouble(); + if (nVal == 0.0) + nVal = 100.0; + mpFormatData->mnMaxLength = nVal; + } + pFormat->AddEntry(mpDataBarFormat); } diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx index e6d7e3df0f6d..e1087ddcd50f 100644 --- a/sc/source/filter/xml/xmlexprt.cxx +++ b/sc/source/filter/xml/xmlexprt.cxx @@ -4454,6 +4454,12 @@ void ScXMLExport::ExportConditionalFormat(SCTAB nTab) if(pFormatData->mbOnlyBar) AddAttribute(XML_NAMESPACE_CALC_EXT, XML_SHOW_VALUE, XML_FALSE); + if (pFormatData->mnMinLength != 0.0) + AddAttribute(XML_NAMESPACE_CALC_EXT, XML_MIN_LENGTH, OUString::number(pFormatData->mnMinLength)); + + if (pFormatData->mnMaxLength != 0.0) + AddAttribute(XML_NAMESPACE_CALC_EXT, XML_MAX_LENGTH, OUString::number(pFormatData->mnMaxLength)); + if(pFormatData->mbNeg) { if(pFormatData->mpNegativeColor) diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx index 8930c363376f..25dd3dba6704 100644 --- a/sc/source/filter/xml/xmlimprt.cxx +++ b/sc/source/filter/xml/xmlimprt.cxx @@ -720,6 +720,8 @@ const SvXMLTokenMap& ScXMLImport::GetDataBarAttrMap() { XML_NAMESPACE_CALC_EXT, XML_AXIS_POSITION, XML_TOK_DATABAR_AXISPOSITION }, { XML_NAMESPACE_CALC_EXT, XML_SHOW_VALUE, XML_TOK_DATABAR_SHOWVALUE }, { XML_NAMESPACE_CALC_EXT, XML_AXIS_COLOR, XML_TOK_DATABAR_AXISCOLOR }, + { XML_NAMESPACE_CALC_EXT, XML_MIN_LENGTH, XML_TOK_DATABAR_MINLENGTH }, + { XML_NAMESPACE_CALC_EXT, XML_MAX_LENGTH, XML_TOK_DATABAR_MAXLENGTH }, XML_TOKEN_MAP_END }; diff --git a/sc/source/filter/xml/xmlimprt.hxx b/sc/source/filter/xml/xmlimprt.hxx index 09adfacf0666..479bedf183a9 100644 --- a/sc/source/filter/xml/xmlimprt.hxx +++ b/sc/source/filter/xml/xmlimprt.hxx @@ -211,7 +211,9 @@ enum ScXMLDataBarAttrTokens XML_TOK_DATABAR_GRADIENT, XML_TOK_DATABAR_AXISPOSITION, XML_TOK_DATABAR_SHOWVALUE, - XML_TOK_DATABAR_AXISCOLOR + XML_TOK_DATABAR_AXISCOLOR, + XML_TOK_DATABAR_MINLENGTH, + XML_TOK_DATABAR_MAXLENGTH }; enum ScXMLDataBarEntryAttrTokens diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx index 0a1835b743d6..faefa0e30b5c 100644 --- a/xmloff/source/core/xmltoken.cxx +++ b/xmloff/source/core/xmltoken.cxx @@ -1181,6 +1181,7 @@ namespace xmloff { namespace token { TOKEN( "max", XML_MAX ), TOKEN( "max-edge", XML_MAX_EDGE ), TOKEN( "max-height", XML_MAX_HEIGHT ), + TOKEN( "max-length", XML_MAX_LENGTH ), TOKEN( "max-width", XML_MAX_WIDTH ), TOKEN( "maximum", XML_MAXIMUM ), TOKEN( "maximum-difference", XML_MAXIMUM_DIFFERENCE ), @@ -1210,6 +1211,7 @@ namespace xmloff { namespace token { TOKEN( "min-integer-digits", XML_MIN_INTEGER_DIGITS ), TOKEN( "min-label-distance", XML_MIN_LABEL_DISTANCE ), TOKEN( "min-label-width", XML_MIN_LABEL_WIDTH ), + TOKEN( "min-length", XML_MIN_LENGTH ), TOKEN( "min-line-height", XML_MIN_LINE_HEIGHT ), TOKEN( "min-numerator-digits", XML_MIN_NUMERATOR_DIGITS ), TOKEN( "min-row-height", XML_MIN_ROW_HEIGHT ), |