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

#include <rangecontrols.h>

Inheritance diagram for QAccessibleDial:
QAccessibleWidgetEx QAccessibleObjectEx QAccessibleInterfaceEx QAccessibleInterface QAccessible

Public Types

enum  DialElements { Self = 0, SpeedoMeter, SliderHandle }
 
- 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 childCount () const
 Returns the number of children that belong to this object. More...
 
QVariant invokeMethodEx (Method method, int child, const QVariantList &params)
 
 QAccessibleDial (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 textType, 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...
 
int childAt (int x, int y) const
 Returns the 1-based index of the child that contains the screen coordinates (x, y). 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 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...
 

Protected Functions

QDialdial () 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

- 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 208 of file rangecontrols.h.

Enumerations

◆ DialElements

Enumerator
Self 
SpeedoMeter 
SliderHandle 

Definition at line 213 of file rangecontrols.h.

Constructors and Destructors

◆ QAccessibleDial()

QAccessibleDial::QAccessibleDial ( QWidget w)
explicit

Definition at line 861 of file rangecontrols.cpp.

863 {
864  Q_ASSERT(qobject_cast<QDial *>(widget));
865  addControllingSignal(QLatin1String("valueChanged(int)"));
866 }
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
void addControllingSignal(const QString &signal)
QWidget * widget() const
QAccessibleWidgetEx(QWidget *o, Role r=Client, const QString &name=QString())

Functions

◆ childCount()

int QAccessibleDial::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 940 of file rangecontrols.cpp.

941 {
942  return SliderHandle;
943 }

◆ dial()

QDial * QAccessibleDial::dial ( ) const
protected

Definition at line 986 of file rangecontrols.cpp.

Referenced by rect(), and text().

987 {
988  return static_cast<QDial*>(object());
989 }
QObject * object() const
Returns a pointer to the QObject this interface implementation provides information for...
The QDial class provides a rounded range control (like a speedometer or potentiometer).
Definition: qdial.h:59

◆ invokeMethodEx()

QVariant QAccessibleDial::invokeMethodEx ( Method  method,
int  child,
const QVariantList params 
)
virtual

Reimplemented from QAccessibleWidgetEx.

Definition at line 981 of file rangecontrols.cpp.

982 {
983  return QVariant();
984 }
The QVariant class acts like a union for the most common Qt data types.
Definition: qvariant.h:92

◆ rect()

QRect QAccessibleDial::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 868 of file rangecontrols.cpp.

869 {
870  QRect rect;
871  if (!dial()->isVisible())
872  return rect;
873  switch (child) {
874  case Self:
875  return QAccessibleWidgetEx::rect(child);
876  case SpeedoMeter: {
877  // Mixture from qcommonstyle.cpp (focus rect).
878  int width = dial()->width();
879  int height = dial()->height();
880  qreal radius = qMin(width, height) / 2.0;
881  qreal delta = radius / 6.0;
882  qreal dx = delta + (width - 2 * radius) / 2.0;
883  qreal dy = delta + (height - 2 * radius) / 2.0;
884  rect = QRect(int(dx), int(dy), int(radius * 2 - 2 * delta), int(radius * 2 - 2 * delta));
885  if (dial()->notchesVisible()) {
886  rect.translate(int(-radius / 6), int(-radius / 6));
887  rect.setWidth(rect.width() + int(radius / 3));
888  rect.setHeight(rect.height() + int(radius / 3));
889  }
890  break;
891  }
892  case SliderHandle: {
893  // Mixture from qcommonstyle.cpp and qdial.cpp.
894  int sliderValue = !dial()->invertedAppearance() ? dial()->value()
895  : (dial()->maximum() - dial()->value());
896  qreal angle = 0;
897  if (dial()->maximum() == dial()->minimum()) {
898  angle = Q_PI / 2;
899  } else if (dial()->wrapping()) {
900  angle = Q_PI * 3 / 2 - (sliderValue - dial()->minimum()) * 2 * Q_PI
901  / (dial()->maximum() - dial()->minimum());
902  } else {
903  angle = (Q_PI * 8 - (sliderValue - dial()->minimum()) * 10 * Q_PI
904  / (dial()->maximum() - dial()->minimum())) / 6;
905  }
906 
907  int width = dial()->rect().width();
908  int height = dial()->rect().height();
909  int radius = qMin(width, height) / 2;
910  int xc = width / 2;
911  int yc = height / 2;
912  int bigLineSize = radius / 6;
913  if (bigLineSize < 4)
914  bigLineSize = 4;
915  if (bigLineSize > radius / 2)
916  bigLineSize = radius / 2;
917  int len = radius - bigLineSize - 5;
918  if (len < 5)
919  len = 5;
920  int back = len / 2;
921 
922  QPolygonF arrow(3);
923  arrow[0] = QPointF(0.5 + xc + len * qCos(angle),
924  0.5 + yc - len * qSin(angle));
925  arrow[1] = QPointF(0.5 + xc + back * qCos(angle + Q_PI * 5 / 6),
926  0.5 + yc - back * qSin(angle + Q_PI * 5 / 6));
927  arrow[2] = QPointF(0.5 + xc + back * qCos(angle - Q_PI * 5 / 6),
928  0.5 + yc - back * qSin(angle - Q_PI * 5 / 6));
929  rect = arrow.boundingRect().toRect();
930  break;
931  }
932  default:
933  return QRect();
934  }
935 
936  QPoint globalPos = dial()->mapToGlobal(QPoint(0,0));
937  return QRect(globalPos.x() + rect.x(), globalPos.y() + rect.y(), rect.width(), rect.height());
938 }
double qreal
Definition: qglobal.h:1193
Q_DECL_CONSTEXPR const T & qMin(const T &a, const T &b)
Definition: qglobal.h:1215
int minimum() const
The QPointF class defines a point in the plane using floating point precision.
Definition: qpoint.h:214
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
int height() const
int value() const
QRect rect(int child) const
Returns the geometry of the object, or of the object&#39;s child if child is not 0.
qreal qSin(qreal v)
Definition: qmath.h:93
int width() const
The QPolygonF class provides a vector of points using floating point precision.
Definition: qpolygon.h:134
bool invertedAppearance() const
QRect rect() const
bool wrapping
whether wrapping is enabled
Definition: qdial.h:63
qreal angle(const QPointF &p1, const QPointF &p2)
The QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
QRect rect(int child) const
Returns the geometry of the object, or of the object&#39;s child if child is not 0.
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
int maximum() const
qreal qCos(qreal v)
Definition: qmath.h:109
QPoint mapToGlobal(const QPoint &) const
Translates the widget coordinate pos to global screen coordinates.
QDial * dial() const
static const qreal Q_PI
Definition: qmath_p.h:61

◆ role()

QAccessible::Role QAccessibleDial::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 964 of file rangecontrols.cpp.

965 {
966  if (child == SpeedoMeter)
967  return Slider;
968  else if (child == SliderHandle)
969  return Indicator;
970  return QAccessibleWidgetEx::role(child);
971 }
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 QAccessibleDial::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 973 of file rangecontrols.cpp.

974 {
975  const State parentState = QAccessibleWidgetEx::state(0);
976  if (child == SliderHandle)
977  return parentState | HotTracked;
978  return parentState;
979 }
The State element defines configurations of objects and properties.
State state(int child) const
Returns the current state of the object, or of the object&#39;s child if child is not 0...

◆ text()

QString QAccessibleDial::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 945 of file rangecontrols.cpp.

946 {
947  if (textType == Value && child >= Self && child <= SliderHandle)
948  return QString::number(dial()->value());
949  if (textType == Name) {
950  switch (child) {
951  case Self:
952  if (!widget()->accessibleName().isEmpty())
953  return widget()->accessibleName();
954  return QDial::tr("QDial");
955  case SpeedoMeter:
956  return QDial::tr("SpeedoMeter");
957  case SliderHandle:
958  return QDial::tr("SliderHandle");
959  }
960  }
961  return QAccessibleWidgetEx::text(textType, child);
962 }
QString accessibleName
the widget&#39;s name as seen by assistive technologies
Definition: qwidget.h:213
static QString number(int, int base=10)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: qstring.cpp:6448
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...
static QString tr(const char *sourceText, const char *comment=0, int n=-1)
static bool isEmpty(const char *str)
QWidget * widget() const
QDial * dial() const

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