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 #ifndef INCLUDED_SC_SOURCE_UI_INC_ACCESSIBLECSVCONTROL_HXX
21 #define INCLUDED_SC_SOURCE_UI_INC_ACCESSIBLECSVCONTROL_HXX
22 
23 #include <memory>
24 #include <com/sun/star/accessibility/AccessibleRole.hpp>
25 #include <com/sun/star/accessibility/AccessibleScrollType.hpp>
26 #include <com/sun/star/accessibility/XAccessibleText.hpp>
27 #include <com/sun/star/accessibility/XAccessibleTable.hpp>
28 #include <com/sun/star/accessibility/XAccessibleSelection.hpp>
29 #include <tools/gen.hxx>
30 #include <rtl/ref.hxx>
31 #include <rtl/ustrbuf.hxx>
33 #include <cppuhelper/implbase1.hxx>
34 #include <cppuhelper/implbase2.hxx>
35 #include <cppuhelper/implbase3.hxx>
37 #include <comphelper/uno3.hxx>
38 #include <map>
39 
40 class ScCsvControl;
41 namespace utl { class AccessibleStateSetHelper; }
42 
45 {
46 private:
48 
49 public:
50  explicit ScAccessibleCsvControl(ScCsvControl& rControl);
51  virtual ~ScAccessibleCsvControl() override;
52 
53  virtual void SAL_CALL disposing() override;
54 
55  virtual void SAL_CALL grabFocus( ) override;
56  virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& aPoint ) override;
57 
58  // events -----------------------------------------------------------------
59 public:
61  virtual void SendFocusEvent( bool bFocused );
63  virtual void SendCaretEvent();
65  void SendVisibleEvent();
67  void SendSelectionEvent();
69  virtual void SendTableUpdateEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn, bool bAllRows );
71  virtual void SendInsertColumnEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn );
73  virtual void SendRemoveColumnEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn );
74 
75  // helpers ----------------------------------------------------------------
76 protected:
77  virtual css::awt::Rectangle implGetBounds() override;
78 
81 
84 };
85 
86 class ScCsvRuler;
87 
88 typedef ::cppu::ImplHelper2<css::accessibility::XAccessible,
89  css::accessibility::XAccessibleText> ScAccessibleCsvRulerImpl;
90 
93 {
94 private:
95  OUStringBuffer maBuffer;
96 
97 public:
98  explicit ScAccessibleCsvRuler( ScCsvRuler& rRuler );
99  virtual ~ScAccessibleCsvRuler() override;
100 
101  // XAccessibleComponent -----------------------------------------------------
102  virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) override { return this; }
103 
104  virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) override;
105 
106  virtual OUString SAL_CALL getAccessibleDescription( ) override;
107  virtual OUString SAL_CALL getAccessibleName( ) override;
108 
109  virtual sal_Int32 SAL_CALL getForeground( ) override;
110 
111  virtual sal_Int32 SAL_CALL getBackground( ) override;
112 
113  // XAccessibleContext -----------------------------------------------------
114 
116  virtual sal_Int32 SAL_CALL getAccessibleChildCount() override;
117 
119  virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 nIndex ) override;
120 
121  virtual sal_Int16 SAL_CALL getAccessibleRole( ) override { return css::accessibility::AccessibleRole::TEXT; }
122 
124  virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override;
125 
127  virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet() override;
128 
129  // XAccessibleText --------------------------------------------------------
130 
132  virtual sal_Int32 SAL_CALL getCaretPosition() override;
133 
135  virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex ) override;
136 
138  virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex ) override;
139 
141  virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex, const css::uno::Sequence< OUString >& aRequestedAttributes ) override;
142 
144  virtual css::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex ) override;
145 
147  virtual sal_Int32 SAL_CALL getCharacterCount() override;
148 
150  virtual sal_Int32 SAL_CALL getIndexAtPoint( const css::awt::Point& rPoint ) override;
151 
153  virtual OUString SAL_CALL getSelectedText() override;
154 
156  virtual sal_Int32 SAL_CALL getSelectionStart() override;
157 
159  virtual sal_Int32 SAL_CALL getSelectionEnd() override;
160 
162  virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) override;
163 
165  virtual OUString SAL_CALL getText() override;
166 
168  virtual OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) override;
169 
171  virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType ) override;
172  virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType ) override;
173  virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType ) override;
174 
176  virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) override;
177 
178  virtual sal_Bool SAL_CALL scrollSubstringTo( sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType) override;
179 
180  // XInterface -------------------------------------------------------------
181 
183 
184  // XTypeProvider ----------------------------------------------------------
185 
186  DECLARE_XTYPEPROVIDER()
187 
188  // events -----------------------------------------------------------------
189 public:
191  virtual void SendCaretEvent() override;
192 
193  // helpers ----------------------------------------------------------------
194 private:
195 
197  void ensureValidIndex( sal_Int32 nIndex ) const;
199  void ensureValidIndexWithEnd( sal_Int32 nIndex ) const;
202  void ensureValidRange( sal_Int32& rnStartIndex, sal_Int32& rnEndIndex ) const;
203 
205  ScCsvRuler& implGetRuler() const;
206 
211  void constructStringBuffer();
213  sal_Int32 implGetTextLength() const;
214 
216  bool implHasSplit( sal_Int32 nApiPos );
217 
219  sal_Int32 implGetFirstEqualFormatted( sal_Int32 nApiPos );
221  sal_Int32 implGetLastEqualFormatted( sal_Int32 nApiPos );
222 };
223 
224 class ScCsvGrid;
226 
227 typedef ::cppu::ImplHelper3<
228  css::accessibility::XAccessible,
229  css::accessibility::XAccessibleTable,
230  css::accessibility::XAccessibleSelection >
232 
234 class ScAccessibleCsvGrid : public ScAccessibleCsvControl, public ScAccessibleCsvGridImpl
235 {
236 protected:
237  typedef std::map< sal_Int32, rtl::Reference<ScAccessibleCsvCell> > XAccessibleSet;
238 
239 private:
240  XAccessibleSet maAccessibleChildren;
241 
242 public:
243  explicit ScAccessibleCsvGrid( ScCsvGrid& rGrid );
244  virtual ~ScAccessibleCsvGrid() override;
245  virtual void SAL_CALL disposing() override;
246 
247  // XAccessibleComponent ---------------------------------------------------
248  virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) override { return this; }
249 
250  virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) override;
251 
253  virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& rPoint ) override;
254 
255  virtual OUString SAL_CALL getAccessibleDescription( ) override;
256  virtual OUString SAL_CALL getAccessibleName( ) override;
257 
258  virtual sal_Int32 SAL_CALL getForeground( ) override;
259 
260  virtual sal_Int32 SAL_CALL getBackground( ) override;
261 
262  virtual sal_Int16 SAL_CALL getAccessibleRole( ) override { return css::accessibility::AccessibleRole::TABLE; }
263 
264  // XAccessibleContext -----------------------------------------------------
265 
267  virtual sal_Int32 SAL_CALL getAccessibleChildCount() override;
268 
270  virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 nIndex ) override;
271 
273  virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override;
274 
276  virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet() override;
277 
278  // XAccessibleTable -------------------------------------------------------
279 
281  virtual sal_Int32 SAL_CALL getAccessibleRowCount() override;
282 
284  virtual sal_Int32 SAL_CALL getAccessibleColumnCount() override;
285 
287  virtual OUString SAL_CALL getAccessibleRowDescription( sal_Int32 nRow ) override;
288 
290  virtual OUString SAL_CALL getAccessibleColumnDescription( sal_Int32 nColumn ) override;
291 
294  virtual sal_Int32 SAL_CALL getAccessibleRowExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) override;
295 
298  virtual sal_Int32 SAL_CALL getAccessibleColumnExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) override;
299 
301  virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL getAccessibleRowHeaders() override;
302 
304  virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL getAccessibleColumnHeaders() override;
305 
307  virtual css::uno::Sequence< sal_Int32 > SAL_CALL getSelectedAccessibleRows() override;
308 
310  virtual css::uno::Sequence< sal_Int32 > SAL_CALL getSelectedAccessibleColumns() override;
311 
313  virtual sal_Bool SAL_CALL isAccessibleRowSelected( sal_Int32 nRow ) override;
314 
316  virtual sal_Bool SAL_CALL isAccessibleColumnSelected( sal_Int32 nColumn ) override;
317 
319  virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleCellAt( sal_Int32 nRow, sal_Int32 nColumn ) override;
320 
322  virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleCaption() override;
323 
325  virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleSummary() override;
326 
328  virtual sal_Bool SAL_CALL isAccessibleSelected( sal_Int32 nRow, sal_Int32 nColumn ) override;
329 
331  virtual sal_Int32 SAL_CALL getAccessibleIndex( sal_Int32 nRow, sal_Int32 nColumn ) override;
332 
334  virtual sal_Int32 SAL_CALL getAccessibleRow( sal_Int32 nChildIndex ) override;
335 
337  virtual sal_Int32 SAL_CALL getAccessibleColumn( sal_Int32 nChildIndex ) override;
338 
339  // XAccessibleSelection ---------------------------------------------------
340 
342  virtual void SAL_CALL selectAccessibleChild( sal_Int32 nChildIndex ) override;
343 
345  virtual sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int32 nChildIndex ) override;
346 
348  virtual void SAL_CALL clearAccessibleSelection() override;
349 
351  virtual void SAL_CALL selectAllAccessibleChildren() override;
352 
354  virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount() override;
355 
357  virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) override;
358 
360  virtual void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) override;
361 
362  // XInterface -------------------------------------------------------------
363 
364  virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type& rType ) override;
365 
366  virtual void SAL_CALL acquire() throw() override;
367 
368  virtual void SAL_CALL release() throw() override;
369 
370  // XTypeProvider ----------------------------------------------------------
371 
373  virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override;
374 
376  virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
377 
378  // events -----------------------------------------------------------------
379 public:
381  virtual void SendFocusEvent( bool bFocused ) override;
383  virtual void SendTableUpdateEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn, bool bAllRows ) override;
385  virtual void SendInsertColumnEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn ) override;
387  virtual void SendRemoveColumnEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn ) override;
388 
389  // helpers ----------------------------------------------------------------
390 private:
391 
393  void ensureValidIndex( sal_Int32 nIndex ) const;
395  void ensureValidPosition( sal_Int32 nRow, sal_Int32 nColumn ) const;
396 
398  ScCsvGrid& implGetGrid() const;
399 
401  bool implIsColumnSelected( sal_Int32 nColumn ) const;
403  void implSelectColumn( sal_Int32 nColumn, bool bSelect );
404 
406  sal_Int32 implGetRowCount() const;
408  sal_Int32 implGetColumnCount() const;
410  sal_Int32 implGetSelColumnCount() const;
412  sal_Int32 implGetCellCount() const { return implGetRowCount() * implGetColumnCount(); }
413 
415  sal_Int32 implGetRow( sal_Int32 nIndex ) const { return nIndex / implGetColumnCount(); }
417  sal_Int32 implGetColumn( sal_Int32 nIndex ) const { return nIndex % implGetColumnCount(); }
419  sal_Int32 implGetSelColumn( sal_Int32 nSelColumn ) const;
421  sal_Int32 implGetIndex( sal_Int32 nRow, sal_Int32 nColumn ) const { return nRow * implGetColumnCount() + nColumn; }
422 
424  OUString implGetCellText( sal_Int32 nRow, sal_Int32 nColumn ) const;
426  ScAccessibleCsvCell* implCreateCellObj(sal_Int32 nRow, sal_Int32 nColumn);
427 
428  css::uno::Reference<css::accessibility::XAccessible> getAccessibleCell(sal_Int32 nRow, sal_Int32 nColumn);
429 };
430 
433  , public cppu::ImplHelper1<css::accessibility::XAccessible>
435 {
436 protected:
437  typedef ::std::unique_ptr< SvxEditSource > SvxEditSourcePtr;
438 
439 private:
440  OUString maCellText;
441  sal_Int32 mnLine;
442  sal_uInt32 mnColumn;
443  sal_Int32 mnIndex;
444 
445 public:
446  explicit ScAccessibleCsvCell(
447  ScCsvGrid& rGrid,
448  const OUString& rCellText,
449  sal_Int32 nRow, sal_Int32 nColumn);
450  virtual ~ScAccessibleCsvCell() override;
451 
452  virtual void SAL_CALL disposing() override;
453 
454  // XAccessibleComponent ---------------------------------------------------
455 
457  virtual void SAL_CALL grabFocus() override;
458 
459  virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent( ) override;
460 
461  virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) override { return this; }
462 
463  virtual OUString SAL_CALL getAccessibleDescription( ) override;
464  virtual OUString SAL_CALL getAccessibleName( ) override;
465  virtual sal_Int16 SAL_CALL getAccessibleRole( ) override { return css::accessibility::AccessibleRole::TEXT; }
466 
467  virtual sal_Int32 SAL_CALL getForeground( ) override;
468 
469  virtual sal_Int32 SAL_CALL getBackground( ) override;
470 
471  // XAccessibleContext -----------------------------------------------------
472 
474  virtual sal_Int32 SAL_CALL getAccessibleChildCount() override;
475 
477  virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 nIndex ) override;
478 
480  virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() override;
481 
483  virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override;
484 
486  virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet() override;
487 
488  // XInterface -------------------------------------------------------------
489 
491 
492  // XTypeProvider ----------------------------------------------------------
493 
494  DECLARE_XTYPEPROVIDER()
495 
496 private:
498  ScCsvGrid& implGetGrid() const;
500  Point implGetRealPos() const;
502  sal_uInt32 implCalcPixelWidth(sal_uInt32 nChars) const;
504  Size implGetRealSize() const;
506  virtual css::awt::Rectangle implGetBounds() override;
507 
509  ::std::unique_ptr< SvxEditSource > implCreateEditSource();
510 };
511 
512 #endif
513 
514 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual ~ScAccessibleCsvControl() override
Type
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
virtual sal_Bool SAL_CALL scrollSubstringTo(sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType) override
std::map< sal_Int32, rtl::Reference< ScAccessibleCsvCell > > XAccessibleSet
virtual void SendFocusEvent(bool bFocused)
Sends a GetFocus or LoseFocus event to all listeners.
virtual sal_Int32 SAL_CALL getSelectionEnd() override
Returns the end index of the selection (ruler returns -1).
signed char sal_Int8
virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() override
virtual sal_Int32 SAL_CALL getIndexAtPoint(const css::awt::Point &rPoint) override
Returns the character index at the specified coordinate (object's coordinate system).
virtual void SendInsertColumnEvent(sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn)
Sends a table model changed event for an inserted column to all listeners.
Accessible class representing the CSV grid control.
virtual sal_Int32 SAL_CALL getSelectionStart() override
Returns the start index of the selection (ruler returns -1).
Accessible class representing a cell of the CSV grid control.
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 getSelectedText() override
Returns the selected text (ruler returns empty string).
void ensureValidIndex(sal_Int32 nIndex) const
void ensureValidRange(sal_Int32 &rnStartIndex, sal_Int32 &rnEndIndex) const
Base class for the CSV ruler and the data grid control.
Definition: csvcontrol.hxx:223
virtual OUString SAL_CALL getText() override
Returns the entire text.
Accessible base class used for CSV controls.
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
A ruler control for the CSV import dialog.
Definition: csvruler.hxx:33
XAccessibleSet maAccessibleChildren
virtual OUString SAL_CALL getTextRange(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
Returns the specified range [Start,End) of the text.
sal_Int32 implGetColumn(sal_Int32 nIndex) const
Returns the column index from cell index (including header).
sal_uInt32 mnColumn
The grid line index (core index).
virtual sal_Int16 SAL_CALL getAccessibleRole() override
void SendSelectionEvent()
Sends a selection changed event to all listeners.
sal_uInt16 sal_Unicode
ScAccessibleCsvRuler(ScCsvRuler &rRuler)
Contains the text representation of the ruler.
virtual OUString SAL_CALL getAccessibleName() override
::cppu::ImplHelper2< css::accessibility::XAccessible, css::accessibility::XAccessibleText > ScAccessibleCsvRulerImpl
virtual sal_Bool SAL_CALL setCaretPosition(sal_Int32 nIndex) override
Sets the position of the caret.
ScCsvRuler & implGetRuler() const
Returns the VCL ruler control.
virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet() override
Returns the current set of states.
ScCsvControl & implGetControl() const
Returns the VCL control.
void SendVisibleEvent()
Sends a visible area changed event to all listeners.
virtual sal_Int32 SAL_CALL getCharacterCount() override
Returns the count of characters.
virtual void SendRemoveColumnEvent(sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn)
Sends a table model changed event for a removed column to all listeners.
sal_Int32 implGetRow(sal_Int32 nIndex) const
Returns the row index from cell index (including header).
virtual void SAL_CALL grabFocus() override
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
Returns the relation to the grid control.
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
virtual ~ScAccessibleCsvRuler() override
ScAccessibleCsvControl(ScCsvControl &rControl)
Pointer to the VCL control.
virtual css::awt::Rectangle implGetBounds() override
virtual sal_Int16 SAL_CALL getAccessibleRole() override
virtual sal_Int32 SAL_CALL getForeground() override
unsigned char sal_Bool
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &aPoint) override
sal_Int32 mnIndex
The grid column index (core index).
virtual void SendTableUpdateEvent(sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn, bool bAllRows)
Sends a table model changed event for changed cell contents to all listeners.
sal_Int32 implGetTextLength() const
Returns the character count of the text.
bool implHasSplit(sal_Int32 nApiPos)
Returns true, if the character at the specified index has a split.
sal_Int32 mnLine
The text contents of this cell.
virtual sal_Bool SAL_CALL copyText(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
Copies the specified text range into the clipboard (ruler does nothing).
sal_Int32 implGetFirstEqualFormatted(sal_Int32 nApiPos)
Returns the first character index with equal formatting as at nApiPos.
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 css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE
Accessible class representing the CSV ruler control.
virtual sal_Bool SAL_CALL setSelection(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
Selects a part of the text (ruler does nothing).
void ensureValidIndexWithEnd(sal_Int32 nIndex) const
virtual OUString SAL_CALL getAccessibleDescription() override
virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
::std::unique_ptr< SvxEditSource > SvxEditSourcePtr
virtual void SendCaretEvent() override
Sends a caret changed event to all listeners.
sal_Int32 implGetIndex(sal_Int32 nRow, sal_Int32 nColumn) const
Returns the child index from cell position (including header).
virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual sal_Int32 SAL_CALL getAccessibleChildCount() override
Returns the child count (the ruler does not have children).
virtual void SendCaretEvent()
Sends a caret changed event to all listeners.
virtual sal_Int32 SAL_CALL getCaretPosition() override
Return the position of the caret.
virtual sal_Int32 SAL_CALL getBackground() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int32 nIndex) override
Throws an exception (the ruler does not have children).
virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
Returns the specified text portion.
::utl::AccessibleStateSetHelper * implCreateStateSet()
Creates a StateSetHelper and fills it with DEFUNC, OPAQUE, ENABLED, SHOWING and VISIBLE.
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
sal_Int32 implGetLastEqualFormatted(sal_Int32 nApiPos)
Returns the last character index with equal formatting as at nApiPos.
virtual void SAL_CALL disposing() override
void constructStringBuffer()
Builds the entire string buffer.
virtual sal_Unicode SAL_CALL getCharacter(sal_Int32 nIndex) override
Returns the specified character.
#define DECLARE_XINTERFACE()
A data grid control for the CSV import dialog.
Definition: csvgrid.hxx:58