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: ...@@ -131,6 +131,7 @@ public:
void importCfvo( const AttributeList& rAttribs ); void importCfvo( const AttributeList& rAttribs );
void importAttribs( const AttributeList& rAttribs ); void importAttribs( const AttributeList& rAttribs );
void importFormula(const OUString& rFormula); void importFormula(const OUString& rFormula);
void importIcon(const AttributeList& rAttribs);
void SetData( ScIconSetFormat* pFormat, ScDocument* pDoc, const ScAddress& rAddr ); void SetData( ScIconSetFormat* pFormat, ScDocument* pDoc, const ScAddress& rAddr );
......
...@@ -367,26 +367,49 @@ void IconSetRule::importFormula(const OUString& rFormula) ...@@ -367,26 +367,49 @@ void IconSetRule::importFormula(const OUString& rFormula)
rEntry.maFormula = 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; ScIconSetType eIconSetType = IconSet_3TrafficLights1;
ScIconSetMap* pIconSetMap = ScIconSetFormat::getIconSetMap(); ScIconSetMap* pIconSetMap = ScIconSetFormat::getIconSetMap();
for(size_t i = 0; pIconSetMap[i].pName; ++i) 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; eIconSetType = pIconSetMap[i].eType;
break; 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()); pFormat->SetIconSetData(mxFormatData.release());
} }
......
...@@ -143,6 +143,7 @@ void IconSetContext::onStartElement( const AttributeList& rAttribs ) ...@@ -143,6 +143,7 @@ void IconSetContext::onStartElement( const AttributeList& rAttribs )
mpIconSet->importCfvo( rAttribs ); mpIconSet->importCfvo( rAttribs );
break; break;
case XLS14_TOKEN(cfIcon): case XLS14_TOKEN(cfIcon):
mpIconSet->importIcon(rAttribs);
break; 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