Kaydet (Commit) 849c1b64 authored tarafından Markus Mohrhard's avatar Markus Mohrhard

also import and export to ODF the new databar property

Change-Id: Ib29a0d5c9fefe15fbd0f08a5cf9600eff58cd030
üst 7d1fa5fb
......@@ -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,
......
......@@ -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);
}
......
......@@ -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)
......
......@@ -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
};
......
......@@ -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
......
......@@ -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 ),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment