Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #ifndef INCLUDED_SC_SOURCE_UI_INC_ACCESSIBLECELLBASE_HXX
21 : #define INCLUDED_SC_SOURCE_UI_INC_ACCESSIBLECELLBASE_HXX
22 :
23 : #include "AccessibleContextBase.hxx"
24 : #include "global.hxx"
25 : #include "address.hxx"
26 : #include <com/sun/star/accessibility/XAccessibleValue.hpp>
27 : #include <cppuhelper/implbase1.hxx>
28 :
29 : typedef cppu::ImplHelper1< ::com::sun::star::accessibility::XAccessibleValue>
30 : ScAccessibleCellBaseImpl;
31 :
32 : class ScAccessibleCellBase
33 : : public ScAccessibleContextBase,
34 : public ScAccessibleCellBaseImpl
35 : {
36 : public:
37 : //===== internal ========================================================
38 : ScAccessibleCellBase(
39 : const ::com::sun::star::uno::Reference<
40 : ::com::sun::star::accessibility::XAccessible>& rxParent,
41 : ScDocument* pDoc,
42 : const ScAddress& rCellAddress,
43 : sal_Int32 nIndex);
44 : protected:
45 : virtual ~ScAccessibleCellBase();
46 : public:
47 :
48 : virtual bool SAL_CALL isVisible()
49 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
50 :
51 : ///===== XInterface =====================================================
52 :
53 : virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
54 : ::com::sun::star::uno::Type const & rType )
55 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
56 :
57 : virtual void SAL_CALL acquire() throw () SAL_OVERRIDE;
58 :
59 : virtual void SAL_CALL release() throw () SAL_OVERRIDE;
60 :
61 : ///===== XAccessibleComponent ============================================
62 :
63 : virtual sal_Int32 SAL_CALL getForeground( )
64 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
65 :
66 : virtual sal_Int32 SAL_CALL getBackground( )
67 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
68 :
69 : ///===== XAccessibleContext ==============================================
70 :
71 : /// Return this objects index among the parents children.
72 : virtual sal_Int32 SAL_CALL
73 : getAccessibleIndexInParent()
74 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
75 :
76 : protected:
77 : /// Return this object's description.
78 : virtual OUString SAL_CALL
79 : createAccessibleDescription()
80 : throw (::com::sun::star::uno::RuntimeException) SAL_OVERRIDE;
81 :
82 : /// Return the object's current name.
83 : virtual OUString SAL_CALL
84 : createAccessibleName()
85 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
86 :
87 : public:
88 : ///===== XAccessibleValue ================================================
89 :
90 : virtual ::com::sun::star::uno::Any SAL_CALL
91 : getCurrentValue()
92 : throw (::com::sun::star::uno::RuntimeException,
93 : std::exception) SAL_OVERRIDE;
94 :
95 : virtual sal_Bool SAL_CALL
96 : setCurrentValue( const ::com::sun::star::uno::Any& aNumber )
97 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
98 :
99 : virtual ::com::sun::star::uno::Any SAL_CALL
100 : getMaximumValue( )
101 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
102 :
103 : virtual ::com::sun::star::uno::Any SAL_CALL
104 : getMinimumValue( )
105 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
106 :
107 : ///===== XServiceInfo ====================================================
108 :
109 : /** Returns an identifier for the implementation of this object.
110 : */
111 : virtual OUString SAL_CALL
112 : getImplementationName()
113 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
114 :
115 : ///===== XTypeProvider ===================================================
116 :
117 : /// returns the possible types
118 : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL
119 : getTypes()
120 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
121 :
122 : /** Returns a implementation id.
123 : */
124 : virtual ::com::sun::star::uno::Sequence<sal_Int8> SAL_CALL
125 : getImplementationId()
126 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
127 :
128 : protected:
129 : ScAddress maCellAddress;
130 :
131 : ScDocument* mpDoc;
132 :
133 : sal_Int32 mnIndex;
134 :
135 : private:
136 : virtual bool IsEditable(
137 : const com::sun::star::uno::Reference<
138 : ::com::sun::star::accessibility::XAccessibleStateSet>& rxParentStates);
139 : protected:
140 : OUString SAL_CALL GetNote()
141 : throw (::com::sun::star::uno::RuntimeException);
142 :
143 : OUString SAL_CALL GetAllDisplayNote()
144 : throw (::com::sun::star::uno::RuntimeException);
145 : OUString SAL_CALL getShadowAttrs()
146 : throw (::com::sun::star::uno::RuntimeException);
147 : OUString SAL_CALL getBorderAttrs()
148 : throw (::com::sun::star::uno::RuntimeException);
149 : public:
150 0 : const ScAddress& GetCellAddress() const { return maCellAddress; }
151 : bool IsCellInChangeTrack(const ScAddress &cell,Color *pColCellBoder);
152 : };
153 :
154 : #endif
155 :
156 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|