]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kitemlistviewaccessible.h
Implemented grouping-related slots to match sorting in some obscure places.
[dolphin.git] / src / kitemviews / kitemlistviewaccessible.h
index fdc3ff1a3a73adaeae3854019bd3001e32c5b816..41aacf3670108feb5f2a423f9b254ae83dcd3455 100644 (file)
@@ -1,21 +1,8 @@
-/***************************************************************************
- *   Copyright (C) 2012 by Amandeep Singh <aman.dedman@gmail.com>          *
- *                                                                         *
- *   This program is free software; you can redistribute it and/or modify  *
- *   it under the terms of the GNU General Public License as published by  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
- *   GNU General Public License for more details.                          *
- *                                                                         *
- *   You should have received a copy of the GNU General Public License     *
- *   along with this program; if not, write to the                         *
- *   Free Software Foundation, Inc.,                                       *
- *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
- ***************************************************************************/
+/*
+ * SPDX-FileCopyrightText: 2012 Amandeep Singh <aman.dedman@gmail.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
 
 #ifndef KITEMLISTVIEWACCESSIBLE_H
 #define KITEMLISTVIEWACCESSIBLE_H
 
 class KItemListView;
 class KItemListContainer;
+class KItemListContainerAccessible;
 
-class DOLPHIN_EXPORT KItemListViewAccessible: public QAccessibleObject, public QAccessibleTableInterface
+class DOLPHIN_EXPORT KItemListViewAccessible : public QAccessibleObject, public QAccessibleTableInterface
 {
 public:
-    explicit KItemListViewAccessible(KItemListView* view);
+    explicit KItemListViewAccessible(KItemListView *view, KItemListContainerAccessible *parent);
     ~KItemListViewAccessible() override;
 
-    voidinterface_cast(QAccessible::InterfaceType type) override;
+    void *interface_cast(QAccessible::InterfaceType type) override;
 
     QAccessible::Role role() const override;
     QAccessible::State state() const override;
     QString text(QAccessible::Text t) const override;
     QRect rect() const override;
 
-    QAccessibleInterfacechild(int index) const override;
+    QAccessibleInterface *child(int index) const override;
     int childCount() const override;
-    int indexOfChild(const QAccessibleInterface*) const override;
-    QAccessibleInterfacechildAt(int x, int y) const override;
-    QAccessibleInterfaceparent() const override;
+    int indexOfChild(const QAccessibleInterface *) const override;
+    QAccessibleInterface *childAt(int x, int y) const override;
+    QAccessibleInterface *parent() const override;
 
     // Table interface
-    QAccessibleInterfacecellAt(int row, int column) const override;
-    QAccessibleInterfacecaption() const override;
-    QAccessibleInterfacesummary() const override;
+    QAccessibleInterface *cellAt(int row, int column) const override;
+    QAccessibleInterface *caption() const override;
+    QAccessibleInterface *summary() const override;
     QString columnDescription(int column) const override;
     QString rowDescription(int row) const override;
     int columnCount() const override;
@@ -64,7 +52,7 @@ public:
     int selectedCellCount() const override;
     int selectedColumnCount() const override;
     int selectedRowCount() const override;
-    QList<QAccessibleInterface*> selectedCells() const override;
+    QList<QAccessibleInterface *> selectedCells() const override;
     QList<int> selectedColumns() const override;
     QList<int> selectedRows() const override;
     bool isColumnSelected(int column) const override;
@@ -73,9 +61,9 @@ public:
     bool selectColumn(int column) override;
     bool unselectRow(int row) override;
     bool unselectColumn(int column) override;
-    void modelChange(QAccessibleTableModelChangeEvent*) override;
+    void modelChange(QAccessibleTableModelChangeEvent *) override;
 
-    KItemListViewview() const;
+    KItemListView *view() const;
 
 protected:
     virtual void modelReset();
@@ -83,43 +71,52 @@ protected:
      * Create an QAccessibleTableCellInterface representing the table
      * cell at the @index. Index is 0-based.
      */
-    inline QAccessibleInterfacecell(int index) const;
+    inline QAccessibleInterface *cell(int index) const;
 
 private:
-    mutable QVector<QAccessibleInterface*> m_cells;
+    class AccessibleIdWrapper
+    {
+    public:
+        AccessibleIdWrapper();
+        bool isValid;
+        QAccessible::Id id;
+    };
+    mutable QVector<AccessibleIdWrapper> m_cells;
+
+    KItemListContainerAccessible *m_parent;
 };
 
-class DOLPHIN_EXPORT KItemListAccessibleCell: public QAccessibleInterface, public QAccessibleTableCellInterface
+class DOLPHIN_EXPORT KItemListAccessibleCell : public QAccessibleInterface, public QAccessibleTableCellInterface
 {
 public:
-    KItemListAccessibleCell(KItemListViewview, int m_index);
+    KItemListAccessibleCell(KItemListView *view, int m_index);
 
-    voidinterface_cast(QAccessible::InterfaceType type) override;
-    QObjectobject() const override;
+    void *interface_cast(QAccessible::InterfaceType type) override;
+    QObject *object() const override;
     bool isValid() const override;
     QAccessible::Role role() const override;
     QAccessible::State state() const override;
     QRect rect() const override;
     QString text(QAccessible::Text t) const override;
-    void setText(QAccessible::Text t, const QStringtext) override;
+    void setText(QAccessible::Text t, const QString &text) override;
 
-    QAccessibleInterfacechild(int index) const override;
+    QAccessibleInterface *child(int index) const override;
     int childCount() const override;
-    QAccessibleInterfacechildAt(int x, int y) const override;
-    int indexOfChild(const QAccessibleInterface*) const override;
+    QAccessibleInterface *childAt(int x, int y) const override;
+    int indexOfChild(const QAccessibleInterface *) const override;
 
-    QAccessibleInterfaceparent() const override;
+    QAccessibleInterface *parent() const override;
     bool isExpandable() const;
 
     // Cell Interface
     int columnExtent() const override;
-    QList<QAccessibleInterface*> columnHeaderCells() const override;
+    QList<QAccessibleInterface *> columnHeaderCells() const override;
     int columnIndex() const override;
     int rowExtent() const override;
-    QList<QAccessibleInterface*> rowHeaderCells() const override;
+    QList<QAccessibleInterface *> rowHeaderCells() const override;
     int rowIndex() const override;
     bool isSelected() const override;
-    QAccessibleInterfacetable() const override;
+    QAccessibleInterface *table() const override;
 
     inline int index() const;
 
@@ -131,15 +128,15 @@ private:
 class DOLPHIN_EXPORT KItemListContainerAccessible : public QAccessibleWidget
 {
 public:
-    explicit KItemListContainerAccessible(KItemListContainercontainer);
+    explicit KItemListContainerAccessible(KItemListContainer *container);
     ~KItemListContainerAccessible() override;
 
-    QAccessibleInterfacechild(int index) const override;
+    QAccessibleInterface *child(int index) const override;
     int childCount() const override;
-    int indexOfChild(const QAccessibleInterfacechild) const override;
+    int indexOfChild(const QAccessibleInterface *child) const override;
 
 private:
-    const KItemListContainercontainer() const;
+    const KItemListContainer *container() const;
 };
 
 #endif // QT_NO_ACCESSIBILITY