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

📄 qaccessiblewidgets.cpp

📁 奇趣公司比较新的qt/emd版本
💻 CPP
📖 第 1 页 / 共 4 页
字号:
}QStackedWidget *QAccessibleStackedWidget::stackedWidget() const{    return static_cast<QStackedWidget *>(object());}#endif // QT_NO_STACKEDWIDGET#ifndef QT_NO_TOOLBOX// ======================= QAccessibleToolBox ======================QAccessibleToolBox::QAccessibleToolBox(QWidget *widget)    : QAccessibleWidgetEx(widget, LayeredPane){    Q_ASSERT(qobject_cast<QToolBox *>(widget));}QString QAccessibleToolBox::text(Text textType, int child) const{    if (textType != Value || child <= 0 || child > toolBox()->count())        return QAccessibleWidgetEx::text(textType, child);    return toolBox()->itemText(child - 1);}void QAccessibleToolBox::setText(Text textType, int child, const QString &text){    if (textType != Value || child <= 0 || child > toolBox()->count()) {        QAccessibleWidgetEx::setText(textType, child, text);        return;    }    toolBox()->setItemText(child - 1, text);}QAccessible::State QAccessibleToolBox::state(int child) const{    QWidget *childWidget = toolBox()->widget(child - 1);    if (!childWidget)        return QAccessibleWidgetEx::state(child);    QAccessible::State childState = QAccessible::Normal;    if (toolBox()->currentWidget() == childWidget)        childState |= QAccessible::Expanded;    else        childState |= QAccessible::Collapsed;    return childState;}QVariant QAccessibleToolBox::invokeMethodEx(QAccessible::Method, int, const QVariantList &){    return QVariant();}int QAccessibleToolBox::childCount() const{    return toolBox()->count();}int QAccessibleToolBox::indexOfChild(const QAccessibleInterface *child) const{    if (!child)        return -1;    QWidget *childWidget = qobject_cast<QWidget *>(child->object());    if (!childWidget)        return -1;    int index = toolBox()->indexOf(childWidget);    if (index != -1)        ++index;    return index;}int QAccessibleToolBox::navigate(RelationFlag relation, int entry, QAccessibleInterface **target) const{    *target = 0;    if (entry <= 0 || entry > toolBox()->count())        return QAccessibleWidgetEx::navigate(relation, entry, target);    int index = -1;    if (relation == QAccessible::Up)        index = entry - 2;    else if (relation == QAccessible::Down)        index = entry;    *target = QAccessible::queryAccessibleInterface(toolBox()->widget(index));    return *target ? 0: -1;}QToolBox * QAccessibleToolBox::toolBox() const{    return static_cast<QToolBox *>(object());}#endif // QT_NO_TOOLBOX// ======================= QAccessibleMdiArea ======================#ifndef QT_NO_MDIAREAQAccessibleMdiArea::QAccessibleMdiArea(QWidget *widget)    : QAccessibleWidgetEx(widget, LayeredPane){    Q_ASSERT(qobject_cast<QMdiArea *>(widget));}QAccessible::State QAccessibleMdiArea::state(int child) const{    if (child < 0)        return QAccessibleWidgetEx::state(child);    if (child == 0)        return QAccessible::Normal;    QList<QMdiSubWindow *> subWindows = mdiArea()->subWindowList();    if (subWindows.isEmpty() || child > subWindows.count())        return QAccessibleWidgetEx::state(child);    if (subWindows.at(child - 1) == mdiArea()->activeSubWindow())        return QAccessible::Focused;    return QAccessible::Normal;}QVariant QAccessibleMdiArea::invokeMethodEx(QAccessible::Method, int, const QVariantList &){    return QVariant();}int QAccessibleMdiArea::childCount() const{    return mdiArea()->subWindowList().count();}int QAccessibleMdiArea::indexOfChild(const QAccessibleInterface *child) const{    if (!child || !child->object() || mdiArea()->subWindowList().isEmpty())        return -1;    if (QMdiSubWindow *window = qobject_cast<QMdiSubWindow *>(child->object())) {        int index = mdiArea()->subWindowList().indexOf(window);        if (index != -1)            return ++index;    }    return -1;}int QAccessibleMdiArea::navigate(RelationFlag relation, int entry, QAccessibleInterface **target) const{    *target = 0;    QWidget *targetObject = 0;    QList<QMdiSubWindow *> subWindows = mdiArea()->subWindowList();    switch (relation) {    case Child:        if (entry < 1 || subWindows.isEmpty() || entry > subWindows.count())            return -1;        targetObject = subWindows.at(entry - 1);        break;    case Up:    case Down:    case Left:    case Right:        targetObject = mdiAreaNavigate(mdiArea(), relation, entry);        break;    default:        return QAccessibleWidgetEx::navigate(relation, entry, target);    }    *target = QAccessible::queryAccessibleInterface(targetObject);    return *target ? 0: -1;}QMdiArea *QAccessibleMdiArea::mdiArea() const{    return static_cast<QMdiArea *>(object());}// ======================= QAccessibleMdiSubWindow ======================QAccessibleMdiSubWindow::QAccessibleMdiSubWindow(QWidget *widget)    : QAccessibleWidgetEx(widget, QAccessible::Window){    Q_ASSERT(qobject_cast<QMdiSubWindow *>(widget));}QString QAccessibleMdiSubWindow::text(Text textType, int child) const{    if (textType == QAccessible::Name && (child == 0 || child == 1)) {        QString title = mdiSubWindow()->windowTitle();        title.replace(QLatin1String("[*]"), QLatin1String(""));        return title;    }    return QAccessibleWidgetEx::text(textType, child);}void QAccessibleMdiSubWindow::setText(Text textType, int child, const QString &text){    if (textType == QAccessible::Name && (child == 0 || child == 1))        mdiSubWindow()->setWindowTitle(text);    else        QAccessibleWidgetEx::setText(textType, child, text);}QAccessible::State QAccessibleMdiSubWindow::state(int child) const{    if (child != 0 || !mdiSubWindow()->parent())        return QAccessibleWidgetEx::state(child);    QAccessible::State state = QAccessible::Normal | QAccessible::Focusable;    if (!mdiSubWindow()->isMaximized())        state |= (QAccessible::Movable | QAccessible::Sizeable);    if (mdiSubWindow()->isAncestorOf(QApplication::focusWidget())            || QApplication::focusWidget() == mdiSubWindow())        state |= QAccessible::Focused;    if (!mdiSubWindow()->isVisible())        state |= QAccessible::Invisible;    if (!mdiSubWindow()->parentWidget()->contentsRect().contains(mdiSubWindow()->geometry()))        state |= QAccessible::Offscreen;    if (!mdiSubWindow()->isEnabled())        state |= QAccessible::Unavailable;    return state;}QVariant QAccessibleMdiSubWindow::invokeMethodEx(QAccessible::Method, int, const QVariantList &){    return QVariant();}int QAccessibleMdiSubWindow::childCount() const{    if (mdiSubWindow()->widget())        return 1;    return 0;}int QAccessibleMdiSubWindow::indexOfChild(const QAccessibleInterface *child) const{    if (child && child->object() && child->object() == mdiSubWindow()->widget())        return 1;    return -1;}int QAccessibleMdiSubWindow::navigate(RelationFlag relation, int entry, QAccessibleInterface **target) const{    *target = 0;    if (!mdiSubWindow()->parent())        return QAccessibleWidgetEx::navigate(relation, entry, target);    QWidget *targetObject = 0;    QMdiSubWindow *source = mdiSubWindow();    switch (relation) {    case Child:        if (entry != 1 || !source->widget())            return -1;        targetObject = source->widget();        break;    case Up:    case Down:    case Left:    case Right: {        if (entry != 0)            break;        QWidget *parent = source->parentWidget();        while (parent && !parent->inherits("QMdiArea"))            parent = parent->parentWidget();        QMdiArea *mdiArea = qobject_cast<QMdiArea *>(parent);        if (!mdiArea)            break;        int index = mdiArea->subWindowList().indexOf(source);        if (index == -1)            break;        if (QWidget *dest = mdiAreaNavigate(mdiArea, relation, index + 1)) {            *target = QAccessible::queryAccessibleInterface(dest);            return *target ? 0 : -1;        }        break;    }    default:        return QAccessibleWidgetEx::navigate(relation, entry, target);    }    *target = QAccessible::queryAccessibleInterface(targetObject);    return *target ? 0: -1;}QRect QAccessibleMdiSubWindow::rect(int child) const{    if (mdiSubWindow()->isHidden())        return QRect();    if (!mdiSubWindow()->parent())        return QAccessibleWidgetEx::rect(child);    const QPoint pos = mdiSubWindow()->mapToGlobal(QPoint(0, 0));    if (child == 0)        return QRect(pos, mdiSubWindow()->size());    if (child == 1 && mdiSubWindow()->widget()) {        if (mdiSubWindow()->widget()->isHidden())            return QRect();        const QRect contentsRect = mdiSubWindow()->contentsRect();        return QRect(pos.x() + contentsRect.x(), pos.y() + contentsRect.y(),                     contentsRect.width(), contentsRect.height());    }    return QRect();}int QAccessibleMdiSubWindow::childAt(int x, int y) const{    if (!mdiSubWindow()->isVisible())        return -1;    if (!mdiSubWindow()->parent())        return QAccessibleWidgetEx::childAt(x, y);    const QRect globalGeometry = rect(0);    if (!globalGeometry.isValid())        return -1;    const QRect globalChildGeometry = rect(1);    if (globalChildGeometry.isValid() && globalChildGeometry.contains(QPoint(x, y)))        return 1;    if (globalGeometry.contains(QPoint(x, y)))        return 0;    return -1;}QMdiSubWindow *QAccessibleMdiSubWindow::mdiSubWindow() const{    return static_cast<QMdiSubWindow *>(object());}#endif // QT_NO_MDIAREA// ======================= QAccessibleWorkspace ======================#ifndef QT_NO_WORKSPACEQAccessibleWorkspace::QAccessibleWorkspace(QWidget *widget)    : QAccessibleWidgetEx(widget, LayeredPane){    Q_ASSERT(qobject_cast<QWorkspace *>(widget));}QAccessible::State QAccessibleWorkspace::state(int child) const{    if (child < 0)        return QAccessibleWidgetEx::state(child);    if (child == 0)        return QAccessible::Normal;    QWidgetList subWindows = workspace()->windowList();    if (subWindows.isEmpty() || child > subWindows.count())        return QAccessibleWidgetEx::state(child);    if (subWindows.at(child - 1) == workspace()->activeWindow())        return QAccessible::Focused;    return QAccessible::Normal;}QVariant QAccessibleWorkspace::invokeMethodEx(QAccessible::Method, int, const QVariantList &){    return QVariant();}int QAccessibleWorkspace::childCount() const{    return workspace()->windowList().count();}int QAccessibleWorkspace::indexOfChild(const QAccessibleInterface *child) const{    if (!child || !child->object() || workspace()->windowList().isEmpty())        return -1;    if (QWidget *window = qobject_cast<QWidget *>(child->object())) {        int index = workspace()->windowList().indexOf(window);        if (index != -1)            return ++index;    }    return -1;}int QAccessibleWorkspace::navigate(RelationFlag relation, int entry, QAccessibleInterface **target) const{    *target = 0;    QWidget *targetObject = 0;    QWidgetList subWindows = workspace()->windowList();    switch (relation) {    case Child:        if (entry < 1 || subWindows.isEmpty() || entry > subWindows.count())            return -1;        targetObject = subWindows.at(entry - 1);        break;    case Up:    case Down:    case Left:    case Right:        targetObject = mdiAreaNavigate(workspace(), relation, entry);        break;    default:        return QAccessibleWidgetEx::navigate(relation, entry, target);    }    *target = QAccessible::queryAccessibleInterface(targetObject);    return *target ? 0: -1;}QWorkspace *QAccessibleWorkspace::workspace() const{    return static_cast<QWorkspace *>(object());}#endif#ifndef QT_NO_DIALOGBUTTONBOX// ======================= QAccessibleDialogButtonBox ======================QAccessibleDialogButtonBox::QAccessibleDialogButtonBox(QWidget *widget)    : QAccessibleWidgetEx(widget, Grouping){    Q_ASSERT(qobject_cast<QDialogButtonBox*>(widget));}QVariant QAccessibleDialogButtonBox::invokeMethodEx(QAccessible::Method, int, const QVariantList &){    return QVariant();}#endif // QT_NO_DIALOGBUTTONBOX#ifndef QT_NO_TEXTBROWSERQAccessibleTextBrowser::QAccessibleTextBrowser(QWidget *widget)    : QAccessibleTextEdit(widget){    Q_ASSERT(qobject_cast<QTextBrowser *>(widget));}QAccessible::Role QAccessibleTextBrowser::role(int child) const{    if (child != 0)        return QAccessibleTextEdit::role(child);

⌨️ 快捷键说明

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