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

The QAccessibleTextEdit class implements the QAccessibleInterface for richtext editors. More...

#include <qaccessiblewidgets.h>

Inheritance diagram for QAccessibleTextEdit:
QAccessibleTextWidget QAccessibleWidgetEx QAccessibleTextInterface QAccessibleEditableTextInterface QAccessibleObjectEx QAccessible2Interface QAccessible2Interface QAccessibleInterfaceEx QAccessibleInterface QAccessible QAccessibleTextBrowser

Public Functions

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...
 
void copyText (int startOffset, int endOffset)
 
void cutText (int startOffset, int endOffset)
 
QVariant invokeMethodEx (QAccessible::Method method, int child, const QVariantList &params)
 
void pasteText (int offset)
 
 QAccessibleTextEdit (QWidget *o)
 Constructs a QAccessibleTextEdit object for a widget. More...
 
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
 Reimplemented Function More...
 
void scrollToSubstring (int startIndex, int endIndex)
 
void setAttributes (int startOffset, int endOffset, const QString &attributes)
 
void setText (Text t, int control, const QString &text)
 Reimplemented Function More...
 
QString text (Text t, int child) const
 Reimplemented Function More...
 
- Public Functions inherited from QAccessibleTextWidget
void addSelection (int startOffset, int endOffset)
 
QString attributes (int offset, int *startOffset, int *endOffset)
 
int characterCount ()
 
QRect characterRect (int offset, QAccessible2::CoordinateType coordType)
 
int cursorPosition ()
 
void deleteText (int startOffset, int endOffset)
 
void insertText (int offset, const QString &text)
 
int offsetAtPoint (const QPoint &point, QAccessible2::CoordinateType coordType)
 
 QAccessibleTextWidget (QWidget *o, Role r=EditableText, const QString &name=QString())
 
void removeSelection (int selectionIndex)
 
void replaceText (int startOffset, int endOffset, const QString &text)
 
void selection (int selectionIndex, int *startOffset, int *endOffset)
 
int selectionCount ()
 
void setCursorPosition (int position)
 
void setSelection (int selectionIndex, int startOffset, int endOffset)
 
QString text (int startOffset, int endOffset)
 
QString textAfterOffset (int offset, QAccessible2::BoundaryType boundaryType, int *startOffset, int *endOffset)
 
QString textAtOffset (int offset, QAccessible2::BoundaryType boundaryType, int *startOffset, int *endOffset)
 
QString textBeforeOffset (int offset, QAccessible2::BoundaryType boundaryType, int *startOffset, int *endOffset)
 
- 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...
 
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...
 
State state (int child) const
 Returns the current state of the object, or of the object's child if child is not 0. 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)
 
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 QAccessibleTextInterface
QAccessible2InterfaceqAccessibleTextCastHelper ()
 
virtual ~QAccessibleTextInterface ()
 
- Public Functions inherited from QAccessible2Interface
virtual ~QAccessible2Interface ()
 
- Public Functions inherited from QAccessibleEditableTextInterface
QAccessible2InterfaceqAccessibleEditableTextCastHelper ()
 
virtual ~QAccessibleEditableTextInterface ()
 

Protected Functions

QPoint scrollBarPosition () const
 
void setTextCursor (const QTextCursor &textCursor)
 
QTextCursor textCursor () const
 
QTextDocumenttextDocument () const
 
QTextEdittextEdit () const
 Returns the text edit. More...
 
QWidgetviewport () const
 
- Protected Functions inherited from QAccessibleTextWidget
QPair< int, int > getBoundaries (int offset, QAccessible2::BoundaryType boundaryType)
 
QTextCursor textCursorForRange (int startOffset, int endOffset) 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 ()
 

Properties

int childOffset
 

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

The QAccessibleTextEdit class implements the QAccessibleInterface for richtext editors.

Warning
This function is not part of the public interface.

Definition at line 143 of file qaccessiblewidgets.h.

Constructors and Destructors

◆ QAccessibleTextEdit()

QAccessibleTextEdit::QAccessibleTextEdit ( QWidget o)
explicit

Constructs a QAccessibleTextEdit object for a widget.

