vcl/inc/vcl/layout.hxx | 2 ++ vcl/source/window/layout.cxx | 17 ++++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-)
New commits: commit c08c67c8a02f88413deb78d7b136ec03cf0ef618 Author: Caolán McNamara <[email protected]> Date: Thu Oct 11 17:31:07 2012 +0100 add a get_label_widget to VclFrame Change-Id: Ia0561a5f185878342b15be54c6147aa1c81fa9ef diff --git a/vcl/inc/vcl/layout.hxx b/vcl/inc/vcl/layout.hxx index 6aeefe7..29fa382 100644 --- a/vcl/inc/vcl/layout.hxx +++ b/vcl/inc/vcl/layout.hxx @@ -392,6 +392,8 @@ class VCL_DLLPUBLIC VclFrame : public VclBin public: VclFrame(Window *pParent) : VclBin(pParent) {} void set_label(const rtl::OUString &rLabel); + Window *get_label_widget(); + const Window *get_label_widget() const; protected: virtual Size calculateRequisition() const; virtual void setAllocation(const Size &rAllocation); diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx index 1b4e252..836b6a8 100644 --- a/vcl/source/window/layout.cxx +++ b/vcl/source/window/layout.cxx @@ -912,12 +912,23 @@ void VclFrame::setAllocation(const Size &rAllocation) setLayoutAllocation(*pChild, aChildPos, aAllocation); } +const Window *VclFrame::get_label_widget() const +{ + //The label widget is the last (of two) children + const Window *pChild = get_child(); + const WindowImpl* pWindowImpl = ImplGetWindowImpl(); + return pChild != pWindowImpl->mpLastChild ? pWindowImpl->mpLastChild : NULL; +} + +Window *VclFrame::get_label_widget() +{ + return const_cast<Window*>(const_cast<const VclFrame*>(this)->get_label_widget()); +} + void VclFrame::set_label(const rtl::OUString &rLabel) { //The label widget is the last (of two) children - Window *pChild = get_child(); - WindowImpl* pWindowImpl = ImplGetWindowImpl(); - Window *pLabel = pChild != pWindowImpl->mpLastChild ? pWindowImpl->mpLastChild : NULL; + Window *pLabel = get_label_widget(); assert(pLabel); pLabel->SetText(rLabel); }
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
