Qt 4.8
Public Functions | List of all members
QAccessibleApplication Class Reference

The QAccessibleApplication class implements the QAccessibleInterface for QApplication. More...

#include <qaccessibleobject.h>

Inheritance diagram for QAccessibleApplication:
QAccessibleObject QAccessibleInterface QAccessible

Public Functions

QString actionText (int action, Text t, int child) const
 Reimplemented Function More...
 
int childAt (int x, int y) const
 Reimplemented Function More...
 
int childCount () const
 Reimplemented Function More...
 
bool doAction (int action, int child, const QVariantList &params)
 Reimplemented Function More...
 
int indexOfChild (const QAccessibleInterface *) const
 Reimplemented Function More...
 
int navigate (RelationFlag, int, QAccessibleInterface **) const
 Reimplemented Function More...
 
 QAccessibleApplication ()
 Creates a QAccessibleApplication for the QApplication object referenced by qApp. More...
 
Relation relationTo (int, const QAccessibleInterface *, int) const
 Reimplemented Function More...
 
Role role (int child) const
 Reimplemented Function More...
 
State state (int child) const
 Reimplemented Function More...
 
QString text (Text t, int child) const
 Reimplemented Function More...
 
int userActionCount (int child) const
 Reimplemented Function More...
 
- Public Functions inherited from QAccessibleObject
bool isValid () const
 Reimplemented Function More...
 
QObjectobject () const
 Reimplemented Function More...
 
 QAccessibleObject (QObject *object)
 Creates a QAccessibleObject for object. More...
 
QRect rect (int child) const
 Reimplemented Function More...
 
void setText (Text t, int child, const QString &text)
 Reimplemented Function More...
 
- Public Functions inherited from QAccessibleInterface
QAccessibleActionInterfaceactionInterface ()
 
QColor backgroundColor ()
 
QAccessibleEditableTextInterfaceeditableTextInterface ()
 
QColor foregroundColor ()
 
QAccessibleImageInterfaceimageInterface ()
 
QVariant invokeMethod (Method method, int child=0, const QVariantList &params=QVariantList())
 Invokes a method on child with the given parameters params and returns the result of the operation as QVariant. More...
 
QSet< MethodsupportedMethods ()
 Returns a QSet of QAccessible::Method that are supported by this accessible interface. More...
 
QAccessibleTable2Interfacetable2Interface ()
 
QAccessibleTableInterfacetableInterface ()
 
QAccessibleTextInterfacetextInterface ()
 
QAccessibleValueInterfacevalueInterface ()
 
virtual ~QAccessibleInterface ()
 Destroys the object. More...
 

Additional Inherited Members

- Public Types inherited from QAccessible
enum  Action {
  DefaultAction = 0, Press = -1, FirstStandardAction = Press, SetFocus = -2,
  Increase = -3, Decrease = -4, Accept = -5, Cancel = -6,
  Select = -7, ClearSelection = -8, RemoveSelection = -9, ExtendSelection = -10,
  AddToSelection = -11, LastStandardAction = AddToSelection
}
 This enum describes the possible types of action that can occur. More...
 