Definition at line 308 of file qaccessiblewidgets.cpp.

310 {
311  Q_ASSERT(widget()->inherits("QTextEdit"));
313 }
QAccessibleTextWidget(QWidget *o, Role r=EditableText, const QString &name=QString())
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
int childCount() const
Returns the number of children that belong to this object.
QWidget * widget() const

Functions

◆ childAt()

int QAccessibleTextEdit::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 369 of file qaccessiblewidgets.cpp.

370 {
371  QTextEdit *edit = textEdit();
372  if (!edit->isVisible())
373  return -1;
374 
375  QPoint point = edit->viewport()->mapFromGlobal(QPoint(x, y));
376  QTextBlock block = edit->cursorForPosition(point).block();
377  if (block.isValid())
378  return qTextBlockPosition(block) + childOffset;
379 
380  return QAccessibleWidgetEx::childAt(x, y);
381 }
QTextCursor cursorForPosition(const QPoint &pos) const
returns a QTextCursor at position pos (in viewport coordinates).
Definition: qtextedit.cpp:1863
QTextEdit * textEdit() const
Returns the text edit.
bool isVisible() const
Definition: qwidget.h:1005
int childAt(int x, int y) const
Returns the 1-based index of the child that contains the screen coordinates (x, y).
QWidget * viewport() const
Returns the viewport widget.
static int qTextBlockPosition(QTextBlock block)
The QTextBlock class provides a container for text fragments in a QTextDocument.
Definition: qtextobject.h:199
QTextBlock block() const
Returns the block that contains the cursor.
The QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
QPoint mapFromGlobal(const QPoint &) const
Translates the global screen coordinate pos to widget coordinates.
bool isValid() const
Returns true if this text block is valid; otherwise returns false.
Definition: qtextobject.h:208
The QTextEdit class provides a widget that is used to edit and display both plain and rich text...
Definition: qtextedit.h:70

◆ childCount()

int QAccessibleTextEdit::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 450 of file qaccessiblewidgets.cpp.

451 {
452  return childOffset + textEdit()->document()->blockCount();
453 }
QTextEdit * textEdit() const
Returns the text edit.
int blockCount
Returns the number of text blocks in the document.
QTextDocument * document() const
Returns a pointer to the underlying document.
Definition: qtextedit.cpp:804

◆ copyText()

void QAccessibleTextEdit::copyText ( int  startOffset,
int  endOffset 
)
virtual

Reimplemented from QAccessibleTextWidget.

Definition at line 1826 of file qaccessiblewidgets.cpp.

1827 {
1828 #ifndef QT_NO_CLIPBOARD
1829  QTextCursor previousCursor = textEdit()->textCursor();
1830  QTextCursor cursor = textCursorForRange(startOffset, endOffset);
1831 
1832  if (!cursor.hasSelection())
1833  return;
1834 
1835  textEdit()->setTextCursor(cursor);
1836  textEdit()->copy();
1837  textEdit()->setTextCursor(previousCursor);
1838 #endif
1839 }
QTextEdit * textEdit() const
Returns the text edit.
QTextCursor textCursorForRange(int startOffset, int endOffset) const
void setTextCursor(const QTextCursor &cursor)
Sets the visible cursor.
Definition: qtextedit.cpp:813
bool hasSelection() const
Returns true if the cursor contains a selection; otherwise returns false.
The QTextCursor class offers an API to access and modify QTextDocuments.
Definition: qtextcursor.h:70
QTextCursor textCursor() const
Returns a copy of the QTextCursor that represents the currently visible cursor.
Definition: qtextedit.cpp:824
void copy()
Copies any selected text to the clipboard.
Definition: qtextedit.cpp:1016

◆ cutText()

void QAccessibleTextEdit::cutText ( int  startOffset,
int  endOffset 
)
virtual

Reimplemented from QAccessibleTextWidget.

Definition at line 1841 of file qaccessiblewidgets.cpp.

