diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-01-23 11:30:06 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-01-23 13:05:30 +0200 |
commit | 5a6fa02a6c77c7c1e578fb5c77d18d95571c39a2 (patch) | |
tree | b71f6b9b6ea942346593e74db287008c3d9fd28d /svx | |
parent | 3bcfb690821e73e30731d9c3f33c00103f2d4cba (diff) |
use rtl::Reference in FrameSelectorImpl
instead of storing both raw pointers and uno::References
Change-Id: I7a9a436b0d14d4dcaa696713973b86232c8470c0
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/dialog/frmsel.cxx | 27 | ||||
-rw-r--r-- | svx/source/inc/frmselimpl.hxx | 9 |
2 files changed, 14 insertions, 22 deletions
diff --git a/svx/source/dialog/frmsel.cxx b/svx/source/dialog/frmsel.cxx index 78c1d9c9909f..c5bf0f0a519a 100644 --- a/svx/source/dialog/frmsel.cxx +++ b/svx/source/dialog/frmsel.cxx @@ -229,9 +229,7 @@ FrameSelectorImpl::FrameSelectorImpl( FrameSelector& rFrameSel ) : mbAutoSelect( true ), mbClicked( false ), mbHCMode( false ), - mpAccess( nullptr ), - maChildVec( 8, static_cast< a11y::AccFrameSelector* >( nullptr ) ), - mxChildVec( 8 ) + maChildVec( 8 ) { maAllBorders.resize( FRAMEBORDERTYPE_COUNT, nullptr ); maAllBorders[ GetIndexFromFrameBorderType( FrameBorderType::Left ) ] = &maLeft; @@ -265,10 +263,10 @@ FrameSelectorImpl::FrameSelectorImpl( FrameSelector& rFrameSel ) : FrameSelectorImpl::~FrameSelectorImpl() { - if( mpAccess ) - mpAccess->Invalidate(); + if( mxAccess.is() ) + mxAccess->Invalidate(); for( auto aIt = maChildVec.begin(), aEnd = maChildVec.end(); aIt != aEnd; ++aIt ) - if( *aIt ) + if( aIt->is() ) (*aIt)->Invalidate(); } @@ -731,7 +729,7 @@ void FrameSelectorImpl::SetBorderState( FrameBorder& rBorder, FrameBorderState e Reference< XAccessible > xRet; size_t nVecIdx = static_cast< size_t >( rBorder.GetType() ); if( GetBorder(rBorder.GetType()).IsEnabled() && (1 <= nVecIdx) && (nVecIdx <= maChildVec.size()) ) - xRet = mxChildVec[ --nVecIdx ]; + xRet = maChildVec[ --nVecIdx ].get(); a11y::AccFrameSelector* pFrameSelector = static_cast<a11y::AccFrameSelector*>(xRet.get()); if( eState == FrameBorderState::Show ) @@ -1007,9 +1005,9 @@ void FrameSelector::SetColorToSelection( const Color& rColor ) Reference< XAccessible > FrameSelector::CreateAccessible() { if( !mxImpl->mxAccess.is() ) - mxImpl->mxAccess = mxImpl->mpAccess = + mxImpl->mxAccess = mxImpl->mxAccess = new a11y::AccFrameSelector( *this, FrameBorderType::NONE ); - return mxImpl->mxAccess; + return mxImpl->mxAccess.get(); } Reference< XAccessible > FrameSelector::GetChildAccessible( FrameBorderType eBorder ) @@ -1019,10 +1017,9 @@ Reference< XAccessible > FrameSelector::GetChildAccessible( FrameBorderType eBor if( IsBorderEnabled( eBorder ) && (1 <= nVecIdx) && (nVecIdx <= mxImpl->maChildVec.size()) ) { --nVecIdx; - if( !mxImpl->maChildVec[ nVecIdx ] ) - mxImpl->mxChildVec[ nVecIdx ] = mxImpl->maChildVec[ nVecIdx ] = - new a11y::AccFrameSelector( *this, eBorder ); - xRet = mxImpl->mxChildVec[ nVecIdx ]; + if( !mxImpl->maChildVec[ nVecIdx ].is() ) + mxImpl->maChildVec[ nVecIdx ] = new a11y::AccFrameSelector( *this, eBorder ); + xRet = mxImpl->maChildVec[ nVecIdx ].get(); } return xRet; } @@ -1211,7 +1208,7 @@ void FrameSelector::GetFocus() mxImpl->DoInvalidate( false ); if( mxImpl->mxAccess.is() ) - mxImpl->mpAccess->NotifyFocusListeners( true ); + mxImpl->mxAccess->NotifyFocusListeners( true ); if (IsAnyBorderSelected()) { FrameBorderType borderType = FrameBorderType::NONE; @@ -1242,7 +1239,7 @@ void FrameSelector::LoseFocus() { mxImpl->DoInvalidate( false ); if( mxImpl->mxAccess.is() ) - mxImpl->mpAccess->NotifyFocusListeners( false ); + mxImpl->mxAccess->NotifyFocusListeners( false ); Control::LoseFocus(); } diff --git a/svx/source/inc/frmselimpl.hxx b/svx/source/inc/frmselimpl.hxx index 4e9dfb35a0ec..7bb2d5728cd0 100644 --- a/svx/source/inc/frmselimpl.hxx +++ b/svx/source/inc/frmselimpl.hxx @@ -138,14 +138,9 @@ struct FrameSelectorImpl bool mbClicked; /// true = The control has been clicked at least one time. bool mbHCMode; /// true = High contrast mode. - a11y::AccFrameSelector* mpAccess; /// Pointer to accessibility object of the control. - css::uno::Reference<css::accessibility::XAccessible> - mxAccess; /// Reference to accessibility object of the control. - std::vector<a11y::AccFrameSelector*> + rtl::Reference<a11y::AccFrameSelector> mxAccess; /// Pointer to accessibility object of the control. + std::vector<rtl::Reference<a11y::AccFrameSelector>> maChildVec; /// Pointers to accessibility objects for frame borders. - std::vector<css::uno::Reference<css::accessibility::XAccessible> > - mxChildVec; /// References to accessibility objects for frame borders. - explicit FrameSelectorImpl( FrameSelector& rFrameSel ); ~FrameSelectorImpl(); |