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

The QAccessibleToolButton class implements the QAccessibleInterface for tool buttons. More...

#include <simplewidgets.h>

Inheritance diagram for QAccessibleToolButton:
QAccessibleButton QAccessibleWidgetEx QAccessibleActionInterface QAccessibleObjectEx QAccessible2Interface QAccessibleInterfaceEx QAccessibleInterface QAccessible

Public Types

enum  ToolButtonElements { ToolButtonSelf = 0, ButtonExecute, ButtonDropMenu }
 This enum identifies the components of the tool button. More...
 
- 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...
 

Public Functions

int actionCount (int child) const
 Returns the number of actions which is 0, 1, or 2, in part depending on child. More...
 
QString actionText (int action, Text text, int child) const
 If text is Name, then depending on the child or the action, an action text is returned. More...
 
int childCount () const
 Reimplemented Function More...
 
bool doAction (int action, int child, const QVariantList &params)
 
 QAccessibleToolButton (QWidget *w, Role role)
 Creates a QAccessibleToolButton object for w. More...
 
QRect rect (int child) const
 Returns the rectangle occupied by this button, depending on child. More...
 
Role role (int child) const
 Reimplemented Function More...
 
State state (int child) const
 Reimplemented Function More...
 
QString text (Text t, int child) const
 Returns the button's text label, depending on the text t, and the child. More...
 
- Public Functions inherited from QAccessibleButton
int actionCount ()
 
QString description (int actionIndex)
 
void doAction (int actionIndex)
 
QStringList keyBindings (int actionIndex)
 
QString localizedName (int actionIndex)
 
QString name (int actionIndex)
 
 QAccessibleButton (QWidget *w, Role r)
 Creates a QAccessibleButton object for w. More...
 
- Public Functions inherited from QAccessibleWidgetEx
int childAt (int x, int y) const
 Returns the 1-based index of the child that contains the screen coordinates (x, y). 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...
 
QVariant invokeMethodEx (Method method, int child, const QVariantList &params)
 
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. More...
 
 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...
 
- Public Functions inherited from QAccessibleActionInterface
QAccessible2InterfaceqAccessibleActionCastHelper ()
 
- Public Functions inherited from QAccessible2Interface
virtual ~QAccessible2Interface ()
 

Protected Functions

bool isSplitButton () const
 Returns true if this tool button is a split button. More...
 
QToolButtontoolButton () const
 Returns the button. More...
 
- Protected Functions inherited from QAccessibleButton
QAbstractButtonbutton () const
 Returns the button. More...
 
- 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

- 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

The QAccessibleToolButton class implements the QAccessibleInterface for tool buttons.

Warning
This function is not part of the public interface.

Definition at line 85 of file simplewidgets.h.

Enumerations

◆ ToolButtonElements

This enum identifies the components of the tool button.

  • ToolButtonSelf The tool button as a whole.
  • ButtonExecute The button.
  • ButtonDropMenu The drop down menu.
Enumerator
ToolButtonSelf 
ButtonExecute 
ButtonDropMenu 

Definition at line 90 of file simplewidgets.h.

Constructors and Destructors

◆ QAccessibleToolButton()

QAccessibleToolButton::QAccessibleToolButton ( QWidget w,
Role  role 
)

Creates a QAccessibleToolButton object for w.

role is propagated to the QAccessibleWidgetEx constructor.

Definition at line 324 of file simplewidgets.cpp.

326 {
327  Q_ASSERT(toolButton());
328 }
QAccessibleButton(QWidget *w, Role r)
Creates a QAccessibleButton object for w.
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
QToolButton * toolButton() const
Returns the button.
Role role(int child) const
Reimplemented Function

Functions

◆ actionCount()

int QAccessibleToolButton::actionCount ( int  child) const

Returns the number of actions which is 0, 1, or 2, in part depending on child.

Warning
This function is not part of the public interface.

Definition at line 445 of file simplewidgets.cpp.

