From 97932839851ff4084f32c82442176c2114763b74 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Tue, 10 Apr 2018 12:45:56 +0100 Subject: add GtkMenuButton support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Id5cda4775e405ed708de09ee1332cd84461b265d Reviewed-on: https://gerrit.libreoffice.org/52669 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- vcl/source/window/builder.cxx | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'vcl') diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index e5eb14989237..167094a3abe1 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -602,6 +602,18 @@ namespace return bDrawValue; } + OUString extractPopupMenu(VclBuilder::stringmap& rMap) + { + OUString sRet; + VclBuilder::stringmap::iterator aFind = rMap.find(OString("popup")); + if (aFind != rMap.end()) + { + sRet = aFind->second; + rMap.erase(aFind); + } + return sRet; + } + OUString extractValuePos(VclBuilder::stringmap& rMap) { OUString sRet("top"); @@ -1393,6 +1405,7 @@ VclPtr VclBuilder::makeObject(vcl::Window *pParent, const OString & xButton = extractStockAndBuildPushButton(pParent, rMap, m_bLegacy); else { + assert(m_bLegacy && "use GtkMenuButton"); xButton = extractStockAndBuildMenuButton(pParent, rMap); m_pParserState->m_aButtonMenuMaps.emplace_back(id, sMenu); } @@ -1400,6 +1413,17 @@ VclPtr VclBuilder::makeObject(vcl::Window *pParent, const OString & setupFromActionName(xButton, rMap, m_xFrame); xWindow = xButton; } + else if (name == "GtkMenuButton") + { + VclPtr