⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qaccessiblewidget.cpp

📁 qt专门用于嵌入式的图形开发GUI
💻 CPP
📖 第 1 页 / 共 5 页
字号:
{    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 + -