1842 {
1843 #ifndef QT_NO_CLIPBOARD
1844  QTextCursor cursor = textCursorForRange(startOffset, endOffset);
1845 
1846  if (!cursor.hasSelection())
1847  return;
1848 
1849  textEdit()->setTextCursor(cursor);
1850  textEdit()->cut();
1851 #endif
1852 }
QTextEdit * textEdit() const
Returns the text edit.
QTextCursor textCursorForRange(int startOffset, int endOffset) const
void setTextCursor(const QTextCursor &cursor)
Sets the visible cursor.
Definition: qtextedit.cpp:813
bool hasSelection() const
Returns true if the cursor contains a selection; otherwise returns false.
The QTextCursor class offers an API to access and modify QTextDocuments.
Definition: qtextcursor.h:70
void cut()
Copies the selected text to the clipboard and deletes it from the text edit.
Definition: qtextedit.cpp:1004

◆ invokeMethodEx()

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

Reimplemented from QAccessibleWidgetEx.

Definition at line 427 of file qaccessiblewidgets.cpp.

429 {
430  if (child)
431  return QVariant();
432 
433  switch (method) {
434  case ListSupportedMethods: {
438  QAccessibleWidgetEx::invokeMethodEx(method, child, params)));
439  }
440  case SetCursorPosition:
441  setCursorPosition(params.value(0).toInt());
442  return true;
443  case GetCursorPosition:
444  return textEdit()->textCursor().position();
445  default:
446  return QAccessibleWidgetEx::invokeMethodEx(method, child, params);
447  }
448 }
The QVariant class acts like a union for the most common Qt data types.
Definition: qvariant.h:92
QTextEdit * textEdit() const
Returns the text edit.
void setCursorPosition(int position)
int toInt(bool *ok=0) const
Returns the variant as an int if the variant has type() Int , Bool , ByteArray , Char ...
Definition: qvariant.cpp:2625
T value(int i) const
Returns the value at index position i in the list.
Definition: qlist.h:661
int position() const
Returns the absolute position of the cursor within the document.
static QVariant fromValue(const T &value)
Returns a QVariant containing a copy of value.
Definition: qvariant.h:336
QTextCursor textCursor() const
Returns a copy of the QTextCursor that represents the currently visible cursor.
Definition: qtextedit.cpp:824
QVariant invokeMethodEx(Method method, int child, const QVariantList &params)
T qvariant_cast(const QVariant &)
Definition: qvariant.h:571

◆ pasteText()

void QAccessibleTextEdit::pasteText ( int  offset)
virtual

Reimplemented from QAccessibleTextWidget.

Definition at line 1854 of file qaccessiblewidgets.cpp.

1855 {
1856  QTextEdit *edit = textEdit();
1857 
1858  QTextCursor oldCursor = edit->textCursor();
1859  QTextCursor newCursor = oldCursor;
1860  newCursor.setPosition(offset);
1861 
1862  edit->setTextCursor(newCursor);
1863 #ifndef QT_NO_CLIPBOARD
1864  edit->paste();
1865 #endif
1866  edit->setTextCursor(oldCursor);
1867 }
QTextEdit * textEdit() const
Returns the text edit.
void paste()
Pastes the text from the clipboard into the text edit at the current cursor position.
Definition: qtextedit.cpp:1036
void setTextCursor(const QTextCursor &cursor)
Sets the visible cursor.
Definition: qtextedit.cpp:813
The QTextCursor class offers an API to access and modify QTextDocuments.
Definition: qtextcursor.h:70
QTextCursor textCursor() const
Returns a copy of the QTextCursor that represents the currently visible cursor.
Definition: qtextedit.cpp:824
void setPosition(int pos, MoveMode mode=MoveAnchor)
Moves the cursor to the absolute position in the document specified by pos using a MoveMode specified...
The QTextEdit class provides a widget that is used to edit and display both plain and rich text...
Definition: qtextedit.h:70

◆ rect()

QRect QAccessibleTextEdit::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 349 of file qaccessiblewidgets.cpp.

350 {
351  if (child <= childOffset)
352  return QAccessibleWidgetEx::rect(child);
353 
354  QTextEdit *edit = textEdit();
355  QTextBlock block = qTextBlockAt(edit->document(), child - childOffset - 1);
356  if (!block.isValid())
357  return QRect();
358 
359  QRect rect = edit->document()->documentLayout()->blockBoundingRect(block).toRect();
360  rect.translate(-edit->horizontalScrollBar()->value(), -edit->verticalScrollBar()->value());
361 
362  rect = edit->viewport()->rect().intersect(rect);
363  if (rect.isEmpty())
364  return QRect();
365 
366  return rect.translated(edit->viewport()->mapToGlobal(QPoint(0, 0)));
367 }
QRect rect(int child) const
Returns the geometry of the object, or of the object&#39;s child if child is not 0.
QTextEdit * textEdit() const
Returns the text edit.
QRect intersect(const QRect &r) const
Use intersected(rectangle) instead.
Definition: qrect.h:476
QRect translated(int dx, int dy) const
Returns a copy of the rectangle that is translated dx along the x axis and dy along the y axis...
Definition: qrect.h:328
QScrollBar * verticalScrollBar() const
Returns the vertical scroll bar.
QWidget * viewport() const
Returns the viewport widget.
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.
static QTextBlock qTextBlockAt(const QTextDocument *doc, int pos)
The QTextBlock class provides a container for text fragments in a QTextDocument.
Definition: qtextobject.h:199
QRect toRect() const
Returns a QRect based on the values of this rectangle.
Definition: qrect.h:845
bool isEmpty() const
Returns true if the rectangle is empty, otherwise returns false.
Definition: qrect.h:234
virtual QRectF blockBoundingRect(const QTextBlock &block) const =0
Returns the bounding rectangle of block.
QRect rect
the internal geometry of the widget excluding any window frame
Definition: qwidget.h:168
QTextDocument * document() const
Returns a pointer to the underlying document.
Definition: qtextedit.cpp:804
The QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
QAbstractTextDocumentLayout * documentLayout() const
Returns the document layout for this document.
QScrollBar * horizontalScrollBar() const
Returns the horizontal scroll bar.
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
bool isValid() const
Returns true if this text block is valid; otherwise returns false.
Definition: qtextobject.h:208
void translate(int dx, int dy)
Moves the rectangle dx along the x axis and dy along the y axis, relative to the current position...
Definition: qrect.h:312
QPoint mapToGlobal(const QPoint &) const
Translates the widget coordinate pos to global screen coordinates.
The QTextEdit class provides a widget that is used to edit and display both plain and rich text...
Definition: qtextedit.h:70

◆ role()

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

Reimplemented Function

Reimplemented from QAccessibleWidgetEx.

Reimplemented in QAccessibleTextBrowser.

Definition at line 420 of file qaccessiblewidgets.cpp.

Referenced by QAccessibleTextBrowser::role().

421 {
422  if (child > childOffset)
423  return EditableText;
424  return QAccessibleWidgetEx::role(child);
425 }
Role role(int child) const
Returns the role of the object, or of the object&#39;s child if child is not 0.

◆ scrollBarPosition()

QPoint QAccessibleTextEdit::scrollBarPosition ( ) const
protectedvirtual

Reimplemented from QAccessibleTextWidget.

Definition at line 341 of file qaccessiblewidgets.cpp.

342 {
343  QPoint result;
344  result.setX(textEdit()->horizontalScrollBar() ? textEdit()->horizontalScrollBar()->sliderPosition() : 0);
345  result.setY(textEdit()->verticalScrollBar() ? textEdit()->verticalScrollBar()->sliderPosition() : 0);
346  return result;
347 }
QTextEdit * textEdit() const
Returns the text edit.
void setY(int y)
Sets the y coordinate of this point to the given y coordinate.
Definition: qpoint.h:137
The QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
void setX(int x)
Sets the x coordinate of this point to the given x coordinate.
Definition: qpoint.h:134

◆ scrollToSubstring()

void QAccessibleTextEdit::scrollToSubstring ( int  startIndex,
int  endIndex 
)
virtual

Implements QAccessibleTextInterface.

Definition at line 1807 of file qaccessiblewidgets.cpp.

