diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2012-08-13 00:19:45 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2012-08-13 12:34:22 +0200 |
commit | e5348c5f2dca19915036e365c50dd593709ef3cd (patch) | |
tree | 7d010a704954dbf434bf36704bf47846dceb94ad /sc/source | |
parent | 87b4a1438dfa62ab76587d77e1b57a8d080e0d0b (diff) |
add autoMin/autoMax oox import
Change-Id: I5094cba7237245539448babdebee532ade6f674a
Diffstat (limited to 'sc/source')
-rw-r--r-- | sc/source/filter/inc/extlstcontext.hxx | 4 | ||||
-rw-r--r-- | sc/source/filter/oox/extlstcontext.cxx | 34 |
2 files changed, 37 insertions, 1 deletions
diff --git a/sc/source/filter/inc/extlstcontext.hxx b/sc/source/filter/inc/extlstcontext.hxx index a76109c2b15e..0984fb68e4de 100644 --- a/sc/source/filter/inc/extlstcontext.hxx +++ b/sc/source/filter/inc/extlstcontext.hxx @@ -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; }; /** diff --git a/sc/source/filter/oox/extlstcontext.cxx b/sc/source/filter/oox/extlstcontext.cxx index a71332f73df9..17ce45dada54 100644 --- a/sc/source/filter/oox/extlstcontext.cxx +++ b/sc/source/filter/oox/extlstcontext.cxx @@ -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) |