diff options
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/SdtHelper.cxx | 20 | ||||
-rw-r--r-- | writerfilter/source/dmapper/SdtHelper.hxx | 3 |
2 files changed, 17 insertions, 6 deletions
diff --git a/writerfilter/source/dmapper/SdtHelper.cxx b/writerfilter/source/dmapper/SdtHelper.cxx index 6d02a044dae6..0bda90d71e4f 100644 --- a/writerfilter/source/dmapper/SdtHelper.cxx +++ b/writerfilter/source/dmapper/SdtHelper.cxx @@ -262,8 +262,7 @@ void SdtHelper::createDropDownControl() } // clean up - m_aDropDownItems.clear(); - setControlType(SdtControlType::unknown); + clear(); } void SdtHelper::createPlainTextControl() @@ -294,8 +293,7 @@ void SdtHelper::createPlainTextControl() uno::makeAny(getInteropGrabBagAndClear())); // clean up - m_aDropDownItems.clear(); - setControlType(SdtControlType::unknown); + clear(); } void SdtHelper::createDateContentControl() @@ -370,11 +368,11 @@ void SdtHelper::createDateContentControl() uno::UNO_QUERY); xRefreshable->refresh(); - setControlType(SdtControlType::unknown); - // Store all unused sdt parameters from grabbag xNameCont->insertByName(UNO_NAME_MISC_OBJ_INTEROPGRABBAG, uno::makeAny(getInteropGrabBagAndClear())); + + clear(); } void SdtHelper::createControlShape(awt::Size aSize, @@ -421,6 +419,16 @@ bool SdtHelper::containedInInteropGrabBag(const OUString& rValueName) [&rValueName](const beans::PropertyValue& i) { return i.Name == rValueName; }); } +void SdtHelper::clear() +{ + m_aDropDownItems.clear(); + setControlType(SdtControlType::unknown); + m_sDataBindingPrefixMapping.clear(); + m_sDataBindingXPath.clear(); + m_sDataBindingStoreItemID.clear(); + m_aGrabBag.clear(); +} + } // namespace writerfilter::dmapper /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/source/dmapper/SdtHelper.hxx b/writerfilter/source/dmapper/SdtHelper.hxx index fb458d8d8b94..54e083ee8df2 100644 --- a/writerfilter/source/dmapper/SdtHelper.hxx +++ b/writerfilter/source/dmapper/SdtHelper.hxx @@ -102,6 +102,9 @@ class SdtHelper final : public virtual SvRefBase void loadPropertiesXMLs(); + /// Clear all collected attributes for futher reuse + void clear(); + public: explicit SdtHelper(DomainMapper_Impl& rDM_Impl, css::uno::Reference<css::uno::XComponentContext> const& xContext); |