1808 {
1809  QTextEdit *edit = textEdit();
1810 
1811  QTextCursor cursor(edit->document());
1812  cursor.setPosition(startIndex);
1813  QRect r = edit->cursorRect(cursor);
1814 
1815  cursor.setPosition(endIndex);
1816  r.setBottomRight(edit->cursorRect(cursor).bottomRight());
1817 
1818  r.moveTo(r.x() + edit->horizontalScrollBar()->value(),
1819  r.y() + edit->verticalScrollBar()->value());
1820 
1821  // E V I L, but ensureVisible is not public
1822  if (!QMetaObject::invokeMethod(edit, "_q_ensureVisible", Q_ARG(QRectF, r)))
1823  qWarning("AccessibleTextEdit::scrollToSubstring failed!");
1824 }
QTextEdit * textEdit() const
Returns the text edit.
QScrollBar * verticalScrollBar() const
Returns the vertical scroll bar.
#define Q_ARG(type, data)
Definition: qobjectdefs.h:246
void moveTo(int x, int t)
Moves the rectangle, leaving the top-left corner at the given position (x, y).
Definition: qrect.h:334
QRect cursorRect(const QTextCursor &cursor) const
returns a rectangle (in viewport coordinates) that includes the cursor.
Definition: qtextedit.cpp:1873
int value() const
The QRectF class defines a rectangle in the plane using floating point precision. ...
Definition: qrect.h:511
QPoint bottomRight() const
Returns the position of the rectangle&#39;s bottom-right corner.
Definition: qrect.h:291
The QTextCursor class offers an API to access and modify QTextDocuments.
Definition: qtextcursor.h:70
Q_CORE_EXPORT void qWarning(const char *,...)
void setBottomRight(const QPoint &p)
Set the bottom-right corner of the rectangle to the given position.
Definition: qrect.h:273
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
QTextDocument * document() const
Returns a pointer to the underlying document.
Definition: qtextedit.cpp:804
QScrollBar * horizontalScrollBar() const
Returns the horizontal scroll bar.
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
void setPosition(int pos, MoveMode mode=MoveAnchor)
Moves the cursor to the absolute position in the document specified by pos using a MoveMode specified...
static bool invokeMethod(QObject *obj, const char *member, Qt::ConnectionType, QGenericReturnArgument ret, QGenericArgument val0=QGenericArgument(0), QGenericArgument val1=QGenericArgument(), QGenericArgument val2=QGenericArgument(), QGenericArgument val3=QGenericArgument(), QGenericArgument val4=QGenericArgument(), QGenericArgument val5=QGenericArgument(), QGenericArgument val6=QGenericArgument(), QGenericArgument val7=QGenericArgument(), QGenericArgument val8=QGenericArgument(), QGenericArgument val9=QGenericArgument())
Invokes the member (a signal or a slot name) on the object obj.
The QTextEdit class provides a widget that is used to edit and display both plain and rich text...
Definition: qtextedit.h:70

◆ setAttributes()

void QAccessibleTextEdit::setAttributes ( int  startOffset,
int  endOffset,
const QString attributes 
)
virtual

Reimplemented from QAccessibleTextWidget.

Definition at line 1869 of file qaccessiblewidgets.cpp.

1870 {
1871  // TODO
1872  Q_UNUSED(startOffset);
1873  Q_UNUSED(endOffset);
1874  Q_UNUSED(attributes);
1875 }
#define Q_UNUSED(x)
Indicates to the compiler that the parameter with the specified name is not used in the body of a fun...
Definition: qglobal.h:1729

◆ setText()

void QAccessibleTextEdit::setText ( Text  t,
int  control,
const QString text 
)
virtual

Reimplemented Function

Reimplemented from QAccessibleObjectEx.

Definition at line 397 of file qaccessiblewidgets.cpp.