enum  Event {
  SoundPlayed = 0x0001, Alert = 0x0002, ForegroundChanged = 0x0003, MenuStart = 0x0004,
  MenuEnd = 0x0005, PopupMenuStart = 0x0006, PopupMenuEnd = 0x0007, ContextHelpStart = 0x000C,
  ContextHelpEnd = 0x000D, DragDropStart = 0x000E, DragDropEnd = 0x000F, DialogStart = 0x0010,
  DialogEnd = 0x0011, ScrollingStart = 0x0012, ScrollingEnd = 0x0013, MenuCommand = 0x0018,
  ActionChanged = 0x0101, ActiveDescendantChanged = 0x0102, AttributeChanged = 0x0103, DocumentContentChanged = 0x0104,
  DocumentLoadComplete = 0x0105, DocumentLoadStopped = 0x0106, DocumentReload = 0x0107, HyperlinkEndIndexChanged = 0x0108,
  HyperlinkNumberOfAnchorsChanged = 0x0109, HyperlinkSelectedLinkChanged = 0x010A, HypertextLinkActivated = 0x010B, HypertextLinkSelected = 0x010C,
  HyperlinkStartIndexChanged = 0x010D, HypertextChanged = 0x010E, HypertextNLinksChanged = 0x010F, ObjectAttributeChanged = 0x0110,
  PageChanged = 0x0111, SectionChanged = 0x0112, TableCaptionChanged = 0x0113, TableColumnDescriptionChanged = 0x0114,
  TableColumnHeaderChanged = 0x0115, TableModelChanged = 0x0116, TableRowDescriptionChanged = 0x0117, TableRowHeaderChanged = 0x0118,
  TableSummaryChanged = 0x0119, TextAttributeChanged = 0x011A, TextCaretMoved = 0x011B, TextColumnChanged = 0x011D,
  TextInserted = 0x011E, TextRemoved = 0x011F, TextUpdated = 0x0120, TextSelectionChanged = 0x0121,
  VisibleDataChanged = 0x0122, ObjectCreated = 0x8000, ObjectDestroyed = 0x8001, ObjectShow = 0x8002,
  ObjectHide = 0x8003, ObjectReorder = 0x8004, Focus = 0x8005, Selection = 0x8006,
  SelectionAdd = 0x8007, SelectionRemove = 0x8008, SelectionWithin = 0x8009, StateChanged = 0x800A,
  LocationChanged = 0x800B, NameChanged = 0x800C, DescriptionChanged = 0x800D, ValueChanged = 0x800E,
  ParentChanged = 0x800F, HelpChanged = 0x80A0, DefaultActionChanged = 0x80B0, AcceleratorChanged = 0x80C0
}
 This enum type defines accessible event types. More...
 
typedef QAccessibleInterface *(* InterfaceFactory) (const QString &key, QObject *)
 This is a typedef for a pointer to a function with the following signature: More...
 
enum  Method {
  ListSupportedMethods = 0, SetCursorPosition = 1, GetCursorPosition = 2, ForegroundColor = 3,
  BackgroundColor = 4
}
 This enum describes the possible types of methods that can be invoked on an accessible object. More...
 
enum  RelationFlag {
  Unrelated = 0x00000000, Self = 0x00000001, Ancestor = 0x00000002, Child = 0x00000004,
  Descendent = 0x00000008, Sibling = 0x00000010, HierarchyMask = 0x000000ff, Up = 0x00000100,
  Down = 0x00000200, Left = 0x00000400, Right = 0x00000800, Covers = 0x00001000,
  Covered = 0x00002000, GeometryMask = 0x0000ff00, FocusChild = 0x00010000, Label = 0x00020000,
  Labelled = 0x00040000, Controller = 0x00080000, Controlled = 0x00100000, LogicalMask = 0x00ff0000
}
 This enum type defines bit flags that can be combined to indicate the relationship between two accessible objects. More...
 
enum  Role {
  NoRole = 0x00000000, TitleBar = 0x00000001, MenuBar = 0x00000002, ScrollBar = 0x00000003,
  Grip = 0x00000004, Sound = 0x00000005, Cursor = 0x00000006, Caret = 0x00000007,
  AlertMessage = 0x00000008, Window = 0x00000009, Client = 0x0000000A, PopupMenu = 0x0000000B,
  MenuItem = 0x0000000C, ToolTip = 0x0000000D, Application = 0x0000000E, Document = 0x0000000F,
  Pane = 0x00000010, Chart = 0x00000011, Dialog = 0x00000012, Border = 0x00000013,
  Grouping = 0x00000014, Separator = 0x00000015, ToolBar = 0x00000016, StatusBar = 0x00000017,
  Table = 0x00000018, ColumnHeader = 0x00000019, RowHeader = 0x0000001A, Column = 0x0000001B,
  Row = 0x0000001C, Cell = 0x0000001D, Link = 0x0000001E, HelpBalloon = 0x0000001F,
  Assistant = 0x00000020, List = 0x00000021, ListItem = 0x00000022, Tree = 0x00000023,
  TreeItem = 0x00000024, PageTab = 0x00000025, PropertyPage = 0x00000026, Indicator = 0x00000027,
  Graphic = 0x00000028, StaticText = 0x00000029, EditableText = 0x0000002A, PushButton = 0x0000002B,
  CheckBox = 0x0000002C, RadioButton = 0x0000002D, ComboBox = 0x0000002E, ProgressBar = 0x00000030,
  Dial = 0x00000031, HotkeyField = 0x00000032, Slider = 0x00000033, SpinBox = 0x00000034,
  Canvas = 0x00000035, Animation = 0x00000036, Equation = 0x00000037, ButtonDropDown = 0x00000038,
  ButtonMenu = 0x00000039, ButtonDropGrid = 0x0000003A, Whitespace = 0x0000003B, PageTabList = 0x0000003C,
  Clock = 0x0000003D, Splitter = 0x0000003E, LayeredPane = 0x0000003F, Terminal = 0x00000040,
  Desktop = 0x00000041, UserRole = 0x0000ffff
}
 This enum defines the role of an accessible object. More...
 
