summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-08-13 00:19:45 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-08-13 12:34:22 +0200
commite5348c5f2dca19915036e365c50dd593709ef3cd (patch)
tree7d010a704954dbf434bf36704bf47846dceb94ad /sc/source
parent87b4a1438dfa62ab76587d77e1b57a8d080e0d0b (diff)
add autoMin/autoMax oox import
Change-Id: I5094cba7237245539448babdebee532ade6f674a
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/filter/inc/extlstcontext.hxx4
-rw-r--r--sc/source/filter/oox/extlstcontext.cxx34
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)