398 {
399  if (t != Value || (child > 0 && child <= childOffset)) {
400  QAccessibleWidgetEx::setText(t, child, text);
401  return;
402  }
403  if (textEdit()->isReadOnly())
404  return;
405 
406  if (!child) {
407  textEdit()->setText(text);
408  return;
409  }
410  QTextBlock block = qTextBlockAt(textEdit()->document(), child - childOffset - 1);
411  if (!block.isValid())
412  return;
413 
414  QTextCursor cursor(block);
415  cursor.select(QTextCursor::BlockUnderCursor);
416  cursor.insertText(text);
417 }
QTextEdit * textEdit() const
Returns the text edit.
void setText(Text t, int child, const QString &text)
Sets the text property t of the object, or of the object&#39;s child if child is not 0, to text.
The QTextCursor class offers an API to access and modify QTextDocuments.
Definition: qtextcursor.h:70
static QTextBlock qTextBlockAt(const QTextDocument *doc, int pos)
The QTextBlock class provides a container for text fragments in a QTextDocument.
Definition: qtextobject.h:199
bool isValid() const
Returns true if this text block is valid; otherwise returns false.
Definition: qtextobject.h:208
void setText(const QString &text)
Sets the text edit&#39;s text.
Definition: qtextedit.cpp:2591

◆ setTextCursor()

void QAccessibleTextEdit::setTextCursor ( const QTextCursor textCursor)
protectedvirtual

Implements QAccessibleTextWidget.

Definition at line 331 of file qaccessiblewidgets.cpp.

332 {
333  textEdit()->setTextCursor(textCursor);
334 }
QTextEdit * textEdit() const
Returns the text edit.
void setTextCursor(const QTextCursor &cursor)
Sets the visible cursor.
Definition: qtextedit.cpp:813

◆ text()

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

Reimplemented Function

Reimplemented from QAccessibleWidgetEx.

Definition at line 384 of file qaccessiblewidgets.cpp.

385 {
386  if (t == Value) {
387  if (child > childOffset)
388  return qTextBlockAt(textEdit()->document(), child - childOffset - 1).text();
389  if (!child)
390  return textEdit()->toPlainText();
391  }
392 
393  return QAccessibleWidgetEx::text(t, child);
394 }
QString text() const
Returns the block&#39;s contents as plain text.
QTextEdit * textEdit() const
Returns the text edit.
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...
QString toPlainText() const
Returns the text of the text edit as plain text.
Definition: qtextedit.h:189
static QTextBlock qTextBlockAt(const QTextDocument *doc, int pos)

◆ textCursor()

QTextCursor QAccessibleTextEdit::textCursor ( ) const
protectedvirtual

Implements QAccessibleTextWidget.

Definition at line 321 of file qaccessiblewidgets.cpp.

322 {
323  return textEdit()->textCursor();
324 }
QTextEdit * textEdit() const
Returns the text edit.
QTextCursor textCursor() const
Returns a copy of the QTextCursor that represents the currently visible cursor.
Definition: qtextedit.cpp:824

◆ textDocument()

QTextDocument * QAccessibleTextEdit::textDocument ( ) const
protectedvirtual

Implements QAccessibleTextWidget.

Definition at line 326 of file qaccessiblewidgets.cpp.

327 {
328  return textEdit()->document();
329 }
QTextEdit * textEdit() const
Returns the text edit.
QTextDocument * document() const
Returns a pointer to the underlying document.
Definition: qtextedit.cpp:804

◆ textEdit()

QTextEdit * QAccessibleTextEdit::textEdit ( ) const
protected

Returns the text edit.

Definition at line 316 of file qaccessiblewidgets.cpp.

Referenced by childAt(), childCount(), invokeMethodEx(), rect(), scrollBarPosition(), setText(), setTextCursor(), text(), textCursor(), textDocument(), and viewport().

317 {
318  return static_cast<QTextEdit *>(widget());
319 }
QWidget * widget() const
The QTextEdit class provides a widget that is used to edit and display both plain and rich text...
Definition: qtextedit.h:70

◆ viewport()

QWidget * QAccessibleTextEdit::viewport ( ) const
protectedvirtual

Implements QAccessibleTextWidget.

Definition at line 336 of file qaccessiblewidgets.cpp.

337 {
338  return textEdit()->viewport();
339 }
QTextEdit * textEdit() const
Returns the text edit.
QWidget * viewport() const
Returns the viewport widget.

Properties

◆ childOffset

int QAccessibleTextEdit::childOffset
private

Definition at line 178 of file qaccessiblewidgets.h.

Referenced by childAt(), childCount(), QAccessibleTextEdit(), rect(), role(), setText(), and text().


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