446 {
447  // each subelement has one action
448  if (child)
449  return isSplitButton() ? 1 : 0;
450  int ac = widget()->focusPolicy() != Qt::NoFocus ? 1 : 0;
451  // button itself has two actions if a menu button
452 #ifndef QT_NO_MENU
453  return ac + (toolButton()->menu() ? 2 : 1);
454 #else
455  return ac + 1;
456 #endif
457 }
bool isSplitButton() const
Returns true if this tool button is a split button.
Qt::FocusPolicy focusPolicy
the way the widget accepts keyboard focus
Definition: qwidget.h:187
QWidget * widget() const
QMenu * menu() const
Returns the associated menu, or 0 if no menu has been defined.
QToolButton * toolButton() const
Returns the button.

◆ actionText()

QString QAccessibleToolButton::actionText ( int  action,
Text  text,
int  child 
) const
virtual

If text is Name, then depending on the child or the action, an action text is returned.

Warning
This function is not part of the public interface.

This is a translated string which in English is one of "Press", "Open", or "Set Focus". If text is not Name, an empty string is returned.

Reimplemented from QAccessibleButton.

Definition at line 470 of file simplewidgets.cpp.

471 {
472  if (text == Name) switch(child) {
473  case ButtonExecute:
474  return QToolButton::tr("Press");
475  case ButtonDropMenu:
476  return QToolButton::tr("Open");
477  default:
478  switch(action) {
479  case 0:
480  return QToolButton::tr("Press");
481  case 1:
482 #ifndef QT_NO_MENU
483  if (toolButton()->menu())
484  return QToolButton::tr("Open");
485 #endif
486  //fall through
487  case 2:
488  return QLatin1String("Set Focus");
489  }
490  }
491  return QString();
492 }
static QString tr(const char *sourceText, const char *comment=0, int n=-1)
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
The QString class provides a Unicode character string.
Definition: qstring.h:83
QToolButton * toolButton() const
Returns the button.

◆ childCount()

int QAccessibleToolButton::childCount ( ) const
virtual

Reimplemented Function

Reimplemented from QAccessibleWidgetEx.

Definition at line 374 of file simplewidgets.cpp.

375 {
376  if (!toolButton()->isVisible())
377  return 0;
378  return isSplitButton() ? ButtonDropMenu : 0;
379 }
bool isSplitButton() const
Returns true if this tool button is a split button.
QToolButton * toolButton() const
Returns the button.

◆ doAction()

bool QAccessibleToolButton::doAction ( int  action,
int  child,
const QVariantList params 
)
virtual
Warning
This function is not part of the public interface.

Reimplemented from QAccessibleButton.

Definition at line 497 of file simplewidgets.cpp.

498 {
499  if (!widget()->isEnabled())
500  return false;
501  if (action == 1 || child == ButtonDropMenu) {
502  if(!child)
503  toolButton()->setDown(true);
504 #ifndef QT_NO_MENU
505  toolButton()->showMenu();
506 #endif
507  return true;
508  }
509  return QAccessibleButton::doAction(action, 0, params);
510 }
void showMenu()
Shows (pops up) the associated popup menu.
bool doAction(int action, int child, const QVariantList &params)
Reimplemented Function
QWidget * widget() const
QToolButton * toolButton() const
Returns the button.

◆ isSplitButton()

bool QAccessibleToolButton::isSplitButton ( ) const
protected

Returns true if this tool button is a split button.

Definition at line 339 of file simplewidgets.cpp.

Referenced by actionCount(), childCount(), and role().

340 {
341 #ifndef QT_NO_MENU
343 #else
344  return false;
345 #endif
346 }
QMenu * menu() const
Returns the associated menu, or 0 if no menu has been defined.
ToolButtonPopupMode popupMode
describes the way that popup menus are used with tool buttons
Definition: qtoolbutton.h:64
QToolButton * toolButton() const
Returns the button.

◆ rect()

QRect QAccessibleToolButton::rect ( int  child) const
virtual

Returns the rectangle occupied by this button, depending on child.

Warning
This function is not part of the public interface.

Reimplemented from QAccessibleWidgetEx.

Definition at line 390 of file simplewidgets.cpp.

