~ubuntu-branches/ubuntu/precise/qt4-x11/precise-proposed

« back to all changes in this revision

Viewing changes to .pc/a11y_qt_and_qml_backport.diff/src/gui/accessible/qaccessible2.h

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell, Jonathan Riddell, Felix Geyer
  • Date: 2011-11-01 16:23:55 UTC
  • mfrom: (15.3.22 sid)
  • Revision ID: package-import@ubuntu.com-20111101162355-4dhsj6563ii8enl6
Tags: 4:4.7.4-1ubuntu1
[ Jonathan Riddell ]
* Merge from Debian Git packaging.  Remaining Ubuntu changes:
  - Do not package ibase/firebird package, remove from debian/rules and
    debian/control
  - libqt4-sql-ibase not recommend for libqt4-sql
  - build with -no-phonon
  - do not build libqt4-phonon, disable in debian/control
  - Build packages with lzma compression using the dh addon from pkg-kde-tools
  - Rules to remove po dir in clean
  - Add MessagesQt.sh
  - Rules to create Messages.sh link to MessagesQt.sh and rules to create po
    dir and exectue extract-messages.sh in common-install-prehook-impl
  - Make libqt4-dev depend on libx11-dev
  - Add and install Trolltech.conf in libqtcore4.install
  - Build QtWebkit and use it only for QtAssistant
    + Rule to put qt_webkit_version.pri in mkspecs/modules
    + Rule to remove libQtWebKit* after build
    + Exclude usr/bin/assistant-qt4 from dh_shlibdeps
  - Fix Lucid upgrades: libqt4-help breaks/replaces libqtcore4 (<< 4:4.7.0)
  - Change OpenGL backend from GL to GLES 2 for armel (Debian does this for
    armhf)
    + Build-depend and make libqt4-opengl-dev depend on libgles2-mesa-dev
      instead of libgl1-mesa-dev and libglu1-mesa-dev
    + Pass "-opengl es2" to configure
  - Pass extra_configure_opts += -arch armv6 on both armel and armhf and not
    just armhf
  - In debian/rules Move documentation building to override_dh_auto_install where
    dh_listpackages works as expected with dpkg-buildpackage. (LP: #857377)
  - debian/compat is 9 and build-depend on newer debhelper for multiarch
* debian/patches/blacklist-diginotar-certs.diff is now
  debian/patches/blacklist-diginotar-cert.diff to match Debian
* Add prefix to some patches to clarify they come from Ubuntu rather than Debian
 - kubuntu_97_a11y_qt_and_qml_backport.diff
 - kubuntu_98_fix_accessible_menu.diff
 - kubuntu_99_notify_qml_name_description_change.diff

[ Felix Geyer ]
* Use DEB_*_MAINT_APPEND instead of setting CXXFLAGS and LDFLAGS.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/****************************************************************************
2
 
**
3
 
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4
 
** All rights reserved.
5
 
** Contact: Nokia Corporation (qt-info@nokia.com)
6
 
**
7
 
** This file is part of the QtGui module of the Qt Toolkit.
8
 
**
9
 
** $QT_BEGIN_LICENSE:LGPL$
10
 
** GNU Lesser General Public License Usage
11
 
** This file may be used under the terms of the GNU Lesser General Public
12
 
** License version 2.1 as published by the Free Software Foundation and
13
 
** appearing in the file LICENSE.LGPL included in the packaging of this
14
 
** file. Please review the following information to ensure the GNU Lesser
15
 
** General Public License version 2.1 requirements will be met:
16
 
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
17
 
**
18
 
** In addition, as a special exception, Nokia gives you certain additional
19
 
** rights. These rights are described in the Nokia Qt LGPL Exception
20
 
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
21
 
**
22
 
** GNU General Public License Usage
23
 
** Alternatively, this file may be used under the terms of the GNU General
24
 
** Public License version 3.0 as published by the Free Software Foundation
25
 
** and appearing in the file LICENSE.GPL included in the packaging of this
26
 
** file. Please review the following information to ensure the GNU General
27
 
** Public License version 3.0 requirements will be met:
28
 
** http://www.gnu.org/copyleft/gpl.html.
29
 
**
30
 
** Other Usage
31
 
** Alternatively, this file may be used in accordance with the terms and
32
 
** conditions contained in a signed written agreement between you and Nokia.
33
 
**
34
 
**
35
 
**
36
 
**
37
 
**
38
 
** $QT_END_LICENSE$
39
 
**
40
 
****************************************************************************/
41
 
 
42
 
#ifndef QACCESSIBLE2_H
43
 
#define QACCESSIBLE2_H
44
 
 
45
 
#include <QtGui/qaccessible.h>
46
 
 
47
 
QT_BEGIN_HEADER
48
 
 
49
 
QT_BEGIN_NAMESPACE
50
 
 
51
 
QT_MODULE(Gui)
52
 
 
53
 
#ifndef QT_NO_ACCESSIBILITY
54
 
 
55
 
namespace QAccessible2
56
 
{
57
 
    enum CoordinateType
58
 
    {
59
 
        RelativeToScreen = 0,
60
 
        RelativeToParent = 1
61
 
    };
62
 
 
63
 
    enum BoundaryType {
64
 
        CharBoundary,
65
 
        WordBoundary,
66
 
        SentenceBoundary,
67
 
        ParagraphBoundary,
68
 
        LineBoundary,
69
 
        NoBoundary
70
 
    };
71
 
}
72
 
 
73
 
class Q_GUI_EXPORT QAccessible2Interface
74
 
{
75
 
public:
76
 
    virtual ~QAccessible2Interface() {}
77
 
};
78
 
 
79
 
// catch-all functions. If an accessible class doesn't implement interface T, return 0
80
 
inline QAccessible2Interface *qAccessibleValueCastHelper() { return 0; }
81
 
inline QAccessible2Interface *qAccessibleTextCastHelper() { return 0; }
82
 
inline QAccessible2Interface *qAccessibleEditableTextCastHelper() { return 0; }
83
 
inline QAccessible2Interface *qAccessibleTableCastHelper() { return 0; }
84
 
inline QAccessible2Interface *qAccessibleActionCastHelper() { return 0; }
85
 
inline QAccessible2Interface *qAccessibleImageCastHelper() { return 0; }
86
 
 
87
 
#define Q_ACCESSIBLE_OBJECT \
88
 
    public: \
89
 
    QAccessible2Interface *interface_cast(QAccessible2::InterfaceType t) \
90
 
    { \
91
 
        switch (t) { \
92
 
        case QAccessible2::TextInterface: \
93
 
            return qAccessibleTextCastHelper(); \
94
 
        case QAccessible2::EditableTextInterface: \
95
 
            return qAccessibleEditableTextCastHelper(); \
96
 
        case QAccessible2::ValueInterface: \
97
 
            return qAccessibleValueCastHelper(); \
98
 
        case QAccessible2::TableInterface: \
99
 
            return qAccessibleTableCastHelper(); \
100
 
        case QAccessible2::ActionInterface: \
101
 
            return qAccessibleActionCastHelper(); \
102
 
        case QAccessible2::ImageInterface: \
103
 
            return qAccessibleImageCastHelper(); \
104
 
        } \
105
 
        return 0; \
106
 
    } \
107
 
    private:
108
 
 
109
 
class Q_GUI_EXPORT QAccessibleTextInterface: public QAccessible2Interface
110
 
{
111
 
public:
112
 
    inline QAccessible2Interface *qAccessibleTextCastHelper() { return this; }
113
 
 
114
 
    virtual ~QAccessibleTextInterface() {}
115
 
 
116
 
    virtual void addSelection(int startOffset, int endOffset) = 0;
117
 
    virtual QString attributes(int offset, int *startOffset, int *endOffset) = 0;
118
 
    virtual int cursorPosition() = 0;
119
 
    virtual QRect characterRect(int offset, QAccessible2::CoordinateType coordType) = 0;
120
 
    virtual int selectionCount() = 0;
121
 
    virtual int offsetAtPoint(const QPoint &point, QAccessible2::CoordinateType coordType) = 0;
122
 
    virtual void selection(int selectionIndex, int *startOffset, int *endOffset) = 0;
123
 
    virtual QString text(int startOffset, int endOffset) = 0;
124
 
    virtual QString textBeforeOffset (int offset, QAccessible2::BoundaryType boundaryType,
125
 
                              int *startOffset, int *endOffset) = 0;
126
 
    virtual QString textAfterOffset(int offset, QAccessible2::BoundaryType boundaryType,
127
 
                            int *startOffset, int *endOffset) = 0;
128
 
    virtual QString textAtOffset(int offset, QAccessible2::BoundaryType boundaryType,
129
 
                         int *startOffset, int *endOffset) = 0;
130
 
    virtual void removeSelection(int selectionIndex) = 0;
131
 
    virtual void setCursorPosition(int position) = 0;
132
 
    virtual void setSelection(int selectionIndex, int startOffset, int endOffset) = 0;
133
 
    virtual int characterCount() = 0;
134
 
    virtual void scrollToSubstring(int startIndex, int endIndex) = 0;
135
 
};
136
 
 
137
 
class Q_GUI_EXPORT QAccessibleEditableTextInterface: public QAccessible2Interface
138
 
{
139
 
public:
140
 
    inline QAccessible2Interface *qAccessibleEditableTextCastHelper() { return this; }
141
 
 
142
 
    virtual ~QAccessibleEditableTextInterface() {}
143
 
 
144
 
    virtual void copyText(int startOffset, int endOffset) = 0;
145
 
    virtual void deleteText(int startOffset, int endOffset) = 0;
146
 
    virtual void insertText(int offset, const QString &text) = 0;
147
 
    virtual void cutText(int startOffset, int endOffset) = 0;
148
 
    virtual void pasteText(int offset) = 0;
149
 
    virtual void replaceText(int startOffset, int endOffset, const QString &text) = 0;
150
 
    virtual void setAttributes(int startOffset, int endOffset, const QString &attributes) = 0;
151
 
};
152
 
 
153
 
class Q_GUI_EXPORT QAccessibleSimpleEditableTextInterface: public QAccessibleEditableTextInterface
154
 
{
155
 
public:
156
 
    QAccessibleSimpleEditableTextInterface(QAccessibleInterface *accessibleInterface);
157
 
 
158
 
    void copyText(int startOffset, int endOffset);
159
 
    void deleteText(int startOffset, int endOffset);
160
 
    void insertText(int offset, const QString &text);
161
 
    void cutText(int startOffset, int endOffset);
162
 
    void pasteText(int offset);
163
 
    void replaceText(int startOffset, int endOffset, const QString &text);
164
 
    inline void setAttributes(int, int, const QString &) {}
165
 
 
166
 
private:
167
 
    QAccessibleInterface *iface;
168
 
};
169
 
 
170
 
class Q_GUI_EXPORT QAccessibleValueInterface: public QAccessible2Interface
171
 
{
172
 
public:
173
 
    inline QAccessible2Interface *qAccessibleValueCastHelper() { return this; }
174
 
 
175
 
    virtual ~QAccessibleValueInterface() {}
176
 
 
177
 
    virtual QVariant currentValue() = 0;
178
 
    virtual void setCurrentValue(const QVariant &value) = 0;
179
 
    virtual QVariant maximumValue() = 0;
180
 
    virtual QVariant minimumValue() = 0;
181
 
};
182
 
 
183
 
class Q_GUI_EXPORT QAccessibleTableInterface: public QAccessible2Interface
184
 
{
185
 
public:
186
 
    inline QAccessible2Interface *qAccessibleTableCastHelper() { return this; }
187
 
 
188
 
    virtual QAccessibleInterface *accessibleAt(int row, int column) = 0;
189
 
    virtual QAccessibleInterface *caption() = 0;
190
 
    virtual int childIndex(int rowIndex, int columnIndex) = 0;
191
 
    virtual QString columnDescription(int column) = 0;
192
 
    virtual int columnSpan(int row, int column) = 0;
193
 
    virtual QAccessibleInterface *columnHeader() = 0;
194
 
    virtual int columnIndex(int childIndex) = 0;
195
 
    virtual int columnCount() = 0;
196
 
    virtual int rowCount() = 0;
197
 
    virtual int selectedColumnCount() = 0;
198
 
    virtual int selectedRowCount() = 0;
199
 
    virtual QString rowDescription(int row) = 0;
200
 
    virtual int rowSpan(int row, int column) = 0;
201
 
    virtual QAccessibleInterface *rowHeader() = 0;
202
 
    virtual int rowIndex(int childIndex) = 0;
203
 
    virtual int selectedRows(int maxRows, QList<int> *rows) = 0;
204
 
    virtual int selectedColumns(int maxColumns, QList<int> *columns) = 0;
205
 
    virtual QAccessibleInterface *summary() = 0;
206
 
    virtual bool isColumnSelected(int column) = 0;
207
 
    virtual bool isRowSelected(int row) = 0;
208
 
    virtual bool isSelected(int row, int column) = 0;
209
 
    virtual void selectRow(int row) = 0;
210
 
    virtual void selectColumn(int column) = 0;
211
 
    virtual void unselectRow(int row) = 0;
212
 
    virtual void unselectColumn(int column) = 0;
213
 
    virtual void cellAtIndex(int index, int *row, int *column, int *rowSpan,
214
 
                             int *columnSpan, bool *isSelected) = 0;
215
 
};
216
 
 
217
 
class Q_GUI_EXPORT QAccessibleActionInterface : public QAccessible2Interface
218
 
{
219
 
public:
220
 
    inline QAccessible2Interface *qAccessibleActionCastHelper() { return this; }
221
 
 
222
 
    virtual int actionCount() = 0;
223
 
    virtual void doAction(int actionIndex) = 0;
224
 
    virtual QString description(int actionIndex) = 0;
225
 
    virtual QString name(int actionIndex) = 0;
226
 
    virtual QString localizedName(int actionIndex) = 0;
227
 
    virtual QStringList keyBindings(int actionIndex) = 0;
228
 
};
229
 
 
230
 
class Q_GUI_EXPORT QAccessibleImageInterface : public QAccessible2Interface
231
 
{
232
 
public:
233
 
    inline QAccessible2Interface *qAccessibleImageCastHelper() { return this; }
234
 
 
235
 
    virtual QString imageDescription() = 0;
236
 
    virtual QSize imageSize() = 0;
237
 
    virtual QRect imagePosition(QAccessible2::CoordinateType coordType) = 0;
238
 
};
239
 
 
240
 
#endif // QT_NO_ACCESSIBILITY
241
 
 
242
 
QT_END_NAMESPACE
243
 
 
244
 
QT_END_HEADER
245
 
 
246
 
#endif