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>
30#include <rtl/ustrbuf.hxx>
51 virtual void SAL_CALL
disposing()
override;
53 virtual void SAL_CALL
grabFocus( )
override;
54 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
getAccessibleAtPoint(
const css::awt::Point& aPoint )
override;
67 virtual void SendTableUpdateEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn,
bool bAllRows );
100 virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL
getAccessibleContext( )
override {
return this; }
102 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
getAccessibleParent( )
override;
117 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
getAccessibleChild( sal_Int64 nIndex )
override;
119 virtual sal_Int16 SAL_CALL
getAccessibleRole( )
override {
return css::accessibility::AccessibleRole::TEXT; }
122 virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL
getAccessibleRelationSet()
override;
139 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL
getCharacterAttributes( sal_Int32 nIndex,
const css::uno::Sequence< OUString >& aRequestedAttributes )
override;
148 virtual sal_Int32 SAL_CALL
getIndexAtPoint(
const css::awt::Point& rPoint )
override;
163 virtual OUString SAL_CALL
getText()
override;
166 virtual OUString SAL_CALL
getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex )
override;
169 virtual css::accessibility::TextSegment SAL_CALL
getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType )
override;
170 virtual css::accessibility::TextSegment SAL_CALL
getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType )
override;
171 virtual css::accessibility::TextSegment SAL_CALL
getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType )
override;
174 virtual sal_Bool SAL_CALL
copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex )
override;
176 virtual sal_Bool SAL_CALL
scrollSubstringTo( sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType)
override;
184 DECLARE_XTYPEPROVIDER()
200 void ensureValidRange( sal_Int32& rnStartIndex, sal_Int32& rnEndIndex ) const;
225typedef ::
cppu::ImplHelper3<
235 typedef std::map< sal_Int64, rtl::Reference<ScAccessibleCsvCell> >
XAccessibleSet;
243 virtual void SAL_CALL
disposing()
override;
246 virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL
getAccessibleContext( )
override {
return this; }
248 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
getAccessibleParent( )
override;
251 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
getAccessibleAtPoint(
const css::awt::Point& rPoint )
override;
268 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
getAccessibleChild( sal_Int64 nIndex )
override;
271 virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL
getAccessibleRelationSet()
override;
279 virtual sal_Int32 SAL_CALL getAccessibleRowCount()
override;
282 virtual sal_Int32 SAL_CALL getAccessibleColumnCount()
override;
285 virtual OUString SAL_CALL getAccessibleRowDescription( sal_Int32 nRow )
override;
288 virtual OUString SAL_CALL getAccessibleColumnDescription( sal_Int32 nColumn )
override;
292 virtual sal_Int32 SAL_CALL getAccessibleRowExtentAt( sal_Int32 nRow, sal_Int32 nColumn )
override;
296 virtual sal_Int32 SAL_CALL getAccessibleColumnExtentAt( sal_Int32 nRow, sal_Int32 nColumn )
override;
299 virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL getAccessibleRowHeaders()
override;
302 virtual css::uno::Reference< css::accessibility::XAccessibleTable > SAL_CALL getAccessibleColumnHeaders()
override;
305 virtual css::uno::Sequence< sal_Int32 > SAL_CALL getSelectedAccessibleRows()
override;
308 virtual css::uno::Sequence< sal_Int32 > SAL_CALL getSelectedAccessibleColumns()
override;
311 virtual sal_Bool SAL_CALL isAccessibleRowSelected( sal_Int32 nRow )
override;
314 virtual sal_Bool SAL_CALL isAccessibleColumnSelected( sal_Int32 nColumn )
override;
317 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleCellAt( sal_Int32 nRow, sal_Int32 nColumn )
override;
320 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleCaption()
override;
323 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleSummary()
override;
326 virtual sal_Bool SAL_CALL isAccessibleSelected( sal_Int32 nRow, sal_Int32 nColumn )
override;
329 virtual sal_Int64 SAL_CALL getAccessibleIndex( sal_Int32 nRow, sal_Int32 nColumn )
override;
332 virtual sal_Int32 SAL_CALL getAccessibleRow( sal_Int64 nChildIndex )
override;
335 virtual sal_Int32 SAL_CALL getAccessibleColumn( sal_Int64 nChildIndex )
override;
340 virtual void SAL_CALL selectAccessibleChild( sal_Int64 nChildIndex )
override;
343 virtual sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int64 nChildIndex )
override;
346 virtual void SAL_CALL clearAccessibleSelection()
override;
349 virtual void SAL_CALL selectAllAccessibleChildren()
override;
352 virtual sal_Int64 SAL_CALL getSelectedAccessibleChildCount()
override;
355 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int64 nSelectedChildIndex )
override;
358 virtual void SAL_CALL deselectAccessibleChild( sal_Int64 nSelectedChildIndex )
override;
362 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type& rType )
override;
364 virtual void SAL_CALL acquire() noexcept override;
366 virtual
void SAL_CALL release() noexcept override;
381 virtual
void SendTableUpdateEvent( sal_uInt32 nFirstColumn, sal_uInt32 nLastColumn,
bool bAllRows ) override;
393 void ensureValidPosition( sal_Int32 nRow, sal_Int32 nColumn ) const;
399 bool implIsColumnSelected( sal_Int32 nColumn ) const;
401 void implSelectColumn( sal_Int32 nColumn,
bool bSelect );
404 sal_Int32 implGetRowCount() const;
406 sal_Int32 implGetColumnCount() const;
408 sal_Int32 implGetSelColumnCount() const;
410 sal_Int64 implGetCellCount()
const {
return static_cast<sal_Int64
>(implGetRowCount()) *
static_cast<sal_Int64
>(implGetColumnCount()); }
417 sal_Int32 implGetSelColumn( sal_Int32 nSelColumn )
const;
419 sal_Int64
implGetIndex( sal_Int32 nRow, sal_Int32 nColumn )
const {
return static_cast<sal_Int64
>(nRow) *
static_cast<sal_Int64
>(implGetColumnCount()) + nColumn; }
422 OUString implGetCellText( sal_Int32 nRow, sal_Int32 nColumn )
const;
426 css::uno::Reference<css::accessibility::XAccessible> getAccessibleCell(sal_Int32 nRow, sal_Int32 nColumn);
447 sal_Int32 nRow, sal_Int32 nColumn);
450 virtual void SAL_CALL
disposing()
override;
455 virtual void SAL_CALL
grabFocus()
override;
457 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
getAccessibleParent( )
override;
459 virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL
getAccessibleContext( )
override {
return this; }
463 virtual sal_Int16 SAL_CALL
getAccessibleRole( )
override {
return css::accessibility::AccessibleRole::TEXT; }
475 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
getAccessibleChild( sal_Int64 nIndex )
override;
478 virtual sal_Int64 SAL_CALL getAccessibleIndexInParent()
override;
481 virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL
getAccessibleRelationSet()
override;
492 DECLARE_XTYPEPROVIDER()
498 Point implGetRealPos() const;
500 sal_uInt32 implCalcPixelWidth(sal_uInt32 nChars) const;
502 Size implGetRealSize() const;
::cppu::ImplHelper2< css::accessibility::XAccessible, css::accessibility::XAccessibleText > ScAccessibleCsvRulerImpl
Accessible class representing a cell of the CSV grid control.
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
sal_Int32 mnIndex
The grid column index (core index).
sal_uInt32 mnColumn
The grid line index (core index).
virtual sal_Int16 SAL_CALL getAccessibleRole() override
sal_Int32 mnLine
The text contents of this cell.
::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 css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
sal_Int32 implGetRow(sal_Int64 nIndex) const
Returns the row index from cell index (including header).
std::map< sal_Int64, rtl::Reference< ScAccessibleCsvCell > > XAccessibleSet
sal_Int64 implGetIndex(sal_Int32 nRow, sal_Int32 nColumn) const
Returns the child index from cell position (including header).
virtual sal_Int16 SAL_CALL getAccessibleRole() override
sal_Int32 implGetColumn(sal_Int64 nIndex) const
Returns the column index from cell index (including header).
XAccessibleSet maAccessibleChildren
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.
A data grid control for the CSV import dialog.
A ruler control for the CSV import dialog.
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
#define DECLARE_XINTERFACE()