xref: /trunk/main/svtools/source/control/vclxaccessibleheaderbaritem.cxx (revision 2bfcd321e2172336182a43e6d401b533c4283ceb)
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