summaryrefslogtreecommitdiffstats
path: root/src/gui/accessible/qaccessible.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/accessible/qaccessible.h')
-rw-r--r--src/gui/accessible/qaccessible.h72
1 files changed, 71 insertions, 1 deletions
diff --git a/src/gui/accessible/qaccessible.h b/src/gui/accessible/qaccessible.h
index d5b0af550e..25ce161940 100644
--- a/src/gui/accessible/qaccessible.h
+++ b/src/gui/accessible/qaccessible.h
@@ -597,6 +597,7 @@ class Q_GUI_EXPORT QAccessibleEvent
{
Q_DISABLE_COPY(QAccessibleEvent)
public:
+
inline QAccessibleEvent(QObject *obj, QAccessible::Event typ)
: m_type(typ), m_object(obj), m_child(-1)
{
@@ -613,11 +614,27 @@ public:
Q_ASSERT(m_type != QAccessible::TableModelChanged);
}
+ inline QAccessibleEvent(QAccessibleInterface *iface, QAccessible::Event typ)
+ : m_type(typ), m_object(0)
+ {
+ Q_ASSERT(iface);
+ Q_ASSERT(m_type != QAccessible::ValueChanged);
+ Q_ASSERT(m_type != QAccessible::StateChanged);
+ Q_ASSERT(m_type != QAccessible::TextCaretMoved);
+ Q_ASSERT(m_type != QAccessible::TextSelectionChanged);
+ Q_ASSERT(m_type != QAccessible::TextInserted);
+ Q_ASSERT(m_type != QAccessible::TextRemoved);
+ Q_ASSERT(m_type != QAccessible::TextUpdated);
+ Q_ASSERT(m_type != QAccessible::TableModelChanged);
+ m_uniqueId = QAccessible::uniqueId(iface);
+ }
+
virtual ~QAccessibleEvent()
{}
QAccessible::Event type() const { return m_type; }
QObject *object() const { return m_object; }
+ QAccessible::Id uniqueId() const;
void setChild(int chld) { m_child = chld; }
int child() const { return m_child; }
@@ -627,7 +644,11 @@ public:
protected:
QAccessible::Event m_type;
QObject *m_object;
- int m_child;
+ union {
+ int m_child;
+ QAccessible::Id m_uniqueId;
+ };
+
};
class Q_GUI_EXPORT QAccessibleStateChangeEvent :public QAccessibleEvent
@@ -638,6 +659,11 @@ public:
{
m_type = QAccessible::StateChanged;
}
+ inline QAccessibleStateChangeEvent(QAccessibleInterface *iface, QAccessible::State state)
+ : QAccessibleEvent(iface, QAccessible::InvalidEvent), m_changedStates(state)
+ {
+ m_type = QAccessible::StateChanged;
+ }
QAccessible::State changedStates() const {
return m_changedStates;
@@ -657,6 +683,12 @@ public:
{
m_type = QAccessible::TextCaretMoved;
}
+ inline QAccessibleTextCursorEvent(QAccessibleInterface *iface, int cursorPos)
+ : QAccessibleEvent(iface, QAccessible::InvalidEvent)
+ , m_cursorPosition(cursorPos)
+ {
+ m_type = QAccessible::TextCaretMoved;
+ }
void setCursorPosition(int position) { m_cursorPosition = position; }
int cursorPosition() const { return m_cursorPosition; }
@@ -675,6 +707,12 @@ public:
{
m_type = QAccessible::TextSelectionChanged;
}
+ inline QAccessibleTextSelectionEvent(QAccessibleInterface *iface, int start, int end)
+ : QAccessibleTextCursorEvent(iface, (start == -1) ? 0 : end)
+ , m_selectionStart(start), m_selectionEnd(end)
+ {
+ m_type = QAccessible::TextSelectionChanged;
+ }
void setSelection(int start, int end) {
m_selectionStart = start;
@@ -698,6 +736,12 @@ public:
{
m_type = QAccessible::TextInserted;
}
+ inline QAccessibleTextInsertEvent(QAccessibleInterface *iface, int position, const QString &text)
+ : QAccessibleTextCursorEvent(iface, position + text.length())
+ , m_position(position), m_text(text)
+ {
+ m_type = QAccessible::TextInserted;
+ }
QString textInserted() const {
return m_text;
@@ -720,6 +764,12 @@ public:
{
m_type = QAccessible::TextRemoved;
}
+ inline QAccessibleTextRemoveEvent(QAccessibleInterface *iface, int position, const QString &text)
+ : QAccessibleTextCursorEvent(iface, position)
+ , m_position(position), m_text(text)
+ {
+ m_type = QAccessible::TextRemoved;
+ }
QString textRemoved() const {
return m_text;
@@ -742,6 +792,12 @@ public:
{
m_type = QAccessible::TextUpdated;
}
+ inline QAccessibleTextUpdateEvent(QAccessibleInterface *iface, int position, const QString &oldText, const QString &text)
+ : QAccessibleTextCursorEvent(iface, position + text.length())
+ , m_position(position), m_oldText(oldText), m_text(text)
+ {
+ m_type = QAccessible::TextUpdated;
+ }
QString textRemoved() const {
return m_oldText;
}
@@ -767,6 +823,12 @@ public:
{
m_type = QAccessible::ValueChanged;
}
+ inline QAccessibleValueChangeEvent(QAccessibleInterface *iface, const QVariant &val)
+ : QAccessibleEvent(iface, QAccessible::InvalidEvent)
+ , m_value(val)
+ {
+ m_type = QAccessible::ValueChanged;
+ }
void setValue(const QVariant & val) { m_value= val; }
QVariant value() const { return m_value; }
@@ -794,6 +856,14 @@ public:
{
m_type = QAccessible::TableModelChanged;
}
+ inline QAccessibleTableModelChangeEvent(QAccessibleInterface *iface, ModelChangeType changeType)
+ : QAccessibleEvent(iface, QAccessible::InvalidEvent)
+ , m_modelChangeType(changeType)
+ , m_firstRow(-1), m_firstColumn(-1), m_lastRow(-1), m_lastColumn(-1)
+ {
+ m_type = QAccessible::TableModelChanged;
+ }
+
void setModelChangeType(ModelChangeType changeType) { m_modelChangeType = changeType; }
ModelChangeType modelChangeType() const { return m_modelChangeType; }