diff options
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/window/builder.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index de88c5b5b3f9..fd3e6a47294e 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -724,6 +724,17 @@ namespace return sActionName; } + bool extractVisible(VclBuilder::stringmap &rMap) + { + OString sActionName; + VclBuilder::stringmap::iterator aFind = rMap.find(OString("visible")); + if (aFind != rMap.end()) + { + return toBool(aFind->second); + } + return false; + } + Size extractSizeRequest(VclBuilder::stringmap &rMap) { OString sWidthRequest("0"); @@ -1512,6 +1523,9 @@ Window *VclBuilder::makeObject(Window *pParent, const OString &name, const OStri if (!sIconName.isEmpty()) pToolBox->SetItemImage(nItemId, FixedImage::loadThemeImage(sIconName)); + if (!extractVisible(rMap)) + pToolBox->HideItem(nItemId); + return NULL; // no widget to be created } } |