typedef void(* RootObjectHandler) (QObject *)
 A function pointer type. More...
 
enum  StateFlag {
  Normal = 0x00000000, Unavailable = 0x00000001, Selected = 0x00000002, Focused = 0x00000004,
  Pressed = 0x00000008, Checked = 0x00000010, Mixed = 0x00000020, ReadOnly = 0x00000040,
  HotTracked = 0x00000080, DefaultButton = 0x00000100, Expanded = 0x00000200, Collapsed = 0x00000400,
  Busy = 0x00000800, Marqueed = 0x00002000, Animated = 0x00004000, Invisible = 0x00008000,
  Offscreen = 0x00010000, Sizeable = 0x00020000, Movable = 0x00040000, SelfVoicing = 0x00080000,
  Focusable = 0x00100000, Selectable = 0x00200000, Linked = 0x00400000, Traversed = 0x00800000,
  MultiSelectable = 0x01000000, ExtSelectable = 0x02000000, Protected = 0x20000000, HasPopup = 0x40000000,
  Modal = 0x80000000, HasInvokeExtension = 0x10000000
}
 This enum type defines bit flags that can be combined to indicate the state of an accessible object. More...
 
enum  Text {
  Name = 0, Description, Value, Help,
  Accelerator, UserText = 0x0000ffff
}
 This enum specifies string information that an accessible object returns. More...
 
typedef void(* UpdateHandler) (QObject *, int who, Event reason)
 A function pointer type. More...
 
- Static Public Functions inherited from QAccessible
static void cleanup ()
 
static void initialize ()
 
static void installFactory (InterfaceFactory)
 Installs the InterfaceFactory factory. More...
 
static RootObjectHandler installRootObjectHandler (RootObjectHandler)
 Installs the given handler as the function to be used by setRootObject(), and returns the previously installed handler. More...
 
static UpdateHandler installUpdateHandler (UpdateHandler)
 Installs the given handler as the function to be used by updateAccessibility(), and returns the previously installed handler. More...
 
static bool isActive ()
 Returns true if an accessibility implementation has been requested during the runtime of the application; otherwise returns false. More...
 
static QAccessibleInterfacequeryAccessibleInterface (QObject *)
 If a QAccessibleInterface implementation exists for the given object, this function returns a pointer to the implementation; otherwise it returns 0. More...
 
static void removeFactory (InterfaceFactory)
 Removes factory from the list of installed InterfaceFactories. More...
 
static void setRootObject (QObject *)
 Sets the root accessible object of this application to object. More...
 
static void updateAccessibility (QObject *, int who, Event reason)
 Notifies accessibility clients about a change in object's accessibility information. More...
 
- Protected Functions inherited from QAccessibleObject
virtual ~QAccessibleObject ()
 Destroys the QAccessibleObject. More...
 

Detailed Description

The QAccessibleApplication class implements the QAccessibleInterface for QApplication.

Warning
This function is not part of the public interface.

Definition at line 109 of file qaccessibleobject.h.

Constructors and Destructors

◆ QAccessibleApplication()

QAccessibleApplication::QAccessibleApplication ( )

Creates a QAccessibleApplication for the QApplication object referenced by qApp.

Definition at line 212 of file qaccessibleobject.cpp.

214 {
215 }
QAccessibleObject(QObject *object)
Creates a QAccessibleObject for object.
#define qApp

Functions

◆ actionText()

QString QAccessibleApplication::actionText ( int  action,
Text  t,
int  child 
) const
virtual

Reimplemented Function

Reimplemented from QAccessibleObject.

