summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2019-02-19 13:55:00 +0100
committerTomaž Vajngerl <quikee@gmail.com>2019-03-05 14:50:15 +0100
commit4b6e00f08afb2968a1a5731729fc266b0e708ab2 (patch)
tree39634fae88462ef493a038a6ba892e423117cbd8
parent6cd3cb41d9f3b4bf5c55a80342123b278102581e (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.cxx43
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