Qt 4.8
Public Functions | Protected Functions | List of all members
QAccessibleMenuBar Class Reference

#include <qaccessiblemenu.h>

Inheritance diagram for QAccessibleMenuBar:
QAccessibleWidgetEx QAccessibleObjectEx QAccessibleInterfaceEx QAccessibleInterface QAccessible

Public Functions

QString actionText (int action, QAccessible::Text text, int child) const
 
int childAt (int x, int y) const
 Returns the 1-based index of the child that contains the screen coordinates (x, y). More...
 
int childCount () const
 Returns the number of children that belong to this object. More...
 
bool doAction (int action, int child, const QVariantList &params)
 Asks the object, or the object's child if child is not 0, to execute action using the parameters, params. More...
 
int indexOfChild (const QAccessibleInterface *child) const
 Returns the 1-based index of the object child in this object's children list, or -1 if child is not a child of this object. More...
 
int navigate (RelationFlag relation, int entry, QAccessibleInterface **target) const
 Navigates from this object to an object that has a relationship relation to this object, and returns the respective object in target. More...
 
 QAccessibleMenuBar (QWidget *w)
 
QRect rect (int child) const
 Returns the geometry of the object, or of the object's child if child is not 0. More...
 
Role role (int child) const
 Returns the role of the object, or of the object's child if child is not 0. More...
 
State state (int child) const
 Returns the current state of the object, or of the object's child if child is not 0. More...
 
QString text (Text t, int child) const
 Returns the value of the text property t of the object, or of the object's child if child is not 0. More...
 
- Public Functions inherited from QAccessibleWidgetEx
QString actionText (int action, Text t, int child) const
 Returns the text property t of the action action supported by the object, or of the object's child if child is not 0. More...
 
QVariant invokeMethodEx (Method method, int child, const QVariantList &params)
 
 QAccessibleWidgetEx (QWidget *o, Role r=Client, const QString &name=QString())
 
Relation relationTo (int child, const QAccessibleInterface *other, int otherChild) const
 
Returns the relationship between this object's \a child and the \a
other object's \a otherChild.
More...
 
