LibreOffice Module svx (master) 1
accessiblecell.hxx
Go to the documentation of this file.
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_SVX_SOURCE_TABLE_ACCESSIBLECELL_HXX
21#define INCLUDED_SVX_SOURCE_TABLE_ACCESSIBLECELL_HXX
22
23#include <com/sun/star/accessibility/XAccessible.hpp>
24#include <com/sun/star/accessibility/XAccessibleExtendedComponent.hpp>
25
32
34
35#include <celltypes.hxx>
36
37
38namespace accessibility
39{
40
41class AccessibleShapeTreeInfo;
42
43typedef ::cppu::ImplInheritanceHelper< AccessibleContextBase, css::accessibility::XAccessibleExtendedComponent > AccessibleCellBase;
44
48{
49public:
50 AccessibleCell( const css::uno::Reference< css::accessibility::XAccessible>& rxParent, sdr::table::CellRef xCell, sal_Int32 nIndex, const AccessibleShapeTreeInfo& rShapeTreeInfo);
51 virtual ~AccessibleCell() override;
54
55 void Init();
56
57 virtual bool SetState (sal_Int64 aState) override;
58 virtual bool ResetState (sal_Int64 aState) override;
59
60 // XInterface
61 virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type& aType ) override;
62 virtual void SAL_CALL acquire( ) noexcept override;
63 virtual void SAL_CALL release( ) noexcept override;
64
65 // XAccessibleContext
66 virtual sal_Int64 SAL_CALL getAccessibleChildCount() override;
67 virtual css::uno::Reference< css::accessibility::XAccessible> SAL_CALL getAccessibleChild(sal_Int64 nIndex) override;
68 virtual sal_Int64 SAL_CALL getAccessibleStateSet() override;
69 virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override;
70 virtual OUString SAL_CALL getAccessibleName() override;
71 const sdr::table::CellRef& getCellRef() const { return mxCell;}
72 void UpdateChildren();
73 static OUString getCellName( sal_Int32 nCol, sal_Int32 nRow );
74
75 // XAccessibleComponent
76 virtual sal_Bool SAL_CALL containsPoint( const css::awt::Point& aPoint) override;
77 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point& aPoint) override;
78 virtual css::awt::Rectangle SAL_CALL getBounds() override;
79 virtual css::awt::Point SAL_CALL getLocation() override;
80 virtual css::awt::Point SAL_CALL getLocationOnScreen() override;
81 virtual css::awt::Size SAL_CALL getSize() override;
82 virtual void SAL_CALL grabFocus() override;
83 virtual sal_Int32 SAL_CALL getForeground() override;
84 virtual sal_Int32 SAL_CALL getBackground() override;
85
86 // XAccessibleExtendedComponent
87 virtual css::uno::Reference< css::awt::XFont > SAL_CALL getFont() override;
88 virtual OUString SAL_CALL getTitledBorderText() override;
89 virtual OUString SAL_CALL getToolTipText() override;
90
91 // XAccessibleEventBroadcaster
92 virtual void SAL_CALL addAccessibleEventListener( const css::uno::Reference< css::accessibility::XAccessibleEventListener >& rxListener) override;
93 virtual void SAL_CALL removeAccessibleEventListener( const css::uno::Reference< css::accessibility::XAccessibleEventListener >& rxListener) override;
94
95 // XServiceInfo
96 virtual OUString SAL_CALL getImplementationName() override;
97 virtual css::uno::Sequence< OUString> SAL_CALL getSupportedServiceNames() override;
98
99 // IAccessibleViewForwarderListener
100 virtual void ViewForwarderChanged() override;
101
102 // Misc
103
106 void setIndexInParent(sal_Int32 _nIndex) { mnIndexInParent = _nIndex; }
107
108 //Get the parent table
110
111private:
114
117
119 std::unique_ptr<AccessibleTextHelper> mpText;
120
122
124 virtual void SAL_CALL disposing() override;
125
127};
128
129} // end of namespace accessibility
130
131#endif
132
133/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 nIndex) override
Forward the request to the shape.
const sdr::table::CellRef & getCellRef() const
AccessibleCell(const AccessibleCell &)=delete
virtual css::awt::Point SAL_CALL getLocationOnScreen() override
virtual bool SetState(sal_Int64 aState) override
virtual OUString SAL_CALL getAccessibleName() override
AccessibleTableShape * GetParentTable()
virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override
virtual void SAL_CALL release() noexcept override
virtual void SAL_CALL addAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &rxListener) override
virtual css::awt::Size SAL_CALL getSize() override
AccessibleCell(const css::uno::Reference< css::accessibility::XAccessible > &rxParent, sdr::table::CellRef xCell, sal_Int32 nIndex, const AccessibleShapeTreeInfo &rShapeTreeInfo)
virtual sal_Bool SAL_CALL containsPoint(const css::awt::Point &aPoint) override
virtual css::awt::Rectangle SAL_CALL getBounds() override
AccessibleCell & operator=(const AccessibleCell &)=delete
virtual css::uno::Reference< css::awt::XFont > SAL_CALL getFont() override
virtual void ViewForwarderChanged() override
This method is called to indicate a change of the specified view forwarder, specifically,...
std::unique_ptr< AccessibleTextHelper > mpText
The accessible text engine. May be NULL if it can not be created.
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual sal_Int32 SAL_CALL getForeground() override
AccessibleTableShape * pAccTable
virtual OUString SAL_CALL getToolTipText() override
static OUString getCellName(sal_Int32 nCol, sal_Int32 nRow)
virtual OUString SAL_CALL getImplementationName() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &aPoint) override
The implementation below is at the moment straightforward.
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &aType) override
virtual bool ResetState(sal_Int64 aState) override
void setIndexInParent(sal_Int32 _nIndex)
set the index _nIndex at the accessible cell param _nIndex The new index in parent.
virtual sal_Int32 SAL_CALL getBackground() override
AccessibleShapeTreeInfo maShapeTreeInfo
Bundle of information passed to all shapes in a document tree.
virtual css::awt::Point SAL_CALL getLocation() override
virtual ~AccessibleCell() override
virtual sal_Int64 SAL_CALL getAccessibleStateSet() override
Return a copy of the state set.
virtual void SAL_CALL acquire() noexcept override
sal_Int32 mnIndexInParent
the index in parent.
virtual void SAL_CALL removeAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &rxListener) override
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
The children of this cell come from the paragraphs of text.
virtual void SAL_CALL grabFocus() override
virtual OUString SAL_CALL getTitledBorderText() override
virtual void SAL_CALL disposing() override
This method is called from the component helper base class while disposing.
This class bundles all information that is passed down the tree of accessible shapes so that each sha...
sal_Int32 nIndex
::cppu::ImplInheritanceHelper< AccessibleContextBase, css::accessibility::XAccessibleExtendedComponent > AccessibleCellBase
rtl::Reference< Cell > CellRef
Definition: celltypes.hxx:33
unsigned char sal_Bool