summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source')
-rw-r--r--vcl/source/window/builder.cxx14
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
}
}