xref: /aoo41x/main/sw/source/core/access/accfield.hxx (revision d3553c6b)
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 _ACCFIELD_HXX
23ca62e2c2SSteve Yin #define _ACCFIELD_HXX
24ca62e2c2SSteve Yin 
25ca62e2c2SSteve Yin #ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLE_HPP_
26ca62e2c2SSteve Yin #include <com/sun/star/accessibility/XAccessible.hpp>
27ca62e2c2SSteve Yin #endif
28ca62e2c2SSteve Yin #ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLECONTEXT_HPP_
29ca62e2c2SSteve Yin #include <com/sun/star/accessibility/XAccessibleContext.hpp>
30ca62e2c2SSteve Yin #endif
31ca62e2c2SSteve Yin #ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLECOMPONENT_HPP_
32ca62e2c2SSteve Yin #include <com/sun/star/accessibility/XAccessibleComponent.hpp>
33ca62e2c2SSteve Yin #endif
34ca62e2c2SSteve Yin #ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLEEVENTBROADCASTER_HPP_
35ca62e2c2SSteve Yin #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
36ca62e2c2SSteve Yin #endif
37ca62e2c2SSteve Yin #ifndef _COM_SUN_STAR_ACCESSIBILITY_ILLEGALACCESSIBLECOMPONENTSTATEEXCEPTION_HDL_
38ca62e2c2SSteve Yin #include <com/sun/star/accessibility/IllegalAccessibleComponentStateException.hpp>
39ca62e2c2SSteve Yin #endif
40ca62e2c2SSteve Yin #ifndef _COM_SUN_STAR_LANG_DISPOSEDEXCEPTION_HPP_
41ca62e2c2SSteve Yin #include <com/sun/star/lang/DisposedException.hpp>
42ca62e2c2SSteve Yin #endif
43ca62e2c2SSteve Yin #ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_
44ca62e2c2SSteve Yin #include <com/sun/star/lang/XServiceInfo.hpp>
45ca62e2c2SSteve Yin #endif
46ca62e2c2SSteve Yin #ifndef _COM_SUN_STAR_LANG_INDEXOUTOFBOUNDSEXCEPTION_HPP_
47ca62e2c2SSteve Yin #include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
48ca62e2c2SSteve Yin #endif
49ca62e2c2SSteve Yin #ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLEHYPERLINK_HPP_
50ca62e2c2SSteve Yin #include <com/sun/star/accessibility/XAccessibleHyperlink.hpp>
51ca62e2c2SSteve Yin #endif
52ca62e2c2SSteve Yin #ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLEVALUE_HPP_
53ca62e2c2SSteve Yin #include <com/sun/star/accessibility/XAccessibleValue.hpp>
54ca62e2c2SSteve Yin #endif
55ca62e2c2SSteve Yin #ifndef _COM_SUN_STAR_UNO_RUNTIMEEXCEPTION_HPP_
56ca62e2c2SSteve Yin #include <com/sun/star/uno/RuntimeException.hpp>
57ca62e2c2SSteve Yin #endif
58ca62e2c2SSteve Yin #ifndef _VOS_REF_HXX_
59ca62e2c2SSteve Yin #include <vos/ref.hxx>
60ca62e2c2SSteve Yin #endif
61ca62e2c2SSteve Yin #ifndef _CPPUHELPER_IMPLBASE4_HXX_
62ca62e2c2SSteve Yin #include <cppuhelper/implbase4.hxx>
63ca62e2c2SSteve Yin #endif
64ca62e2c2SSteve Yin #ifndef _FMTINFMT_HXX //autogen
65ca62e2c2SSteve Yin #include <fmtinfmt.hxx>
66ca62e2c2SSteve Yin #endif
67ca62e2c2SSteve Yin 
68ca62e2c2SSteve Yin class SwAccessibleParagraph;
69ca62e2c2SSteve Yin class SwField;
70ca62e2c2SSteve Yin class SwAccessibleField :
71ca62e2c2SSteve Yin 	public ::cppu::WeakImplHelper4<
72ca62e2c2SSteve Yin 				::com::sun::star::accessibility::XAccessible,
73ca62e2c2SSteve Yin                 ::com::sun::star::accessibility::XAccessibleContext,
74ca62e2c2SSteve Yin                 ::com::sun::star::accessibility::XAccessibleComponent,
75ca62e2c2SSteve Yin 				::com::sun::star::accessibility::XAccessibleEventBroadcaster
76ca62e2c2SSteve Yin                 >
77ca62e2c2SSteve Yin {
78ca62e2c2SSteve Yin 	friend class SwAccessibleParagraph;
79ca62e2c2SSteve Yin 	friend class SwAccessibleHyperTextData;
80ca62e2c2SSteve Yin 
81ca62e2c2SSteve Yin protected:
82ca62e2c2SSteve Yin //	sal_uInt16 nHintPos;
83ca62e2c2SSteve Yin 	::vos::ORef< SwAccessibleParagraph > m_xPara;
84ca62e2c2SSteve Yin 	SwField *m_pSwField;
85ca62e2c2SSteve Yin 
86ca62e2c2SSteve Yin     sal_uInt32 m_nClientId;   // client id in the AccessibleEventNotifier queue
87ca62e2c2SSteve Yin     sal_Int16 m_nRole;		// immutable outside constructor
88ca62e2c2SSteve Yin //	sal_Int32 nStartIdx;
89ca62e2c2SSteve Yin //	sal_Int32 nEndIdx;
90ca62e2c2SSteve Yin public:
91ca62e2c2SSteve Yin 	SwAccessibleField( SwField *pSwFld,SwAccessibleParagraph *p,sal_Int16);
92ca62e2c2SSteve Yin 
93ca62e2c2SSteve Yin     virtual void SAL_CALL addEventListener(
94ca62e2c2SSteve Yin 			const ::com::sun::star::uno::Reference<
95ca62e2c2SSteve Yin 				::com::sun::star::accessibility::XAccessibleEventListener >& xListener )
96ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
97ca62e2c2SSteve Yin     virtual void SAL_CALL removeEventListener(
98ca62e2c2SSteve Yin 			const ::com::sun::star::uno::Reference<
99ca62e2c2SSteve Yin 				::com::sun::star::accessibility::XAccessibleEventListener >& xListener )
100ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
101ca62e2c2SSteve Yin 
102ca62e2c2SSteve Yin //	const SwTxtAttr *GetTxtAttr() const;
103ca62e2c2SSteve Yin //	void Invalidate();
104ca62e2c2SSteve Yin     virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
105ca62e2c2SSteve Yin         const ::com::sun::star::uno::Type& aType )
106ca62e2c2SSteve Yin         throw (::com::sun::star::uno::RuntimeException);
107ca62e2c2SSteve Yin 
108ca62e2c2SSteve Yin     virtual void SAL_CALL acquire(  ) throw () ;
109ca62e2c2SSteve Yin     virtual void SAL_CALL release(  ) throw () ;
110ca62e2c2SSteve Yin 
111ca62e2c2SSteve Yin public:
112ca62e2c2SSteve Yin 	//=====  XAccessible  =====================================================
113ca62e2c2SSteve Yin 
114ca62e2c2SSteve Yin     ///	Return the XAccessibleContext.
115ca62e2c2SSteve Yin     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext> SAL_CALL
116ca62e2c2SSteve Yin     	getAccessibleContext (void) throw (com::sun::star::uno::RuntimeException);
117ca62e2c2SSteve Yin 
118ca62e2c2SSteve Yin 	//=====  XAccessibleContext  ==============================================
119ca62e2c2SSteve Yin 
120ca62e2c2SSteve Yin     ///	Return the number of currently visible children.
1215b989b89SHerbert Dürr     virtual sal_Int32 SAL_CALL getAccessibleChildCount (void)
122ca62e2c2SSteve Yin         throw (::com::sun::star::uno::RuntimeException);
123ca62e2c2SSteve Yin 
124ca62e2c2SSteve Yin     ///	Return the specified child or NULL if index is invalid.
125ca62e2c2SSteve Yin     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> SAL_CALL
126ca62e2c2SSteve Yin     	getAccessibleChild (long nIndex)
127ca62e2c2SSteve Yin         throw (::com::sun::star::uno::RuntimeException,
128ca62e2c2SSteve Yin 				::com::sun::star::lang::IndexOutOfBoundsException);
129ca62e2c2SSteve Yin 
130ca62e2c2SSteve Yin     ///	Return a reference to the parent.
131ca62e2c2SSteve Yin 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> SAL_CALL
132ca62e2c2SSteve Yin     	getAccessibleParent (void)
133ca62e2c2SSteve Yin         throw (::com::sun::star::uno::RuntimeException);
134ca62e2c2SSteve Yin 
135ca62e2c2SSteve Yin     ///	Return this objects index among the parents children.
136ca62e2c2SSteve Yin 	virtual	sal_Int32 SAL_CALL
137ca62e2c2SSteve Yin     	getAccessibleIndexInParent (void)
138ca62e2c2SSteve Yin         throw (::com::sun::star::uno::RuntimeException);
139ca62e2c2SSteve Yin 
140ca62e2c2SSteve Yin     ///	Return this object's role.
141ca62e2c2SSteve Yin 	virtual sal_Int16 SAL_CALL
142ca62e2c2SSteve Yin     	getAccessibleRole (void)
143ca62e2c2SSteve Yin         throw (::com::sun::star::uno::RuntimeException);
144ca62e2c2SSteve Yin 
145ca62e2c2SSteve Yin     ///	Return this object's description.
146ca62e2c2SSteve Yin 	virtual ::rtl::OUString SAL_CALL
147ca62e2c2SSteve Yin     	getAccessibleDescription (void)
148ca62e2c2SSteve Yin         throw (::com::sun::star::uno::RuntimeException);
149ca62e2c2SSteve Yin 
150ca62e2c2SSteve Yin     ///	Return the object's current name.
151ca62e2c2SSteve Yin 	virtual ::rtl::OUString SAL_CALL
152ca62e2c2SSteve Yin     	getAccessibleName (void)
153ca62e2c2SSteve Yin         throw (::com::sun::star::uno::RuntimeException);
154ca62e2c2SSteve Yin 
155ca62e2c2SSteve Yin 	///	Return NULL to indicate that an empty relation set.
156ca62e2c2SSteve Yin 	virtual ::com::sun::star::uno::Reference<
157ca62e2c2SSteve Yin             ::com::sun::star::accessibility::XAccessibleRelationSet> SAL_CALL
158ca62e2c2SSteve Yin     	getAccessibleRelationSet (void)
159ca62e2c2SSteve Yin         throw (::com::sun::star::uno::RuntimeException);
160ca62e2c2SSteve Yin 
161ca62e2c2SSteve Yin     ///	Return the set of current states.
162ca62e2c2SSteve Yin 	virtual ::com::sun::star::uno::Reference<
163ca62e2c2SSteve Yin             ::com::sun::star::accessibility::XAccessibleStateSet> SAL_CALL
164ca62e2c2SSteve Yin     	getAccessibleStateSet (void)
165ca62e2c2SSteve Yin         throw (::com::sun::star::uno::RuntimeException);
166ca62e2c2SSteve Yin 
167ca62e2c2SSteve Yin 	/**	Return the parents locale or throw exception if this object has no
168ca62e2c2SSteve Yin     	parent yet/anymore.
169ca62e2c2SSteve Yin     */
170ca62e2c2SSteve Yin 	virtual ::com::sun::star::lang::Locale SAL_CALL
171ca62e2c2SSteve Yin     	getLocale (void)
172ca62e2c2SSteve Yin 		throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException);
173ca62e2c2SSteve Yin 
174ca62e2c2SSteve Yin 	//=====  XAccessibleComponent  ============================================
175ca62e2c2SSteve Yin     virtual sal_Bool SAL_CALL containsPoint(
176ca62e2c2SSteve Yin 			const ::com::sun::star::awt::Point& aPoint )
177ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
178ca62e2c2SSteve Yin 
179ca62e2c2SSteve Yin     virtual ::com::sun::star::uno::Reference<
180ca62e2c2SSteve Yin 		::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(
181ca62e2c2SSteve Yin 				const ::com::sun::star::awt::Point& aPoint )
182ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
183ca62e2c2SSteve Yin 
184ca62e2c2SSteve Yin     virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds()
185ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
186ca62e2c2SSteve Yin 
187ca62e2c2SSteve Yin     virtual ::com::sun::star::awt::Point SAL_CALL getLocation()
188ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
189ca62e2c2SSteve Yin 
190ca62e2c2SSteve Yin     virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen()
191ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
192ca62e2c2SSteve Yin 
193ca62e2c2SSteve Yin     virtual ::com::sun::star::awt::Size SAL_CALL getSize()
194ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
195ca62e2c2SSteve Yin 
196ca62e2c2SSteve Yin     virtual void SAL_CALL grabFocus()
197ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
198ca62e2c2SSteve Yin 
199ca62e2c2SSteve Yin     virtual sal_Int32 SAL_CALL getForeground()
200ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
201ca62e2c2SSteve Yin     virtual sal_Int32 SAL_CALL getBackground()
202ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException);
203ca62e2c2SSteve Yin 
204ca62e2c2SSteve Yin 
205ca62e2c2SSteve Yin     virtual ::com::sun::star::awt::Rectangle SAL_CALL
206ca62e2c2SSteve Yin         getBoundsImpl(sal_Bool bRelative)
207ca62e2c2SSteve Yin 		throw (::com::sun::star::uno::RuntimeException) ;
208ca62e2c2SSteve Yin 
209ca62e2c2SSteve Yin 
210ca62e2c2SSteve Yin };
211ca62e2c2SSteve Yin 
212ca62e2c2SSteve Yin #endif
213ca62e2c2SSteve Yin 
214