summaryrefslogtreecommitdiff
path: root/vcl/source/window/builder.cxx
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@suse.cz>2013-06-14 16:33:23 +0200
committerJan Holesovsky <kendy@suse.cz>2013-06-15 14:42:09 +0200
commitedbca87dea4d7ab7c70039579f90c6d22e076b1b (patch)
tree1ad4b4e8cfb08e21bc4bb79e21fa3fa4cd6ee580 /vcl/source/window/builder.cxx
parent468841be44071be8e8442b7bce13ef65b20396f0 (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.cxx21
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
}