diff --git a/src/gui/accessible/qaccessible.cpp b/src/gui/accessible/qaccessible.cpp index dc6794ac9c..1ba206e82a 100644 --- a/src/gui/accessible/qaccessible.cpp +++ b/src/gui/accessible/qaccessible.cpp @@ -448,6 +448,7 @@ Q_LOGGING_CATEGORY(lcAccessibilityCore, "qt.accessibility.core"); \omitvalue ImageInterface \omit For objects that represent an image. This interface is generally less important. \endomit \value TableInterface For lists, tables and trees. \value TableCellInterface For cells in a TableInterface object. + \value HyperlinkInterface For hyperlink nodes (usually embedded as children of text nodes) \sa QAccessibleInterface::interface_cast(), QAccessibleTextInterface, QAccessibleValueInterface, QAccessibleActionInterface, QAccessibleTableInterface, QAccessibleTableCellInterface */ @@ -2958,6 +2959,44 @@ QString qAccessibleLocalizedActionDescription(const QString &actionName) return accessibleActionStrings()->localizedDescription(actionName); } +/*! + \internal + \fn QString QAccessibleHyperlinkInterface::anchor() const + + The logical/human readable name of the hyperlink +*/ + +/*! + \internal + \fn QString QAccessibleHyperlinkInterface::anchorTarget() const + + The target url of the hyperlink +*/ + +/*! + \internal + \fn int QAccessibleHyperlinkInterface::startIndex() const + + Returns the start index that will refer to the first character in the text where the hyperlink + begins. The index corresponds to the index that the QAccessibleTextInterface needs in order + to find the start of the hyperlink. + +*/ + +/*! + \internal + \fn int QAccessibleHyperlinkInterface::endIndex() const + + Returns the end index that will refer to the first character in the text where the hyperlink + begins. The index corresponds to the index that the QAccessibleTextInterface needs in order + to find the end of the hyperlink. +*/ + +QAccessibleHyperlinkInterface::~QAccessibleHyperlinkInterface() +{ + +} + #endif // QT_NO_ACCESSIBILITY QT_END_NAMESPACE diff --git a/src/gui/accessible/qaccessible.h b/src/gui/accessible/qaccessible.h index c47ff41207..521cfb855b 100644 --- a/src/gui/accessible/qaccessible.h +++ b/src/gui/accessible/qaccessible.h @@ -384,7 +384,8 @@ public: ActionInterface, ImageInterface, TableInterface, - TableCellInterface + TableCellInterface, + HyperlinkInterface }; enum TextBoundaryType { @@ -451,6 +452,7 @@ class QAccessibleActionInterface; class QAccessibleImageInterface; class QAccessibleTableInterface; class QAccessibleTableCellInterface; +class QAccessibleHyperlinkInterface; class QAccessibleTableModelChangeEvent; class Q_GUI_EXPORT QAccessibleInterface @@ -508,6 +510,9 @@ public: inline QAccessibleTableCellInterface *tableCellInterface() { return reinterpret_cast(interface_cast(QAccessible::TableCellInterface)); } + inline QAccessibleHyperlinkInterface *hyperlinkInterface() + { return reinterpret_cast(interface_cast(QAccessible::HyperlinkInterface)); } + virtual void virtual_hook(int id, void *data); virtual void *interface_cast(QAccessible::InterfaceType) @@ -659,6 +664,17 @@ public: virtual QPoint imagePosition() const = 0; }; +class Q_GUI_EXPORT QAccessibleHyperlinkInterface +{ +public: + virtual ~QAccessibleHyperlinkInterface(); + + virtual QString anchor() const = 0; + virtual QString anchorTarget() const = 0; + virtual int startIndex() const = 0; + virtual int endIndex() const = 0; + virtual bool isValid() const = 0; +}; class Q_GUI_EXPORT QAccessibleEvent {