1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: acccell.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
32 #ifndef _ACCCONTEXT_HXX
33 #include "acccontext.hxx"
35 #include <com/sun/star/accessibility/XAccessibleValue.hpp>
39 class SwAccessibleCell
: public SwAccessibleContext
,
40 ::com::sun::star::accessibility::XAccessibleValue
43 sal_Bool bIsSelected
; // protected by base class mutex
45 sal_Bool
IsSelected();
47 sal_Bool
_InvalidateMyCursorPos();
48 sal_Bool
_InvalidateChildrenCursorPos( const SwFrm
*pFrm
);
52 // Set states for getAccessibleStateSet.
53 // This drived class additionaly sets SELECTABLE(1) and SELECTED(+)
54 virtual void GetStates( ::utl::AccessibleStateSetHelper
& rStateSet
);
56 virtual void _InvalidateCursorPos();
58 virtual ~SwAccessibleCell();
62 SwAccessibleCell( SwAccessibleMap
* pInitMap
, const SwCellFrm
*pCellFrm
);
64 virtual sal_Bool
HasCursor(); // required by map to remember that object
66 //===== XAccessibleContext ==============================================
68 /// Return this object's description.
69 virtual ::rtl::OUString SAL_CALL
70 getAccessibleDescription (void)
71 throw (com::sun::star::uno::RuntimeException
);
73 //===== XServiceInfo ====================================================
75 /** Returns an identifier for the implementation of this object.
77 virtual ::rtl::OUString SAL_CALL
78 getImplementationName (void)
79 throw (::com::sun::star::uno::RuntimeException
);
81 /** Return whether the specified service is supported by this class.
83 virtual sal_Bool SAL_CALL
84 supportsService (const ::rtl::OUString
& sServiceName
)
85 throw (::com::sun::star::uno::RuntimeException
);
87 /** Returns a list of all supported services. In this case that is just
88 the AccessibleContext service.
90 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
91 getSupportedServiceNames (void)
92 throw (::com::sun::star::uno::RuntimeException
);
94 virtual void Dispose( sal_Bool bRecursive
= sal_False
);
96 virtual void InvalidatePosOrSize( const SwRect
& rFrm
);
98 //===== XInterface ======================================================
100 // (XInterface methods need to be implemented to disambiguate
101 // between those inherited through SwAcessibleContext and
102 // XAccessibleValue).
104 virtual ::com::sun::star::uno::Any SAL_CALL
queryInterface(
105 const ::com::sun::star::uno::Type
& aType
)
106 throw (::com::sun::star::uno::RuntimeException
);
108 virtual void SAL_CALL
acquire( ) throw ()
109 { SwAccessibleContext::acquire(); };
111 virtual void SAL_CALL
release( ) throw ()
112 { SwAccessibleContext::release(); };
114 //====== XTypeProvider ====================================================
115 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Type
> SAL_CALL
getTypes( ) throw(::com::sun::star::uno::RuntimeException
);
116 virtual ::com::sun::star::uno::Sequence
< sal_Int8
> SAL_CALL
getImplementationId( ) throw(::com::sun::star::uno::RuntimeException
);
118 //===== XAccessibleValue ================================================
121 SwFrmFmt
* GetTblBoxFormat() const;
124 virtual ::com::sun::star::uno::Any SAL_CALL
getCurrentValue( )
125 throw (::com::sun::star::uno::RuntimeException
);
127 virtual sal_Bool SAL_CALL
setCurrentValue(
128 const ::com::sun::star::uno::Any
& aNumber
)
129 throw (::com::sun::star::uno::RuntimeException
);
131 virtual ::com::sun::star::uno::Any SAL_CALL
getMaximumValue( )
132 throw (::com::sun::star::uno::RuntimeException
);
134 virtual ::com::sun::star::uno::Any SAL_CALL
getMinimumValue( )
135 throw (::com::sun::star::uno::RuntimeException
);