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

📄 qaccessiblewidget.cpp

📁 Linux下的基于X11的图形开发环境。
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    case Name:	tx = ((QButton*)widget())->text();	if ( tx.isEmpty() && widget()->inherits("QToolButton") )	    tx = ((QToolButton*)widget())->textLabel();	if ( tx.isEmpty() )	    tx = buddyString( widget() );	return stripAmp( tx );    default:	break;    }    return tx;}/*! \reimp */QAccessible::State QAccessibleButton::state( int control ) const{    int state = QAccessibleWidget::state( control );    QButton *b = (QButton*)widget();    if ( b->state() == QButton::On )	state |= Checked;    else  if ( b->state() == QButton::NoChange )	    state |= Mixed;    if ( b->isDown() )	state |= Pressed;    if ( b->inherits( "QPushButton" ) ) {	QPushButton *pb = (QPushButton*)b;	if ( pb->isDefault() )	    state |= Default;    }         return (State)state;}/*!   \class QAccessibleRangeControl qaccessiblewidget.h  \brief The QAccessibleRangeControl class implements the QAccessibleInterface for range controls.*//*!   Constructs a QAccessibleRangeControl object for \a o.   \a role, \a name, \a description, \a help, \a defAction and \a accelerator   are propagated to the QAccessibleWidget constructor.*/QAccessibleRangeControl::QAccessibleRangeControl( QObject *o, Role role, QString name, 						 QString description, QString help, QString defAction, QString accelerator ): QAccessibleWidget( o, role, name, description, QString::null, help, defAction, accelerator ){}/*! \reimp */QString QAccessibleRangeControl::text( Text t, int control ) const{    QString tx = QAccessibleWidget::text( t, control );    if ( !!tx )	return stripAmp(tx);    switch ( t ) {    case Name:	return stripAmp( buddyString( widget() ) );    case Accelerator:	tx = hotKey( buddyString( widget() ) );	if ( !!tx )	    return "Alt + "+tx;	break;    case Value:	if ( widget()->inherits( "QSlider" ) ) {	    QSlider *s = (QSlider*)widget();	    return QString::number( s->value() );	} else if ( widget()->inherits( "QDial" ) ) {	    QDial *d = (QDial*)widget();	    return QString::number( d->value() );	} else if ( widget()->inherits( "QSpinBox" ) ) {	    QSpinBox *s = (QSpinBox*)widget();	    return s->text();	} else if ( widget()->inherits( "QScrollBar" ) ) {	    QScrollBar *s = (QScrollBar*)widget();	    return QString::number( s->value() );	} else if ( widget()->inherits( "QProgressBar" ) ) {	    QProgressBar *p = (QProgressBar*)widget();	    return QString::number( p->progress() );	}    default:	break;    }    return tx;}/*!  \class QAccessibleSpinWidget qaccessiblewidget.h  \brief The QAccessibleText class implements the QAccessibleInterface for up/down widgets.*//*!   Constructs a QAccessibleSpinWidget object for \a o.*/QAccessibleSpinWidget::QAccessibleSpinWidget( QObject *o ): QAccessibleRangeControl( o, SpinBox ){}/*! \reimp */int QAccessibleSpinWidget::controlAt( int x, int y ) const{    QPoint tl = widget()->mapFromGlobal( QPoint( x, y ) );    if ( ((QSpinWidget*)widget())->upRect().contains( tl ) )	return 1;    else if ( ((QSpinWidget*)widget())->downRect().contains( tl ) )	return 2;    return -1;}/*! \reimp */QRect QAccessibleSpinWidget::rect( int control ) const{    QRect rect;    switch( control ) {    case 1:	rect = ((QSpinWidget*)widget())->upRect();	break;    case 2:	rect = ((QSpinWidget*)widget())->downRect();	break;    default:	rect = widget()->rect();    }    QPoint tl = widget()->mapToGlobal( QPoint( 0, 0 ) );    return QRect( tl.x() + rect.x(), tl.y() + rect.y(), rect.width(), rect.height() );}/*! \reimp */int QAccessibleSpinWidget::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;    case NavLastChild:	return 2;    case NavNext:    case NavDown:	startControl += 1;	if ( startControl > 2 )	    return -1;	return startControl;    case NavPrevious:    case NavUp:	startControl -= 1;	if ( startControl < 1 )	    return -1;	return startControl;    default:	break;    }    return -1;}/*! \reimp */int QAccessibleSpinWidget::childCount() const{    return 2;}/*! \reimp */QRESULT QAccessibleSpinWidget::queryChild( int /*control*/, QAccessibleInterface **iface ) const{    *iface = 0;    return QS_FALSE;}/*! \reimp */QString QAccessibleSpinWidget::text( Text t, int control ) const{    switch ( t ) {    case Name:	switch ( control ) {	case 1:	    return QSpinWidget::tr("More");	case 2:	    return QSpinWidget::tr("Less");	default:	    break;	}	break;    case DefaultAction:	switch( control ) {	case 1:	case 2:	    return QSpinWidget::tr("Press");	default:	    break;	}	break;    default:	break;    }    return QAccessibleRangeControl::text( t, control );}/*! \reimp */QAccessible::Role QAccessibleSpinWidget::role( int control ) const{    switch( control ) {    case 1:	return PushButton;    case 2:	return PushButton;    default:	break;    }    return QAccessibleRangeControl::role( control );}/*! \reimp */QAccessible::State QAccessibleSpinWidget::state( int control ) const{    int state = QAccessibleRangeControl::state( control );    switch( control ) {    case 1:	if ( !((QSpinWidget*)widget())->isUpEnabled() )	    state |= Unavailable;	return (State)state;    case 2:	if ( !((QSpinWidget*)widget())->isDownEnabled() )	    state |= Unavailable;	return (State)state;    default:	break;    }    return QAccessibleRangeControl::state( control );}/*! \reimp */bool QAccessibleSpinWidget::doDefaultAction( int control ){    switch( control ) {    case 1:	if ( !((QSpinWidget*)widget())->isUpEnabled() )	    return FALSE;	((QSpinWidget*)widget())->stepUp();	return TRUE;    case 2:	if ( !((QSpinWidget*)widget())->isDownEnabled() )	    return FALSE;	((QSpinWidget*)widget())->stepDown();	return TRUE;    default:	break;    }    return QAccessibleRangeControl::doDefaultAction( control );}/*!  \class QAccessibleScrollBar qaccessiblewidget.h  \brief The QAccessibleScrollBar class implements the QAccessibleInterface for scroll bars.*//*!   Constructs a QAccessibleScrollBar object for \a o.   \a name, \a description, \a help, \a defAction and \a accelerator   are propagated to the QAccessibleRangeControl constructor.*/QAccessibleScrollBar::QAccessibleScrollBar( QObject *o, QString name,    QString description, QString help, QString defAction, QString accelerator ): QAccessibleRangeControl( o, ScrollBar, name, description, help, defAction, accelerator ){    Q_ASSERT( o->inherits("QScrollBar" ) );}/*! Returns the scroll bar. */QScrollBar *QAccessibleScrollBar::scrollBar() const{    return (QScrollBar*)widget();}/*! \reimp */int QAccessibleScrollBar::controlAt( int x, int y ) const{    for ( int i = 1; i <= childCount(); i++ ) {	if ( rect(i).contains( x,y ) )	    return i;    }    return 0;}/*! \reimp */QRect QAccessibleScrollBar::rect( int control ) const{    QRect rect;    QRect srect = scrollBar()->sliderRect();    int sz = scrollBar()->style().pixelMetric( QStyle::PM_ScrollBarExtent, scrollBar() );    switch ( control ) {    case 1:	if ( scrollBar()->orientation() == Vertical )	    rect = QRect( 0, 0, sz, sz );	else	    rect = QRect( 0, 0, sz, sz );	break;    case 2:	if ( scrollBar()->orientation() == Vertical )	    rect = QRect( 0, sz, sz, srect.y() - sz );	else	    rect = QRect( sz, 0, srect.x() - sz, sz );	break;    case 3:	rect = srect;	break;    case 4:	if ( scrollBar()->orientation() == Vertical )	    rect = QRect( 0, srect.bottom(), sz, scrollBar()->rect().height() - srect.bottom() - sz );	else	    rect = QRect( srect.right(), 0, scrollBar()->rect().width() - srect.right() - sz, sz ) ;	break;    case 5:	if ( scrollBar()->orientation() == Vertical )	    rect = QRect( 0, scrollBar()->rect().height() - sz, sz, sz );	else	    rect = QRect( scrollBar()->rect().width() - sz, 0, sz, sz );	break;    default:	return QAccessibleRangeControl::rect( control );    }    QPoint tp = scrollBar()->mapToGlobal( QPoint( 0,0 ) );    return QRect( tp.x() + rect.x(), tp.y() + rect.y(), rect.width(), rect.height() );}/*! \reimp */int QAccessibleScrollBar::navigate( NavDirection direction, int startControl ) const{    if ( direction != NavFirstChild && direction != NavLastChild && direction != NavFocusChild && !startControl )	return QAccessibleRangeControl::navigate( direction, startControl );    switch ( direction ) {    case NavFirstChild:	return 1;    case NavLastChild:	return 5;    case NavNext:	return startControl == childCount() ? -1 : startControl + 1;    case NavDown:	if ( scrollBar()->orientation() == Horizontal )	    break;	return startControl == childCount() ? -1 : startControl + 1;    case NavRight:	if ( scrollBar()->orientation() == Vertical )	    break;	return startControl == childCount() ? -1 : startControl + 1;    case NavPrevious:	return startControl == 1 ? -1 : startControl - 1;    case NavUp:	if ( scrollBar()->orientation() == Horizontal )	    break;	return startControl == 1 ? -1 : startControl - 1;    case NavLeft:	if ( scrollBar()->orientation() == Vertical )	    break;	return startControl == 1 ? -1 : startControl - 1;    default:	break;    }    return -1;}/*! \reimp */int QAccessibleScrollBar::childCount() const{    return 5;}/*! \reimp */QRESULT	QAccessibleScrollBar::queryChild( int /*control*/, QAccessibleInterface **iface ) const{    *iface = 0;    return QS_FALSE;}/*! \reimp */QString	QAccessibleScrollBar::text( Text t, int control ) const{    switch ( t ) {    case Value:	if ( control && control != 3 )	    return QString::null;	break;    case Name:	switch ( control ) {	case 1:	    return QScrollBar::tr("Line up");	case 2:	    return QScrollBar::tr("Page up");	case 3:	    return QScrollBar::tr("Position");	case 4:	    return QScrollBar::tr("Page down");	case 5:	    return QScrollBar::tr("Line down");	}	break;    case DefaultAction:	if ( control != 3 )	    return QScrollBar::tr("Press");	break;    default:	break;    }    return QAccessibleRangeControl::text( t, control );}/*! \reimp */QAccessible::Role QAccessibleScrollBar::role( int control ) const{    switch ( control ) {    case 1:    case 2:	return PushButton;    case 3:	return Indicator;    case 4:    case 5:	return PushButton;    default:	return ScrollBar;    }}/*! \reimp */bool QAccessibleScrollBar::doDefaultAction( int control ){    switch ( control ) {    case 1:	scrollBar()->subtractLine();	return TRUE;    case 2:	scrollBar()->subtractPage();	return TRUE;    case 4:	scrollBar()->addPage();	return TRUE;    case 5:	scrollBar()->addLine();	return TRUE;    default:	return FALSE;    }}/*!  \class QAccessibleSlider qaccessiblewidget.h  \brief The QAccessibleScrollBar class implements the QAccessibleInterface for sliders.*//*!   Constructs a QAccessibleScrollBar object for \a o.   \a name, \a description, \a help, \a defAction and \a accelerator   are propagated to the QAccessibleRangeControl constructor.*/QAccessibleSlider::QAccessibleSlider( QObject *o, QString name,    QString description, QString help, QString defAction, QString accelerator ): QAccessibleRangeControl( o, ScrollBar, name, description, help, defAction, accelerator ){    Q_ASSERT( o->inherits("QSlider" ) );}/*! Returns the slider. */QSlider *QAccessibleSlider::slider() const{    return (QSlider*)widget();}/*! \reimp */int QAccessibleSlider::controlAt( int x, int y ) const{    for ( int i = 1; i <= childCount(); i++ ) {	if ( rect(i).contains( x,y ) )	    return i;    }    return 0;}/*! \reimp */QRect QAccessibleSlider::rect( int control ) const{    QRect rect;    QRect srect = slider()->sliderRect();    switch ( control ) {    case 1:	if ( slider()->orientation() == Vertical )	    rect = QRect( 0, 0, slider()->width(), srect.y() );	else	    rect = QRect( 0, 0, srect.x(), slider()->height() );	break;    case 2:	rect = srect;	break;    case 3:	if ( slider()->orientation() == Vertical )	    rect = QRect( 0, srect.y() + srect.height(), slider()->width(), slider()->height()- srect.y() - srect.height() );	else	    rect = QRect( srect.x() + srect.width(), 0, slider()->width() - srect.x() - srect.width(), slider()->height() );	break;    default:	return QAccessibleRangeControl::rect( control );    }    QPoint tp = slider()->mapToGlobal( QPoint( 0,0 ) );    return QRect( tp.x() + rect.x(), tp.y() + rect.y(), rect.width(), rect.height() );}/*! \reimp */int QAccessibleSlider::navigate( NavDirection direction, int startControl ) const{    if ( direction != NavFirstChild && direction != NavLastChild && direction != NavFocusChild && !startControl )	return QAccessibleRangeControl::navigate( direction, startControl );    switch ( direction ) {    case NavFirstChild:	return 1;    case NavLastChild:	return childCount();    case NavNext:	return startControl == childCount() ? -1 : startControl + 1;    case NavDown:	if ( slider()->orientation() == Horizontal )	    break;	return startControl == childCount() ? -1 : startControl + 1;    case NavRight:	if ( slider()->orientation() == Vertical )	    break;	return startControl == childCount() ? -1 : startControl + 1;    case NavPrevious:	return startControl == 1 ? -1 : startControl - 1;    case NavUp:	if ( slider()->orientation() == Horizontal )	    break;	return startControl == 1 ? -1 : startControl - 1;    case NavLeft:	if ( slider()->orientation() == Vertical )	    break;	return startControl == 1 ? -1 : startControl - 1;    default:	break;

⌨️ 快捷键说明

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