Qt 4.8
Public Functions | Private Functions | Properties | Friends | List of all members
QAccessibleTable2Cell Class Reference

#include <itemviews.h>

Inheritance diagram for QAccessibleTable2Cell:
QAccessibleTable2CellInterface QAccessibleInterface QAccessible

Public Functions

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, int) 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...
 
virtual int columnExtent () const
 
virtual QList< QAccessibleInterface * > columnHeaderCells () const
 
virtual int columnIndex () const
 
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 *) 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...
 
bool isExpandable () const
 
virtual bool isSelected () const
 
bool isValid () const
 Returns true if all the data necessary to use this interface implementation is valid (e. More...
 
int navigate (RelationFlag relation, int m_index, QAccessibleInterface **iface) const
 Navigates from this object to an object that has a relationship relation to this object, and returns the respective object in target. More...
 
QObjectobject () const
 Returns a pointer to the QObject this interface implementation provides information for. More...
 
 QAccessibleTable2Cell (QAbstractItemView *view, const QModelIndex &m_index, QAccessible::Role role)
 
QRect rect (int child) const
 Returns the geometry of the object, or of the object's child if child is not 0. More...
 
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...
 
Role role (int child) const
 Returns the role of the object, or of the object's child if child is not 0. More...
 
virtual void rowColumnExtents (int *row, int *column, int *rowExtents, int *columnExtents, bool *selected) const
 
virtual int rowExtent () const
 
virtual QList< QAccessibleInterface * > rowHeaderCells () const
 
virtual int rowIndex () const
 
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...
 
State state (int child) const
 Returns the current state of the object, or of the object's child if child is not 0. More...
 
virtual QAccessibleTable2Interfacetable () const
 
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...
 
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 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...
 

Private Functions

QHeaderViewhorizontalHeader () const
 
QHeaderViewverticalHeader () const
 

Properties

QModelIndex m_index
 
QAccessible::Role m_role
 
QPointer< QAbstractItemViewview
 

Friends

class QAccessibleTable2
 
class QAccessibleTree
 

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 180 of file itemviews.h.

Constructors and Destructors

◆ QAccessibleTable2Cell()

QAccessibleTable2Cell::QAccessibleTable2Cell ( QAbstractItemView view,
const QModelIndex m_index,
QAccessible::Role  role 
)

Definition at line 695 of file itemviews.cpp.

696  : /* QAccessibleSimpleEditableTextInterface(this), */ view(view_), m_index(index_), m_role(role_)
697 {
698  Q_ASSERT(index_.isValid());
699 }
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
QModelIndex m_index
Definition: itemviews.h:224
QAccessible::Role m_role
Definition: itemviews.h:225
QPointer< QAbstractItemView > view
Definition: itemviews.h:223

Functions

◆ actionText()

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

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

See also
text(), userActionCount()

Implements QAccessibleInterface.

Definition at line 961 of file itemviews.cpp.

962 {
963  return QString();
964 }
The QString class provides a Unicode character string.
Definition: qstring.h:83

◆ childAt()

int QAccessibleTable2Cell::childAt ( int  x,
int  y 
) const
inlinevirtual

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

Implements QAccessibleInterface.

Definition at line 191 of file itemviews.h.

191 { return 0; }

◆ childCount()

int QAccessibleTable2Cell::childCount ( ) const
inlinevirtual

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

Implements QAccessibleInterface.

Definition at line 192 of file itemviews.h.

192 { return 0; }

◆ columnExtent()

int QAccessibleTable2Cell::columnExtent ( ) const
virtual

Implements QAccessibleTable2CellInterface.

Definition at line 701 of file itemviews.cpp.

701 { return 1; }

◆ columnHeaderCells()

QList< QAccessibleInterface * > QAccessibleTable2Cell::columnHeaderCells ( ) const
virtual

Implements QAccessibleTable2CellInterface.

Definition at line 713 of file itemviews.cpp.

714 {
715  QList<QAccessibleInterface*> headerCell;
716  if (horizontalHeader()) {
718  }
719  return headerCell;
720 }
QHeaderView * horizontalHeader() const
Definition: itemviews.cpp:722
QModelIndex m_index
Definition: itemviews.h:224
void append(const T &t)
Inserts value at the end of the list.
Definition: qlist.h:507
QPointer< QAbstractItemView > view
Definition: itemviews.h:223
int column() const
Returns the column this model index refers to.
The QList class is a template class that provides lists.
Definition: qdatastream.h:62

◆ columnIndex()

int QAccessibleTable2Cell::columnIndex ( ) const
virtual

Implements QAccessibleTable2CellInterface.

Definition at line 750 of file itemviews.cpp.

751 {
752  return m_index.column();
753 }
QModelIndex m_index
Definition: itemviews.h:224
int column() const
Returns the column this model index refers to.

◆ doAction()

bool QAccessibleTable2Cell::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()

Implements QAccessibleInterface.

Definition at line 966 of file itemviews.cpp.

967 {
968  return false;
969 }

◆ horizontalHeader()

QHeaderView * QAccessibleTable2Cell::horizontalHeader ( ) const
private

Definition at line 722 of file itemviews.cpp.

Referenced by columnHeaderCells().

723 {
724  QHeaderView *header = 0;
725 
726  if (false) {
727 #ifndef QT_NO_TABLEVIEW
728  } else if (const QTableView *tv = qobject_cast<const QTableView*>(view)) {
729  header = tv->horizontalHeader();
730 #endif
731 #ifndef QT_NO_TREEVIEW
732  } else if (const QTreeView *tv = qobject_cast<const QTreeView*>(view)) {
733  header = tv->header();
734 #endif
735  }
736 
737  return header;
738 }
The QTreeView class provides a default model/view implementation of a tree view.
Definition: qtreeview.h:58
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
QPointer< QAbstractItemView > view
Definition: itemviews.h:223
The QHeaderView class provides a header row or header column for item views.
Definition: qheaderview.h:58

◆ indexOfChild()

int QAccessibleTable2Cell::indexOfChild ( const QAccessibleInterface child) const
inlinevirtual

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

Implements QAccessibleInterface.

Definition at line 193 of file itemviews.h.

193 { return -1; }

◆ isExpandable()

bool QAccessibleTable2Cell::isExpandable ( ) const
virtual

Implements QAccessibleTable2CellInterface.

Definition at line 825 of file itemviews.cpp.

826 {
827  return view->model()->hasChildren(m_index);
828 }
QModelIndex m_index
Definition: itemviews.h:224
virtual bool hasChildren(const QModelIndex &parent=QModelIndex()) const
Returns true if parent has any children; otherwise returns false.
QPointer< QAbstractItemView > view
Definition: itemviews.h:223
QAbstractItemModel * model() const
Returns the model that this view is presenting.

◆ isSelected()

bool QAccessibleTable2Cell::isSelected ( ) const
virtual

Implements QAccessibleTable2CellInterface.

Definition at line 766 of file itemviews.cpp.

Referenced by rowColumnExtents().

767 {
769 }
QModelIndex m_index
Definition: itemviews.h:224
QItemSelectionModel * selectionModel() const
Returns the current selection model.
bool isSelected(const QModelIndex &index) const
Returns true if the given model item index is selected.
QPointer< QAbstractItemView > view
Definition: itemviews.h:223

◆ isValid()

bool QAccessibleTable2Cell::isValid ( ) const
virtual

Returns true if all the data necessary to use this interface implementation is valid (e.

g. all pointers are non-null); otherwise returns false.

See also
object()

Implements QAccessibleInterface.

Definition at line 872 of file itemviews.cpp.

873 {
874  return view && view->model() && m_index.isValid();
875 }
QModelIndex m_index
Definition: itemviews.h:224
bool isValid() const
Returns true if this model index is valid; otherwise returns false.
QPointer< QAbstractItemView > view
Definition: itemviews.h:223
QAbstractItemModel * model() const
Returns the model that this view is presenting.

◆ navigate()

int QAccessibleTable2Cell::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()

Implements QAccessibleInterface.

Definition at line 877 of file itemviews.cpp.

878 {
879  if (relation == Ancestor && index == 1) {
880  if (m_role == QAccessible::TreeItem) {
881  *iface = new QAccessibleTree(view);
882  } else {
883  *iface = new QAccessibleTable2(view);
884  }
885  return 0;
886  }
887 
888  *iface = 0;
889  if (!view)
890  return -1;
891 
892  switch (relation) {
893 
894  case Child: {
895  return -1;
896  }
897  case Sibling:
898  if (index > 0) {
900  int ret = parent->navigate(QAccessible::Child, index, iface);
901  delete parent;
902  if (*iface)
903  return ret;
904  }
905  return -1;
906 
907 // From table1 implementation:
908 // case Up:
909 // case Down:
910 // case Left:
911 // case Right: {
912 // // This is in the "not so nice" category. In order to find out which item
913 // // is geometrically around, we have to set the current index, navigate
914 // // and restore the index as well as the old selection
915 // view()->setUpdatesEnabled(false);
916 // const QModelIndex oldIdx = view()->currentIndex();
917 // QList<QModelIndex> kids = children();
918 // const QModelIndex currentIndex = index ? kids.at(index - 1) : QModelIndex(row);
919 // const QItemSelection oldSelection = view()->selectionModel()->selection();
920 // view()->setCurrentIndex(currentIndex);
921 // const QModelIndex idx = view()->moveCursor(toCursorAction(relation), Qt::NoModifier);
922 // view()->setCurrentIndex(oldIdx);
923 // view()->selectionModel()->select(oldSelection, QItemSelectionModel::ClearAndSelect);
924 // view()->setUpdatesEnabled(true);
925 // if (!idx.isValid())
926 // return -1;
927 
928 // if (idx.parent() != row.parent() || idx.row() != row.row())
929 // *iface = cell(idx);
930 // return index ? kids.indexOf(idx) + 1 : 0; }
931  default:
932  break;
933  }
934 
935  return -1;
936 }
friend class QAccessibleTable2
Definition: itemviews.h:227
friend class QAccessibleTree
Definition: itemviews.h:228
QAccessible::Role m_role
Definition: itemviews.h:225
virtual int navigate(RelationFlag relation, int index, QAccessibleInterface **iface) const =0
Navigates from this object to an object that has a relationship relation to this object, and returns the respective object in target.
static QAccessibleInterface * queryAccessibleInterface(QObject *)
If a QAccessibleInterface implementation exists for the given object, this function returns a pointer...
The QAccessibleInterface class defines an interface that exposes information about accessible objects...
Definition: qaccessible.h:370
quint16 index
QPointer< QAbstractItemView > view
Definition: itemviews.h:223

◆ object()

QObject* QAccessibleTable2Cell::object ( ) const
inlinevirtual

Returns a pointer to the QObject this interface implementation provides information for.

See also
isValid()

Implements QAccessibleInterface.

Definition at line 185 of file itemviews.h.

185 { return 0; }

◆ rect()

QRect QAccessibleTable2Cell::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()

Implements QAccessibleInterface.

Definition at line 830 of file itemviews.cpp.

Referenced by state().

831 {
832  Q_ASSERT(child == 0);
833 
834  QRect r;
835  r = view->visualRect(m_index);
836 
837  if (!r.isNull())
838  r.translate(view->viewport()->mapTo(view, QPoint(0,0)));
839  r.translate(view->mapToGlobal(QPoint(0, 0)));
840  return r;
841 }
bool isNull() const
Returns true if the rectangle is a null rectangle, otherwise returns false.
Definition: qrect.h:231
QPoint mapTo(QWidget *, const QPoint &) const
Translates the widget coordinate pos to the coordinate system of parent.
Definition: qwidget.cpp:4409
virtual QRect visualRect(const QModelIndex &index) const =0
Returns the rectangle on the viewport occupied by the item at index.
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
QModelIndex m_index
Definition: itemviews.h:224
QWidget * viewport() const
Returns the viewport widget.
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
QPointer< QAbstractItemView > view
Definition: itemviews.h:223
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.

◆ relationTo()

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

Returns the relationship between this object's \a child and the \a
other object's \a otherChild.

If child is 0 the object's own relation is returned.

The returned value indicates the relation of the called object to the other object, e.g. if this object is a child of other the return value will be Child.

The return value is a combination of the bit flags in the QAccessible::Relation enumeration.

All objects provide this information.

See also
indexOfChild(), navigate()

Implements QAccessibleInterface.

Definition at line 938 of file itemviews.cpp.

939 {
940  Q_ASSERT(child == 0);
941  Q_ASSERT(otherChild == 0);
942  // we only check for parent-child relationships in trees
943  if (m_role == QAccessible::TreeItem && other->role(0) == QAccessible::TreeItem) {
944  QModelIndex otherIndex = static_cast<const QAccessibleTable2Cell*>(other)->m_index;
945  // is the other our parent?
946  if (otherIndex.parent() == m_index)
947  return QAccessible::Ancestor;
948  // are we the other's child?
949  if (m_index.parent() == otherIndex)
950  return QAccessible::Child;
951  }
952  return QAccessible::Unrelated;
953 }
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
QModelIndex parent() const
Returns the parent of the model index, or QModelIndex() if it has no parent.
QModelIndex m_index
Definition: itemviews.h:224
QAccessible::Role m_role
Definition: itemviews.h:225
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.
The QModelIndex class is used to locate data in a data model.

◆ role()

QAccessible::Role QAccessibleTable2Cell::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()

Implements QAccessibleInterface.

Definition at line 785 of file itemviews.cpp.

Referenced by rowIndex().

786 {
787  Q_ASSERT(child == 0);
788  return m_role;
789 }
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
QAccessible::Role m_role
Definition: itemviews.h:225

◆ rowColumnExtents()

void QAccessibleTable2Cell::rowColumnExtents ( int *  row,
int *  column,
int *  rowExtents,
int *  columnExtents,
bool *  selected 
) const
virtual

Implements QAccessibleTable2CellInterface.

Definition at line 771 of file itemviews.cpp.

772 {
773  *row = m_index.row();
774  *column = m_index.column();
775  *rowExtents = 1;
776  *columnExtents = 1;
777  *selected = isSelected();
778 }
QModelIndex m_index
Definition: itemviews.h:224
int row() const
Returns the row this model index refers to.
int column() const
Returns the column this model index refers to.
virtual bool isSelected() const
Definition: itemviews.cpp:766

◆ rowExtent()

int QAccessibleTable2Cell::rowExtent ( ) const
virtual

Implements QAccessibleTable2CellInterface.

Definition at line 702 of file itemviews.cpp.

702 { return 1; }

◆ rowHeaderCells()

QList< QAccessibleInterface * > QAccessibleTable2Cell::rowHeaderCells ( ) const
virtual

Implements QAccessibleTable2CellInterface.

Definition at line 704 of file itemviews.cpp.

705 {
706  QList<QAccessibleInterface*> headerCell;
707  if (verticalHeader()) {
709  }
710  return headerCell;
711 }
QModelIndex m_index
Definition: itemviews.h:224
void append(const T &t)
Inserts value at the end of the list.
Definition: qlist.h:507
int row() const
Returns the row this model index refers to.
QPointer< QAbstractItemView > view
Definition: itemviews.h:223
QHeaderView * verticalHeader() const
Definition: itemviews.cpp:740
The QList class is a template class that provides lists.
Definition: qdatastream.h:62

◆ rowIndex()

int QAccessibleTable2Cell::rowIndex ( ) const
virtual

Implements QAccessibleTable2CellInterface.

Definition at line 755 of file itemviews.cpp.

756 {
757  if (role(0) == QAccessible::TreeItem) {
758  const QTreeView *treeView = qobject_cast<const QTreeView*>(view);
759  Q_ASSERT(treeView);
760  int row = treeView->d_func()->viewIndex(m_index);
761  return row;
762  }
763  return m_index.row();
764 }
T qobject_cast(QObject *object)
Definition: qobject.h:375
Role role(int child) const
Returns the role of the object, or of the object&#39;s child if child is not 0.
Definition: itemviews.cpp:785
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
QModelIndex m_index
Definition: itemviews.h:224
The QTreeView class provides a default model/view implementation of a tree view.
Definition: qtreeview.h:58
int row() const
Returns the row this model index refers to.
QPointer< QAbstractItemView > view
Definition: itemviews.h:223

◆ setText()

void QAccessibleTable2Cell::setText ( Text  t,
int  child,
const QString text 
)
virtual

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

Note that the text properties of most objects are read-only.

See also
text()

Implements QAccessibleInterface.

Definition at line 864 of file itemviews.cpp.

865 {
866  Q_ASSERT(child == 0);
867  if (!(m_index.flags() & Qt::ItemIsEditable))
868  return;
869  view->model()->setData(m_index, text);
870 }
virtual bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)
Sets the role data for the item at index to value.
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
QModelIndex m_index
Definition: itemviews.h:224
Qt::ItemFlags flags() const
Returns the flags for the item referred to by the index.
QPointer< QAbstractItemView > view
Definition: itemviews.h:223
QAbstractItemModel * model() const
Returns the model that this view is presenting.

