diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2019-02-19 13:55:00 +0100 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2019-03-05 14:50:15 +0100 |
commit | 4b6e00f08afb2968a1a5731729fc266b0e708ab2 (patch) | |
tree | 39634fae88462ef493a038a6ba892e423117cbd8 | |
parent | 6cd3cb41d9f3b4bf5c55a80342123b278102581e (diff) |
Use a unordered_map for mapping of xml element to control type
Change-Id: Id0409f35a21307ed41a0da27c625c4b7784811d6
Reviewed-on: https://gerrit.libreoffice.org/68718
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
-rw-r--r-- | vcl/source/gdi/WidgetDefinitionReader.cxx | 43 |
1 files changed, 12 insertions, 31 deletions
diff --git a/vcl/source/gdi/WidgetDefinitionReader.cxx b/vcl/source/gdi/WidgetDefinitionReader.cxx index 51b07f0ba6fe..799b3dda6187 100644 --- a/vcl/source/gdi/WidgetDefinitionReader.cxx +++ b/vcl/source/gdi/WidgetDefinitionReader.cxx @@ -132,39 +132,20 @@ ControlPart xmlStringToControlPart(OString const& sPart) bool getControlTypeForXmlString(OString const& rString, ControlType& reType) { - bool bReturn = false; - if (rString == "pushbutton") - { - reType = ControlType::Pushbutton; - bReturn = true; - } - else if (rString == "radiobutton") - { - reType = ControlType::Radiobutton; - bReturn = true; - } - else if (rString == "editbox") - { - reType = ControlType::Editbox; - bReturn = true; - } - else if (rString == "checkbox") - { - reType = ControlType::Checkbox; - bReturn = true; - } - else if (rString == "combobox") - { - reType = ControlType::Combobox; - bReturn = true; - } - else if (rString == "spinbox") + static std::unordered_map<OString, ControlType> aPartMap = { + { "pushbutton", ControlType::Pushbutton }, { "radiobutton", ControlType::Radiobutton }, + { "checkbox", ControlType::Checkbox }, { "combobox", ControlType::Combobox }, + { "editbox", ControlType::Editbox }, { "scrollbar", ControlType::Scrollbar }, + { "spinbox", ControlType::Spinbox }, + }; + + auto const& rIterator = aPartMap.find(rString); + if (rIterator != aPartMap.end()) { - reType = ControlType::Spinbox; - bReturn = true; + reType = rIterator->second; + return true; } - - return bReturn; + return false; } } // end anonymous namespace |