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

add autoMin/autoMax oox import

Change-Id: I5094cba7237245539448babdebee532ade6f674a
üst 87b4a143
......@@ -40,12 +40,16 @@ public:
virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs );
virtual void onStartElement( const AttributeList& rAttribs );
void finalizeImport();
private:
void importDataBar( const AttributeList& rAttribs );
void importNegativeFillColor( const AttributeList& rAttribs );
void importAxisColor( const AttributeList& rAttribs );
void importCfvo( const AttributeList& rAttribs );
void* mpTarget;
bool mbFirstEntry;
};
/**
......
......@@ -38,7 +38,8 @@ namespace xls {
ExtCfRuleContext::ExtCfRuleContext( WorksheetContextBase& rFragment, void* pTarget ):
WorksheetContextBase( rFragment ),
mpTarget( pTarget )
mpTarget( pTarget ),
mbFirstEntry(true)
{
}
......@@ -60,6 +61,9 @@ void ExtCfRuleContext::onStartElement( const AttributeList& rAttribs )
case XLS_EXT_TOKEN( axisColor ):
importAxisColor( rAttribs );
break;
case XLS_EXT_TOKEN( cfvo ):
importCfvo( rAttribs );
break;
default:
break;
......@@ -112,6 +116,34 @@ void ExtCfRuleContext::importNegativeFillColor( const AttributeList& rAttribs )
static_cast<ScDataBarFormatData*>(mpTarget)->mpNegativeColor.reset(pColor);
}
void ExtCfRuleContext::importCfvo( const AttributeList& rAttribs )
{
ScDataBarFormatData* pDataBar = static_cast<ScDataBarFormatData*>(mpTarget);
ScColorScaleEntry* pEntry = NULL;
if(mbFirstEntry)
pEntry = pDataBar->mpLowerLimit.get();
else
pEntry = pDataBar->mpUpperLimit.get();
rtl::OUString aColorScaleType = rAttribs.getString( XML_type, rtl::OUString() );
if(aColorScaleType == "min")
pEntry->SetType(COLORSCALE_MIN);
else if (aColorScaleType == "max")
pEntry->SetType(COLORSCALE_MAX);
else if (aColorScaleType == "autoMin")
pEntry->SetType(COLORSCALE_AUTOMIN);
else if (aColorScaleType == "autoMax")
pEntry->SetType(COLORSCALE_AUTOMAX);
else if (aColorScaleType == "percentile")
pEntry->SetType(COLORSCALE_PERCENTILE);
else if (aColorScaleType == "percent")
pEntry->SetType(COLORSCALE_PERCENT);
else if (aColorScaleType == "formula")
pEntry->SetType(COLORSCALE_FORMULA);
mbFirstEntry = false;
}
ExtLstLocalContext::ExtLstLocalContext( WorksheetContextBase& rFragment, void* pTarget ):
WorksheetContextBase(rFragment),
mpTarget(pTarget)
......
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