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

📄 qaccessiblewidget.cpp

📁 Linux下的基于X11的图形开发环境。
💻 CPP
📖 第 1 页 / 共 5 页
字号:
QAccessibleComboBox::QAccessibleComboBox( QObject *o ): QAccessibleWidget( o, ComboBox ){    Q_ASSERT(o->inherits("QComboBox"));}/*!  Returns the combo box.*/QComboBox *QAccessibleComboBox::comboBox() const{    return (QComboBox*)object();}/*! \reimp */int QAccessibleComboBox::controlAt( int x, int y ) const{    for ( int i = childCount(); i >= 0; --i ) {	if ( rect( i ).contains( x, y ) )	    return i;    }    return -1;}/*! \reimp */QRect QAccessibleComboBox::rect( int control ) const{    QPoint tp;    QRect r;    switch( control ) {    case 1:	if ( comboBox()->editable() ) {	    tp = comboBox()->lineEdit()->mapToGlobal( QPoint( 0,0 ) );	    r = comboBox()->lineEdit()->rect();	} else  {	    tp = comboBox()->mapToGlobal( QPoint( 0,0 ) );	    r = comboBox()->style().querySubControlMetrics( QStyle::CC_ComboBox, comboBox(), QStyle::SC_ComboBoxEditField );	}	break;    case 2:	tp = comboBox()->mapToGlobal( QPoint( 0,0 ) );	r = comboBox()->style().querySubControlMetrics( QStyle::CC_ComboBox, comboBox(), QStyle::SC_ComboBoxArrow );	break;    default:	return QAccessibleWidget::rect( control );    }    return QRect( tp.x() + r.x(), tp.y() + r.y(), r.width(), r.height() );    }/*! \reimp */int QAccessibleComboBox::navigate( NavDirection direction, int startControl ) const{    if ( direction != NavFirstChild && direction != NavLastChild && direction != NavFocusChild && !startControl )	return QAccessibleWidget::navigate( direction, startControl );    switch ( direction ) {    case NavFirstChild:	return 1;	break;    case NavLastChild:	return childCount();	break;    case NavNext:    case NavRight:	return startControl + 1 > childCount() ? -1 : startControl + 1;    case NavPrevious:    case NavLeft:	return startControl -1 < 1 ? -1 : startControl - 1;    default:	break;    }    return -1;}/*! \reimp */int QAccessibleComboBox::childCount() const{    return 2;}/*! \reimp */QRESULT	QAccessibleComboBox::queryChild( int /*control*/, QAccessibleInterface **iface ) const{    *iface = 0;    return QS_FALSE;}/*! \reimp */QString QAccessibleComboBox::text( Text t, int control ) const{    QString str;    switch ( t ) {    case Name:	if ( control < 2 )	    return stripAmp( buddyString( comboBox() ) );	return QComboBox::tr("Open");    case Accelerator:	if ( control < 2 ) {	    str = hotKey( buddyString( comboBox() ) );	    if ( !!str )		return "Alt + " + str;	    return str;	}	return QComboBox::tr("Alt + Down Arrow" );    case Value:	if ( control < 2 ) {	    if ( comboBox()->editable() )		return comboBox()->lineEdit()->text();	    return comboBox()->currentText();		}	break;    case DefaultAction:	if ( control == 2 )	    return QComboBox::tr("Open");	break;    default:	str = QAccessibleWidget::text( t, 0 );	break;    }    return str;}/*! \reimp */QAccessible::Role QAccessibleComboBox::role( int control ) const{    switch ( control ) {    case 0:	return ComboBox;    case 1:	if ( comboBox()->editable() )	    return EditableText;	return StaticText;    case 2:	return PushButton;    default:	return List;    }    }/*! \reimp */QAccessible::State QAccessibleComboBox::state( int /*control*/ ) const{    return QAccessibleWidget::state( 0 );}/*! \reimp */bool QAccessibleComboBox::doDefaultAction( int control ){    if ( control != 2 )	return FALSE;    comboBox()->popup();    return TRUE;}/*!   \class QAccessibleTitleBar qaccessiblewidget.h  \brief The QAccessibleTitleBar class implements the QAccessibleInterface for title bars.*//*!   Constructs a QAccessibleComboBox object for \a o.*/QAccessibleTitleBar::QAccessibleTitleBar( QObject *o ): QAccessibleWidget( o, ComboBox ){    Q_ASSERT(o->inherits("QTitleBar"));}/*!  Returns the title bar.*/QTitleBar *QAccessibleTitleBar::titleBar() const{    return (QTitleBar*)object();}/*! \reimp */int QAccessibleTitleBar::controlAt( int x, int y ) const{    int ctrl = titleBar()->style().querySubControl( QStyle::CC_TitleBar, titleBar(), titleBar()->mapFromGlobal( QPoint( x,y ) ) );    switch ( ctrl )    {    case QStyle::SC_TitleBarSysMenu:	return 1;    case QStyle::SC_TitleBarLabel:	return 2;    case QStyle::SC_TitleBarMinButton:	return 3;    case QStyle::SC_TitleBarMaxButton:	return 4;    case QStyle::SC_TitleBarCloseButton:	return 5;    default:	break;    }    return 0;}/*! \reimp */QRect QAccessibleTitleBar::rect( int control ) const{    if ( !control )	return QAccessibleWidget::rect( control );    QRect r;    switch ( control ) {    case 1:	r = titleBar()->style().querySubControlMetrics( QStyle::CC_TitleBar, titleBar(), QStyle::SC_TitleBarSysMenu );	break;    case 2:	r = titleBar()->style().querySubControlMetrics( QStyle::CC_TitleBar, titleBar(), QStyle::SC_TitleBarLabel );	break;    case 3:	r = titleBar()->style().querySubControlMetrics( QStyle::CC_TitleBar, titleBar(), QStyle::SC_TitleBarMinButton );	break;    case 4:	r = titleBar()->style().querySubControlMetrics( QStyle::CC_TitleBar, titleBar(), QStyle::SC_TitleBarMaxButton );	break;    case 5:	r = titleBar()->style().querySubControlMetrics( QStyle::CC_TitleBar, titleBar(), QStyle::SC_TitleBarCloseButton );	break;    default:	break;    }    QPoint tp = titleBar()->mapToGlobal( QPoint( 0,0 ) );    return QRect( tp.x() + r.x(), tp.y() + r.y(), r.width(), r.height() );}/*! \reimp */int QAccessibleTitleBar::navigate( NavDirection direction, int startControl ) const{    if ( direction != NavFirstChild && direction != NavLastChild && direction != NavFocusChild && !startControl )	return QAccessibleWidget::navigate( direction, startControl );    switch ( direction ) {    case NavFirstChild:	return 1;	break;    case NavLastChild:	return childCount();	break;    case NavNext:    case NavRight:	return startControl + 1 > childCount() ? -1 : startControl + 1;    case NavPrevious:    case NavLeft:	return startControl -1 < 1 ? -1 : startControl - 1;    default:	break;    }    return -1;}/*! \reimp */int QAccessibleTitleBar::childCount() const{    return 5;}/*! \reimp */QRESULT QAccessibleTitleBar::queryChild( int /*control*/, QAccessibleInterface **iface ) const{    *iface = 0;    return QS_FALSE;}/*! \reimp */QString QAccessibleTitleBar::text( Text t, int control ) const{    QString str = QAccessibleWidget::text( t, control );    if ( !!str )	return str;    switch ( t ) {    case Name:	switch ( control ) {	case 1:	    return QTitleBar::tr("System");	case 3:	    if ( titleBar()->window()->isMinimized() )		return QTitleBar::tr("Restore up");	    return QTitleBar::tr("Minimize");	case 4:	    if ( titleBar()->window()->isMaximized() )		return QTitleBar::tr("Restore down");		    return QTitleBar::tr("Maximize");	case 5:	    return QTitleBar::tr("Close");	default:	    break;	}	break;    case Value:	if ( !control || control == 2 )	    return titleBar()->window()->caption();	break;    case DefaultAction:	if ( control > 2 )	    return QTitleBar::tr("Press");	break;    case Description:	switch ( control ) {	case 1:	    return QTitleBar::tr("Contains commands to manipulate the window");	case 3:	    if ( titleBar()->window()->isMinimized() )		return QTitleBar::tr("Puts a minimized back to normal");	    return QTitleBar::tr("Moves the window out of the way");	case 4:	    if ( titleBar()->window()->isMaximized() )		return QTitleBar::tr("Puts a maximized window back to normal");	    return QTitleBar::tr("Makes the window full screen");	case 5:	    return QTitleBar::tr("Closes the window");	default:	    return QTitleBar::tr("Displays the name of the window and contains controls to manipulate it");	}    default:	break;    }    return str;}/*! \reimp */QAccessible::Role QAccessibleTitleBar::role( int control ) const{    switch ( control )    {    case 1:    case 3:    case 4:    case 5:	return PushButton;    default:	return TitleBar;    }}/*! \reimp */QAccessible::State QAccessibleTitleBar::state( int control ) const{    return QAccessibleWidget::state( control );}/*! \reimp */bool QAccessibleTitleBar::doDefaultAction( int control ){    switch ( control ) {    case 3:	if ( titleBar()->window()->isMinimized() )	    titleBar()->window()->showNormal();	else 	    titleBar()->window()->showMinimized();	return TRUE;    case 4:	if ( titleBar()->window()->isMaximized() )	    titleBar()->window()->showNormal();	else 	    titleBar()->window()->showMaximized();	return TRUE;    case 5:	titleBar()->window()->close();	return TRUE;    default:	break;    }    return FALSE;}/*!   \class QAccessibleViewport qaccessiblewidget.h  \brief The QAccessibleViewport class hides the viewport of scrollviews for accessibility.  \internal*/QAccessibleViewport::QAccessibleViewport( QObject *o, QObject *sv )    : QAccessibleWidget( o ){    Q_ASSERT( sv->inherits("QScrollView") );    scrollview = (QScrollView*)sv;}QAccessibleScrollView *QAccessibleViewport::scrollView() const{    QAccessibleInterface *iface = 0;    queryAccessibleInterface( scrollview, &iface );    Q_ASSERT(iface);    return (QAccessibleScrollView *)iface;}int QAccessibleViewport::controlAt( int x, int y ) const{    int control = QAccessibleWidget::controlAt( x, y );    if ( control > 0 )	return control;    QPoint p = widget()->mapFromGlobal( QPoint( x,y ) );    return scrollView()->itemAt( p.x(), p.y() );}QRect QAccessibleViewport::rect( int control ) const{    if ( !control )	return QAccessibleWidget::rect( control );    QRect rect = scrollView()->itemRect( control );    QPoint tl = widget()->mapToGlobal( QPoint( 0,0 ) );    return QRect( tl.x() + rect.x(), tl.y() + rect.y(), rect.width(), rect.height() );}int QAccessibleViewport::navigate( NavDirection direction, int startControl ) const{    if ( direction != NavFirstChild && direction != NavLastChild && direction != NavFocusChild && !startControl )	return QAccessibleWidget::navigate( direction, startControl );    // ### call itemUp/Down etc. here    const int items = scrollView()->itemCount();    switch( direction ) {    case NavFirstChild:	return 1;    case NavLastChild:	return items;    case NavNext:    case NavDown:	return startControl + 1 > items ? -1 : startControl + 1;    case NavPrevious:    case NavUp:	return startControl - 1 < 1 ? -1 : startControl - 1;    default:	break;    }    return -1;}int QAccessibleViewport::childCount() const{    int widgets = QAccessibleWidget::childCount();    return widgets ? widgets : scrollView()->itemCount();}QString QAccessibleViewport::text( Text t, int control ) const{    return scrollView()->text( t, control );}bool QAccessibleViewport::doDefaultAction( int control ){    return scrollView()->doDefaultAction( control );}QAccessible::Role QAccessibleViewport::role( int control ) const{    return scrollView()->role( control );}QAccessible::State QAccessibleViewport::state( int control ) const{    return scrollView()->state( control );}bool QAccessibleViewport::setFocus( int control ){    return scrollView()->setFocus( control );}bool QAccessibleViewport::setSelected( int control, bool on, bool extend ){    return scrollView()->setSelected( control, on, extend );}void QAccessibleViewport::clearSelection(){    scrollView()->clearSelection();}QMemArray<int> QAccessibleViewport::selection() const{    return scrollView()->selection();}/*!   \class QAccessibleScrollView qaccessiblewidget.h  \brief The QAccessibleScrollView class implements the QAccessibleInterface for scrolled widgets.*//*!   Constructs a QAccessibleScrollView object for \a o.   \a role, \a description, \a value, \a help, \a defAction and \a accelerator   are propagated to the QAccessibleWidget constructor.*/QAccessibleScrollView::QAccessibleScrollView( QObject *o, Role role, QString name,     QString description, QString value, QString help, QString defAction, QString accelerator )    : QAccessibleWidget( o, role, name, description, value, help, defAction, accelerator ){}/*! \reimp */QString QAccessibleScrollView::text( Text t, int control ) const{    QString str = QAccessibleWidget::text( t, control );    if ( !!str )	return str;    switch ( t ) {    case Name:	return buddyString( widget() );    default:	break;    }	    return str;}/*!  Returns the ID of the item at viewport position \a x, \a y.*/int QAccessibleScrollView::itemAt( int /*x*/, int /*y*/ ) const{    return 0;}/*!  Returns the location of the item with ID \a item in viewport coordinates.*/QRect QAccessibleScrollView::itemRect( int /*item*/ ) const{    return QRect();}/*!  Returns the number of items.*/int QAccessibleScrollView::itemCount() const{    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 )

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -