diff options
Diffstat (limited to 'accessibility/source/standard/vclxaccessibletabpage.cxx')
-rw-r--r-- | accessibility/source/standard/vclxaccessibletabpage.cxx | 98 |
1 files changed, 42 insertions, 56 deletions
diff --git a/accessibility/source/standard/vclxaccessibletabpage.cxx b/accessibility/source/standard/vclxaccessibletabpage.cxx index ab981634a7db..dad454ab0021 100644 --- a/accessibility/source/standard/vclxaccessibletabpage.cxx +++ b/accessibility/source/standard/vclxaccessibletabpage.cxx @@ -27,9 +27,10 @@ #include <com/sun/star/datatransfer/clipboard/XClipboard.hpp> #include <com/sun/star/datatransfer/clipboard/XFlushableClipboard.hpp> #include <com/sun/star/lang/IndexOutOfBoundsException.hpp> +#include <comphelper/accessiblecontexthelper.hxx> #include <cppuhelper/supportsservice.hxx> -#include <unotools/accessiblestatesethelper.hxx> #include <unotools/accessiblerelationsethelper.hxx> +#include <vcl/mnemonic.hxx> #include <vcl/svapp.hxx> #include <vcl/unohelp2.hxx> #include <vcl/tabctrl.hxx> @@ -133,7 +134,7 @@ OUString VCLXAccessibleTabPage::GetPageText() { OUString sText; if ( m_pTabControl ) - sText = OutputDevice::GetNonMnemonicString( m_pTabControl->GetPageText( m_nPageId ) ); + sText = removeMnemonicFromString( m_pTabControl->GetPageText( m_nPageId ) ); return sText; } @@ -161,24 +162,24 @@ void VCLXAccessibleTabPage::Update( bool bNew ) } -void VCLXAccessibleTabPage::FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet ) +void VCLXAccessibleTabPage::FillAccessibleStateSet( sal_Int64& rStateSet ) { - rStateSet.AddState( AccessibleStateType::ENABLED ); - rStateSet.AddState( AccessibleStateType::SENSITIVE ); + rStateSet |= AccessibleStateType::ENABLED; + rStateSet |= AccessibleStateType::SENSITIVE; - rStateSet.AddState( AccessibleStateType::FOCUSABLE ); + rStateSet |= AccessibleStateType::FOCUSABLE; if ( IsFocused() ) - rStateSet.AddState( AccessibleStateType::FOCUSED ); + rStateSet |= AccessibleStateType::FOCUSED; - rStateSet.AddState( AccessibleStateType::VISIBLE ); + rStateSet |= AccessibleStateType::VISIBLE; - rStateSet.AddState( AccessibleStateType::SHOWING ); + rStateSet |= AccessibleStateType::SHOWING; - rStateSet.AddState( AccessibleStateType::SELECTABLE ); + rStateSet |= AccessibleStateType::SELECTABLE; if ( IsSelected() ) - rStateSet.AddState( AccessibleStateType::SELECTED ); + rStateSet |= AccessibleStateType::SELECTED; } @@ -218,24 +219,12 @@ void VCLXAccessibleTabPage::implGetSelection( sal_Int32& nStartIndex, sal_Int32& } -// XInterface - - -IMPLEMENT_FORWARD_XINTERFACE2( VCLXAccessibleTabPage, AccessibleTextHelper_BASE, VCLXAccessibleTabPage_BASE ) - - -// XTypeProvider - - -IMPLEMENT_FORWARD_XTYPEPROVIDER2( VCLXAccessibleTabPage, AccessibleTextHelper_BASE, VCLXAccessibleTabPage_BASE ) - - // XComponent void VCLXAccessibleTabPage::disposing() { - AccessibleTextHelper_BASE::disposing(); + comphelper::OAccessibleTextHelper::disposing(); m_pTabControl = nullptr; m_sPageText.clear(); @@ -247,7 +236,7 @@ void VCLXAccessibleTabPage::disposing() OUString VCLXAccessibleTabPage::getImplementationName() { - return "com.sun.star.comp.toolkit.AccessibleTabPage"; + return u"com.sun.star.comp.toolkit.AccessibleTabPage"_ustr; } @@ -259,7 +248,7 @@ sal_Bool VCLXAccessibleTabPage::supportsService( const OUString& rServiceName ) Sequence< OUString > VCLXAccessibleTabPage::getSupportedServiceNames() { - return { "com.sun.star.awt.AccessibleTabPage" }; + return { u"com.sun.star.awt.AccessibleTabPage"_ustr }; } @@ -277,15 +266,15 @@ Reference< XAccessibleContext > VCLXAccessibleTabPage::getAccessibleContext( ) // XAccessibleContext -sal_Int32 VCLXAccessibleTabPage::getAccessibleChildCount() +sal_Int64 VCLXAccessibleTabPage::getAccessibleChildCount() { OExternalLockGuard aGuard( this ); return implGetAccessibleChildCount(); } -sal_Int32 VCLXAccessibleTabPage::implGetAccessibleChildCount() +sal_Int64 VCLXAccessibleTabPage::implGetAccessibleChildCount() { - sal_Int32 nCount = 0; + sal_Int64 nCount = 0; if ( m_pTabControl ) { TabPage* pTabPage = m_pTabControl->GetTabPage( m_nPageId ); @@ -297,7 +286,7 @@ sal_Int32 VCLXAccessibleTabPage::implGetAccessibleChildCount() } -Reference< XAccessible > VCLXAccessibleTabPage::getAccessibleChild( sal_Int32 i ) +Reference< XAccessible > VCLXAccessibleTabPage::getAccessibleChild( sal_Int64 i ) { OExternalLockGuard aGuard( this ); @@ -328,11 +317,11 @@ Reference< XAccessible > VCLXAccessibleTabPage::getAccessibleParent( ) } -sal_Int32 VCLXAccessibleTabPage::getAccessibleIndexInParent( ) +sal_Int64 VCLXAccessibleTabPage::getAccessibleIndexInParent( ) { OExternalLockGuard aGuard( this ); - sal_Int32 nIndexInParent = -1; + sal_Int64 nIndexInParent = -1; if ( m_pTabControl ) nIndexInParent = m_pTabControl->GetPagePos( m_nPageId ); @@ -372,29 +361,26 @@ Reference< XAccessibleRelationSet > VCLXAccessibleTabPage::getAccessibleRelation { OExternalLockGuard aGuard( this ); - utl::AccessibleRelationSetHelper* pRelationSetHelper = new utl::AccessibleRelationSetHelper; - Reference< XAccessibleRelationSet > xSet = pRelationSetHelper; - return xSet; + return new utl::AccessibleRelationSetHelper; } -Reference< XAccessibleStateSet > VCLXAccessibleTabPage::getAccessibleStateSet( ) +sal_Int64 VCLXAccessibleTabPage::getAccessibleStateSet( ) { OExternalLockGuard aGuard( this ); - utl::AccessibleStateSetHelper* pStateSetHelper = new utl::AccessibleStateSetHelper; - Reference< XAccessibleStateSet > xSet = pStateSetHelper; + sal_Int64 nStateSet = 0; if ( !rBHelper.bDisposed && !rBHelper.bInDispose ) { - FillAccessibleStateSet( *pStateSetHelper ); + FillAccessibleStateSet( nStateSet ); } else { - pStateSetHelper->AddState( AccessibleStateType::DEFUNC ); + nStateSet |= AccessibleStateType::DEFUNC; } - return xSet; + return nStateSet; } @@ -414,7 +400,7 @@ Reference< XAccessible > VCLXAccessibleTabPage::getAccessibleAtPoint( const awt: OExternalLockGuard aGuard( this ); Reference< XAccessible > xChild; - for ( sal_uInt32 i = 0, nCount = getAccessibleChildCount(); i < nCount; ++i ) + for ( sal_Int64 i = 0, nCount = getAccessibleChildCount(); i < nCount; ++i ) { Reference< XAccessible > xAcc = getAccessibleChild( i ); if ( xAcc.is() ) @@ -424,7 +410,7 @@ Reference< XAccessible > VCLXAccessibleTabPage::getAccessibleAtPoint( const awt: { tools::Rectangle aRect = VCLRectangle( xComp->getBounds() ); Point aPos = VCLPoint( rPoint ); - if ( aRect.IsInside( aPos ) ) + if ( aRect.Contains( aPos ) ) { xChild = xAcc; break; @@ -600,7 +586,7 @@ awt::Rectangle VCLXAccessibleTabPage::getCharacterBounds( sal_Int32 nIndex ) if ( m_pTabControl ) { tools::Rectangle aPageRect = m_pTabControl->GetTabBounds( m_nPageId ); - tools::Rectangle aCharRect = m_pTabControl->GetCharacterBounds( m_nPageId, nIndex ); + tools::Rectangle aCharRect; // m_pTabControl->GetCharacterBounds( m_nPageId, nIndex ); aCharRect.Move( -aPageRect.Left(), -aPageRect.Top() ); aBounds = AWTRectangle( aCharRect ); } @@ -609,21 +595,21 @@ awt::Rectangle VCLXAccessibleTabPage::getCharacterBounds( sal_Int32 nIndex ) } -sal_Int32 VCLXAccessibleTabPage::getIndexAtPoint( const awt::Point& aPoint ) +sal_Int32 VCLXAccessibleTabPage::getIndexAtPoint( const awt::Point& /*aPoint*/ ) { OExternalLockGuard aGuard( this ); sal_Int32 nIndex = -1; - if ( m_pTabControl ) - { - sal_uInt16 nPageId = 0; - tools::Rectangle aPageRect = m_pTabControl->GetTabBounds( m_nPageId ); - Point aPnt( VCLPoint( aPoint ) ); - aPnt += aPageRect.TopLeft(); - sal_Int32 nI = m_pTabControl->GetIndexForPoint( aPnt, nPageId ); - if ( nI != -1 && m_nPageId == nPageId ) - nIndex = nI; - } +// if ( m_pTabControl ) +// { +// sal_uInt16 nPageId = 0; +// tools::Rectangle aPageRect = m_pTabControl->GetTabBounds( m_nPageId ); +// Point aPnt( VCLPoint( aPoint ) ); +// aPnt += aPageRect.TopLeft(); +// sal_Int32 nI = m_pTabControl->GetIndexForPoint( aPnt, nPageId ); +// if ( nI != -1 && m_nPageId == nPageId ) +// nIndex = nI; +// } return nIndex; } @@ -653,7 +639,7 @@ sal_Bool VCLXAccessibleTabPage::copyText( sal_Int32 nStartIndex, sal_Int32 nEndI { OUString sText( implGetTextRange( GetPageText(), nStartIndex, nEndIndex ) ); - vcl::unohelper::TextDataObject* pDataObj = new vcl::unohelper::TextDataObject( sText ); + rtl::Reference<vcl::unohelper::TextDataObject> pDataObj = new vcl::unohelper::TextDataObject( sText ); SolarMutexReleaser aReleaser; xClipboard->setContents( pDataObj, nullptr ); |