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