Definition at line 375 of file qaccessibleobject.cpp.

376 {
377  QString str;
378  if ((action == 0 || action == 1) && !child) switch (text) {
379  case Name:
380  return QApplication::tr("Activate");
381  case Description:
382  return QApplication::tr("Activates the program's main window");
383  default:
384  break;
385  }
386  return QAccessibleObject::actionText(action, text, child);
387 }
QString text(Text t, int child) const
Reimplemented Function
static QString tr(const char *sourceText, const char *comment=0, int n=-1)
The QString class provides a Unicode character string.
Definition: qstring.h:83
QString actionText(int action, Text t, int child) const
Reimplemented Function

◆ childAt()

int QAccessibleApplication::childAt ( int  x,
int  y 
) const
virtual

Reimplemented Function

Implements QAccessibleInterface.

Definition at line 251 of file qaccessibleobject.cpp.

252 {
253  const QWidgetList tlw(topLevelWidgets());
254  for (int i = 0; i < tlw.count(); ++i) {
255  QWidget *w = tlw.at(i);
256  if (w->frameGeometry().contains(x,y))
257  return i+1;
258  }
259  return -1;
260 }
static QWidgetList topLevelWidgets()
The QWidget class is the base class of all user interface objects.
Definition: qwidget.h:150
QRect frameGeometry
geometry of the widget relative to its parent including any window frame
Definition: qwidget.h:159
bool contains(const QPoint &p, bool proper=false) const
Returns true if the given point is inside or on the edge of the rectangle, otherwise returns false...
Definition: qrect.cpp:1101
The QList class is a template class that provides lists.
Definition: qdatastream.h:62

◆ childCount()

int QAccessibleApplication::childCount ( ) const
virtual

Reimplemented Function

Implements QAccessibleInterface.

Definition at line 232 of file qaccessibleobject.cpp.

Referenced by navigate().

233 {
234  return topLevelWidgets().count();
235 }
static QWidgetList topLevelWidgets()
int count(const T &t) const
Returns the number of occurrences of value in the list.
Definition: qlist.h:891

◆ doAction()

bool QAccessibleApplication::doAction ( int  action,
int  child,
const QVariantList params 
)
virtual

Reimplemented Function

Reimplemented from QAccessibleObject.

Definition at line 359 of file qaccessibleobject.cpp.

360 {
361  if (action == 0 || action == 1) {
362  QWidget *w = 0;
364  if (!w)
365  w = topLevelWidgets().at(0);
366  if (!w)
367  return false;
368  w->activateWindow();
369  return true;
370  }
371  return QAccessibleObject::doAction(action, child, param);
372 }
static QWidgetList topLevelWidgets()
static QWidget * activeWindow()
Returns the application top-level window that has the keyboard input focus, or 0 if no application wi...
The QWidget class is the base class of all user interface objects.
Definition: qwidget.h:150
bool doAction(int action, int child, const QVariantList &params)
Reimplemented Function
const T & at(int i) const
Returns the item at index position i in the list.
Definition: qlist.h:468
void activateWindow()
Sets the top-level widget containing this widget to be the active window.

◆ indexOfChild()

int QAccessibleApplication::indexOfChild ( const QAccessibleInterface child) const
virtual

Reimplemented Function

Implements QAccessibleInterface.

Definition at line 238 of file qaccessibleobject.cpp.

239 {
240  if (!child->object()->isWidgetType())
241  return -1;
242 
243  const QWidgetList tlw(topLevelWidgets());
244  int index = tlw.indexOf(static_cast<QWidget*>(child->object()));
245  if (index != -1)
246  ++index;
247  return index;
248 }
static QWidgetList topLevelWidgets()
virtual QObject * object() const =0
Returns a pointer to the QObject this interface implementation provides information for...
bool isWidgetType() const
Returns true if the object is a widget; otherwise returns false.
Definition: qobject.h:146
quint16 index
The QList class is a template class that provides lists.
Definition: qdatastream.h:62

◆ navigate()

int QAccessibleApplication::navigate ( RelationFlag  relation,
int  entry,
QAccessibleInterface **  target 
) const
virtual

Reimplemented Function

Implements QAccessibleInterface.

Definition at line 294 of file qaccessibleobject.cpp.

