LibreOffice Module sc (master) 1
AccessibleCsvControl.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#pragma once
21
22#include <memory>
23#include <com/sun/star/accessibility/AccessibleRole.hpp>
24#include <com/sun/star/accessibility/AccessibleScrollType.hpp>
25#include <com/sun/star/accessibility/XAccessibleText.hpp>
26#include <com/sun/star/accessibility/XAccessibleTable.hpp>
27#include <com/sun/star/accessibility/XAccessibleSelection.hpp>
28#include <tools/gen.hxx>
29#include <rtl/ref.hxx>
30#include <rtl/ustrbuf.hxx>
34#include <comphelper/uno3.hxx>
35#include <map>
36
37class ScCsvControl;
38
41{
42private:
44
45public:
46 explicit ScAccessibleCsvControl(ScCsvControl& rControl);
47 virtual ~ScAccessibleCsvControl() override;
48
49 virtual void SAL_CALL disposing() override;
50
51 virtual void SAL_CALL grabFocus( ) override;
52 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& aPoint ) override;
53
54 // events -----------------------------------------------------------------
55public:
57 virtual void SendFocusEvent( bool bFocused );
59 virtual void SendCaretEvent();
61 void SendVisibleEvent();
63 void SendSelectionEvent();
65 virtual void SendTableUpdateEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn, bool bAllRows );
67 virtual void SendInsertColumnEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn );
69 virtual void SendRemoveColumnEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn );
70
71 // helpers ----------------------------------------------------------------
72protected:
73 virtual css::awt::Rectangle implGetBounds() override;
74
77
79 sal_Int64 implCreateStateSet();
80};
81
82class ScCsvRuler;
83
85class ScAccessibleCsvRuler : public cppu::ImplInheritanceHelper<
86 ScAccessibleCsvControl,
87 css::accessibility::XAccessible,
88 css::accessibility::XAccessibleText>
89{
90private:
91 OUStringBuffer maBuffer;
92
93public:
94 explicit ScAccessibleCsvRuler( ScCsvRuler& rRuler );
95 virtual ~ScAccessibleCsvRuler() override;
96
97 // XAccessibleComponent -----------------------------------------------------
98 virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) override { return this; }
99
100 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) override;
101
102 virtual OUString SAL_CALL getAccessibleDescription( ) override;
103 virtual OUString SAL_CALL getAccessibleName( ) override;
104
105 virtual sal_Int32 SAL_CALL getForeground( ) override;
106
107 virtual sal_Int32 SAL_CALL getBackground( ) override;
108
109 // XAccessibleContext -----------------------------------------------------
110
112 virtual sal_Int64 SAL_CALL getAccessibleChildCount() override;
113
115 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int64 nIndex ) override;
116
117 virtual sal_Int16 SAL_CALL getAccessibleRole( ) override { return css::accessibility::AccessibleRole::TEXT; }
118
120 virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override;
121
123 virtual sal_Int64 SAL_CALL getAccessibleStateSet() override;
124
125 // XAccessibleText --------------------------------------------------------
126
128 virtual sal_Int32 SAL_CALL getCaretPosition() override;
129
131 virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex ) override;
132
134 virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) override;
135
137 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex, const css::uno::Sequence< OUString >& aRequestedAttributes ) override;
138
140 virtual css::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) override;
141
143 virtual sal_Int32 SAL_CALL getCharacterCount() override;
144
146 virtual sal_Int32 SAL_CALL getIndexAtPoint( const css::awt::Point& rPoint ) override;
147
149 virtual OUString SAL_CALL getSelectedText() override;
150
152 virtual sal_Int32 SAL_CALL getSelectionStart() override;
153
155 virtual sal_Int32 SAL_CALL getSelectionEnd() override;
156
158 virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) override;
159
161 virtual OUString SAL_CALL getText() override;
162
164 virtual OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) override;
165
167 virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType ) override;
168 virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType ) override;
169 virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType ) override;
170
172 virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) override;
173
174 virtual sal_Bool SAL_CALL scrollSubstringTo( sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType) override;
175
176 // events -----------------------------------------------------------------
177public:
179 virtual void SendCaretEvent() override;
180
181 // helpers ----------------------------------------------------------------
182private:
183
185 void ensureValidIndex( sal_Int32 nIndex ) const;
187 void ensureValidIndexWithEnd( sal_Int32 nIndex ) const;
190 void ensureValidRange( sal_Int32& rnStartIndex, sal_Int32& rnEndIndex ) const;
191
193 ScCsvRuler& implGetRuler() const;
194
201 sal_Int32 implGetTextLength() const;
202
204 bool implHasSplit( sal_Int32 nApiPos );
205
207 sal_Int32 implGetFirstEqualFormatted( sal_Int32 nApiPos );
209 sal_Int32 implGetLastEqualFormatted( sal_Int32 nApiPos );
210};
211
212class ScCsvGrid;
214
216class ScAccessibleCsvGrid : public cppu::ImplInheritanceHelper<
217 ScAccessibleCsvControl,
218 css::accessibility::XAccessible,
219 css::accessibility::XAccessibleTable,
220 css::accessibility::XAccessibleSelection>
221{
222protected:
223 typedef std::map< sal_Int64, rtl::Reference<ScAccessibleCsvCell> > XAccessibleSet;
224
225private:
227
228public:
229 explicit ScAccessibleCsvGrid( ScCsvGrid& rGrid );
230 virtual ~ScAccessibleCsvGrid() override;
231 virtual void SAL_CALL disposing() override;
232
233 // XAccessibleComponent ---------------------------------------------------
234 virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) override { return this; }
235
236 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) override;
237
239 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& rPoint ) override;
240
241 virtual OUString SAL_CALL getAccessibleDescription( ) override;
242 virtual OUString SAL_CALL getAccessibleName( ) override;
243
244 virtual sal_Int32 SAL_CALL getForeground( ) override;
245
246 virtual sal_Int32 SAL_CALL getBackground( ) override;
247
248 virtual sal_Int16 SAL_CALL getAccessibleRole( ) override { return css::accessibility::AccessibleRole::TABLE; }
249
250 // XAccessibleContext -----------------------------------------------------
251
253 virtual sal_Int64 SAL_CALL getAccessibleChildCount() override;
254
256 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int64 nIndex ) override;
257
259 virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override;
260
262 virtual sal_Int64 SAL_CALL getAccessibleStateSet() override;
263
264 // XAccessibleTable -------------------------------------------------------
265
267 virtual sal_Int32 SAL_CALL getAccessibleRowCount() override;
268
270 virtual sal_Int32 SAL_CALL getAccessibleColumnCount() override;
271
273 virtual OUString SAL_CALL getAccessibleRowDescription( sal_Int32 nRow ) override;
274
276 virtual OUString SAL_CALL getAccessibleColumnDescription( sal_Int32 nColumn ) override;
277
280 virtual sal_Int32 SAL_CALL getAccessibleRowExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) override;
281
284 virtual sal_Int32 SAL_CALL getAccessibleColumnExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) override;
285
287 virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL getAccessibleRowHeaders() override;
288
290 virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL getAccessibleColumnHeaders() override;
291
293 virtual css::uno::Sequence< sal_Int32 > SAL_CALL getSelectedAccessibleRows() override;
294
296 virtual css::uno::Sequence< sal_Int32 > SAL_CALL getSelectedAccessibleColumns() override;
297
299 virtual sal_Bool SAL_CALL isAccessibleRowSelected( sal_Int32 nRow ) override;
300
302 virtual sal_Bool SAL_CALL isAccessibleColumnSelected( sal_Int32 nColumn ) override;
303
305 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleCellAt( sal_Int32 nRow, sal_Int32 nColumn ) override;
306
308 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleCaption() override;
309
311 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleSummary() override;
312
314 virtual sal_Bool SAL_CALL isAccessibleSelected( sal_Int32 nRow, sal_Int32 nColumn ) override;
315
317 virtual sal_Int64 SAL_CALL getAccessibleIndex( sal_Int32 nRow, sal_Int32 nColumn ) override;
318
320 virtual sal_Int32 SAL_CALL getAccessibleRow( sal_Int64 nChildIndex ) override;
321
323 virtual sal_Int32 SAL_CALL getAccessibleColumn( sal_Int64 nChildIndex ) override;
324
325 // XAccessibleSelection ---------------------------------------------------
326
328 virtual void SAL_CALL selectAccessibleChild( sal_Int64 nChildIndex ) override;
329
331 virtual sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int64 nChildIndex ) override;
332
334 virtual void SAL_CALL clearAccessibleSelection() override;
335
337 virtual void SAL_CALL selectAllAccessibleChildren() override;
338
340 virtual sal_Int64 SAL_CALL getSelectedAccessibleChildCount() override;
341
343 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int64 nSelectedChildIndex ) override;
344
346 virtual void SAL_CALL deselectAccessibleChild( sal_Int64 nSelectedChildIndex ) override;
347
348 // events -----------------------------------------------------------------
349public:
351 virtual void SendFocusEvent( bool bFocused ) override;
353 virtual void SendTableUpdateEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn, bool bAllRows ) override;
355 virtual void SendInsertColumnEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn ) override;
357 virtual void SendRemoveColumnEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn ) override;
358
359 // helpers ----------------------------------------------------------------
360private:
361
363 void ensureValidIndex( sal_Int64 nIndex ) const;
365 void ensureValidPosition( sal_Int32 nRow, sal_Int32 nColumn ) const;
366
368 ScCsvGrid& implGetGrid() const;
369
371 bool implIsColumnSelected( sal_Int32 nColumn ) const;
373 void implSelectColumn( sal_Int32 nColumn, bool bSelect );
374
376 sal_Int32 implGetRowCount() const;
378 sal_Int32 implGetColumnCount() const;
380 sal_Int32 implGetSelColumnCount() const;
382 sal_Int64 implGetCellCount() const { return static_cast<sal_Int64>(implGetRowCount()) * static_cast<sal_Int64>(implGetColumnCount()); }
383
385 sal_Int32 implGetRow( sal_Int64 nIndex ) const { return nIndex / implGetColumnCount(); }
387 sal_Int32 implGetColumn( sal_Int64 nIndex ) const { return nIndex % implGetColumnCount(); }
389 sal_Int32 implGetSelColumn( sal_Int32 nSelColumn ) const;
391 sal_Int64 implGetIndex( sal_Int32 nRow, sal_Int32 nColumn ) const { return static_cast<sal_Int64>(nRow) * static_cast<sal_Int64>(implGetColumnCount()) + nColumn; }
392
394 OUString implGetCellText( sal_Int32 nRow, sal_Int32 nColumn ) const;
396 rtl::Reference<ScAccessibleCsvCell> implCreateCellObj(sal_Int32 nRow, sal_Int32 nColumn);
397
398 css::uno::Reference<css::accessibility::XAccessible> getAccessibleCell(sal_Int32 nRow, sal_Int32 nColumn);
399};
400
402class ScAccessibleCsvCell : public cppu::ImplInheritanceHelper<
403 ScAccessibleCsvControl,
404 css::accessibility::XAccessible>
406{
407protected:
408 typedef ::std::unique_ptr< SvxEditSource > SvxEditSourcePtr;
409
410private:
411 OUString maCellText;
412 sal_Int32 mnLine;
413 sal_uInt32 mnColumn;
414 sal_Int32 mnIndex;
415
416public:
417 explicit ScAccessibleCsvCell(
418 ScCsvGrid& rGrid,
419 OUString aCellText,
420 sal_Int32 nRow, sal_Int32 nColumn);
421 virtual ~ScAccessibleCsvCell() override;
422
423 virtual void SAL_CALL disposing() override;
424
425 // XAccessibleComponent ---------------------------------------------------
426
428 virtual void SAL_CALL grabFocus() override;
429
430 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) override;
431
432 virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) override { return this; }
433
434 virtual OUString SAL_CALL getAccessibleDescription( ) override;
435 virtual OUString SAL_CALL getAccessibleName( ) override;
436 virtual sal_Int16 SAL_CALL getAccessibleRole( ) override { return css::accessibility::AccessibleRole::TEXT; }
437
438 virtual sal_Int32 SAL_CALL getForeground( ) override;
439
440 virtual sal_Int32 SAL_CALL getBackground( ) override;
441
442 // XAccessibleContext -----------------------------------------------------
443
445 virtual sal_Int64 SAL_CALL getAccessibleChildCount() override;
446
448 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int64 nIndex ) override;
449
451 virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override;
452
454 virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override;
455
457 virtual sal_Int64 SAL_CALL getAccessibleStateSet() override;
458
459 // XInterface -------------------------------------------------------------
460
462
463 // XTypeProvider ----------------------------------------------------------
464
465 DECLARE_XTYPEPROVIDER()
466
467private:
469 ScCsvGrid& implGetGrid() const;
471 Point implGetRealPos() const;
473 sal_uInt32 implCalcPixelWidth(sal_uInt32 nChars) const;
475 Size implGetRealSize() const;
477 virtual css::awt::Rectangle implGetBounds() override;
478
480 ::std::unique_ptr< SvxEditSource > implCreateEditSource();
481};
482
483/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Accessible class representing a cell of the CSV grid control.
virtual ~ScAccessibleCsvCell() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 nIndex) override
Returns the specified child.
virtual sal_Int32 SAL_CALL getForeground() override
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
virtual OUString SAL_CALL getAccessibleDescription() override
sal_Int32 mnIndex
The grid column index (core index).
ScAccessibleCsvCell(ScCsvGrid &rGrid, OUString aCellText, sal_Int32 nRow, sal_Int32 nColumn)
The index of the cell in the table.
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
Returns the relation to the ruler control.
Point implGetRealPos() const
Returns the pixel position of the cell (rel.
Size implGetRealSize() const
Returns the pixel size of the cell, regardless of visibility.
sal_uInt32 implCalcPixelWidth(sal_uInt32 nChars) const
Returns the width of the character count.
sal_uInt32 mnColumn
The grid line index (core index).
ScCsvGrid & implGetGrid() const
Returns the VCL grid control.
::std::unique_ptr< SvxEditSource > implCreateEditSource()
Creates the edit source the text helper needs.
virtual OUString SAL_CALL getAccessibleName() override
virtual sal_Int16 SAL_CALL getAccessibleRole() override
virtual css::awt::Rectangle implGetBounds() override
Returns the bounding box of the cell relative in the table.
virtual void SAL_CALL grabFocus() override
Sets the focus to the column of this cell.
virtual sal_Int32 SAL_CALL getBackground() override
sal_Int32 mnLine
The text contents of this cell.
virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override
Returns the index of this cell in the table.
virtual void SAL_CALL disposing() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
Returns the child count.
virtual sal_Int64 SAL_CALL getAccessibleStateSet() override
Returns the current set of states.
::std::unique_ptr< SvxEditSource > SvxEditSourcePtr
Accessible base class used for CSV controls.
virtual void SAL_CALL grabFocus() override
void SendVisibleEvent()
Sends a visible area changed event to all listeners.
virtual void SendInsertColumnEvent(sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn)
Sends a table model changed event for an inserted column to all listeners.
virtual void SendCaretEvent()
Sends a caret changed event to all listeners.
void SendSelectionEvent()
Sends a selection changed event to all listeners.
virtual css::awt::Rectangle implGetBounds() override
ScAccessibleCsvControl(ScCsvControl &rControl)
Pointer to the VCL control.
virtual void SendTableUpdateEvent(sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn, bool bAllRows)
Sends a table model changed event for changed cell contents to all listeners.
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &aPoint) override
virtual ~ScAccessibleCsvControl() override
virtual void SendRemoveColumnEvent(sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn)
Sends a table model changed event for a removed column to all listeners.
virtual void SendFocusEvent(bool bFocused)
Sends a GetFocus or LoseFocus event to all listeners.
ScCsvControl & implGetControl() const
Returns the VCL control.
virtual void SAL_CALL disposing() override
sal_Int64 implCreateStateSet()
Creates a StateSet and fills it with DEFUNC, OPAQUE, ENABLED, SHOWING and VISIBLE.
Accessible class representing the CSV grid control.
virtual sal_Bool SAL_CALL isAccessibleRowSelected(sal_Int32 nRow) override
Returns true, if the specified row is selected.
virtual void SAL_CALL clearAccessibleSelection() override
Deselects all cells.
virtual sal_Bool SAL_CALL isAccessibleColumnSelected(sal_Int32 nColumn) override
Returns true, if the specified column is selected.
virtual void SendRemoveColumnEvent(sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn) override
Sends a table model changed event for a removed column to all listeners.
virtual void SAL_CALL selectAccessibleChild(sal_Int64 nChildIndex) override
Selects the specified child (selects the entire column or the entire table).
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleSummary() override
Returns the summary description object of the table.
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleCaption() override
Returns the caption object of the table.
void implSelectColumn(sal_Int32 nColumn, bool bSelect)
Selects the specified column (including header).
virtual void SendFocusEvent(bool bFocused) override
Sends a GetFocus or LoseFocus event to all listeners.
virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL getAccessibleColumnHeaders() override
Returns the column headers as an AccessibleTable.
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
virtual sal_Int32 SAL_CALL getForeground() override
virtual OUString SAL_CALL getAccessibleRowDescription(sal_Int32 nRow) override
Returns the description of the specified row in the table.
sal_Int32 implGetRow(sal_Int64 nIndex) const
Returns the row index from cell index (including header).
virtual void SAL_CALL selectAllAccessibleChildren() override
Selects all cells.
virtual OUString SAL_CALL getAccessibleName() override
sal_Int32 implGetSelColumn(sal_Int32 nSelColumn) const
Returns the absolute column index of the nSelColumn-th selected column.
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
Returns the child count (count of cells in the table).
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &rPoint) override
Returns the cell at the specified point.
std::map< sal_Int64, rtl::Reference< ScAccessibleCsvCell > > XAccessibleSet
virtual void SendInsertColumnEvent(sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn) override
Sends a table model changed event for an inserted column to all listeners.
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild(sal_Int64 nSelectedChildIndex) override
Returns the child with the specified index in all selected children.
virtual sal_Bool SAL_CALL isAccessibleChildSelected(sal_Int64 nChildIndex) override
Returns true, if the specified child is selected.
OUString implGetCellText(sal_Int32 nRow, sal_Int32 nColumn) const
Returns the contents of the specified cell (including header).
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
sal_Int32 implGetRowCount() const
Returns the count of visible rows in the table (including header).
sal_Int32 implGetColumnCount() const
Returns the total column count in the table (including header).
void ensureValidPosition(sal_Int32 nRow, sal_Int32 nColumn) const
@Throws css::lang::IndexOutOfBoundsException if the specified position is invalid.
virtual ~ScAccessibleCsvGrid() override
sal_Int64 implGetCellCount() const
Returns the total cell count in the table (including header).
void ensureValidIndex(sal_Int64 nIndex) const
virtual css::uno::Sequence< sal_Int32 > SAL_CALL getSelectedAccessibleColumns() override
Returns the selected columns as a sequence.
virtual void SendTableUpdateEvent(sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn, bool bAllRows) override
Sends a table model changed event for changed cell contents to all listeners.
virtual sal_Int32 SAL_CALL getAccessibleColumnCount() override
Returns the number of columns in the table.
virtual sal_Int64 SAL_CALL getAccessibleStateSet() override
Returns the current set of states.
virtual sal_Int32 SAL_CALL getBackground() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleCellAt(sal_Int32 nRow, sal_Int32 nColumn) override
Returns the accessible cell object at the specified position.
virtual void SAL_CALL deselectAccessibleChild(sal_Int64 nSelectedChildIndex) override
Deselects the child with the specified index in all selected children.
virtual css::uno::Sequence< sal_Int32 > SAL_CALL getSelectedAccessibleRows() override
Returns the selected rows as a sequence.
ScAccessibleCsvGrid(ScCsvGrid &rGrid)
virtual OUString SAL_CALL getAccessibleColumnDescription(sal_Int32 nColumn) override
Returns the description text of the specified column in the table.
virtual sal_Int64 SAL_CALL getAccessibleIndex(sal_Int32 nRow, sal_Int32 nColumn) override
Returns the child index of the cell at the specified position.
css::uno::Reference< css::accessibility::XAccessible > getAccessibleCell(sal_Int32 nRow, sal_Int32 nColumn)
virtual OUString SAL_CALL getAccessibleDescription() override
virtual sal_Int32 SAL_CALL getAccessibleColumnExtentAt(sal_Int32 nRow, sal_Int32 nColumn) override
Returns the number of rows occupied at a specified row and column.
virtual sal_Int32 SAL_CALL getAccessibleRowExtentAt(sal_Int32 nRow, sal_Int32 nColumn) override
Returns the number of rows occupied at a specified row and column.
virtual sal_Bool SAL_CALL isAccessibleSelected(sal_Int32 nRow, sal_Int32 nColumn) override
Returns true, if the cell at a specified position is selected.
virtual sal_Int32 SAL_CALL getAccessibleRowCount() override
Returns the number of rows in the table.
bool implIsColumnSelected(sal_Int32 nColumn) const
Returns true, if the specified column (including header) is selected.
sal_Int64 implGetIndex(sal_Int32 nRow, sal_Int32 nColumn) const
Returns the child index from cell position (including header).
ScCsvGrid & implGetGrid() const
Returns the VCL grid control.
virtual sal_Int64 SAL_CALL getSelectedAccessibleChildCount() override
Returns the count of selected children.
virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL getAccessibleRowHeaders() override
Returns the row headers as an AccessibleTable.
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
Returns the relation to the ruler control.
virtual sal_Int16 SAL_CALL getAccessibleRole() override
sal_Int32 implGetColumn(sal_Int64 nIndex) const
Returns the column index from cell index (including header).
rtl::Reference< ScAccessibleCsvCell > implCreateCellObj(sal_Int32 nRow, sal_Int32 nColumn)
Creates a new accessible object of the specified cell.
sal_Int32 implGetSelColumnCount() const
Returns the count of selected columns in the table.
virtual void SAL_CALL disposing() override
virtual sal_Int32 SAL_CALL getAccessibleRow(sal_Int64 nChildIndex) override
Returns the row index of the specified child.
XAccessibleSet maAccessibleChildren
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 nIndex) override
Returns the specified child cell.
virtual sal_Int32 SAL_CALL getAccessibleColumn(sal_Int64 nChildIndex) override
Returns the column index of the specified child.
Accessible class representing the CSV ruler control.
sal_Int32 implGetTextLength() const
Returns the character count of the text.
virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual sal_Int64 SAL_CALL getAccessibleStateSet() override
Returns the current set of states.
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
Returns the relation to the grid control.
virtual sal_Int32 SAL_CALL getBackground() override
virtual sal_Bool SAL_CALL setCaretPosition(sal_Int32 nIndex) override
Sets the position of the caret.
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
bool implHasSplit(sal_Int32 nApiPos)
Returns true, if the character at the specified index has a split.
virtual sal_Int32 SAL_CALL getIndexAtPoint(const css::awt::Point &rPoint) override
Returns the character index at the specified coordinate (object's coordinate system).
void ensureValidIndex(sal_Int32 nIndex) const
void constructStringBuffer()
Builds the entire string buffer.
virtual OUString SAL_CALL getSelectedText() override
Returns the selected text (ruler returns empty string).
virtual sal_Int32 SAL_CALL getSelectionStart() override
Returns the start index of the selection (ruler returns -1).
virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
Returns the specified text portion.
virtual OUString SAL_CALL getAccessibleName() override
void ensureValidIndexWithEnd(sal_Int32 nIndex) const
virtual OUString SAL_CALL getTextRange(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
Returns the specified range [Start,End) of the text.
virtual ~ScAccessibleCsvRuler() override
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes(sal_Int32 nIndex, const css::uno::Sequence< OUString > &aRequestedAttributes) override
Returns the attributes of the specified character.
virtual OUString SAL_CALL getText() override
Returns the entire text.
ScCsvRuler & implGetRuler() const
Returns the VCL ruler control.
virtual css::awt::Rectangle SAL_CALL getCharacterBounds(sal_Int32 nIndex) override
Returns the screen coordinates of the specified character.
virtual sal_Int16 SAL_CALL getAccessibleRole() override
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
Returns the child count (the ruler does not have children).
virtual sal_Int32 SAL_CALL getCaretPosition() override
Return the position of the caret.
virtual sal_Bool SAL_CALL scrollSubstringTo(sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType) override
sal_Int32 implGetLastEqualFormatted(sal_Int32 nApiPos)
Returns the last character index with equal formatting as at nApiPos.
virtual OUString SAL_CALL getAccessibleDescription() override
virtual sal_Int32 SAL_CALL getForeground() override
virtual sal_Int32 SAL_CALL getCharacterCount() override
Returns the count of characters.
virtual void SendCaretEvent() override
Sends a caret changed event to all listeners.
virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual sal_Bool SAL_CALL setSelection(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
Selects a part of the text (ruler does nothing).
ScAccessibleCsvRuler(ScCsvRuler &rRuler)
Contains the text representation of the ruler.
void ensureValidRange(sal_Int32 &rnStartIndex, sal_Int32 &rnEndIndex) const
virtual sal_Int32 SAL_CALL getSelectionEnd() override
Returns the end index of the selection (ruler returns -1).
sal_Int32 implGetFirstEqualFormatted(sal_Int32 nApiPos)
Returns the first character index with equal formatting as at nApiPos.
virtual sal_Bool SAL_CALL copyText(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
Copies the specified text range into the clipboard (ruler does nothing).
virtual sal_Unicode SAL_CALL getCharacter(sal_Int32 nIndex) override
Returns the specified character.
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 nIndex) override
Throws an exception (the ruler does not have children).
Base class for the CSV ruler and the data grid control.
Definition: csvcontrol.hxx:223
A data grid control for the CSV import dialog.
Definition: csvgrid.hxx:58
A ruler control for the CSV import dialog.
Definition: csvruler.hxx:33
sal_Int32 nIndex
unsigned char sal_Bool
sal_uInt16 sal_Unicode
#define DECLARE_XINTERFACE()
@ TABLE
Definition: xmldpimp.hxx:43