📄 qaccessiblewidget.cpp
字号:
{ return 0;}/*! \class QAccessibleListBox qaccessiblewidget.h \brief The QAccessibleListBox class implements the QAccessibleInterface for list boxes.*//*! Constructs a QAccessibleListBox object for \a o.*/QAccessibleListBox::QAccessibleListBox( QObject *o ) : QAccessibleScrollView( o, List ){ Q_ASSERT(widget()->inherits("QListBox"));}/*! Returns the list box. */QListBox *QAccessibleListBox::listBox() const{ return (QListBox*)widget();}/*! \reimp */int QAccessibleListBox::itemAt( int x, int y ) const{ QListBoxItem *item = listBox()->itemAt( QPoint( x, y ) ); return listBox()->index( item ) + 1;}/*! \reimp */QRect QAccessibleListBox::itemRect( int item ) const{ return listBox()->itemRect( listBox()->item( item-1 ) );}/*! \reimp */int QAccessibleListBox::itemCount() const{ return listBox()->count();}/*! \reimp */QString QAccessibleListBox::text( Text t, int control ) const{ if ( !control || t != Name ) return QAccessibleScrollView::text( t, control ); QListBoxItem *item = listBox()->item( control - 1 ); if ( item ) return item->text(); return QString::null;}/*! \reimp */QAccessible::Role QAccessibleListBox::role( int control ) const{ if ( !control ) return QAccessibleScrollView::role( control ); return ListItem;}/*! \reimp */QAccessible::State QAccessibleListBox::state( int control ) const{ int state = QAccessibleScrollView::state( control ); QListBoxItem *item; if ( !control || !( item = listBox()->item( control - 1 ) ) ) return (State)state; if ( item->isSelectable() ) { if ( listBox()->selectionMode() == QListBox::Multi ) state |= MultiSelectable; else if ( listBox()->selectionMode() == QListBox::Extended ) state |= ExtSelectable; else if ( listBox()->selectionMode() == QListBox::Single ) state |= Selectable; if ( item->isSelected() ) state |= Selected; } if ( listBox()->focusPolicy() != QWidget::NoFocus ) { state |= Focusable; if ( item->isCurrent() ) state |= Focused; } if ( !listBox()->itemVisible( item ) ) state |= Invisible; return (State)state;}/*! \reimp */bool QAccessibleListBox::setFocus( int control ){ bool res = QAccessibleScrollView::setFocus( 0 ); if ( !control || !res ) return res; QListBoxItem *item = listBox()->item( control -1 ); if ( !item ) return FALSE; listBox()->setCurrentItem( item ); return TRUE;}/*! \reimp */bool QAccessibleListBox::setSelected( int control, bool on, bool extend ){ if ( !control || ( extend && listBox()->selectionMode() != QListBox::Extended && listBox()->selectionMode() != QListBox::Multi ) ) return FALSE; QListBoxItem *item = listBox()->item( control -1 ); if ( !item ) return FALSE; if ( !extend ) { listBox()->setSelected( item, on ); } else { int current = listBox()->currentItem(); bool down = control > current; for ( int i = current; i != control;) { down ? i++ : i--; listBox()->setSelected( i, on ); } } return TRUE;}/*! \reimp */void QAccessibleListBox::clearSelection(){ listBox()->clearSelection();}/*! \reimp */QMemArray<int> QAccessibleListBox::selection() const{ QMemArray<int> array; uint size = 0; const uint c = listBox()->count(); array.resize( c ); for ( uint i = 0; i < c; ++i ) { if ( listBox()->isSelected( i ) ) { ++size; array[ (int)size-1 ] = i+1; } } array.resize( size ); return array;}/*! \class QAccessibleListView qaccessiblewidget.h \brief The QAccessibleListView class implements the QAccessibleInterface for list views.*/static QListViewItem *findLVItem( QListView* listView, int control ){ int id = 1; QListViewItemIterator it( listView ); QListViewItem *item = it.current(); while ( item && id < control ) { ++it; ++id; item = it.current(); } return item;}/*! Constructs a QAccessibleListView object for \a o.*/QAccessibleListView::QAccessibleListView( QObject *o ) : QAccessibleScrollView( o, Outline ){}/*! Returns the list view. */QListView *QAccessibleListView::listView() const{ Q_ASSERT(widget()->inherits("QListView")); return (QListView*)widget();}/*! \reimp */int QAccessibleListView::itemAt( int x, int y ) const{ QListViewItem *item = listView()->itemAt( QPoint( x, y ) ); if ( !item ) return 0; QListViewItemIterator it( listView() ); int c = 1; while ( it.current() ) { if ( it.current() == item ) return c; ++c; ++it; } return 0;}/*! \reimp */QRect QAccessibleListView::itemRect( int control ) const{ QListViewItem *item = findLVItem( listView(), control ); if ( !item ) return QRect(); return listView()->itemRect( item );}/*! \reimp */int QAccessibleListView::itemCount() const{ QListViewItemIterator it( listView() ); int c = 0; while ( it.current() ) { ++c; ++it; } return c;}/*! \reimp */QString QAccessibleListView::text( Text t, int control ) const{ if ( !control || t != Name ) return QAccessibleScrollView::text( t, control ); QListViewItem *item = findLVItem( listView(), control ); if ( !item ) return QString::null; return item->text( 0 );}/*! \reimp */QAccessible::Role QAccessibleListView::role( int control ) const{ if ( !control ) return QAccessibleScrollView::role( control ); return OutlineItem;}/*! \reimp */QAccessible::State QAccessibleListView::state( int control ) const{ int state = QAccessibleScrollView::state( control ); QListViewItem *item; if ( !control || !( item = findLVItem( listView(), control ) ) ) return (State)state; if ( item->isSelectable() ) { if ( listView()->selectionMode() == QListView::Multi ) state |= MultiSelectable; else if ( listView()->selectionMode() == QListView::Extended ) state |= ExtSelectable; else if ( listView()->selectionMode() == QListView::Single ) state |= Selectable; if ( item->isSelected() ) state |= Selected; } if ( listView()->focusPolicy() != QWidget::NoFocus ) { state |= Focusable; if ( item == listView()->currentItem() ) state |= Focused; } if ( item->childCount() ) { if ( item->isOpen() ) state |= Expanded; else state |= Collapsed; } if ( !listView()->itemRect( item ).isValid() ) state |= Invisible; if ( item->rtti() == QCheckListItem::RTTI ) { if ( ((QCheckListItem*)item)->isOn() ) state|=Checked; } return (State)state;}/*! \reimpQAccessibleInterface *QAccessibleListView::focusChild( int *control ) const{ QListViewItem *item = listView()->currentItem(); if ( !item ) return 0; QListViewItemIterator it( listView() ); int c = 1; while ( it.current() ) { if ( it.current() == item ) { *control = c; return (QAccessibleInterface*)this; } ++c; ++it; } return 0;}*//*! \reimp */bool QAccessibleListView::setFocus( int control ){ bool res = QAccessibleScrollView::setFocus( 0 ); if ( !control || !res ) return res; QListViewItem *item = findLVItem( listView(), control ); if ( !item ) return FALSE; listView()->setCurrentItem( item ); return TRUE;}/*! \reimp */bool QAccessibleListView::setSelected( int control, bool on, bool extend ){ if ( !control || ( extend && listView()->selectionMode() != QListView::Extended && listView()->selectionMode() != QListView::Multi ) ) return FALSE; QListViewItem *item = findLVItem( listView(), control ); if ( !item ) return FALSE; if ( !extend ) { listView()->setSelected( item, on ); } else { QListViewItem *current = listView()->currentItem(); if ( !current ) return FALSE; bool down = item->itemPos() > current->itemPos(); QListViewItemIterator it( current ); while ( it.current() ) { listView()->setSelected( it.current(), on ); if ( it.current() == item ) break; if ( down ) ++it; else --it; } } return TRUE;}/*! \reimp */void QAccessibleListView::clearSelection(){ listView()->clearSelection();}/*! \reimp */QMemArray<int> QAccessibleListView::selection() const{ QMemArray<int> array; uint size = 0; int id = 1; array.resize( size ); QListViewItemIterator it( listView() ); while ( it.current() ) { if ( it.current()->isSelected() ) { ++size; array.resize( size ); array[ (int)size-1 ] = id; } ++it; ++id; } return array;}#ifndef QT_NO_ICONVIEW/*! \class QAccessibleIconView qaccessiblewidget.h \brief The QAccessibleIconView class implements the QAccessibleInterface for icon views.*/static QIconViewItem *findIVItem( QIconView *iconView, int control ){ int id = 1; QIconViewItem *item = iconView->firstItem(); while ( item && id < control ) { item = item->nextItem(); ++id; } return item;}/*! Constructs a QAccessibleIconView object for \a o.*/QAccessibleIconView::QAccessibleIconView( QObject *o ) : QAccessibleScrollView( o, Outline ){ Q_ASSERT(widget()->inherits("QIconView"));}/*! Returns the icon view. */QIconView *QAccessibleIconView::iconView() const{ return (QIconView*)widget();}/*! \reimp */int QAccessibleIconView::itemAt( int x, int y ) const{ QIconViewItem *item = iconView()->findItem( QPoint( x, y ) ); return iconView()->index( item ) + 1;}/*! \reimp */QRect QAccessibleIconView::itemRect( int control ) const{ QIconViewItem *item = findIVItem( iconView(), control ); if ( !item ) return QRect(); return item->rect();}/*! \reimp */int QAccessibleIconView::itemCount() const{ return iconView()->count();}/*! \reimp */QString QAccessibleIconView::text( Text t, int control ) const{ if ( !control || t != Name ) return QAccessibleScrollView::text( t, control ); QIconViewItem *item = findIVItem( iconView(), control ); if ( !item ) return QString::null; return item->text();}/*! \reimp */QAccessible::Role QAccessibleIconView::role( int control ) const{ if ( !control ) return QAccessibleScrollView::role( control ); return OutlineItem;}/*! \reimp */QAccessible::State QAccessibleIconView::state( int control ) const{ int state = QAccessibleScrollView::state( control ); QIconViewItem *item; if ( !control || !( item = findIVItem( iconView(), control ) ) ) return (State)state; if ( item->isSelectable() ) { if ( iconView()->selectionMode() == QIconView::Multi ) state |= MultiSelectable; else if ( iconView()->selectionMode() == QIconView::Extended ) state |= ExtSelectable; else if ( iconView()->selectionMode() == QIconView::Single ) state |= Selectable; if ( item->isSelected() ) state |= Selected; } if ( iconView()->itemsMovable() ) state |= Moveable; if ( iconView()->focusPolicy() != QWidget::NoFocus ) { state |= Focusable; if ( item == iconView()->currentItem() ) state |= Focused; } return (State)state;}/*! \reimpQAccessibleInterface *QAccessibleIconView::focusChild( int *control ) const{ QIconViewItem *item = iconView()->currentItem(); if ( !item ) return 0; *control = iconView()->index( item ); return (QAccessibleInterface*)this;}*//*! \reimp */bool QAccessibleIconView::setFocus( int control ){ bool res = QAccessibleScrollView::setFocus( 0 ); if ( !control || !res ) return res; QIconViewItem *item = findIVItem( iconView(), control ); if ( !item ) return FALSE; iconView()->setCurrentItem( item ); return TRUE;}/*! \reimp */bool QAccessibleIconView::setSelected( int control, bool on, bool extend ){ if ( !control || ( extend && iconView()->selectionMode() != QIconView::Extended && iconView()->selectionMode() != QIconView::Multi ) ) return FALSE; QIconViewItem *item = findIVItem( iconView(), control ); if ( !item ) return FALSE; if ( !extend ) { iconView()->setSelected( item, on, TRUE ); } else { QIconViewItem *current = iconView()->currentItem(); if ( !current ) return FALSE; bool down = FALSE; QIconViewItem *temp = current; while ( ( temp = temp->nextItem() ) ) { if ( temp == item ) { down = TRUE; break; } } temp = current; if ( down ) { while ( ( temp = temp->nextItem() ) ) { iconView()->setSelected( temp, on, TRUE ); if ( temp == item ) break; } } else { while ( ( temp = temp->prevItem() ) ) { iconView()->setSelected( temp, on, TRUE ); if ( temp == item ) break; } } } return TRU
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -