1*d3553c6bSHerbert Dürr /**************************************************************
2ca62e2c2SSteve 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
10*d3553c6bSHerbert Dürr  *
11*d3553c6bSHerbert Dürr  *   http://www.apache.org/licenses/LICENSE-2.0
12*d3553c6bSHerbert Dürr  *
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.
19*d3553c6bSHerbert Dürr  *
20*d3553c6bSHerbert Dürr  *************************************************************/
21ca62e2c2SSteve Yin 
22ca62e2c2SSteve Yin #ifndef _ACCNOTEXTHYPERLINK_HXX
23ca62e2c2SSteve Yin #define _ACCNOTEXTHYPERLINK_HXX
24ca62e2c2SSteve Yin 
25ca62e2c2SSteve Yin 
26ca62e2c2SSteve Yin #include <com/sun/star/accessibility/XAccessibleHyperlink.hpp>
27ca62e2c2SSteve Yin #include <com/sun/star/uno/RuntimeException.hpp>
28ca62e2c2SSteve Yin #include <vos/ref.hxx>
29ca62e2c2SSteve Yin #include <cppuhelper/implbase1.hxx>
30ca62e2c2SSteve Yin #include <fmtinfmt.hxx>
31ca62e2c2SSteve Yin #include <frame.hxx>
32ca62e2c2SSteve Yin #include <layfrm.hxx>
33ca62e2c2SSteve Yin 
34ca62e2c2SSteve Yin #include "accnotextframe.hxx"
35ca62e2c2SSteve Yin /*
36ca62e2c2SSteve Yin using namespace ::com::sun::star::lang;
37ca62e2c2SSteve Yin using namespace ::com::sun::star::uno;
38ca62e2c2SSteve Yin using namespace ::com::sun::star::accessibility;
39ca62e2c2SSteve Yin using namespace ::rtl;
40ca62e2c2SSteve Yin */
41ca62e2c2SSteve Yin class SwAccessibleNoTextHyperlink :
42ca62e2c2SSteve Yin 		public ::cppu::WeakImplHelper1<
43ca62e2c2SSteve Yin 		::com::sun::star::accessibility::XAccessibleHyperlink >
44ca62e2c2SSteve Yin {
45ca62e2c2SSteve Yin 	friend class SwAccessibleNoTextFrame;
46ca62e2c2SSteve Yin 
47ca62e2c2SSteve Yin 	::vos::ORef< SwAccessibleNoTextFrame > xFrame;
48ca62e2c2SSteve Yin 	const SwFrm *mpFrm;
49ca62e2c2SSteve Yin 	sal_uInt16 mnIndex;
50ca62e2c2SSteve Yin 
GetFmt()51ca62e2c2SSteve Yin 	SwFrmFmt *GetFmt()
52ca62e2c2SSteve Yin 	{
53ca62e2c2SSteve Yin 		return ((SwLayoutFrm*)mpFrm)->GetFmt();
54ca62e2c2SSteve Yin 	}
55ca62e2c2SSteve Yin public:
56ca62e2c2SSteve Yin 
57ca62e2c2SSteve Yin 	SwAccessibleNoTextHyperlink( SwAccessibleNoTextFrame *p, const SwFrm* aFrm, sal_uInt16 nIndex = 0xFFFF );
58ca62e2c2SSteve Yin 
59ca62e2c2SSteve Yin 	// XAccessibleAction
60ca62e2c2SSteve Yin     virtual sal_Int32 SAL_CALL getAccessibleActionCount()
61ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
62ca62e2c2SSteve Yin     virtual sal_Bool SAL_CALL doAccessibleAction( sal_Int32 nIndex )
63ca62e2c2SSteve Yin 		throw (::com::sun::star::lang::IndexOutOfBoundsException,
64ca62e2c2SSteve Yin 				::com::sun::star::uno::RuntimeException);
65ca62e2c2SSteve Yin     virtual ::rtl::OUString SAL_CALL getAccessibleActionDescription(
66ca62e2c2SSteve Yin 				sal_Int32 nIndex )
67ca62e2c2SSteve Yin 		throw (::com::sun::star::lang::IndexOutOfBoundsException,
68ca62e2c2SSteve Yin 				::com::sun::star::uno::RuntimeException);
69ca62e2c2SSteve Yin     virtual ::com::sun::star::uno::Reference<
70ca62e2c2SSteve Yin 			::com::sun::star::accessibility::XAccessibleKeyBinding > SAL_CALL
71ca62e2c2SSteve Yin 		   	getAccessibleActionKeyBinding( sal_Int32 nIndex )
72ca62e2c2SSteve Yin 		throw (::com::sun::star::lang::IndexOutOfBoundsException,
73ca62e2c2SSteve Yin 				::com::sun::star::uno::RuntimeException);
74ca62e2c2SSteve Yin 
75ca62e2c2SSteve Yin 	// XAccessibleHyperlink
76ca62e2c2SSteve Yin     virtual ::com::sun::star::uno::Any SAL_CALL getAccessibleActionAnchor(
77ca62e2c2SSteve Yin 				sal_Int32 nIndex )
78ca62e2c2SSteve Yin 		throw (::com::sun::star::lang::IndexOutOfBoundsException,
79ca62e2c2SSteve Yin 				::com::sun::star::uno::RuntimeException);
80ca62e2c2SSteve Yin     virtual ::com::sun::star::uno::Any SAL_CALL getAccessibleActionObject(
81ca62e2c2SSteve Yin 			sal_Int32 nIndex )
82ca62e2c2SSteve Yin 		throw (::com::sun::star::lang::IndexOutOfBoundsException,
83ca62e2c2SSteve Yin 				::com::sun::star::uno::RuntimeException);
84ca62e2c2SSteve Yin     virtual sal_Int32 SAL_CALL getStartIndex()
85ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
86ca62e2c2SSteve Yin     virtual sal_Int32 SAL_CALL getEndIndex()
87ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
88ca62e2c2SSteve Yin     virtual sal_Bool SAL_CALL isValid(  )
89ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
90ca62e2c2SSteve Yin };
91ca62e2c2SSteve Yin 
92ca62e2c2SSteve Yin #endif
93ca62e2c2SSteve Yin 
94