diff options
Diffstat (limited to 'vcl/source/treelist/treelistbox.cxx')
-rw-r--r-- | vcl/source/treelist/treelistbox.cxx | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/vcl/source/treelist/treelistbox.cxx b/vcl/source/treelist/treelistbox.cxx index ec0244ce5157..c1269b26c174 100644 --- a/vcl/source/treelist/treelistbox.cxx +++ b/vcl/source/treelist/treelistbox.cxx @@ -3587,12 +3587,23 @@ void SvTreeListBox::EnableContextMenuHandling() pImpl->bContextMenuHandling = true; } -void SvTreeListBox::EnableList( bool _bEnable ) +css::uno::Reference< XAccessible > SvTreeListBox::CreateAccessible() { - // call base class method - Window::Enable(_bEnable); - // then invalidate - Invalidate(tools::Rectangle(Point(), GetSizePixel())); + vcl::Window* pParent = GetAccessibleParentWindow(); + DBG_ASSERT( pParent, "SvTreeListBox::CreateAccessible - accessible parent not found" ); + + css::uno::Reference< XAccessible > xAccessible; + if ( pParent ) + { + css::uno::Reference< XAccessible > xAccParent = pParent->GetAccessible(); + if ( xAccParent.is() ) + { + // need to be done here to get the vclxwindow later on in the accessible + css::uno::Reference< css::awt::XWindowPeer > xTemp(GetComponentInterface()); + xAccessible = pImpl->m_aFactoryAccess.getFactory().createAccessibleTreeListBox( *this, xAccParent ); + } + } + return xAccessible; } void SvTreeListBox::FillAccessibleEntryStateSet( SvTreeListEntry* pEntry, ::utl::AccessibleStateSetHelper& rStateSet ) const |