]> cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/accessibility/kitemlistdelegateaccessible.h
Overhaul main view accessibility
[dolphin.git] / src / kitemviews / accessibility / kitemlistdelegateaccessible.h
1 /*
2 * SPDX-FileCopyrightText: 2012 Amandeep Singh <aman.dedman@gmail.com>
3 * SPDX-FileCopyrightText: 2024 Felix Ernst <felixernst@kde.org>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7
8 #ifndef KITEMLISTDELEGATEACCESSIBLE_H
9 #define KITEMLISTDELEGATEACCESSIBLE_H
10
11 #include "dolphin_export.h"
12
13 #include <QAccessibleInterface>
14 #include <QAccessibleTableCellInterface>
15 #include <QPointer>
16
17 class KItemListView;
18
19 /**
20 * The accessibility class that represents singular files or folders in the main view.
21 */
22 class DOLPHIN_EXPORT KItemListDelegateAccessible : public QAccessibleInterface, public QAccessibleTableCellInterface
23 {
24 public:
25 KItemListDelegateAccessible(KItemListView *view, int m_index);
26
27 void *interface_cast(QAccessible::InterfaceType type) override;
28 QObject *object() const override;
29 bool isValid() const override;
30 QAccessible::Role role() const override;
31 QAccessible::State state() const override;
32 QRect rect() const override;
33 QString text(QAccessible::Text t) const override;
34 void setText(QAccessible::Text t, const QString &text) override;
35
36 QAccessibleInterface *child(int index) const override;
37 int childCount() const override;
38 QAccessibleInterface *childAt(int x, int y) const override;
39 int indexOfChild(const QAccessibleInterface *) const override;
40
41 QAccessibleInterface *parent() const override;
42 bool isExpandable() const;
43
44 // Cell Interface
45 int columnExtent() const override;
46 QList<QAccessibleInterface *> columnHeaderCells() const override;
47 int columnIndex() const override;
48 int rowExtent() const override;
49 QList<QAccessibleInterface *> rowHeaderCells() const override;
50 int rowIndex() const override;
51 bool isSelected() const override;
52 QAccessibleInterface *table() const override;
53
54 int index() const;
55
56 private:
57 QPointer<KItemListView> m_view;
58 int m_index;
59 };
60
61 #endif // KITEMLISTDELEGATEACCESSIBLE_H