diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-11-21 11:48:58 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-11-21 13:00:02 +0100 |
commit | 55e42805ea796cc92d2e93dfce9200b9c13eaeb4 (patch) | |
tree | b8543b0dd478ec2adf25fd199a9bf7d126bf824b /reportdesign | |
parent | 2dbd02b576f28224204ac962f6ce20fde6687093 (diff) |
improve function-local statics in forms..reportdesign
Change-Id: I285e2e75c8d9cad35445c89f00ef68b155806ea2
Reviewed-on: https://gerrit.libreoffice.org/63703
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'reportdesign')
-rw-r--r-- | reportdesign/source/core/sdr/RptObject.cxx | 78 | ||||
-rw-r--r-- | reportdesign/source/filter/xml/xmlControlProperty.cxx | 23 |
2 files changed, 52 insertions, 49 deletions
diff --git a/reportdesign/source/core/sdr/RptObject.cxx b/reportdesign/source/core/sdr/RptObject.cxx index eb0f45742e77..0fe29d2d0252 100644 --- a/reportdesign/source/core/sdr/RptObject.cxx +++ b/reportdesign/source/core/sdr/RptObject.cxx @@ -249,68 +249,72 @@ const TPropertyNamePair& getPropertyNameMap(sal_uInt16 _nObjectId) { case OBJ_DLG_IMAGECONTROL: { - static TPropertyNamePair s_aNameMap; - if ( s_aNameMap.empty() ) + static TPropertyNamePair s_aNameMap = [&]() { std::shared_ptr<AnyConverter> aNoConverter(new AnyConverter); - s_aNameMap.emplace(PROPERTY_CONTROLBACKGROUND,TPropertyConverter(PROPERTY_BACKGROUNDCOLOR,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CONTROLBORDER,TPropertyConverter(PROPERTY_BORDER,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CONTROLBORDERCOLOR,TPropertyConverter(PROPERTY_BORDERCOLOR,aNoConverter)); - } + TPropertyNamePair tmp; + tmp.emplace(PROPERTY_CONTROLBACKGROUND,TPropertyConverter(PROPERTY_BACKGROUNDCOLOR,aNoConverter)); + tmp.emplace(PROPERTY_CONTROLBORDER,TPropertyConverter(PROPERTY_BORDER,aNoConverter)); + tmp.emplace(PROPERTY_CONTROLBORDERCOLOR,TPropertyConverter(PROPERTY_BORDERCOLOR,aNoConverter)); + return tmp; + }(); return s_aNameMap; } case OBJ_DLG_FIXEDTEXT: { - static TPropertyNamePair s_aNameMap; - if ( s_aNameMap.empty() ) + static TPropertyNamePair s_aNameMap = [&]() { std::shared_ptr<AnyConverter> aNoConverter(new AnyConverter); - s_aNameMap.emplace(PROPERTY_CHARCOLOR,TPropertyConverter(PROPERTY_TEXTCOLOR,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CONTROLBACKGROUND,TPropertyConverter(PROPERTY_BACKGROUNDCOLOR,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CHARUNDERLINECOLOR,TPropertyConverter(PROPERTY_TEXTLINECOLOR,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CHARRELIEF,TPropertyConverter(PROPERTY_FONTRELIEF,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CHARFONTHEIGHT,TPropertyConverter(PROPERTY_FONTHEIGHT,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CHARSTRIKEOUT,TPropertyConverter(PROPERTY_FONTSTRIKEOUT,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CONTROLTEXTEMPHASISMARK,TPropertyConverter(PROPERTY_FONTEMPHASISMARK,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CONTROLBORDER,TPropertyConverter(PROPERTY_BORDER,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CONTROLBORDERCOLOR,TPropertyConverter(PROPERTY_BORDERCOLOR,aNoConverter)); + TPropertyNamePair tmp; + tmp.emplace(PROPERTY_CHARCOLOR,TPropertyConverter(PROPERTY_TEXTCOLOR,aNoConverter)); + tmp.emplace(PROPERTY_CONTROLBACKGROUND,TPropertyConverter(PROPERTY_BACKGROUNDCOLOR,aNoConverter)); + tmp.emplace(PROPERTY_CHARUNDERLINECOLOR,TPropertyConverter(PROPERTY_TEXTLINECOLOR,aNoConverter)); + tmp.emplace(PROPERTY_CHARRELIEF,TPropertyConverter(PROPERTY_FONTRELIEF,aNoConverter)); + tmp.emplace(PROPERTY_CHARFONTHEIGHT,TPropertyConverter(PROPERTY_FONTHEIGHT,aNoConverter)); + tmp.emplace(PROPERTY_CHARSTRIKEOUT,TPropertyConverter(PROPERTY_FONTSTRIKEOUT,aNoConverter)); + tmp.emplace(PROPERTY_CONTROLTEXTEMPHASISMARK,TPropertyConverter(PROPERTY_FONTEMPHASISMARK,aNoConverter)); + tmp.emplace(PROPERTY_CONTROLBORDER,TPropertyConverter(PROPERTY_BORDER,aNoConverter)); + tmp.emplace(PROPERTY_CONTROLBORDERCOLOR,TPropertyConverter(PROPERTY_BORDERCOLOR,aNoConverter)); std::shared_ptr<AnyConverter> aParaAdjust(new ParaAdjust); - s_aNameMap.emplace(PROPERTY_PARAADJUST,TPropertyConverter(PROPERTY_ALIGN,aParaAdjust)); - } + tmp.emplace(PROPERTY_PARAADJUST,TPropertyConverter(PROPERTY_ALIGN,aParaAdjust)); + return tmp; + }(); return s_aNameMap; } case OBJ_DLG_FORMATTEDFIELD: { - static TPropertyNamePair s_aNameMap; - if ( s_aNameMap.empty() ) + static TPropertyNamePair s_aNameMap = [&]() { std::shared_ptr<AnyConverter> aNoConverter(new AnyConverter); - s_aNameMap.emplace(PROPERTY_CHARCOLOR,TPropertyConverter(PROPERTY_TEXTCOLOR,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CONTROLBACKGROUND,TPropertyConverter(PROPERTY_BACKGROUNDCOLOR,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CHARUNDERLINECOLOR,TPropertyConverter(PROPERTY_TEXTLINECOLOR,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CHARRELIEF,TPropertyConverter(PROPERTY_FONTRELIEF,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CHARFONTHEIGHT,TPropertyConverter(PROPERTY_FONTHEIGHT,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CHARSTRIKEOUT,TPropertyConverter(PROPERTY_FONTSTRIKEOUT,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CONTROLTEXTEMPHASISMARK,TPropertyConverter(PROPERTY_FONTEMPHASISMARK,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CONTROLBORDER,TPropertyConverter(PROPERTY_BORDER,aNoConverter)); - s_aNameMap.emplace(PROPERTY_CONTROLBORDERCOLOR,TPropertyConverter(PROPERTY_BORDERCOLOR,aNoConverter)); + TPropertyNamePair tmp; + tmp.emplace(PROPERTY_CHARCOLOR,TPropertyConverter(PROPERTY_TEXTCOLOR,aNoConverter)); + tmp.emplace(PROPERTY_CONTROLBACKGROUND,TPropertyConverter(PROPERTY_BACKGROUNDCOLOR,aNoConverter)); + tmp.emplace(PROPERTY_CHARUNDERLINECOLOR,TPropertyConverter(PROPERTY_TEXTLINECOLOR,aNoConverter)); + tmp.emplace(PROPERTY_CHARRELIEF,TPropertyConverter(PROPERTY_FONTRELIEF,aNoConverter)); + tmp.emplace(PROPERTY_CHARFONTHEIGHT,TPropertyConverter(PROPERTY_FONTHEIGHT,aNoConverter)); + tmp.emplace(PROPERTY_CHARSTRIKEOUT,TPropertyConverter(PROPERTY_FONTSTRIKEOUT,aNoConverter)); + tmp.emplace(PROPERTY_CONTROLTEXTEMPHASISMARK,TPropertyConverter(PROPERTY_FONTEMPHASISMARK,aNoConverter)); + tmp.emplace(PROPERTY_CONTROLBORDER,TPropertyConverter(PROPERTY_BORDER,aNoConverter)); + tmp.emplace(PROPERTY_CONTROLBORDERCOLOR,TPropertyConverter(PROPERTY_BORDERCOLOR,aNoConverter)); std::shared_ptr<AnyConverter> aParaAdjust(new ParaAdjust); - s_aNameMap.emplace(PROPERTY_PARAADJUST,TPropertyConverter(PROPERTY_ALIGN,aParaAdjust)); - } + tmp.emplace(PROPERTY_PARAADJUST,TPropertyConverter(PROPERTY_ALIGN,aParaAdjust)); + return tmp; + }(); return s_aNameMap; } case OBJ_CUSTOMSHAPE: { - static TPropertyNamePair s_aNameMap; - if ( s_aNameMap.empty() ) + static TPropertyNamePair s_aNameMap = [&]() { std::shared_ptr<AnyConverter> aNoConverter(new AnyConverter); - s_aNameMap.emplace(OUString("FillColor"),TPropertyConverter(PROPERTY_CONTROLBACKGROUND,aNoConverter)); - s_aNameMap.emplace(PROPERTY_PARAADJUST,TPropertyConverter(PROPERTY_ALIGN,aNoConverter)); - } + TPropertyNamePair tmp; + tmp.emplace(OUString("FillColor"),TPropertyConverter(PROPERTY_CONTROLBACKGROUND,aNoConverter)); + tmp.emplace(PROPERTY_PARAADJUST,TPropertyConverter(PROPERTY_ALIGN,aNoConverter)); + return tmp; + }(); return s_aNameMap; } diff --git a/reportdesign/source/filter/xml/xmlControlProperty.cxx b/reportdesign/source/filter/xml/xmlControlProperty.cxx index e7009a0eca24..82cb361d58c7 100644 --- a/reportdesign/source/filter/xml/xmlControlProperty.cxx +++ b/reportdesign/source/filter/xml/xmlControlProperty.cxx @@ -82,20 +82,19 @@ OXMLControlProperty::OXMLControlProperty( ORptFilter& rImport case XML_TOK_VALUE_TYPE: { // needs to be translated into a css::uno::Type - static std::map< OUString, css::uno::Type > s_aTypeNameMap; - if (s_aTypeNameMap.empty()) + static std::map< OUString, css::uno::Type > const s_aTypeNameMap { - s_aTypeNameMap[GetXMLToken( XML_BOOLEAN)] = cppu::UnoType<bool>::get(); + { GetXMLToken( XML_BOOLEAN) , cppu::UnoType<bool>::get() }, // Not a copy paste error, see comment xmloff/source/forms/propertyimport.cxx lines 244-248 - s_aTypeNameMap[GetXMLToken( XML_FLOAT)] = cppu::UnoType<double>::get(); - s_aTypeNameMap[GetXMLToken( XML_DOUBLE)] = cppu::UnoType<double>::get(); - s_aTypeNameMap[GetXMLToken( XML_STRING)] = cppu::UnoType<OUString>::get(); - s_aTypeNameMap[GetXMLToken( XML_INT)] = cppu::UnoType<sal_Int32>::get(); - s_aTypeNameMap[GetXMLToken( XML_SHORT)] = cppu::UnoType<sal_Int16>::get(); - s_aTypeNameMap[GetXMLToken( XML_DATE)] = cppu::UnoType<css::util::Date>::get(); - s_aTypeNameMap[GetXMLToken( XML_TIME)] = cppu::UnoType<css::util::Time>::get(); - s_aTypeNameMap[GetXMLToken( XML_VOID)] = cppu::UnoType<void>::get(); - } + { GetXMLToken( XML_FLOAT) , cppu::UnoType<double>::get() }, + { GetXMLToken( XML_DOUBLE) , cppu::UnoType<double>::get() }, + { GetXMLToken( XML_STRING) , cppu::UnoType<OUString>::get() }, + { GetXMLToken( XML_INT) , cppu::UnoType<sal_Int32>::get() }, + { GetXMLToken( XML_SHORT) , cppu::UnoType<sal_Int16>::get() }, + { GetXMLToken( XML_DATE) , cppu::UnoType<css::util::Date>::get() }, + { GetXMLToken( XML_TIME) , cppu::UnoType<css::util::Time>::get() }, + { GetXMLToken( XML_VOID) , cppu::UnoType<void>::get() }, + }; const std::map< OUString, css::uno::Type >::const_iterator aTypePos = s_aTypeNameMap.find(sValue); OSL_ENSURE(s_aTypeNameMap.end() != aTypePos, "OXMLControlProperty::OXMLControlProperty: invalid type!"); |