summaryrefslogtreecommitdiff
path: root/sc
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 /sc
parent7d1fa5fb8ef2067c406eadbdfb0dbca37d4627bf (diff)
also import and export to ODF the new databar property
Change-Id: Ib29a0d5c9fefe15fbd0f08a5cf9600eff58cd030
Diffstat (limited to 'sc')
-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
4 files changed, 33 insertions, 1 deletions
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