diff options
author | Jan Holesovsky <kendy@suse.cz> | 2013-06-14 16:33:23 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2013-06-15 14:42:09 +0200 |
commit | edbca87dea4d7ab7c70039579f90c6d22e076b1b (patch) | |
tree | 1ad4b4e8cfb08e21bc4bb79e21fa3fa4cd6ee580 /vcl/source/window/builder.cxx | |
parent | 468841be44071be8e8442b7bce13ef65b20396f0 (diff) |
widget layout: Allow specification of size request for toolbox items.
Change-Id: I4b2f1ca9eb0b5bdb77e16a969918dd4f6afefb53
Diffstat (limited to 'vcl/source/window/builder.cxx')
-rw-r--r-- | vcl/source/window/builder.cxx | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 73a06c8730fd..7d44293f3196 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -633,6 +633,25 @@ namespace return sActionName; } + Size extractSizeRequest(VclBuilder::stringmap &rMap) + { + OString sWidthRequest("0"); + OString sHeightRequest("0"); + VclBuilder::stringmap::iterator aFind = rMap.find(OString("width-request")); + if (aFind != rMap.end()) + { + sWidthRequest = aFind->second; + rMap.erase(aFind); + } + aFind = rMap.find(OString("height-request")); + if (aFind != rMap.end()) + { + sHeightRequest = aFind->second; + rMap.erase(aFind); + } + return Size(sWidthRequest.toInt32(), sHeightRequest.toInt32()); + } + Window * extractStockAndBuildPushButton(Window *pParent, VclBuilder::stringmap &rMap) { WinBits nBits = WB_CENTER|WB_VCENTER|WB_3DLOOK; @@ -1259,7 +1278,7 @@ Window *VclBuilder::makeObject(Window *pParent, const OString &name, const OStri nBits |= TIB_DROPDOWN; if (!aCommand.isEmpty()) - pToolBox->InsertItem(aCommand, m_xFrame, nBits); + pToolBox->InsertItem(aCommand, m_xFrame, nBits, extractSizeRequest(rMap)); return NULL; // no widget to be created } |