summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-03-24 15:58:33 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-03-24 16:01:58 +0100
commit849c1b64de19ef42cbd8cd392b036b9f914f2522 (patch)
tree4ab7e20d1840bb3faf3bbf301cd2cbe9ac905d04
parent7d1fa5fb8ef2067c406eadbdfb0dbca37d4627bf (diff)
also import and export to ODF the new databar property
Change-Id: Ib29a0d5c9fefe15fbd0f08a5cf9600eff58cd030
-rw-r--r--include/xmloff/xmltoken.hxx2
-rw-r--r--sc/source/filter/xml/xmlcondformat.cxx22
-rw-r--r--sc/source/filter/xml/xmlexprt.cxx6
-rw-r--r--sc/source/filter/xml/xmlimprt.cxx2
-rw-r--r--sc/source/filter/xml/xmlimprt.hxx4
-rw-r--r--xmloff/source/core/xmltoken.cxx2
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 ),