xref: /trunk/main/svtools/source/control/vclxaccessibleheaderbaritem.cxx (revision d3553c6b68aef63d45d1605bdabbc6fea7b9e42f)
1*d3553c6bSHerbert Dürr /**************************************************************
22bfcd321SSteve Yin  *
3*d3553c6bSHerbert Dürr  * Licensed to the Apache Software Foundation (ASF) under one
4*d3553c6bSHerbert Dürr  * or more contributor license agreements.  See the NOTICE file
5*d3553c6bSHerbert Dürr  * distributed with this work for additional information
6*d3553c6bSHerbert Dürr  * regarding copyright ownership.  The ASF licenses this file
7*d3553c6bSHerbert Dürr  * to you under the Apache License, Version 2.0 (the
8*d3553c6bSHerbert Dürr  * "License"); you may not use this file except in compliance
9*d3553c6bSHerbert Dürr  * with the License.  You may obtain a copy of the License at
102bfcd321SSteve Yin  *
11*d3553c6bSHerbert Dürr  *   http://www.apache.org/licenses/LICENSE-2.0
122bfcd321SSteve Yin  *
13*d3553c6bSHerbert Dürr  * Unless required by applicable law or agreed to in writing,
14*d3553c6bSHerbert Dürr  * software distributed under the License is distributed on an
15*d3553c6bSHerbert Dürr  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d3553c6bSHerbert Dürr  * KIND, either express or implied.  See the License for the
17*d3553c6bSHerbert Dürr  * specific language governing permissions and limitations
18*d3553c6bSHerbert Dürr  * under the License.
192bfcd321SSteve Yin  *
20*d3553c6bSHerbert Dürr  *************************************************************/
212bfcd321SSteve Yin 
222bfcd321SSteve Yin //IAccessibility2 Implementation 2009-----
232bfcd321SSteve Yin 
242bfcd321SSteve Yin // MARKER(update_precomp.py): autogen include statement, do not remove
252bfcd321SSteve Yin #include "precompiled_svtools.hxx"
262bfcd321SSteve Yin 
272bfcd321SSteve Yin #ifndef _SVTOOLS_VCLXACCESSIBLEHEADERBAR_HXX_
282bfcd321SSteve Yin #include <svtools/vclxaccessibleheaderbaritem.hxx>
292bfcd321SSteve Yin #endif
302bfcd321SSteve Yin 
312bfcd321SSteve Yin #ifndef _HEADBAR_HXX
322bfcd321SSteve Yin #include <svtools/headbar.hxx>
332bfcd321SSteve Yin #endif
342bfcd321SSteve Yin 
352bfcd321SSteve Yin #ifndef _COM_SUN_STAR_ACCESSIBILITY_ACCESSIBLEEVENTID_HPP_
362bfcd321SSteve Yin #include <com/sun/star/accessibility/AccessibleEventId.hpp>
372bfcd321SSteve Yin #endif
382bfcd321SSteve Yin #ifndef _COM_SUN_STAR_ACCESSIBILITY_ACCESSIBLEROLE_HPP_
392bfcd321SSteve Yin #include <com/sun/star/accessibility/AccessibleRole.hpp>
402bfcd321SSteve Yin #endif
412bfcd321SSteve Yin #ifndef _COM_SUN_STAR_ACCESSIBILITY_ACCESSIBLESTATETYPE_HPP_
422bfcd321SSteve Yin #include <com/sun/star/accessibility/AccessibleStateType.hpp>
432bfcd321SSteve Yin #endif
442bfcd321SSteve Yin 
452bfcd321SSteve Yin #ifndef _UTL_ACCESSIBLESTATESETHELPER_HXX_
462bfcd321SSteve Yin #include <unotools/accessiblestatesethelper.hxx>
472bfcd321SSteve Yin #endif
482bfcd321SSteve Yin #ifndef _UTL_ACCESSIBLERELATIONSETHELPER_HXX_
492bfcd321SSteve Yin #include <unotools/accessiblerelationsethelper.hxx>
502bfcd321SSteve Yin #endif
512bfcd321SSteve Yin #ifndef _SV_SVAPP_HXX
522bfcd321SSteve Yin #include <vcl/svapp.hxx>
532bfcd321SSteve Yin #endif
542bfcd321SSteve Yin #ifndef _TOOLKIT_AWT_VCLXFONT_HXX_
552bfcd321SSteve Yin #include <toolkit/awt/vclxfont.hxx>
562bfcd321SSteve Yin #endif
572bfcd321SSteve Yin #ifndef _TOOLKIT_HELPER_EXTERNALLOCK_HXX_
582bfcd321SSteve Yin #include <toolkit/helper/externallock.hxx>
592bfcd321SSteve Yin #endif
602bfcd321SSteve Yin #ifndef _TOOLKIT_HELPER_CONVERT_HXX_
612bfcd321SSteve Yin #include <toolkit/helper/convert.hxx>
622bfcd321SSteve Yin #endif
632bfcd321SSteve Yin 
642bfcd321SSteve Yin #include <vector>
652bfcd321SSteve Yin 
662bfcd321SSteve Yin 
672bfcd321SSteve Yin using namespace ::com::sun::star;
682bfcd321SSteve Yin using namespace ::com::sun::star::uno;
692bfcd321SSteve Yin using namespace ::com::sun::star::lang;
702bfcd321SSteve Yin using namespace ::com::sun::star::accessibility;
712bfcd321SSteve Yin using namespace ::comphelper;
722bfcd321SSteve Yin 
732bfcd321SSteve Yin DBG_NAME( VCLXAccessibleHeaderBarItem )
742bfcd321SSteve Yin 
752bfcd321SSteve Yin //  ----------------------------------------------------
762bfcd321SSteve Yin //  class AccessibleTabBar
772bfcd321SSteve Yin //  ----------------------------------------------------
782bfcd321SSteve Yin 
792bfcd321SSteve Yin VCLXAccessibleHeaderBarItem::VCLXAccessibleHeaderBarItem( HeaderBar*    pHeadBar, sal_Int32 _nIndexInParent )
802bfcd321SSteve Yin     :AccessibleExtendedComponentHelper_BASE( new VCLExternalSolarLock() )
812bfcd321SSteve Yin     ,m_pHeadBar( pHeadBar )
822bfcd321SSteve Yin     ,m_nIndexInParent(_nIndexInParent + 1)
832bfcd321SSteve Yin 
842bfcd321SSteve Yin {
852bfcd321SSteve Yin     DBG_CTOR( VCLXAccessibleHeaderBarItem, NULL );
862bfcd321SSteve Yin     m_pExternalLock = static_cast< VCLExternalSolarLock* >( getExternalLock() );
872bfcd321SSteve Yin }
882bfcd321SSteve Yin 
892bfcd321SSteve Yin // -----------------------------------------------------------------------------
902bfcd321SSteve Yin 
912bfcd321SSteve Yin VCLXAccessibleHeaderBarItem::~VCLXAccessibleHeaderBarItem()
922bfcd321SSteve Yin {
932bfcd321SSteve Yin     delete m_pExternalLock;
942bfcd321SSteve Yin     m_pExternalLock = NULL;
952bfcd321SSteve Yin }
962bfcd321SSteve Yin 
972bfcd321SSteve Yin // -----------------------------------------------------------------------------
982bfcd321SSteve Yin 
992bfcd321SSteve Yin IMPL_LINK( VCLXAccessibleHeaderBarItem, WindowEventListener, VclSimpleEvent*, pEvent )
1002bfcd321SSteve Yin {
1012bfcd321SSteve Yin     DBG_CHKTHIS( VCLXAccessibleHeaderBarItem, 0 );
1022bfcd321SSteve Yin     DBG_ASSERT( pEvent && pEvent->ISA( VclWindowEvent ), "VCLXAccessibleHeaderBarItem::WindowEventListener: unknown window event!" );
1032bfcd321SSteve Yin 
1042bfcd321SSteve Yin     if ( pEvent && pEvent->ISA( VclWindowEvent ) )
1052bfcd321SSteve Yin     {
1062bfcd321SSteve Yin         DBG_ASSERT( ((VclWindowEvent*)pEvent)->GetWindow(), "VCLXAccessibleHeaderBarItem::WindowEventListener: no window!" );
1072bfcd321SSteve Yin         if ( !((VclWindowEvent*)pEvent)->GetWindow()->IsAccessibilityEventsSuppressed() || ( pEvent->GetId() == VCLEVENT_OBJECT_DYING ) )
1082bfcd321SSteve Yin         {
1092bfcd321SSteve Yin             ProcessWindowEvent( *(VclWindowEvent*)pEvent );
1102bfcd321SSteve Yin         }
1112bfcd321SSteve Yin     }
1122bfcd321SSteve Yin 
1132bfcd321SSteve Yin     return 0;
1142bfcd321SSteve Yin }
1152bfcd321SSteve Yin 
1162bfcd321SSteve Yin // -----------------------------------------------------------------------------
1172bfcd321SSteve Yin 
1182bfcd321SSteve Yin void VCLXAccessibleHeaderBarItem::ProcessWindowEvent( const VclWindowEvent& )
1192bfcd321SSteve Yin {
1202bfcd321SSteve Yin     Any aOldValue, aNewValue;
1212bfcd321SSteve Yin }
1222bfcd321SSteve Yin 
1232bfcd321SSteve Yin // -----------------------------------------------------------------------------
1242bfcd321SSteve Yin 
1252bfcd321SSteve Yin void VCLXAccessibleHeaderBarItem::FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet )
1262bfcd321SSteve Yin {
1272bfcd321SSteve Yin     if ( m_pHeadBar )
1282bfcd321SSteve Yin     {
1292bfcd321SSteve Yin         if ( m_pHeadBar->IsEnabled() )
1302bfcd321SSteve Yin             rStateSet.AddState( AccessibleStateType::ENABLED );
1312bfcd321SSteve Yin 
1322bfcd321SSteve Yin         if ( m_pHeadBar->IsVisible() )
1332bfcd321SSteve Yin         {
1342bfcd321SSteve Yin             rStateSet.AddState( AccessibleStateType::VISIBLE );
1352bfcd321SSteve Yin         }
1362bfcd321SSteve Yin         rStateSet.AddState( AccessibleStateType::SELECTABLE );
1372bfcd321SSteve Yin         rStateSet.AddState( AccessibleStateType::RESIZABLE );
1382bfcd321SSteve Yin     }
1392bfcd321SSteve Yin }
1402bfcd321SSteve Yin 
1412bfcd321SSteve Yin // -----------------------------------------------------------------------------
1422bfcd321SSteve Yin // OCommonAccessibleComponent
1432bfcd321SSteve Yin // -----------------------------------------------------------------------------
1442bfcd321SSteve Yin 
1452bfcd321SSteve Yin awt::Rectangle VCLXAccessibleHeaderBarItem::implGetBounds() throw (RuntimeException)
1462bfcd321SSteve Yin {
1472bfcd321SSteve Yin     awt::Rectangle aBounds;
1482bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
1492bfcd321SSteve Yin 
1502bfcd321SSteve Yin     ::com::sun::star::awt::Size aSize;
1512bfcd321SSteve Yin 
1522bfcd321SSteve Yin     if ( m_pHeadBar )
1532bfcd321SSteve Yin         aBounds = AWTRectangle( m_pHeadBar->GetItemRect( sal_uInt16( m_nIndexInParent ) ) );
1542bfcd321SSteve Yin 
1552bfcd321SSteve Yin     return aBounds;
1562bfcd321SSteve Yin }
1572bfcd321SSteve Yin 
1582bfcd321SSteve Yin // -----------------------------------------------------------------------------
1592bfcd321SSteve Yin // XInterface
1602bfcd321SSteve Yin // -----------------------------------------------------------------------------
1612bfcd321SSteve Yin 
1622bfcd321SSteve Yin IMPLEMENT_FORWARD_XINTERFACE2( VCLXAccessibleHeaderBarItem, AccessibleExtendedComponentHelper_BASE, VCLXAccessibleHeaderBarItem_BASE )
1632bfcd321SSteve Yin 
1642bfcd321SSteve Yin // -----------------------------------------------------------------------------
1652bfcd321SSteve Yin // XTypeProvider
1662bfcd321SSteve Yin // -----------------------------------------------------------------------------
1672bfcd321SSteve Yin 
1682bfcd321SSteve Yin IMPLEMENT_FORWARD_XTYPEPROVIDER2( VCLXAccessibleHeaderBarItem, AccessibleExtendedComponentHelper_BASE, VCLXAccessibleHeaderBarItem_BASE )
1692bfcd321SSteve Yin 
1702bfcd321SSteve Yin // -----------------------------------------------------------------------------
1712bfcd321SSteve Yin // XComponent
1722bfcd321SSteve Yin // -----------------------------------------------------------------------------
1732bfcd321SSteve Yin 
1742bfcd321SSteve Yin void VCLXAccessibleHeaderBarItem::disposing()
1752bfcd321SSteve Yin {
1762bfcd321SSteve Yin     AccessibleExtendedComponentHelper_BASE::disposing();
1772bfcd321SSteve Yin }
1782bfcd321SSteve Yin 
1792bfcd321SSteve Yin // -----------------------------------------------------------------------------
1802bfcd321SSteve Yin // XServiceInfo
1812bfcd321SSteve Yin // -----------------------------------------------------------------------------
1822bfcd321SSteve Yin 
1832bfcd321SSteve Yin ::rtl::OUString VCLXAccessibleHeaderBarItem::getImplementationName() throw (RuntimeException)
1842bfcd321SSteve Yin {
1852bfcd321SSteve Yin     return ::rtl::OUString::createFromAscii( "com.sun.star.comp.svtools.AccessibleHeaderBarItem" );
1862bfcd321SSteve Yin }
1872bfcd321SSteve Yin 
1882bfcd321SSteve Yin // -----------------------------------------------------------------------------
1892bfcd321SSteve Yin 
1902bfcd321SSteve Yin sal_Bool VCLXAccessibleHeaderBarItem::supportsService( const ::rtl::OUString& rServiceName ) throw (RuntimeException)
1912bfcd321SSteve Yin {
1922bfcd321SSteve Yin     Sequence< ::rtl::OUString > aNames( getSupportedServiceNames() );
1932bfcd321SSteve Yin     const ::rtl::OUString* pNames = aNames.getConstArray();
1942bfcd321SSteve Yin     const ::rtl::OUString* pEnd = pNames + aNames.getLength();
1952bfcd321SSteve Yin     for ( ; pNames != pEnd && !pNames->equals( rServiceName ); ++pNames )
1962bfcd321SSteve Yin         ;
1972bfcd321SSteve Yin 
1982bfcd321SSteve Yin     return pNames != pEnd;
1992bfcd321SSteve Yin }
2002bfcd321SSteve Yin 
2012bfcd321SSteve Yin // -----------------------------------------------------------------------------
2022bfcd321SSteve Yin 
2032bfcd321SSteve Yin Sequence< ::rtl::OUString > VCLXAccessibleHeaderBarItem::getSupportedServiceNames() throw (RuntimeException)
2042bfcd321SSteve Yin {
2052bfcd321SSteve Yin     Sequence< ::rtl::OUString > aNames(1);
2062bfcd321SSteve Yin     aNames[0] = ::rtl::OUString::createFromAscii( "com.sun.star.awt.AccessibleHeaderBarItem" );
2072bfcd321SSteve Yin     return aNames;
2082bfcd321SSteve Yin }
2092bfcd321SSteve Yin 
2102bfcd321SSteve Yin // -----------------------------------------------------------------------------
2112bfcd321SSteve Yin // XAccessible
2122bfcd321SSteve Yin // -----------------------------------------------------------------------------
2132bfcd321SSteve Yin 
2142bfcd321SSteve Yin Reference< XAccessibleContext > VCLXAccessibleHeaderBarItem::getAccessibleContext() throw (RuntimeException)
2152bfcd321SSteve Yin {
2162bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
2172bfcd321SSteve Yin 
2182bfcd321SSteve Yin     return this;
2192bfcd321SSteve Yin }
2202bfcd321SSteve Yin 
2212bfcd321SSteve Yin // -----------------------------------------------------------------------------
2222bfcd321SSteve Yin // XAccessibleContext
2232bfcd321SSteve Yin // -----------------------------------------------------------------------------
2242bfcd321SSteve Yin 
2252bfcd321SSteve Yin sal_Int32 VCLXAccessibleHeaderBarItem::getAccessibleChildCount() throw (RuntimeException)
2262bfcd321SSteve Yin {
2272bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
2282bfcd321SSteve Yin 
2292bfcd321SSteve Yin     return 0;
2302bfcd321SSteve Yin }
2312bfcd321SSteve Yin 
2322bfcd321SSteve Yin // -----------------------------------------------------------------------------
2332bfcd321SSteve Yin 
2342bfcd321SSteve Yin Reference< XAccessible > VCLXAccessibleHeaderBarItem::getAccessibleChild( sal_Int32 i ) throw (IndexOutOfBoundsException, RuntimeException)
2352bfcd321SSteve Yin {
2362bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
2372bfcd321SSteve Yin 
2382bfcd321SSteve Yin     if ( i < 0 || i >= getAccessibleChildCount() )
2392bfcd321SSteve Yin         throw IndexOutOfBoundsException();
2402bfcd321SSteve Yin 
2412bfcd321SSteve Yin     return Reference< XAccessible >();
2422bfcd321SSteve Yin }
2432bfcd321SSteve Yin 
2442bfcd321SSteve Yin // -----------------------------------------------------------------------------
2452bfcd321SSteve Yin 
2462bfcd321SSteve Yin Reference< XAccessible > VCLXAccessibleHeaderBarItem::getAccessibleParent() throw (RuntimeException)
2472bfcd321SSteve Yin {
2482bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
2492bfcd321SSteve Yin 
2502bfcd321SSteve Yin     Reference< XAccessible > xParent;
2512bfcd321SSteve Yin     if ( m_pHeadBar )
2522bfcd321SSteve Yin     {
2532bfcd321SSteve Yin         xParent = m_pHeadBar->GetAccessible();
2542bfcd321SSteve Yin     }
2552bfcd321SSteve Yin 
2562bfcd321SSteve Yin     return xParent;
2572bfcd321SSteve Yin }
2582bfcd321SSteve Yin 
2592bfcd321SSteve Yin // -----------------------------------------------------------------------------
2602bfcd321SSteve Yin 
2612bfcd321SSteve Yin sal_Int32 VCLXAccessibleHeaderBarItem::getAccessibleIndexInParent() throw (RuntimeException)
2622bfcd321SSteve Yin {
2632bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
2642bfcd321SSteve Yin     return m_nIndexInParent - 1;
2652bfcd321SSteve Yin }
2662bfcd321SSteve Yin 
2672bfcd321SSteve Yin // -----------------------------------------------------------------------------
2682bfcd321SSteve Yin 
2692bfcd321SSteve Yin sal_Int16 VCLXAccessibleHeaderBarItem::getAccessibleRole() throw (RuntimeException)
2702bfcd321SSteve Yin {
2712bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
2722bfcd321SSteve Yin 
2732bfcd321SSteve Yin     return AccessibleRole::COLUMN_HEADER;
2742bfcd321SSteve Yin }
2752bfcd321SSteve Yin 
2762bfcd321SSteve Yin // -----------------------------------------------------------------------------
2772bfcd321SSteve Yin 
2782bfcd321SSteve Yin ::rtl::OUString VCLXAccessibleHeaderBarItem::getAccessibleDescription() throw (RuntimeException)
2792bfcd321SSteve Yin {
2802bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
2812bfcd321SSteve Yin     ::rtl::OUString sDescription;
2822bfcd321SSteve Yin     return sDescription;
2832bfcd321SSteve Yin }
2842bfcd321SSteve Yin 
2852bfcd321SSteve Yin // -----------------------------------------------------------------------------
2862bfcd321SSteve Yin 
2872bfcd321SSteve Yin ::rtl::OUString VCLXAccessibleHeaderBarItem::getAccessibleName() throw (RuntimeException)
2882bfcd321SSteve Yin {
2892bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
2902bfcd321SSteve Yin 
2912bfcd321SSteve Yin     ::rtl::OUString sName;
2922bfcd321SSteve Yin     if(m_pHeadBar)
2932bfcd321SSteve Yin         sName = m_pHeadBar->GetItemText( sal_uInt16( m_nIndexInParent ) );
2942bfcd321SSteve Yin     return sName;
2952bfcd321SSteve Yin }
2962bfcd321SSteve Yin 
2972bfcd321SSteve Yin // -----------------------------------------------------------------------------
2982bfcd321SSteve Yin 
2992bfcd321SSteve Yin Reference< XAccessibleRelationSet > VCLXAccessibleHeaderBarItem::getAccessibleRelationSet(  ) throw (RuntimeException)
3002bfcd321SSteve Yin {
3012bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
3022bfcd321SSteve Yin 
3032bfcd321SSteve Yin     utl::AccessibleRelationSetHelper* pRelationSetHelper = new utl::AccessibleRelationSetHelper;
3042bfcd321SSteve Yin     Reference< XAccessibleRelationSet > xSet = pRelationSetHelper;
3052bfcd321SSteve Yin     return xSet;
3062bfcd321SSteve Yin }
3072bfcd321SSteve Yin 
3082bfcd321SSteve Yin // -----------------------------------------------------------------------------
3092bfcd321SSteve Yin 
3102bfcd321SSteve Yin Reference< XAccessibleStateSet > VCLXAccessibleHeaderBarItem::getAccessibleStateSet(  ) throw (RuntimeException)
3112bfcd321SSteve Yin {
3122bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
3132bfcd321SSteve Yin 
3142bfcd321SSteve Yin     utl::AccessibleStateSetHelper* pStateSetHelper = new utl::AccessibleStateSetHelper;
3152bfcd321SSteve Yin     Reference< XAccessibleStateSet > xSet = pStateSetHelper;
3162bfcd321SSteve Yin 
3172bfcd321SSteve Yin     if ( !rBHelper.bDisposed && !rBHelper.bInDispose )
3182bfcd321SSteve Yin     {
3192bfcd321SSteve Yin         FillAccessibleStateSet( *pStateSetHelper );
3202bfcd321SSteve Yin     }
3212bfcd321SSteve Yin     else
3222bfcd321SSteve Yin     {
3232bfcd321SSteve Yin         pStateSetHelper->AddState( AccessibleStateType::DEFUNC );
3242bfcd321SSteve Yin     }
3252bfcd321SSteve Yin 
3262bfcd321SSteve Yin     return xSet;
3272bfcd321SSteve Yin }
3282bfcd321SSteve Yin 
3292bfcd321SSteve Yin // -----------------------------------------------------------------------------
3302bfcd321SSteve Yin 
3312bfcd321SSteve Yin com::sun::star::lang::Locale VCLXAccessibleHeaderBarItem::getLocale() throw (IllegalAccessibleComponentStateException, RuntimeException)
3322bfcd321SSteve Yin {
3332bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
3342bfcd321SSteve Yin 
3352bfcd321SSteve Yin     return Application::GetSettings().GetLocale();
3362bfcd321SSteve Yin }
3372bfcd321SSteve Yin 
3382bfcd321SSteve Yin // -----------------------------------------------------------------------------
3392bfcd321SSteve Yin // XAccessibleComponent
3402bfcd321SSteve Yin // -----------------------------------------------------------------------------
3412bfcd321SSteve Yin 
3422bfcd321SSteve Yin Reference< XAccessible > VCLXAccessibleHeaderBarItem::getAccessibleAtPoint( const awt::Point& ) throw (RuntimeException)
3432bfcd321SSteve Yin {
3442bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
3452bfcd321SSteve Yin 
3462bfcd321SSteve Yin     return Reference< XAccessible >();
3472bfcd321SSteve Yin }
3482bfcd321SSteve Yin 
3492bfcd321SSteve Yin // -----------------------------------------------------------------------------
3502bfcd321SSteve Yin 
3512bfcd321SSteve Yin sal_Int32 VCLXAccessibleHeaderBarItem::getForeground() throw (RuntimeException)
3522bfcd321SSteve Yin {
3532bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
3542bfcd321SSteve Yin 
3552bfcd321SSteve Yin     sal_Int32 nColor = 0;
3562bfcd321SSteve Yin     return nColor;
3572bfcd321SSteve Yin }
3582bfcd321SSteve Yin 
3592bfcd321SSteve Yin // -----------------------------------------------------------------------------
3602bfcd321SSteve Yin 
3612bfcd321SSteve Yin sal_Int32 VCLXAccessibleHeaderBarItem::getBackground() throw (RuntimeException)
3622bfcd321SSteve Yin {
3632bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
3642bfcd321SSteve Yin 
3652bfcd321SSteve Yin     sal_Int32 nColor = 0;
3662bfcd321SSteve Yin     return nColor;
3672bfcd321SSteve Yin }
3682bfcd321SSteve Yin 
3692bfcd321SSteve Yin // -----------------------------------------------------------------------------
3702bfcd321SSteve Yin // XAccessibleExtendedComponent
3712bfcd321SSteve Yin // -----------------------------------------------------------------------------
3722bfcd321SSteve Yin 
3732bfcd321SSteve Yin Reference< awt::XFont > VCLXAccessibleHeaderBarItem::getFont() throw (RuntimeException)
3742bfcd321SSteve Yin {
3752bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
3762bfcd321SSteve Yin 
3772bfcd321SSteve Yin     Reference< awt::XFont > xFont;
3782bfcd321SSteve Yin     return xFont;
3792bfcd321SSteve Yin }
3802bfcd321SSteve Yin 
3812bfcd321SSteve Yin // -----------------------------------------------------------------------------
3822bfcd321SSteve Yin 
3832bfcd321SSteve Yin ::rtl::OUString VCLXAccessibleHeaderBarItem::getTitledBorderText() throw (RuntimeException)
3842bfcd321SSteve Yin {
3852bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
3862bfcd321SSteve Yin 
3872bfcd321SSteve Yin     ::rtl::OUString sText;
3882bfcd321SSteve Yin     return sText;
3892bfcd321SSteve Yin }
3902bfcd321SSteve Yin 
3912bfcd321SSteve Yin // -----------------------------------------------------------------------------
3922bfcd321SSteve Yin 
3932bfcd321SSteve Yin ::rtl::OUString VCLXAccessibleHeaderBarItem::getToolTipText() throw (RuntimeException)
3942bfcd321SSteve Yin {
3952bfcd321SSteve Yin     OExternalLockGuard aGuard( this );
3962bfcd321SSteve Yin 
3972bfcd321SSteve Yin     ::rtl::OUString sText;
3982bfcd321SSteve Yin     if ( m_pHeadBar )
3992bfcd321SSteve Yin         sText = m_pHeadBar->GetQuickHelpText();
4002bfcd321SSteve Yin 
4012bfcd321SSteve Yin     return sText;
4022bfcd321SSteve Yin }
4032bfcd321SSteve Yin //-----IAccessibility2 Implementation 2009
404