391 {
392  if (!toolButton()->isVisible())
393  return QRect();
394  if (!child)
395  return QAccessibleButton::rect(child);
396 
398  opt.init(widget());
399  QRect subrect = widget()->style()->subControlRect(QStyle::CC_ToolButton, &opt,
401 
402  if (child == ButtonExecute)
403  subrect = QRect(0, 0, subrect.x(), widget()->height());
404 
405  QPoint ntl = widget()->mapToGlobal(subrect.topLeft());
406  subrect.moveTopLeft(ntl);
407  return subrect;
408 }
virtual QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *widget=0) const =0
Returns the rectangle containing the specified subControl of the given complex control (with the styl...
void init(const QWidget *w)
Use initFrom(widget) instead.
The QStyleOptionToolButton class is used to describe the parameters for drawing a tool button...
Definition: qstyleoption.h:768
QStyle * style() const
Definition: qwidget.cpp:2742
QRect rect(int child) const
Returns the geometry of the object, or of the object&#39;s child if child is not 0.
int height
the height of the widget excluding any window frame
Definition: qwidget.h:167
void moveTopLeft(const QPoint &p)
Moves the rectangle, leaving the top-left corner at the given position.
Definition: qrect.h:368
QWidget * widget() const
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
QToolButton * toolButton() const
Returns the button.
QPoint mapToGlobal(const QPoint &) const
Translates the widget coordinate pos to global screen coordinates.
QPoint topLeft() const
Returns the position of the rectangle&#39;s top-left corner.
Definition: qrect.h:288

◆ role()

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

Reimplemented Function

Reimplemented from QAccessibleWidgetEx.

Definition at line 349 of file simplewidgets.cpp.

350 {
351  if (isSplitButton()) switch(child) {
352  case ButtonExecute:
353  return PushButton;
354  case ButtonDropMenu:
355  return ButtonMenu;
356  }
357  return QAccessibleButton::role(child);
358 }
bool isSplitButton() const
Returns true if this tool button is a split button.
Role role(int child) const
Returns the role of the object, or of the object&#39;s child if child is not 0.

◆ state()

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

Reimplemented Function

Reimplemented from QAccessibleButton.

Definition at line 361 of file simplewidgets.cpp.

362 {
364  if (toolButton()->autoRaise())
365  st |= HotTracked;
366 #ifndef QT_NO_MENU
367  if (toolButton()->menu() && child != ButtonExecute)
368  st |= HasPopup;
369 #endif
370  return st;
371 }
State state(int child) const
Reimplemented Function
State
Definition: qaudio.h:59
#define st(var, type, card)
QToolButton * toolButton() const
Returns the button.

◆ text()

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

Returns the button's text label, depending on the text t, and the child.

Warning
This function is not part of the public interface.

Reimplemented from QAccessibleButton.

Definition at line 419 of file simplewidgets.cpp.

420 {
421  QString str;
422  switch (t) {
423  case Name:
424  str = toolButton()->accessibleName();
425  if (str.isEmpty())
426  str = toolButton()->text();
427  break;
428  default:
429  break;
430  }
431  if (str.isEmpty())
432  str = QAccessibleButton::text(t, child);;
433  return qt_accStripAmp(str);
434 }
QString text() const
The QString class provides a Unicode character string.
Definition: qstring.h:83
QString text(Text t, int child) const
Reimplemented Function
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
Definition: qstring.h:704
QString accessibleName() const
QToolButton * toolButton() const
Returns the button.
QString Q_GUI_EXPORT qt_accStripAmp(const QString &text)

◆ toolButton()

QToolButton * QAccessibleToolButton::toolButton ( ) const
protected

Returns the button.

Definition at line 331 of file simplewidgets.cpp.

Referenced by actionCount(), actionText(), childCount(), doAction(), isSplitButton(), QAccessibleToolButton(), rect(), state(), and text().

332 {
333  return qobject_cast<QToolButton*>(object());
334 }
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 QToolButton class provides a quick-access button to commands or options, usually used inside a QT...
Definition: qtoolbutton.h:59

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