1*2bfcd321SSteve Yin /************************************************************************* 2*2bfcd321SSteve Yin * 3*2bfcd321SSteve Yin * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*2bfcd321SSteve Yin * 5*2bfcd321SSteve Yin * Copyright IBM Corporation 2010. 6*2bfcd321SSteve Yin * Copyright 2000, 2010 Oracle and/or its affiliates. 7*2bfcd321SSteve Yin * 8*2bfcd321SSteve Yin * OpenOffice.org - a multi-platform office productivity suite 9*2bfcd321SSteve Yin * 10*2bfcd321SSteve Yin * This file is part of OpenOffice.org. 11*2bfcd321SSteve Yin * 12*2bfcd321SSteve Yin * OpenOffice.org is free software: you can redistribute it and/or modify 13*2bfcd321SSteve Yin * it under the terms of the GNU Lesser General Public License version 3 14*2bfcd321SSteve Yin * only, as published by the Free Software Foundation. 15*2bfcd321SSteve Yin * 16*2bfcd321SSteve Yin * OpenOffice.org is distributed in the hope that it will be useful, 17*2bfcd321SSteve Yin * but WITHOUT ANY WARRANTY; without even the implied warranty of 18*2bfcd321SSteve Yin * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19*2bfcd321SSteve Yin * GNU Lesser General Public License version 3 for more details 20*2bfcd321SSteve Yin * (a copy is included in the LICENSE file that accompanied this code). 21*2bfcd321SSteve Yin * 22*2bfcd321SSteve Yin * You should have received a copy of the GNU Lesser General Public License 23*2bfcd321SSteve Yin * version 3 along with OpenOffice.org. If not, see 24*2bfcd321SSteve Yin * <http://www.openoffice.org/license.html> 25*2bfcd321SSteve Yin * for a copy of the LGPLv3 License. 26*2bfcd321SSteve Yin * 27*2bfcd321SSteve Yin ************************************************************************/ 28*2bfcd321SSteve Yin 29*2bfcd321SSteve Yin //IAccessibility2 Implementation 2009----- 30*2bfcd321SSteve Yin 31*2bfcd321SSteve Yin // MARKER(update_precomp.py): autogen include statement, do not remove 32*2bfcd321SSteve Yin #include "precompiled_svtools.hxx" 33*2bfcd321SSteve Yin 34*2bfcd321SSteve Yin #ifndef _SVTOOLS_VCLXACCESSIBLEHEADERBAR_HXX_ 35*2bfcd321SSteve Yin #include <svtools/vclxaccessibleheaderbaritem.hxx> 36*2bfcd321SSteve Yin #endif 37*2bfcd321SSteve Yin 38*2bfcd321SSteve Yin #ifndef _HEADBAR_HXX 39*2bfcd321SSteve Yin #include <svtools/headbar.hxx> 40*2bfcd321SSteve Yin #endif 41*2bfcd321SSteve Yin 42*2bfcd321SSteve Yin #ifndef _COM_SUN_STAR_ACCESSIBILITY_ACCESSIBLEEVENTID_HPP_ 43*2bfcd321SSteve Yin #include <com/sun/star/accessibility/AccessibleEventId.hpp> 44*2bfcd321SSteve Yin #endif 45*2bfcd321SSteve Yin #ifndef _COM_SUN_STAR_ACCESSIBILITY_ACCESSIBLEROLE_HPP_ 46*2bfcd321SSteve Yin #include <com/sun/star/accessibility/AccessibleRole.hpp> 47*2bfcd321SSteve Yin #endif 48*2bfcd321SSteve Yin #ifndef _COM_SUN_STAR_ACCESSIBILITY_ACCESSIBLESTATETYPE_HPP_ 49*2bfcd321SSteve Yin #include <com/sun/star/accessibility/AccessibleStateType.hpp> 50*2bfcd321SSteve Yin #endif 51*2bfcd321SSteve Yin 52*2bfcd321SSteve Yin #ifndef _UTL_ACCESSIBLESTATESETHELPER_HXX_ 53*2bfcd321SSteve Yin #include <unotools/accessiblestatesethelper.hxx> 54*2bfcd321SSteve Yin #endif 55*2bfcd321SSteve Yin #ifndef _UTL_ACCESSIBLERELATIONSETHELPER_HXX_ 56*2bfcd321SSteve Yin #include <unotools/accessiblerelationsethelper.hxx> 57*2bfcd321SSteve Yin #endif 58*2bfcd321SSteve Yin #ifndef _SV_SVAPP_HXX 59*2bfcd321SSteve Yin #include <vcl/svapp.hxx> 60*2bfcd321SSteve Yin #endif 61*2bfcd321SSteve Yin #ifndef _TOOLKIT_AWT_VCLXFONT_HXX_ 62*2bfcd321SSteve Yin #include <toolkit/awt/vclxfont.hxx> 63*2bfcd321SSteve Yin #endif 64*2bfcd321SSteve Yin #ifndef _TOOLKIT_HELPER_EXTERNALLOCK_HXX_ 65*2bfcd321SSteve Yin #include <toolkit/helper/externallock.hxx> 66*2bfcd321SSteve Yin #endif 67*2bfcd321SSteve Yin #ifndef _TOOLKIT_HELPER_CONVERT_HXX_ 68*2bfcd321SSteve Yin #include <toolkit/helper/convert.hxx> 69*2bfcd321SSteve Yin #endif 70*2bfcd321SSteve Yin 71*2bfcd321SSteve Yin #include <vector> 72*2bfcd321SSteve Yin 73*2bfcd321SSteve Yin 74*2bfcd321SSteve Yin using namespace ::com::sun::star; 75*2bfcd321SSteve Yin using namespace ::com::sun::star::uno; 76*2bfcd321SSteve Yin using namespace ::com::sun::star::lang; 77*2bfcd321SSteve Yin using namespace ::com::sun::star::accessibility; 78*2bfcd321SSteve Yin using namespace ::comphelper; 79*2bfcd321SSteve Yin 80*2bfcd321SSteve Yin DBG_NAME( VCLXAccessibleHeaderBarItem ) 81*2bfcd321SSteve Yin 82*2bfcd321SSteve Yin // ---------------------------------------------------- 83*2bfcd321SSteve Yin // class AccessibleTabBar 84*2bfcd321SSteve Yin // ---------------------------------------------------- 85*2bfcd321SSteve Yin 86*2bfcd321SSteve Yin VCLXAccessibleHeaderBarItem::VCLXAccessibleHeaderBarItem( HeaderBar* pHeadBar, sal_Int32 _nIndexInParent ) 87*2bfcd321SSteve Yin :AccessibleExtendedComponentHelper_BASE( new VCLExternalSolarLock() ) 88*2bfcd321SSteve Yin ,m_pHeadBar( pHeadBar ) 89*2bfcd321SSteve Yin ,m_nIndexInParent(_nIndexInParent + 1) 90*2bfcd321SSteve Yin 91*2bfcd321SSteve Yin { 92*2bfcd321SSteve Yin DBG_CTOR( VCLXAccessibleHeaderBarItem, NULL ); 93*2bfcd321SSteve Yin m_pExternalLock = static_cast< VCLExternalSolarLock* >( getExternalLock() ); 94*2bfcd321SSteve Yin } 95*2bfcd321SSteve Yin 96*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 97*2bfcd321SSteve Yin 98*2bfcd321SSteve Yin VCLXAccessibleHeaderBarItem::~VCLXAccessibleHeaderBarItem() 99*2bfcd321SSteve Yin { 100*2bfcd321SSteve Yin delete m_pExternalLock; 101*2bfcd321SSteve Yin m_pExternalLock = NULL; 102*2bfcd321SSteve Yin } 103*2bfcd321SSteve Yin 104*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 105*2bfcd321SSteve Yin 106*2bfcd321SSteve Yin IMPL_LINK( VCLXAccessibleHeaderBarItem, WindowEventListener, VclSimpleEvent*, pEvent ) 107*2bfcd321SSteve Yin { 108*2bfcd321SSteve Yin DBG_CHKTHIS( VCLXAccessibleHeaderBarItem, 0 ); 109*2bfcd321SSteve Yin DBG_ASSERT( pEvent && pEvent->ISA( VclWindowEvent ), "VCLXAccessibleHeaderBarItem::WindowEventListener: unknown window event!" ); 110*2bfcd321SSteve Yin 111*2bfcd321SSteve Yin if ( pEvent && pEvent->ISA( VclWindowEvent ) ) 112*2bfcd321SSteve Yin { 113*2bfcd321SSteve Yin DBG_ASSERT( ((VclWindowEvent*)pEvent)->GetWindow(), "VCLXAccessibleHeaderBarItem::WindowEventListener: no window!" ); 114*2bfcd321SSteve Yin if ( !((VclWindowEvent*)pEvent)->GetWindow()->IsAccessibilityEventsSuppressed() || ( pEvent->GetId() == VCLEVENT_OBJECT_DYING ) ) 115*2bfcd321SSteve Yin { 116*2bfcd321SSteve Yin ProcessWindowEvent( *(VclWindowEvent*)pEvent ); 117*2bfcd321SSteve Yin } 118*2bfcd321SSteve Yin } 119*2bfcd321SSteve Yin 120*2bfcd321SSteve Yin return 0; 121*2bfcd321SSteve Yin } 122*2bfcd321SSteve Yin 123*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 124*2bfcd321SSteve Yin 125*2bfcd321SSteve Yin void VCLXAccessibleHeaderBarItem::ProcessWindowEvent( const VclWindowEvent& ) 126*2bfcd321SSteve Yin { 127*2bfcd321SSteve Yin Any aOldValue, aNewValue; 128*2bfcd321SSteve Yin } 129*2bfcd321SSteve Yin 130*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 131*2bfcd321SSteve Yin 132*2bfcd321SSteve Yin void VCLXAccessibleHeaderBarItem::FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet ) 133*2bfcd321SSteve Yin { 134*2bfcd321SSteve Yin if ( m_pHeadBar ) 135*2bfcd321SSteve Yin { 136*2bfcd321SSteve Yin if ( m_pHeadBar->IsEnabled() ) 137*2bfcd321SSteve Yin rStateSet.AddState( AccessibleStateType::ENABLED ); 138*2bfcd321SSteve Yin 139*2bfcd321SSteve Yin if ( m_pHeadBar->IsVisible() ) 140*2bfcd321SSteve Yin { 141*2bfcd321SSteve Yin rStateSet.AddState( AccessibleStateType::VISIBLE ); 142*2bfcd321SSteve Yin } 143*2bfcd321SSteve Yin rStateSet.AddState( AccessibleStateType::SELECTABLE ); 144*2bfcd321SSteve Yin rStateSet.AddState( AccessibleStateType::RESIZABLE ); 145*2bfcd321SSteve Yin } 146*2bfcd321SSteve Yin } 147*2bfcd321SSteve Yin 148*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 149*2bfcd321SSteve Yin // OCommonAccessibleComponent 150*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 151*2bfcd321SSteve Yin 152*2bfcd321SSteve Yin awt::Rectangle VCLXAccessibleHeaderBarItem::implGetBounds() throw (RuntimeException) 153*2bfcd321SSteve Yin { 154*2bfcd321SSteve Yin awt::Rectangle aBounds; 155*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 156*2bfcd321SSteve Yin 157*2bfcd321SSteve Yin ::com::sun::star::awt::Size aSize; 158*2bfcd321SSteve Yin 159*2bfcd321SSteve Yin if ( m_pHeadBar ) 160*2bfcd321SSteve Yin aBounds = AWTRectangle( m_pHeadBar->GetItemRect( sal_uInt16( m_nIndexInParent ) ) ); 161*2bfcd321SSteve Yin 162*2bfcd321SSteve Yin return aBounds; 163*2bfcd321SSteve Yin } 164*2bfcd321SSteve Yin 165*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 166*2bfcd321SSteve Yin // XInterface 167*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 168*2bfcd321SSteve Yin 169*2bfcd321SSteve Yin IMPLEMENT_FORWARD_XINTERFACE2( VCLXAccessibleHeaderBarItem, AccessibleExtendedComponentHelper_BASE, VCLXAccessibleHeaderBarItem_BASE ) 170*2bfcd321SSteve Yin 171*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 172*2bfcd321SSteve Yin // XTypeProvider 173*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 174*2bfcd321SSteve Yin 175*2bfcd321SSteve Yin IMPLEMENT_FORWARD_XTYPEPROVIDER2( VCLXAccessibleHeaderBarItem, AccessibleExtendedComponentHelper_BASE, VCLXAccessibleHeaderBarItem_BASE ) 176*2bfcd321SSteve Yin 177*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 178*2bfcd321SSteve Yin // XComponent 179*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 180*2bfcd321SSteve Yin 181*2bfcd321SSteve Yin void VCLXAccessibleHeaderBarItem::disposing() 182*2bfcd321SSteve Yin { 183*2bfcd321SSteve Yin AccessibleExtendedComponentHelper_BASE::disposing(); 184*2bfcd321SSteve Yin } 185*2bfcd321SSteve Yin 186*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 187*2bfcd321SSteve Yin // XServiceInfo 188*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 189*2bfcd321SSteve Yin 190*2bfcd321SSteve Yin ::rtl::OUString VCLXAccessibleHeaderBarItem::getImplementationName() throw (RuntimeException) 191*2bfcd321SSteve Yin { 192*2bfcd321SSteve Yin return ::rtl::OUString::createFromAscii( "com.sun.star.comp.svtools.AccessibleHeaderBarItem" ); 193*2bfcd321SSteve Yin } 194*2bfcd321SSteve Yin 195*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 196*2bfcd321SSteve Yin 197*2bfcd321SSteve Yin sal_Bool VCLXAccessibleHeaderBarItem::supportsService( const ::rtl::OUString& rServiceName ) throw (RuntimeException) 198*2bfcd321SSteve Yin { 199*2bfcd321SSteve Yin Sequence< ::rtl::OUString > aNames( getSupportedServiceNames() ); 200*2bfcd321SSteve Yin const ::rtl::OUString* pNames = aNames.getConstArray(); 201*2bfcd321SSteve Yin const ::rtl::OUString* pEnd = pNames + aNames.getLength(); 202*2bfcd321SSteve Yin for ( ; pNames != pEnd && !pNames->equals( rServiceName ); ++pNames ) 203*2bfcd321SSteve Yin ; 204*2bfcd321SSteve Yin 205*2bfcd321SSteve Yin return pNames != pEnd; 206*2bfcd321SSteve Yin } 207*2bfcd321SSteve Yin 208*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 209*2bfcd321SSteve Yin 210*2bfcd321SSteve Yin Sequence< ::rtl::OUString > VCLXAccessibleHeaderBarItem::getSupportedServiceNames() throw (RuntimeException) 211*2bfcd321SSteve Yin { 212*2bfcd321SSteve Yin Sequence< ::rtl::OUString > aNames(1); 213*2bfcd321SSteve Yin aNames[0] = ::rtl::OUString::createFromAscii( "com.sun.star.awt.AccessibleHeaderBarItem" ); 214*2bfcd321SSteve Yin return aNames; 215*2bfcd321SSteve Yin } 216*2bfcd321SSteve Yin 217*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 218*2bfcd321SSteve Yin // XAccessible 219*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 220*2bfcd321SSteve Yin 221*2bfcd321SSteve Yin Reference< XAccessibleContext > VCLXAccessibleHeaderBarItem::getAccessibleContext() throw (RuntimeException) 222*2bfcd321SSteve Yin { 223*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 224*2bfcd321SSteve Yin 225*2bfcd321SSteve Yin return this; 226*2bfcd321SSteve Yin } 227*2bfcd321SSteve Yin 228*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 229*2bfcd321SSteve Yin // XAccessibleContext 230*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 231*2bfcd321SSteve Yin 232*2bfcd321SSteve Yin sal_Int32 VCLXAccessibleHeaderBarItem::getAccessibleChildCount() throw (RuntimeException) 233*2bfcd321SSteve Yin { 234*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 235*2bfcd321SSteve Yin 236*2bfcd321SSteve Yin return 0; 237*2bfcd321SSteve Yin } 238*2bfcd321SSteve Yin 239*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 240*2bfcd321SSteve Yin 241*2bfcd321SSteve Yin Reference< XAccessible > VCLXAccessibleHeaderBarItem::getAccessibleChild( sal_Int32 i ) throw (IndexOutOfBoundsException, RuntimeException) 242*2bfcd321SSteve Yin { 243*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 244*2bfcd321SSteve Yin 245*2bfcd321SSteve Yin if ( i < 0 || i >= getAccessibleChildCount() ) 246*2bfcd321SSteve Yin throw IndexOutOfBoundsException(); 247*2bfcd321SSteve Yin 248*2bfcd321SSteve Yin return Reference< XAccessible >(); 249*2bfcd321SSteve Yin } 250*2bfcd321SSteve Yin 251*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 252*2bfcd321SSteve Yin 253*2bfcd321SSteve Yin Reference< XAccessible > VCLXAccessibleHeaderBarItem::getAccessibleParent() throw (RuntimeException) 254*2bfcd321SSteve Yin { 255*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 256*2bfcd321SSteve Yin 257*2bfcd321SSteve Yin Reference< XAccessible > xParent; 258*2bfcd321SSteve Yin if ( m_pHeadBar ) 259*2bfcd321SSteve Yin { 260*2bfcd321SSteve Yin xParent = m_pHeadBar->GetAccessible(); 261*2bfcd321SSteve Yin } 262*2bfcd321SSteve Yin 263*2bfcd321SSteve Yin return xParent; 264*2bfcd321SSteve Yin } 265*2bfcd321SSteve Yin 266*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 267*2bfcd321SSteve Yin 268*2bfcd321SSteve Yin sal_Int32 VCLXAccessibleHeaderBarItem::getAccessibleIndexInParent() throw (RuntimeException) 269*2bfcd321SSteve Yin { 270*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 271*2bfcd321SSteve Yin return m_nIndexInParent - 1; 272*2bfcd321SSteve Yin } 273*2bfcd321SSteve Yin 274*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 275*2bfcd321SSteve Yin 276*2bfcd321SSteve Yin sal_Int16 VCLXAccessibleHeaderBarItem::getAccessibleRole() throw (RuntimeException) 277*2bfcd321SSteve Yin { 278*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 279*2bfcd321SSteve Yin 280*2bfcd321SSteve Yin return AccessibleRole::COLUMN_HEADER; 281*2bfcd321SSteve Yin } 282*2bfcd321SSteve Yin 283*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 284*2bfcd321SSteve Yin 285*2bfcd321SSteve Yin ::rtl::OUString VCLXAccessibleHeaderBarItem::getAccessibleDescription() throw (RuntimeException) 286*2bfcd321SSteve Yin { 287*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 288*2bfcd321SSteve Yin ::rtl::OUString sDescription; 289*2bfcd321SSteve Yin return sDescription; 290*2bfcd321SSteve Yin } 291*2bfcd321SSteve Yin 292*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 293*2bfcd321SSteve Yin 294*2bfcd321SSteve Yin ::rtl::OUString VCLXAccessibleHeaderBarItem::getAccessibleName() throw (RuntimeException) 295*2bfcd321SSteve Yin { 296*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 297*2bfcd321SSteve Yin 298*2bfcd321SSteve Yin ::rtl::OUString sName; 299*2bfcd321SSteve Yin if(m_pHeadBar) 300*2bfcd321SSteve Yin sName = m_pHeadBar->GetItemText( sal_uInt16( m_nIndexInParent ) ); 301*2bfcd321SSteve Yin return sName; 302*2bfcd321SSteve Yin } 303*2bfcd321SSteve Yin 304*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 305*2bfcd321SSteve Yin 306*2bfcd321SSteve Yin Reference< XAccessibleRelationSet > VCLXAccessibleHeaderBarItem::getAccessibleRelationSet( ) throw (RuntimeException) 307*2bfcd321SSteve Yin { 308*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 309*2bfcd321SSteve Yin 310*2bfcd321SSteve Yin utl::AccessibleRelationSetHelper* pRelationSetHelper = new utl::AccessibleRelationSetHelper; 311*2bfcd321SSteve Yin Reference< XAccessibleRelationSet > xSet = pRelationSetHelper; 312*2bfcd321SSteve Yin return xSet; 313*2bfcd321SSteve Yin } 314*2bfcd321SSteve Yin 315*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 316*2bfcd321SSteve Yin 317*2bfcd321SSteve Yin Reference< XAccessibleStateSet > VCLXAccessibleHeaderBarItem::getAccessibleStateSet( ) throw (RuntimeException) 318*2bfcd321SSteve Yin { 319*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 320*2bfcd321SSteve Yin 321*2bfcd321SSteve Yin utl::AccessibleStateSetHelper* pStateSetHelper = new utl::AccessibleStateSetHelper; 322*2bfcd321SSteve Yin Reference< XAccessibleStateSet > xSet = pStateSetHelper; 323*2bfcd321SSteve Yin 324*2bfcd321SSteve Yin if ( !rBHelper.bDisposed && !rBHelper.bInDispose ) 325*2bfcd321SSteve Yin { 326*2bfcd321SSteve Yin FillAccessibleStateSet( *pStateSetHelper ); 327*2bfcd321SSteve Yin } 328*2bfcd321SSteve Yin else 329*2bfcd321SSteve Yin { 330*2bfcd321SSteve Yin pStateSetHelper->AddState( AccessibleStateType::DEFUNC ); 331*2bfcd321SSteve Yin } 332*2bfcd321SSteve Yin 333*2bfcd321SSteve Yin return xSet; 334*2bfcd321SSteve Yin } 335*2bfcd321SSteve Yin 336*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 337*2bfcd321SSteve Yin 338*2bfcd321SSteve Yin com::sun::star::lang::Locale VCLXAccessibleHeaderBarItem::getLocale() throw (IllegalAccessibleComponentStateException, RuntimeException) 339*2bfcd321SSteve Yin { 340*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 341*2bfcd321SSteve Yin 342*2bfcd321SSteve Yin return Application::GetSettings().GetLocale(); 343*2bfcd321SSteve Yin } 344*2bfcd321SSteve Yin 345*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 346*2bfcd321SSteve Yin // XAccessibleComponent 347*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 348*2bfcd321SSteve Yin 349*2bfcd321SSteve Yin Reference< XAccessible > VCLXAccessibleHeaderBarItem::getAccessibleAtPoint( const awt::Point& ) throw (RuntimeException) 350*2bfcd321SSteve Yin { 351*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 352*2bfcd321SSteve Yin 353*2bfcd321SSteve Yin return Reference< XAccessible >(); 354*2bfcd321SSteve Yin } 355*2bfcd321SSteve Yin 356*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 357*2bfcd321SSteve Yin 358*2bfcd321SSteve Yin sal_Int32 VCLXAccessibleHeaderBarItem::getForeground() throw (RuntimeException) 359*2bfcd321SSteve Yin { 360*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 361*2bfcd321SSteve Yin 362*2bfcd321SSteve Yin sal_Int32 nColor = 0; 363*2bfcd321SSteve Yin return nColor; 364*2bfcd321SSteve Yin } 365*2bfcd321SSteve Yin 366*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 367*2bfcd321SSteve Yin 368*2bfcd321SSteve Yin sal_Int32 VCLXAccessibleHeaderBarItem::getBackground() throw (RuntimeException) 369*2bfcd321SSteve Yin { 370*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 371*2bfcd321SSteve Yin 372*2bfcd321SSteve Yin sal_Int32 nColor = 0; 373*2bfcd321SSteve Yin return nColor; 374*2bfcd321SSteve Yin } 375*2bfcd321SSteve Yin 376*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 377*2bfcd321SSteve Yin // XAccessibleExtendedComponent 378*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 379*2bfcd321SSteve Yin 380*2bfcd321SSteve Yin Reference< awt::XFont > VCLXAccessibleHeaderBarItem::getFont() throw (RuntimeException) 381*2bfcd321SSteve Yin { 382*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 383*2bfcd321SSteve Yin 384*2bfcd321SSteve Yin Reference< awt::XFont > xFont; 385*2bfcd321SSteve Yin return xFont; 386*2bfcd321SSteve Yin } 387*2bfcd321SSteve Yin 388*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 389*2bfcd321SSteve Yin 390*2bfcd321SSteve Yin ::rtl::OUString VCLXAccessibleHeaderBarItem::getTitledBorderText() throw (RuntimeException) 391*2bfcd321SSteve Yin { 392*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 393*2bfcd321SSteve Yin 394*2bfcd321SSteve Yin ::rtl::OUString sText; 395*2bfcd321SSteve Yin return sText; 396*2bfcd321SSteve Yin } 397*2bfcd321SSteve Yin 398*2bfcd321SSteve Yin // ----------------------------------------------------------------------------- 399*2bfcd321SSteve Yin 400*2bfcd321SSteve Yin ::rtl::OUString VCLXAccessibleHeaderBarItem::getToolTipText() throw (RuntimeException) 401*2bfcd321SSteve Yin { 402*2bfcd321SSteve Yin OExternalLockGuard aGuard( this ); 403*2bfcd321SSteve Yin 404*2bfcd321SSteve Yin ::rtl::OUString sText; 405*2bfcd321SSteve Yin if ( m_pHeadBar ) 406*2bfcd321SSteve Yin sText = m_pHeadBar->GetQuickHelpText(); 407*2bfcd321SSteve Yin 408*2bfcd321SSteve Yin return sText; 409*2bfcd321SSteve Yin } 410*2bfcd321SSteve Yin //-----IAccessibility2 Implementation 2009 411