File indexing completed on 2025-09-15 09:07:59
0001
0002
0003
0004
0005 #if 0
0006
0007
0008 #pragma qt_class(QAccessible)
0009 #endif
0010
0011 #ifndef QACCESSIBLE_H
0012 #define QACCESSIBLE_H
0013 #include <QtGui/qtguiglobal.h>
0014
0015 #if QT_CONFIG(accessibility)
0016
0017 #include <QtCore/qcoreapplication.h>
0018 #include <QtCore/qglobal.h>
0019 #include <QtCore/qlist.h>
0020 #include <QtCore/qobject.h>
0021 #include <QtCore/qrect.h>
0022 #include <QtCore/qset.h>
0023 #include <QtCore/qvariant.h>
0024 #include <QtGui/qcolor.h>
0025 #include <QtGui/qevent.h>
0026 #include <QtGui/qaccessible_base.h>
0027
0028 QT_BEGIN_NAMESPACE
0029
0030 class QDebug;
0031 class QAccessibleInterface;
0032 class QAccessibleEvent;
0033 class QWindow;
0034 class QTextCursor;
0035
0036 class QAccessible2Interface;
0037 class QAccessibleTextInterface;
0038 class QAccessibleEditableTextInterface;
0039 class QAccessibleValueInterface;
0040 class QAccessibleActionInterface;
0041 class QAccessibleImageInterface;
0042 class QAccessibleTableInterface;
0043 class QAccessibleTableCellInterface;
0044 class QAccessibleHyperlinkInterface;
0045 class QAccessibleSelectionInterface;
0046 class QAccessibleAttributesInterface;
0047 class QAccessibleTableModelChangeEvent;
0048
0049 class Q_GUI_EXPORT QAccessibleInterface
0050 {
0051 protected:
0052 virtual ~QAccessibleInterface();
0053
0054 public:
0055
0056 virtual bool isValid() const = 0;
0057 virtual QObject *object() const = 0;
0058 virtual QWindow *window() const;
0059
0060
0061 virtual QList<std::pair<QAccessibleInterface *, QAccessible::Relation>>
0062 relations(QAccessible::Relation match = QAccessible::AllRelations) const;
0063 virtual QAccessibleInterface *focusChild() const;
0064
0065 virtual QAccessibleInterface *childAt(int x, int y) const = 0;
0066
0067
0068 virtual QAccessibleInterface *parent() const = 0;
0069 virtual QAccessibleInterface *child(int index) const = 0;
0070 virtual int childCount() const = 0;
0071 virtual int indexOfChild(const QAccessibleInterface *) const = 0;
0072
0073
0074 virtual QString text(QAccessible::Text t) const = 0;
0075 virtual void setText(QAccessible::Text t, const QString &text) = 0;
0076 virtual QRect rect() const = 0;
0077 virtual QAccessible::Role role() const = 0;
0078 virtual QAccessible::State state() const = 0;
0079
0080 virtual QColor foregroundColor() const;
0081 virtual QColor backgroundColor() const;
0082
0083 inline QAccessibleTextInterface *textInterface()
0084 { return reinterpret_cast<QAccessibleTextInterface *>(interface_cast(QAccessible::TextInterface)); }
0085
0086 inline QAccessibleEditableTextInterface *editableTextInterface()
0087 { return reinterpret_cast<QAccessibleEditableTextInterface *>(interface_cast(QAccessible::EditableTextInterface)); }
0088
0089 inline QAccessibleValueInterface *valueInterface()
0090 { return reinterpret_cast<QAccessibleValueInterface *>(interface_cast(QAccessible::ValueInterface)); }
0091
0092 inline QAccessibleActionInterface *actionInterface()
0093 { return reinterpret_cast<QAccessibleActionInterface *>(interface_cast(QAccessible::ActionInterface)); }
0094
0095 inline QAccessibleImageInterface *imageInterface()
0096 { return reinterpret_cast<QAccessibleImageInterface *>(interface_cast(QAccessible::ImageInterface)); }
0097
0098 inline QAccessibleTableInterface *tableInterface()
0099 { return reinterpret_cast<QAccessibleTableInterface *>(interface_cast(QAccessible::TableInterface)); }
0100
0101 inline QAccessibleTableCellInterface *tableCellInterface()
0102 { return reinterpret_cast<QAccessibleTableCellInterface *>(interface_cast(QAccessible::TableCellInterface)); }
0103
0104 inline QAccessibleHyperlinkInterface *hyperlinkInterface()
0105 { return reinterpret_cast<QAccessibleHyperlinkInterface *>(interface_cast(QAccessible::HyperlinkInterface)); }
0106
0107 inline QAccessibleSelectionInterface *selectionInterface()
0108 { return reinterpret_cast<QAccessibleSelectionInterface *>(interface_cast(QAccessible::SelectionInterface)); }
0109
0110 inline QAccessibleAttributesInterface *attributesInterface()
0111 { return reinterpret_cast<QAccessibleAttributesInterface *>(interface_cast(QAccessible::AttributesInterface)); }
0112
0113 virtual void virtual_hook(int id, void *data);
0114
0115 virtual void *interface_cast(QAccessible::InterfaceType)
0116 { return nullptr; }
0117
0118 protected:
0119 friend class QAccessibleCache;
0120 };
0121
0122 class Q_GUI_EXPORT QAccessibleTextInterface
0123 {
0124 public:
0125 virtual ~QAccessibleTextInterface();
0126
0127 virtual void selection(int selectionIndex, int *startOffset, int *endOffset) const = 0;
0128 virtual int selectionCount() const = 0;
0129 virtual void addSelection(int startOffset, int endOffset) = 0;
0130 virtual void removeSelection(int selectionIndex) = 0;
0131 virtual void setSelection(int selectionIndex, int startOffset, int endOffset) = 0;
0132
0133
0134 virtual int cursorPosition() const = 0;
0135 virtual void setCursorPosition(int position) = 0;
0136
0137
0138 virtual QString text(int startOffset, int endOffset) const = 0;
0139 virtual QString textBeforeOffset(int offset, QAccessible::TextBoundaryType boundaryType,
0140 int *startOffset, int *endOffset) const;
0141 virtual QString textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType,
0142 int *startOffset, int *endOffset) const;
0143 virtual QString textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType,
0144 int *startOffset, int *endOffset) const;
0145 virtual int characterCount() const = 0;
0146
0147
0148 virtual QRect characterRect(int offset) const = 0;
0149 virtual int offsetAtPoint(const QPoint &point) const = 0;
0150
0151 virtual void scrollToSubstring(int startIndex, int endIndex) = 0;
0152 virtual QString attributes(int offset, int *startOffset, int *endOffset) const = 0;
0153 };
0154
0155 class Q_GUI_EXPORT QAccessibleEditableTextInterface
0156 {
0157 public:
0158 virtual ~QAccessibleEditableTextInterface();
0159
0160 virtual void deleteText(int startOffset, int endOffset) = 0;
0161 virtual void insertText(int offset, const QString &text) = 0;
0162 virtual void replaceText(int startOffset, int endOffset, const QString &text) = 0;
0163 };
0164
0165 class Q_GUI_EXPORT QAccessibleValueInterface
0166 {
0167 public:
0168 virtual ~QAccessibleValueInterface();
0169
0170 virtual QVariant currentValue() const = 0;
0171 virtual void setCurrentValue(const QVariant &value) = 0;
0172 virtual QVariant maximumValue() const = 0;
0173 virtual QVariant minimumValue() const = 0;
0174 virtual QVariant minimumStepSize() const = 0;
0175 };
0176
0177 class Q_GUI_EXPORT QAccessibleTableCellInterface
0178 {
0179 public:
0180 virtual ~QAccessibleTableCellInterface();
0181
0182 virtual bool isSelected() const = 0;
0183
0184 virtual QList<QAccessibleInterface*> columnHeaderCells() const = 0;
0185 virtual QList<QAccessibleInterface*> rowHeaderCells() const = 0;
0186 virtual int columnIndex() const = 0;
0187 virtual int rowIndex() const = 0;
0188 virtual int columnExtent() const = 0;
0189 virtual int rowExtent() const = 0;
0190
0191 virtual QAccessibleInterface* table() const = 0;
0192 };
0193
0194 class Q_GUI_EXPORT QAccessibleTableInterface
0195 {
0196 public:
0197 virtual ~QAccessibleTableInterface();
0198
0199 virtual QAccessibleInterface *caption() const = 0;
0200 virtual QAccessibleInterface *summary() const = 0;
0201
0202 virtual QAccessibleInterface *cellAt (int row, int column) const = 0;
0203 virtual int selectedCellCount() const = 0;
0204 virtual QList<QAccessibleInterface*> selectedCells() const = 0;
0205
0206 virtual QString columnDescription(int column) const = 0;
0207 virtual QString rowDescription(int row) const = 0;
0208 virtual int selectedColumnCount() const = 0;
0209 virtual int selectedRowCount() const = 0;
0210 virtual int columnCount() const = 0;
0211 virtual int rowCount() const = 0;
0212 virtual QList<int> selectedColumns() const = 0;
0213 virtual QList<int> selectedRows() const = 0;
0214 virtual bool isColumnSelected(int column) const = 0;
0215 virtual bool isRowSelected(int row) const = 0;
0216 virtual bool selectRow(int row) = 0;
0217 virtual bool selectColumn(int column) = 0;
0218 virtual bool unselectRow(int row) = 0;
0219 virtual bool unselectColumn(int column) = 0;
0220
0221 virtual void modelChange(QAccessibleTableModelChangeEvent *event) = 0;
0222
0223 protected:
0224 friend class QAbstractItemView;
0225 friend class QAbstractItemViewPrivate;
0226 };
0227
0228 class Q_GUI_EXPORT QAccessibleActionInterface
0229 {
0230 Q_DECLARE_TR_FUNCTIONS(QAccessibleActionInterface)
0231 public:
0232 virtual ~QAccessibleActionInterface();
0233
0234 virtual QStringList actionNames() const = 0;
0235 virtual QString localizedActionName(const QString &name) const;
0236 virtual QString localizedActionDescription(const QString &name) const;
0237 virtual void doAction(const QString &actionName) = 0;
0238 virtual QStringList keyBindingsForAction(const QString &actionName) const = 0;
0239
0240 static const QString &pressAction();
0241 static const QString &increaseAction();
0242 static const QString &decreaseAction();
0243 static const QString &showMenuAction();
0244 static const QString &setFocusAction();
0245 static const QString &toggleAction();
0246 static QString scrollLeftAction();
0247 static QString scrollRightAction();
0248 static QString scrollUpAction();
0249 static QString scrollDownAction();
0250 static QString nextPageAction();
0251 static QString previousPageAction();
0252 };
0253
0254 class Q_GUI_EXPORT QAccessibleImageInterface
0255 {
0256 public:
0257 virtual ~QAccessibleImageInterface();
0258
0259 virtual QString imageDescription() const = 0;
0260 virtual QSize imageSize() const = 0;
0261 virtual QPoint imagePosition() const = 0;
0262 };
0263
0264 class Q_GUI_EXPORT QAccessibleHyperlinkInterface
0265 {
0266 public:
0267 virtual ~QAccessibleHyperlinkInterface();
0268
0269 virtual QString anchor() const = 0;
0270 virtual QString anchorTarget() const = 0;
0271 virtual int startIndex() const = 0;
0272 virtual int endIndex() const = 0;
0273 virtual bool isValid() const = 0;
0274 };
0275
0276 class Q_GUI_EXPORT QAccessibleSelectionInterface
0277 {
0278 public:
0279 virtual ~QAccessibleSelectionInterface();
0280
0281 virtual int selectedItemCount() const = 0;
0282 virtual QList<QAccessibleInterface*> selectedItems() const = 0;
0283 virtual QAccessibleInterface* selectedItem(int selectionIndex) const;
0284 virtual bool isSelected(QAccessibleInterface *childItem) const;
0285 virtual bool select(QAccessibleInterface *childItem) = 0;
0286 virtual bool unselect(QAccessibleInterface *childItem) = 0;
0287 virtual bool selectAll() = 0;
0288 virtual bool clear() = 0;
0289 };
0290
0291 class Q_GUI_EXPORT QAccessibleAttributesInterface
0292 {
0293 public:
0294 virtual ~QAccessibleAttributesInterface();
0295 virtual QList<QAccessible::Attribute> attributeKeys() const = 0;
0296 virtual QVariant attributeValue(QAccessible::Attribute key) const = 0;
0297 };
0298
0299
0300 class Q_GUI_EXPORT QAccessibleEvent
0301 {
0302 Q_DISABLE_COPY(QAccessibleEvent)
0303 public:
0304
0305 inline QAccessibleEvent(QObject *obj, QAccessible::Event typ)
0306 : m_type(typ), m_object(obj), m_child(-1)
0307 {
0308 Q_ASSERT(obj);
0309
0310
0311 Q_ASSERT(m_type != QAccessible::ValueChanged);
0312 Q_ASSERT(m_type != QAccessible::StateChanged);
0313 Q_ASSERT(m_type != QAccessible::TextCaretMoved);
0314 Q_ASSERT(m_type != QAccessible::TextSelectionChanged);
0315 Q_ASSERT(m_type != QAccessible::TextInserted);
0316 Q_ASSERT(m_type != QAccessible::TextRemoved);
0317 Q_ASSERT(m_type != QAccessible::TextUpdated);
0318 Q_ASSERT(m_type != QAccessible::TableModelChanged);
0319 Q_ASSERT(m_type != QAccessible::Announcement);
0320 }
0321
0322 inline QAccessibleEvent(QAccessibleInterface *iface, QAccessible::Event typ)
0323 : m_type(typ)
0324 {
0325 Q_ASSERT(iface);
0326 Q_ASSERT(m_type != QAccessible::ValueChanged);
0327 Q_ASSERT(m_type != QAccessible::StateChanged);
0328 Q_ASSERT(m_type != QAccessible::TextCaretMoved);
0329 Q_ASSERT(m_type != QAccessible::TextSelectionChanged);
0330 Q_ASSERT(m_type != QAccessible::TextInserted);
0331 Q_ASSERT(m_type != QAccessible::TextRemoved);
0332 Q_ASSERT(m_type != QAccessible::TextUpdated);
0333 Q_ASSERT(m_type != QAccessible::TableModelChanged);
0334 Q_ASSERT(m_type != QAccessible::Announcement);
0335 m_uniqueId = QAccessible::uniqueId(iface);
0336 m_object = iface->object();
0337 }
0338
0339 virtual ~QAccessibleEvent();
0340
0341 QAccessible::Event type() const { return m_type; }
0342 QObject *object() const { return m_object; }
0343 QAccessible::Id uniqueId() const;
0344
0345 void setChild(int chld) { m_child = chld; }
0346 int child() const { return m_child; }
0347
0348 virtual QAccessibleInterface *accessibleInterface() const;
0349
0350 protected:
0351 QAccessible::Event m_type;
0352 QObject *m_object;
0353 union {
0354 int m_child;
0355 QAccessible::Id m_uniqueId;
0356 };
0357
0358 friend class QTestAccessibility;
0359 };
0360
0361 class Q_GUI_EXPORT QAccessibleStateChangeEvent :public QAccessibleEvent
0362 {
0363 public:
0364 inline QAccessibleStateChangeEvent(QObject *obj, QAccessible::State state)
0365 : QAccessibleEvent(obj, QAccessible::InvalidEvent), m_changedStates(state)
0366 {
0367 m_type = QAccessible::StateChanged;
0368 }
0369 inline QAccessibleStateChangeEvent(QAccessibleInterface *iface, QAccessible::State state)
0370 : QAccessibleEvent(iface, QAccessible::InvalidEvent), m_changedStates(state)
0371 {
0372 m_type = QAccessible::StateChanged;
0373 }
0374 ~QAccessibleStateChangeEvent();
0375
0376 QAccessible::State changedStates() const {
0377 return m_changedStates;
0378 }
0379
0380 protected:
0381 QAccessible::State m_changedStates;
0382 };
0383
0384
0385 class Q_GUI_EXPORT QAccessibleTextCursorEvent : public QAccessibleEvent
0386 {
0387 public:
0388 inline QAccessibleTextCursorEvent(QObject *obj, int cursorPos)
0389 : QAccessibleEvent(obj, QAccessible::InvalidEvent)
0390 , m_cursorPosition(cursorPos)
0391 {
0392 m_type = QAccessible::TextCaretMoved;
0393 }
0394 inline QAccessibleTextCursorEvent(QAccessibleInterface *iface, int cursorPos)
0395 : QAccessibleEvent(iface, QAccessible::InvalidEvent)
0396 , m_cursorPosition(cursorPos)
0397 {
0398 m_type = QAccessible::TextCaretMoved;
0399 }
0400
0401 ~QAccessibleTextCursorEvent();
0402
0403 void setCursorPosition(int position) { m_cursorPosition = position; }
0404 int cursorPosition() const { return m_cursorPosition; }
0405
0406 protected:
0407 int m_cursorPosition;
0408 };
0409
0410
0411 class Q_GUI_EXPORT QAccessibleTextSelectionEvent : public QAccessibleTextCursorEvent
0412 {
0413 public:
0414 inline QAccessibleTextSelectionEvent(QObject *obj, int start, int end)
0415 : QAccessibleTextCursorEvent(obj, (start == -1) ? 0 : end)
0416 , m_selectionStart(start), m_selectionEnd(end)
0417 {
0418 m_type = QAccessible::TextSelectionChanged;
0419 }
0420 inline QAccessibleTextSelectionEvent(QAccessibleInterface *iface, int start, int end)
0421 : QAccessibleTextCursorEvent(iface, (start == -1) ? 0 : end)
0422 , m_selectionStart(start), m_selectionEnd(end)
0423 {
0424 m_type = QAccessible::TextSelectionChanged;
0425 }
0426
0427 ~QAccessibleTextSelectionEvent();
0428
0429 void setSelection(int start, int end) {
0430 m_selectionStart = start;
0431 m_selectionEnd = end;
0432 }
0433
0434 int selectionStart() const { return m_selectionStart; }
0435 int selectionEnd() const { return m_selectionEnd; }
0436
0437 protected:
0438 int m_selectionStart;
0439 int m_selectionEnd;
0440 };
0441
0442 class Q_GUI_EXPORT QAccessibleTextInsertEvent : public QAccessibleTextCursorEvent
0443 {
0444 public:
0445 inline QAccessibleTextInsertEvent(QObject *obj, int position, const QString &text)
0446 : QAccessibleTextCursorEvent(obj, position + int(text.size()))
0447 , m_position(position), m_text(text)
0448 {
0449 m_type = QAccessible::TextInserted;
0450 }
0451 inline QAccessibleTextInsertEvent(QAccessibleInterface *iface, int position, const QString &text)
0452 : QAccessibleTextCursorEvent(iface, position + int(text.size()))
0453 , m_position(position), m_text(text)
0454 {
0455 m_type = QAccessible::TextInserted;
0456 }
0457
0458 ~QAccessibleTextInsertEvent();
0459
0460 QString textInserted() const {
0461 return m_text;
0462 }
0463 int changePosition() const {
0464 return m_position;
0465 }
0466
0467 protected:
0468 int m_position;
0469 QString m_text;
0470 };
0471
0472 class Q_GUI_EXPORT QAccessibleTextRemoveEvent : public QAccessibleTextCursorEvent
0473 {
0474 public:
0475 inline QAccessibleTextRemoveEvent(QObject *obj, int position, const QString &text)
0476 : QAccessibleTextCursorEvent(obj, position)
0477 , m_position(position), m_text(text)
0478 {
0479 m_type = QAccessible::TextRemoved;
0480 }
0481 inline QAccessibleTextRemoveEvent(QAccessibleInterface *iface, int position, const QString &text)
0482 : QAccessibleTextCursorEvent(iface, position)
0483 , m_position(position), m_text(text)
0484 {
0485 m_type = QAccessible::TextRemoved;
0486 }
0487
0488 ~QAccessibleTextRemoveEvent();
0489
0490 QString textRemoved() const {
0491 return m_text;
0492 }
0493 int changePosition() const {
0494 return m_position;
0495 }
0496
0497 protected:
0498 int m_position;
0499 QString m_text;
0500 };
0501
0502 class Q_GUI_EXPORT QAccessibleTextUpdateEvent : public QAccessibleTextCursorEvent
0503 {
0504 public:
0505 inline QAccessibleTextUpdateEvent(QObject *obj, int position, const QString &oldText, const QString &text)
0506 : QAccessibleTextCursorEvent(obj, position + int(text.size()))
0507 , m_position(position), m_oldText(oldText), m_text(text)
0508 {
0509 m_type = QAccessible::TextUpdated;
0510 }
0511 inline QAccessibleTextUpdateEvent(QAccessibleInterface *iface, int position, const QString &oldText, const QString &text)
0512 : QAccessibleTextCursorEvent(iface, position + int(text.size()))
0513 , m_position(position), m_oldText(oldText), m_text(text)
0514 {
0515 m_type = QAccessible::TextUpdated;
0516 }
0517
0518 ~QAccessibleTextUpdateEvent();
0519
0520 QString textRemoved() const {
0521 return m_oldText;
0522 }
0523 QString textInserted() const {
0524 return m_text;
0525 }
0526 int changePosition() const {
0527 return m_position;
0528 }
0529
0530 protected:
0531 int m_position;
0532 QString m_oldText;
0533 QString m_text;
0534 };
0535
0536 class Q_GUI_EXPORT QAccessibleValueChangeEvent : public QAccessibleEvent
0537 {
0538 public:
0539 inline QAccessibleValueChangeEvent(QObject *obj, const QVariant &val)
0540 : QAccessibleEvent(obj, QAccessible::InvalidEvent)
0541 , m_value(val)
0542 {
0543 m_type = QAccessible::ValueChanged;
0544 }
0545 inline QAccessibleValueChangeEvent(QAccessibleInterface *iface, const QVariant &val)
0546 : QAccessibleEvent(iface, QAccessible::InvalidEvent)
0547 , m_value(val)
0548 {
0549 m_type = QAccessible::ValueChanged;
0550 }
0551
0552 ~QAccessibleValueChangeEvent();
0553
0554 void setValue(const QVariant & val) { m_value= val; }
0555 QVariant value() const { return m_value; }
0556
0557 protected:
0558 QVariant m_value;
0559 };
0560
0561 class Q_GUI_EXPORT QAccessibleTableModelChangeEvent : public QAccessibleEvent
0562 {
0563 public:
0564 enum ModelChangeType {
0565 ModelReset,
0566 DataChanged,
0567 RowsInserted,
0568 ColumnsInserted,
0569 RowsRemoved,
0570 ColumnsRemoved
0571 };
0572
0573 inline QAccessibleTableModelChangeEvent(QObject *obj, ModelChangeType changeType)
0574 : QAccessibleEvent(obj, QAccessible::InvalidEvent)
0575 , m_modelChangeType(changeType)
0576 , m_firstRow(-1), m_firstColumn(-1), m_lastRow(-1), m_lastColumn(-1)
0577 {
0578 m_type = QAccessible::TableModelChanged;
0579 }
0580 inline QAccessibleTableModelChangeEvent(QAccessibleInterface *iface, ModelChangeType changeType)
0581 : QAccessibleEvent(iface, QAccessible::InvalidEvent)
0582 , m_modelChangeType(changeType)
0583 , m_firstRow(-1), m_firstColumn(-1), m_lastRow(-1), m_lastColumn(-1)
0584 {
0585 m_type = QAccessible::TableModelChanged;
0586 }
0587
0588 ~QAccessibleTableModelChangeEvent();
0589
0590 void setModelChangeType(ModelChangeType changeType) { m_modelChangeType = changeType; }
0591 ModelChangeType modelChangeType() const { return m_modelChangeType; }
0592
0593 void setFirstRow(int row) { m_firstRow = row; }
0594 void setFirstColumn(int col) { m_firstColumn = col; }
0595 void setLastRow(int row) { m_lastRow = row; }
0596 void setLastColumn(int col) { m_lastColumn = col; }
0597 int firstRow() const { return m_firstRow; }
0598 int firstColumn() const { return m_firstColumn; }
0599 int lastRow() const { return m_lastRow; }
0600 int lastColumn() const { return m_lastColumn; }
0601
0602 protected:
0603 ModelChangeType m_modelChangeType;
0604 int m_firstRow;
0605 int m_firstColumn;
0606 int m_lastRow;
0607 int m_lastColumn;
0608 };
0609
0610 class Q_GUI_EXPORT QAccessibleAnnouncementEvent : public QAccessibleEvent
0611 {
0612 public:
0613 explicit QAccessibleAnnouncementEvent(QObject *object, const QString &message)
0614 : QAccessibleEvent(object, QAccessible::InvalidEvent)
0615 , m_message(message)
0616 , m_politeness(QAccessible::AnnouncementPoliteness::Polite)
0617 {
0618 m_type = QAccessible::Announcement;
0619 }
0620
0621 explicit QAccessibleAnnouncementEvent(QAccessibleInterface *iface, const QString &message)
0622 : QAccessibleEvent(iface, QAccessible::InvalidEvent)
0623 , m_message(message)
0624 , m_politeness(QAccessible::AnnouncementPoliteness::Polite)
0625 {
0626 m_type = QAccessible::Announcement;
0627 }
0628
0629 ~QAccessibleAnnouncementEvent() override;
0630
0631 QString message() const { return m_message; }
0632 QAccessible::AnnouncementPoliteness politeness() const { return m_politeness; }
0633 void setPoliteness(QAccessible::AnnouncementPoliteness politeness)
0634 { m_politeness = politeness; }
0635
0636 protected:
0637 QString m_message;
0638 QAccessible::AnnouncementPoliteness m_politeness;
0639 };
0640
0641 #ifndef Q_QDOC
0642 #define QAccessibleInterface_iid "org.qt-project.Qt.QAccessibleInterface"
0643 Q_DECLARE_INTERFACE(QAccessibleInterface, QAccessibleInterface_iid)
0644 #endif
0645
0646 Q_GUI_EXPORT const char *qAccessibleRoleString(QAccessible::Role role);
0647 Q_GUI_EXPORT const char *qAccessibleEventString(QAccessible::Event event);
0648 Q_GUI_EXPORT QString qAccessibleLocalizedActionDescription(const QString &actionName);
0649
0650 #ifndef QT_NO_DEBUG_STREAM
0651 Q_GUI_EXPORT QDebug operator<<(QDebug d, const QAccessibleInterface *iface);
0652 Q_GUI_EXPORT QDebug operator<<(QDebug d, const QAccessibleEvent &ev);
0653 #endif
0654
0655 QT_END_NAMESPACE
0656
0657 #endif
0658 #endif