◆ state()

QAccessible::State QAccessibleTable2Cell::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()

Implements QAccessibleInterface.

Definition at line 791 of file itemviews.cpp.

792 {
793  Q_ASSERT(child == 0);
794  State st = Normal;
795 
796  QRect globalRect = view->rect();
797  globalRect.translate(view->mapToGlobal(QPoint(0,0)));
798  if (!globalRect.intersects(rect(0)))
799  st |= Invisible;
800 
802  st |= Selected;
804  st |= Focused;
806  st |= Checked;
807 
808  Qt::ItemFlags flags = m_index.flags();
809  if (flags & Qt::ItemIsSelectable) {
810  st |= Selectable;
811  st |= Focusable;
813  st |= MultiSelectable;
815  st |= ExtSelectable;
816  }
817  if (m_role == QAccessible::TreeItem) {
818  const QTreeView *treeView = qobject_cast<const QTreeView*>(view);
819  if (treeView->isExpanded(m_index))
820  st |= Expanded;
821  }
822  return st;
823 }
T qobject_cast(QObject *object)
Definition: qobject.h:375
bool isExpanded(const QModelIndex &index) const
Returns true if the model item index is expanded; otherwise returns false.
Definition: qtreeview.cpp:859
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
QModelIndex m_index
Definition: itemviews.h:224
SelectionMode selectionMode
which selection mode the view operates in
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
QAccessible::Role m_role
Definition: itemviews.h:225
QItemSelectionModel * selectionModel() const
Returns the current selection model.
bool isSelected(const QModelIndex &index) const
Returns true if the given model item index is selected.
The QTreeView class provides a default model/view implementation of a tree view.
Definition: qtreeview.h:58
const QAbstractItemModel * model() const
Returns a pointer to the model containing the item that this index refers to.
virtual QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const =0
Returns the data stored under the given role for the item referred to by the index.
QModelIndex currentIndex() const
Returns the model item index for the current item, or an invalid index if there is no current item...
The State element defines configurations of objects and properties.
QRect rect() const
Qt::ItemFlags flags() const
Returns the flags for the item referred to by the index.
#define st(var, type, card)
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
QPointer< QAbstractItemView > view
Definition: itemviews.h:223
bool intersects(const QRect &r) const
Returns true if this rectangle intersects with the given rectangle (i.
Definition: qrect.cpp:1429
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
QRect rect(int child) const
Returns the geometry of the object, or of the object&#39;s child if child is not 0.
Definition: itemviews.cpp:830
QPoint mapToGlobal(const QPoint &) const
Translates the widget coordinate pos to global screen coordinates.

◆ table()

QAccessibleTable2Interface * QAccessibleTable2Cell::table ( ) const
virtual

Implements QAccessibleTable2CellInterface.

Definition at line 780 of file itemviews.cpp.

781 {
783 }
static QAccessibleInterface * queryAccessibleInterface(QObject *)
If a QAccessibleInterface implementation exists for the given object, this function returns a pointer...
QAccessibleTable2Interface * table2Interface()
Definition: qaccessible.h:432
QPointer< QAbstractItemView > view
Definition: itemviews.h:223

◆ text()

QString QAccessibleTable2Cell::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()

Implements QAccessibleInterface.

Definition at line 843 of file itemviews.cpp.

844 {
845  Q_ASSERT(child == 0);
846  QAbstractItemModel *model = view->model();
847  QString value;
848  switch (t) {
849  case QAccessible::Value:
850  case QAccessible::Name:
851  value = model->data(m_index, Qt::AccessibleTextRole).toString();
852  if (value.isEmpty())
853  value = model->data(m_index, Qt::DisplayRole).toString();
854  break;
857  break;
858  default:
859  break;
860  }
861  return value;
862 }
QString toString() const
Returns the variant as a QString if the variant has type() String , Bool , ByteArray ...
Definition: qvariant.cpp:2270
The QString class provides a Unicode character string.
Definition: qstring.h:83
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
QModelIndex m_index
Definition: itemviews.h:224
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
Definition: qstring.h:704
virtual QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const =0
Returns the data stored under the given role for the item referred to by the index.
The QAbstractItemModel class provides the abstract interface for item model classes.
QPointer< QAbstractItemView > view
Definition: itemviews.h:223
QAbstractItemModel * model() const
Returns the model that this view is presenting.

◆ userActionCount()

int QAccessibleTable2Cell::userActionCount ( int  child) const
virtual

Returns the number of custom actions of the object, or of the object's child if child is not 0.

The Action type enumerates predefined actions: these are not included in the returned value.

See also
actionText(), doAction()

Implements QAccessibleInterface.

Definition at line 956 of file itemviews.cpp.

957 {
958  return 0;
959 }

◆ verticalHeader()

QHeaderView * QAccessibleTable2Cell::verticalHeader ( ) const
private

Definition at line 740 of file itemviews.cpp.

Referenced by rowHeaderCells().

741 {
742  QHeaderView *header = 0;
743 #ifndef QT_NO_TABLEVIEW
744  if (const QTableView *tv = qobject_cast<const QTableView*>(view))
745  header = tv->verticalHeader();
746 #endif
747  return header;
748 }
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
QPointer< QAbstractItemView > view
Definition: itemviews.h:223
The QHeaderView class provides a header row or header column for item views.
Definition: qheaderview.h:58

Friends and Related Functions

◆ QAccessibleTable2

friend class QAccessibleTable2
friend

Definition at line 227 of file itemviews.h.

Referenced by navigate().

◆ QAccessibleTree

friend class QAccessibleTree
friend

Definition at line 228 of file itemviews.h.

Referenced by navigate().

Properties

◆ m_index

QModelIndex QAccessibleTable2Cell::m_index
private

◆ m_role

QAccessible::Role QAccessibleTable2Cell::m_role
private

Definition at line 225 of file itemviews.h.

Referenced by navigate(), relationTo(), role(), and state().

◆ view

QPointer<QAbstractItemView > QAccessibleTable2Cell::view
private

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