Kaydet (Commit) 0abbb117 authored tarafından Markus Mohrhard's avatar Markus Mohrhard

import cusotm icon set collections from OOXML

Change-Id: I92c8a55d313cb1b066bd3ec8822b8a8edeb6b749
üst c6c1a4a7
......@@ -131,6 +131,7 @@ public:
void importCfvo( const AttributeList& rAttribs );
void importAttribs( const AttributeList& rAttribs );
void importFormula(const OUString& rFormula);
void importIcon(const AttributeList& rAttribs);
void SetData( ScIconSetFormat* pFormat, ScDocument* pDoc, const ScAddress& rAddr );
......
......@@ -367,26 +367,49 @@ void IconSetRule::importFormula(const OUString& rFormula)
rEntry.maFormula = rFormula;
}
namespace {
void IconSetRule::SetData( ScIconSetFormat* pFormat, ScDocument* pDoc, const ScAddress& rPos )
ScIconSetType getType(const OUString& rName)
{
for(size_t i = 0; i < maEntries.size(); ++i)
{
ScColorScaleEntry* pModelEntry = ConvertToModel( maEntries[i], pDoc, rPos );
mxFormatData->maEntries.push_back(pModelEntry);
}
ScIconSetType eIconSetType = IconSet_3TrafficLights1;
ScIconSetMap* pIconSetMap = ScIconSetFormat::getIconSetMap();
for(size_t i = 0; pIconSetMap[i].pName; ++i)
{
if(OUString::createFromAscii(pIconSetMap[i].pName) == maIconSetType)
if(OUString::createFromAscii(pIconSetMap[i].pName) == rName)
{
eIconSetType = pIconSetMap[i].eType;
break;
}
}
mxFormatData->eIconSetType = eIconSetType;
return eIconSetType;
}
}
void IconSetRule::importIcon(const AttributeList& rAttribs)
{
OUString aIconSet = rAttribs.getString(XML_iconSet, OUString());
sal_Int32 nIndex = rAttribs.getInteger(XML_iconId, -1);
if (aIconSet == "NoIcons")
{
nIndex = -1;
}
ScIconSetType eIconSetType = getType(aIconSet);
mxFormatData->maCustomVector.push_back(std::pair<ScIconSetType, sal_Int32>(eIconSetType, nIndex));
}
void IconSetRule::SetData( ScIconSetFormat* pFormat, ScDocument* pDoc, const ScAddress& rPos )
{
for(size_t i = 0; i < maEntries.size(); ++i)
{
ScColorScaleEntry* pModelEntry = ConvertToModel( maEntries[i], pDoc, rPos );
mxFormatData->maEntries.push_back(pModelEntry);
}
mxFormatData->eIconSetType = getType(maIconSetType);
mxFormatData->mbCustom = mbCustom;
pFormat->SetIconSetData(mxFormatData.release());
}
......
......@@ -143,6 +143,7 @@ void IconSetContext::onStartElement( const AttributeList& rAttribs )
mpIconSet->importCfvo( rAttribs );
break;
case XLS14_TOKEN(cfIcon):
mpIconSet->importIcon(rAttribs);
break;
}
}
......
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