summaryrefslogtreecommitdiff
path: root/include/vcl/layout.hxx
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2018-09-26 14:09:59 +0200
committerJan-Marek Glogowski <glogow@fbihome.de>2018-09-29 02:33:23 +0200
commit9ff4232c365c19c9402fce80e26ccbf739d0b82e (patch)
tree16167b2b3091b28d4b678685039e80d27dd07bbd /include/vcl/layout.hxx
parent278b1de21f8395ab2a6c49377cf4aec4c16f05c6 (diff)
Handle initial TabControl and border window
ImplGetSubChildWindow has special code to handle a TabControl and its pages. If the function finds a TabControl as a child it'll return its window and then recurse into the current page. This currently breaks in the case where the initial parent is a TabControl. where the function will walk all of the tab pages. The function also ignores border windows, but not if the initial parent is a border window. This patch correctly handles both cases and as a bonus drops all the special page handling during child iteration. Change-Id: Ie8699dae8d08628b66b33e0704237b9e219874bc Reviewed-on: https://gerrit.libreoffice.org/61037 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'include/vcl/layout.hxx')
-rw-r--r--include/vcl/layout.hxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/vcl/layout.hxx b/include/vcl/layout.hxx
index 0f8818989268..22d494dfa6e2 100644
--- a/include/vcl/layout.hxx
+++ b/include/vcl/layout.hxx
@@ -769,6 +769,13 @@ public:
//of children
VCL_DLLPUBLIC vcl::Window* firstLogicalChildOfParent(const vcl::Window *pTopLevel);
+//Get last window of a pTopLevel window as
+//if any intermediate layout widgets didn't exist
+//i.e. acts like pChild = pChild->GetWindow(GetWindowType::LastChild);
+//in a flat hierarchy where dialogs only have one layer
+//of children
+VCL_DLLPUBLIC vcl::Window* lastLogicalChildOfParent(const vcl::Window *pTopLevel);
+
//Get next window after pChild of a pTopLevel window as
//if any intermediate layout widgets didn't exist
//i.e. acts like pChild = pChild->GetWindow(GetWindowType::Next);