- Public Functions inherited from QAccessibleObjectEx
bool isValid () const
 Returns true if all the data necessary to use this interface implementation is valid (e. More...
 
QObjectobject () const
 Returns a pointer to the QObject this interface implementation provides information for. More...
 
 QAccessibleObjectEx (QObject *object)
 
void setText (Text t, int child, const QString &text)
 Sets the text property t of the object, or of the object's child if child is not 0, to text. More...
 
int userActionCount (int child) const
 Returns the number of custom actions of the object, or of the object's child if child is not 0. More...
 
- Public Functions inherited from QAccessibleInterfaceEx
virtual QAccessible2Interfaceinterface_cast (QAccessible2::InterfaceType)
 
virtual QVariant virtual_hook (const QVariant &data)
 
- 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...
 

Protected Functions

QMenuBarmenuBar () const
 
- Protected Functions inherited from QAccessibleWidgetEx
void addControllingSignal (const QString &signal)
 
QObjectparentObject () const
 
void setAccelerator (const QString &accel)
 
void setDescription (const QString &desc)
 
void setHelp (const QString &help)
 
void setValue (const QString &value)
 
QWidgetwidget () const
 
 ~QAccessibleWidgetEx ()
 
- Protected Functions inherited from QAccessibleObjectEx
virtual ~QAccessibleObjectEx ()
 

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...
 

Detailed Description

Definition at line 80 of file qaccessiblemenu.h.

Constructors and Destructors

◆ QAccessibleMenuBar()

QAccessibleMenuBar::QAccessibleMenuBar ( QWidget w)
explicit

Definition at line 243 of file qaccessiblemenu.cpp.

Referenced by navigate().

245 {
246  Q_ASSERT(menuBar());
247 }
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
QMenuBar * menuBar() const
QAccessibleWidgetEx(QWidget *o, Role r=Client, const QString &name=QString())

Functions

◆ actionText()

QString QAccessibleMenuBar::actionText ( int  action,
QAccessible::Text  text,
int  child 
) const

Definition at line 374 of file qaccessiblemenu.cpp.

375 {
376  if (action == QAccessible::DefaultAction && child && text == QAccessible::Name) {
377  QAction *a = menuBar()->actions().value(child-1, 0);
378  if (!a || a->isSeparator())
379  return QString();
380  if (a->menu()) {
381  if (a->menu()->isVisible())
382  return QMenu::tr("Close");
383  return QMenu::tr("Open");
384  }
385  return QMenu::tr("Execute");
386  }
387 
388  return QAccessibleWidgetEx::actionText(action, text, child);
389 }
bool isSeparator() const
Returns true if this action is a separator action; otherwise it returns false.
Definition: qaction.cpp:839
bool isVisible() const
Definition: qwidget.h:1005
QString actionText(int action, Text t, int child) const
Returns the text property t of the action action supported by the object, or of the object&#39;s child if...
static QString tr(const char *sourceText, const char *comment=0, int n=-1)
long ASN1_INTEGER_get ASN1_INTEGER * a
The QString class provides a Unicode character string.
Definition: qstring.h:83
QString text(Text t, int child) const
Returns the value of the text property t of the object, or of the object&#39;s child if child is not 0...
QMenuBar * menuBar() const
T value(int i) const
Returns the value at index position i in the list.
Definition: qlist.h:661
QMenu * menu() const
Returns the menu contained by this action.
Definition: qaction.cpp:793
QList< QAction * > actions() const
Returns the (possibly empty) list of this widget&#39;s actions.
Definition: qwidget.cpp:3407
The QAction class provides an abstract user interface action that can be inserted into widgets...
Definition: qaction.h:64

◆ childAt()

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

Returns the 1-based index of the child that contains the screen coordinates (x, y).

This function returns 0 if the point is positioned on the object itself. If the tested point is outside the boundaries of the object this function returns -1.

This function is only relyable for visible objects (invisible object might not be laid out correctly).

All visual objects provide this information.

See also
rect()

Reimplemented from QAccessibleWidgetEx.

Definition at line 269 of file qaccessiblemenu.cpp.

270 {
271  for (int i = childCount(); i >= 0; --i) {
272  if (rect(i).contains(x,y))
273  return i;
274  }
275  return -1;
276 }
QRect rect(int child) const
Returns the geometry of the object, or of the object&#39;s child if child is not 0.
int childCount() const
Returns the number of children that belong to this object.

◆ childCount()

int QAccessibleMenuBar::childCount ( ) const
virtual

Returns the number of children that belong to this object.

A child can provide accessibility information on its own (e.g. a child widget), or be a sub-element of this accessible object.

All objects provide this information.

See also
indexOfChild()

Reimplemented from QAccessibleWidgetEx.

Definition at line 254 of file qaccessiblemenu.cpp.

Referenced by childAt(), and navigate().

255 {
256  return menuBar()->actions().count();
257 }
int count(const T &t) const
Returns the number of occurrences of value in the list.
Definition: qlist.h:891
QMenuBar * menuBar() const
QList< QAction * > actions() const
Returns the (possibly empty) list of this widget&#39;s actions.
Definition: qwidget.cpp:3407

◆ doAction()

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

Asks the object, or the object's child if child is not 0, to execute action using the parameters, params.

Returns true if the action could be executed; otherwise returns false.

action can be a predefined or a custom action.

See also
userActionCount(), actionText()

Reimplemented from QAccessibleWidgetEx.

Definition at line 391 of file qaccessiblemenu.cpp.

392 {
393  if (act != !child)
394  return false;
395 
396  QAction *action = menuBar()->actions().value(child-1, 0);
397  if (!action || !action->isEnabled())
398  return false;
399  if (action->menu() && action->menu()->isVisible())
400  action->menu()->hide();
401  else
402  menuBar()->setActiveAction(action);
403  return true;
404 }
bool isEnabled() const
Definition: qaction.cpp:1208
bool isVisible() const
Definition: qwidget.h:1005
QMenuBar * menuBar() const
T value(int i) const
Returns the value at index position i in the list.
Definition: qlist.h:661
void hide()
Hides the widget.
Definition: qwidget.h:501
QMenu * menu() const
Returns the menu contained by this action.
Definition: qaction.cpp:793
QList< QAction * > actions() const
Returns the (possibly empty) list of this widget&#39;s actions.
Definition: qwidget.cpp:3407
void setActiveAction(QAction *action)
Sets the currently highlighted action to act.
Definition: qmenubar.cpp:1002
The QAction class provides an abstract user interface action that can be inserted into widgets...
Definition: qaction.h:64

◆ indexOfChild()

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

Returns the 1-based index of the object child in this object's children list, or -1 if child is not a child of this object.

0 is not a possible return value.

All objects provide this information about their children.

See also
childCount()

Reimplemented from QAccessibleWidgetEx.

Definition at line 309 of file qaccessiblemenu.cpp.

310 {
311  int index = -1;
312  Role r = child->role(0);
313  if ((r == MenuItem || r == Separator) && menuBar()) {
314  index = menuBar()->actions().indexOf(qobject_cast<QAction*>(child->object()));
315  if (index != -1)
316  ++index;
317  }
318  return index;
319 }
Role
This enum defines the role of an accessible object.
Definition: qaccessible.h:188
virtual QObject * object() const =0
Returns a pointer to the QObject this interface implementation provides information for...
QMenuBar * menuBar() const
virtual Role role(int child) const =0
Returns the role of the object, or of the object&#39;s child if child is not 0.
int indexOf(const T &t, int from=0) const
Returns the index position of the first occurrence of value in the list, searching forward from index...
Definition: qlist.h:847
QList< QAction * > actions() const
Returns the (possibly empty) list of this widget&#39;s actions.
Definition: qwidget.cpp:3407
quint16 index

◆ menuBar()

QMenuBar * QAccessibleMenuBar::menuBar ( ) const
protected

Definition at line 249 of file qaccessiblemenu.cpp.

Referenced by actionText(), childCount(), doAction(), indexOfChild(), navigate(), QAccessibleMenuBar(), rect(), role(), state(), and text().

250 {
251  return qobject_cast<QMenuBar*>(object());
252 }
T qobject_cast(QObject *object)
Definition: qobject.h:375
QObject * object() const
Returns a pointer to the QObject this interface implementation provides information for...
The QMenuBar class provides a horizontal menu bar.
Definition: qmenubar.h:62

◆ navigate()

int QAccessibleMenuBar::navigate ( RelationFlag  relation,
int  index,
QAccessibleInterface **  iface 
) const
virtual

Navigates from this object to an object that has a relationship relation to this object, and returns the respective object in target.

It is the caller's responsibility to delete *target after use.

If an object is found, target is set to point to the object, and the index of the child of target is returned. The return value is 0 if target itself is the requested object. target is set to null if this object is the target object (i.e. the requested object is a handled by this object).

If no object is found target is set to null, and the return value is -1.

The entry parameter has two different meanings:

  • Hierarchical and Logical relationships – if multiple objects with the requested relationship exist entry specifies which one to return. entry is 1-based, e.g. use 1 to get the first (and possibly only) object with the requested relationship.

    The following code demonstrates how to use this function to navigate to the first child of an object:

    int targetChild = object->navigate(Accessible::Child, 1, &child);
    if (child) {
    // ...
    delete child;
    }
  • Geometric relationships – the index of the child from which to start navigating in the specified direction. entry can be 0 to navigate to a sibling of this object, or non-null to navigate within contained children that don't provide their own accessible information.

Note that the Descendent value for relation is not supported.

All objects support navigation.

See also
relationTo(), childCount()

Reimplemented from QAccessibleWidgetEx.

Definition at line 278 of file qaccessiblemenu.cpp.

279 {
280  int ret = -1;
281  if (entry < 0) {
282  *target = 0;
283  return ret;
284  }
285 
286  if (relation == Self || entry == 0) {
287  *target = new QAccessibleMenuBar(menuBar());
288  return 0;
289  }
290 
291  switch (relation) {
292  case Child:
293  if (entry <= childCount()) {
294  *target = new QAccessibleMenuItem(menuBar(), menuBar()->actions().at( entry - 1 ));
295  ret = 0;
296  }
297  break;
298  default:
299  return QAccessibleWidgetEx::navigate(relation, entry, target);
300  }
301 
302 
303  if (ret == -1)
304  *target = 0;
305 
306  return ret;
307 }
#define at(className, varName)
QMenuBar * menuBar() const
QAccessibleMenuBar(QWidget *w)
int navigate(RelationFlag rel, int entry, QAccessibleInterface **target) const
Navigates from this object to an object that has a relationship relation to this object, and returns the respective object in target.
int childCount() const
Returns the number of children that belong to this object.

◆ rect()

QRect QAccessibleMenuBar::rect ( int  child) const
virtual

Returns the geometry of the object, or of the object's child if child is not 0.

The geometry is in screen coordinates.

This function is only reliable for visible objects (invisible objects might not be laid out correctly).

All visual objects provide this information.

See also
childAt()

Reimplemented from QAccessibleWidgetEx.

Definition at line 259 of file qaccessiblemenu.cpp.

Referenced by childAt().

260 {
261  if (!child)
262  return QAccessibleWidgetEx::rect(child);
263 
264  QRect r = menuBar()->actionGeometry(menuBar()->actions()[child - 1]);
265  QPoint tlp = menuBar()->mapToGlobal(QPoint(0,0));
266  return QRect(tlp.x() + r.x(), tlp.y() + r.y(), r.width(), r.height());
267 }
int width() const
Returns the width of the rectangle.
Definition: qrect.h:303
int height() const
Returns the height of the rectangle.
Definition: qrect.h:306
QRect rect(int child) const
Returns the geometry of the object, or of the object&#39;s child if child is not 0.
QMenuBar * menuBar() const
int y() const
Returns the y-coordinate of the rectangle&#39;s top edge.
Definition: qrect.h:255
int x() const
Returns the x-coordinate of the rectangle&#39;s left edge.
Definition: qrect.h:252
The QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
int y() const
Returns the y coordinate of this point.
Definition: qpoint.h:131
int x() const
Returns the x coordinate of this point.
Definition: qpoint.h:128
QPoint mapToGlobal(const QPoint &) const
Translates the widget coordinate pos to global screen coordinates.
QRect actionGeometry(QAction *) const
Returns the geometry of action act as a QRect.
Definition: qmenubar.cpp:1717

◆ role()

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

Returns the role of the object, or of the object's child if child is not 0.

The role of an object is usually static.

All accessible objects have a role.

See also
text(), state()

Reimplemented from QAccessibleWidgetEx.

Definition at line 343 of file qaccessiblemenu.cpp.

344 {
345  if (!child)
346  return MenuBar;
347 
348  QAction *action = menuBar()->actions()[child-1];
349  if (action && action->isSeparator())
350  return Separator;
351  return MenuItem;
352 }
bool isSeparator() const
Returns true if this action is a separator action; otherwise it returns false.
Definition: qaction.cpp:839
QMenuBar * menuBar() const
QList< QAction * > actions() const
Returns the (possibly empty) list of this widget&#39;s actions.
Definition: qwidget.cpp:3407
The QAction class provides an abstract user interface action that can be inserted into widgets...
Definition: qaction.h:64

◆ state()

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

Returns the current state of the object, or of the object's child if child is not 0.

The returned value is a combination of the flags in the QAccessible::StateFlag enumeration.

All accessible objects have a state.

See also
text(), role()

Reimplemented from QAccessibleWidgetEx.

Definition at line 354 of file qaccessiblemenu.cpp.

355 {
357  if (!child)
358  return s;
359 
360  QAction *action = menuBar()->actions().value(child-1, 0);
361  if (!action)
362  return s;
363 
365  s |= HotTracked;
366  if (action->isSeparator() || !action->isEnabled())
367  s |= Unavailable;
368  if (menuBar()->activeAction() == action)
369  s |= Focused;
370 
371  return s;
372 }
bool isSeparator() const
Returns true if this action is a separator action; otherwise it returns false.
Definition: qaction.cpp:839
bool isEnabled() const
Definition: qaction.cpp:1208
QMenuBar * menuBar() const
const char * styleHint(const QFontDef &request)
T value(int i) const
Returns the value at index position i in the list.
Definition: qlist.h:661
The State element defines configurations of objects and properties.
QList< QAction * > actions() const
Returns the (possibly empty) list of this widget&#39;s actions.
Definition: qwidget.cpp:3407
QAction * activeAction() const
Returns the QAction that is currently highlighted.
Definition: qmenubar.cpp:988
State state(int child) const
Returns the current state of the object, or of the object&#39;s child if child is not 0...
The QAction class provides an abstract user interface action that can be inserted into widgets...
Definition: qaction.h:64

◆ text()

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

Returns the value of the text property t of the object, or of the object's child if child is not 0.

The Name is a string used by clients to identify, find, or announce an accessible object for the user. All objects must have a name that is unique within their container. The name can be used differently by clients, so the name should both give a short description of the object and be unique.

An accessible object's Description provides textual information about an object's visual appearance. The description is primarily used to provide greater context for vision-impaired users, but is also used for context searching or other applications. Not all objects have a description. An "OK" button would not need a description, but a tool button that shows a picture of a smiley would.

The Value of an accessible object represents visual information contained by the object, e.g. the text in a line edit. Usually, the value can be modified by the user. Not all objects have a value, e.g. static text labels don't, and some objects have a state that already is the value, e.g. toggle buttons.

The Help text provides information about the function and usage of an accessible object. Not all objects provide this information.

The Accelerator is a keyboard shortcut that activates the object's default action. A keyboard shortcut is the underlined character in the text of a menu, menu item or widget, and is either the character itself, or a combination of this character and a modifier key like Alt, Ctrl or Shift. Command controls like tool buttons also have shortcut keys and usually display them in their tooltip.

All objects provide a string for Name .

See also
role(), state()

Reimplemented from QAccessibleWidgetEx.

Definition at line 321 of file qaccessiblemenu.cpp.

322 {
323  QString str;
324 
325  if (child) {
326  if (QAction *action = menuBar()->actions().value(child - 1, 0)) {
327  switch (t) {
328  case Name:
329  return qt_accStripAmp(action->text());
330  case Accelerator:
331  str = qt_accHotKey(action->text());
332  break;
333  default:
334  break;
335  }
336  }
337  }
338  if (str.isEmpty())
339  str = QAccessibleWidgetEx::text(t, child);
340  return str;
341 }
QString Q_GUI_EXPORT qt_accHotKey(const QString &text)
QString text(Text t, int child) const
Returns the value of the text property t of the object, or of the object&#39;s child if child is not 0...
The QString class provides a Unicode character string.
Definition: qstring.h:83
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
Definition: qstring.h:704
QMenuBar * menuBar() const
The QAction class provides an abstract user interface action that can be inserted into widgets...
Definition: qaction.h:64
QString Q_GUI_EXPORT qt_accStripAmp(const QString &text)

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