296 {
297  if (!target)
298  return -1;
299 
300  *target = 0;
301  QObject *targetObject = 0;
302 
303  switch (relation) {
304  case Self:
305  targetObject = object();
306  break;
307  case Child:
308  if (entry > 0 && entry <= childCount()) {
309  const QWidgetList tlw(topLevelWidgets());
310  if (tlw.count() >= entry)
311  targetObject = tlw.at(entry-1);
312  } else {
313  return -1;
314  }
315  break;
316  case FocusChild:
317  targetObject = QApplication::activeWindow();
318  break;
319  default:
320  break;
321  }
322  *target = QAccessible::queryAccessibleInterface(targetObject);
323  return *target ? 0 : -1;
324 }
static QWidgetList topLevelWidgets()
int childCount() const
Reimplemented Function
static QWidget * activeWindow()
Returns the application top-level window that has the keyboard input focus, or 0 if no application wi...
The QObject class is the base class of all Qt objects.
Definition: qobject.h:111
static QAccessibleInterface * queryAccessibleInterface(QObject *)
If a QAccessibleInterface implementation exists for the given object, this function returns a pointer...
QObject * object() const
Reimplemented Function
The QList class is a template class that provides lists.
Definition: qdatastream.h:62

◆ relationTo()

QAccessible::Relation QAccessibleApplication::relationTo ( int  child,
const QAccessibleInterface other,
int  otherChild 
) const
virtual

Reimplemented Function

Implements QAccessibleInterface.

Definition at line 263 of file qaccessibleobject.cpp.

265 {
266  QObject *o = other ? other->object() : 0;
267  if (!o)
268  return Unrelated;
269 
270  if(o == object()) {
271  if (child && !otherChild)
272  return Child;
273  if (!child && otherChild)
274  return Ancestor;
275  if (!child && !otherChild)
276  return Self;
277  }
278 
280  if (tlw.contains(qobject_cast<QWidget*>(o)))
281  return Ancestor;
282 
283  for (int i = 0; i < tlw.count(); ++i) {
284  QWidget *w = tlw.at(i);
285  QObjectList cl = w->findChildren<QObject *>(QString());
286  if (cl.contains(o))
287  return Ancestor;
288  }
289 
290  return Unrelated;
291 }
static QWidgetList topLevelWidgets()
The QWidget class is the base class of all user interface objects.
Definition: qwidget.h:150
The QString class provides a Unicode character string.
Definition: qstring.h:83
virtual QObject * object() const =0
Returns a pointer to the QObject this interface implementation provides information for...
The QObject class is the base class of all Qt objects.
Definition: qobject.h:111
QBool contains(const T &t) const
Returns true if the list contains an occurrence of value; otherwise returns false.
Definition: qlist.h:880
QList< T > findChildren(const QString &aName=QString()) const
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
Definition: qobject.h:162
The QList class is a template class that provides lists.
Definition: qdatastream.h:62

◆ role()

QAccessible::Role QAccessibleApplication::role ( int  child) const
virtual

Reimplemented Function

Implements QAccessibleInterface.

Definition at line 341 of file qaccessibleobject.cpp.

342 {
343  return Application;
344 }

◆ state()

QAccessible::State QAccessibleApplication::state ( int  child) const
virtual

Reimplemented Function

Implements QAccessibleInterface.

Definition at line 347 of file qaccessibleobject.cpp.

348 {
350 }
static QWidget * activeWindow()
Returns the application top-level window that has the keyboard input focus, or 0 if no application wi...

◆ text()

QString QAccessibleApplication::text ( Text  t,
int  child 
) const
virtual

Reimplemented Function

Implements QAccessibleInterface.

Definition at line 327 of file qaccessibleobject.cpp.

328 {
329  switch (t) {
330  case Name:
332  case Description:
334  default:
335  break;
336  }
337  return QString();
338 }
static QString applicationFilePath()
Returns the file path of the application executable.
The QString class provides a Unicode character string.
Definition: qstring.h:83
static QString applicationName()

◆ userActionCount()

int QAccessibleApplication::userActionCount ( int  child) const
virtual

Reimplemented Function

Reimplemented from QAccessibleObject.

Definition at line 353 of file qaccessibleobject.cpp.

354 {
355  return 1;
356 }

The documentation for this class was generated from the following files: