当前位置: 首页>>代码示例>>C++>>正文


C++ Ptr::contextItem方法代码示例

本文整理汇总了C++中dynamiccontext::Ptr::contextItem方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::contextItem方法的具体用法?C++ Ptr::contextItem怎么用?C++ Ptr::contextItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在dynamiccontext::Ptr的用法示例。


在下文中一共展示了Ptr::contextItem方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: source

Item::Iterator::Ptr AxisStep::evaluateSequence(const DynamicContext::Ptr &context) const
{
    /* If we don't have a focus, it's either a bug or our parent isn't a Path
     * that have advanced the focus iterator. Hence, attempt to advance the focus on our own. */
    if(!context->contextItem())
        context->focusIterator()->next();

    Q_ASSERT(context->contextItem());

    const QXmlNodeModelIndex::Iterator::Ptr source(context->contextItem().asNode().iterate(m_axis));

    return makeItemMappingIterator<Item>(ConstPtr(this), source, context);
}
开发者ID:Akheon23,项目名称:chromecast-mirrored-source.vendor,代码行数:13,代码来源:qaxisstep.cpp

示例2: current

Item::Iterator::Ptr ApplyTemplate::evaluateSequence(const DynamicContext::Ptr &context) const
{
    const TemplateMode::Ptr templateMode(effectiveMode(context));
    const Template::Ptr &templateMatch = findTemplate(context, templateMode);

    if(templateMatch)
        return templateMatch->body->evaluateSequence(templateMatch->createContext(this, context, false));
    else
    {
        /* None of our templates matched. Proceed with a built-in. */
        const Item current(context->contextItem());
        // TODO it can be an atomic value?
        const QXmlNodeModelIndex::NodeKind kind(current.asNode().kind());

        if(kind == QXmlNodeModelIndex::Element || kind == QXmlNodeModelIndex::Document)
        {
            pDebug() << "No template match, using builtin template for element() | document-node()";

            const Item::Iterator::Ptr focusIterator(makeItemMappingIterator<Item>(ConstPtr(this),
                                                    current.asNode().iterate(QXmlNodeModelIndex::AxisChild),
                                                    context));

            const DynamicContext::Ptr focus(context->createFocus());
            focus->setFocusIterator(focusIterator);
            return makeSequenceMappingIterator<Item>(ConstPtr(this), focusIterator, focus);
        }
        return CommonValues::emptyIterator;
    }
}
开发者ID:selebro,项目名称:qt,代码行数:29,代码来源:qapplytemplate.cpp

示例3: evaluateSingleton

Item AxisStep::evaluateSingleton(const DynamicContext::Ptr &context) const
{
    /* If we don't have a focus, it's either a bug or our parent isn't a Path
     * that have advanced the focus iterator. Hence, attempt to advance the focus on our own. */
    if(!context->contextItem())
        context->focusIterator()->next();

    Q_ASSERT(context->contextItem());

    const QXmlNodeModelIndex::Iterator::Ptr it(context->contextItem().asNode().iterate(m_axis));
    QXmlNodeModelIndex next(it->next());

    while(!next.isNull())
    {
        const Item candidate(mapToItem(next, context));

        if(candidate)
            return candidate;
        else
            next = it->next();
    };

    return Item();
}
开发者ID:Akheon23,项目名称:chromecast-mirrored-source.vendor,代码行数:24,代码来源:qaxisstep.cpp

示例4: createContext

DynamicContext::Ptr CurrentItemStore::createContext(const DynamicContext::Ptr &old) const
{
    return DynamicContext::Ptr(new CurrentItemContext(old->contextItem(), old));
}
开发者ID:wpbest,项目名称:copperspice,代码行数:4,代码来源:qcurrentitemstore.cpp

示例5: evaluateSingleton

Item ContextItem::evaluateSingleton(const DynamicContext::Ptr &context) const
{
    return context->contextItem();
}
开发者ID:Akheon23,项目名称:chromecast-mirrored-source.vendor,代码行数:4,代码来源:qcontextitem.cpp

示例6: evaluateSingleton

Item ParentNodeAxis::evaluateSingleton(const DynamicContext::Ptr &context) const
{
    return context->contextItem().asNode().iterate(QXmlNodeModelIndex::AxisParent)->next();
}
开发者ID:krysanto,项目名称:steamlink-sdk,代码行数:4,代码来源:qparentnodeaxis.cpp

示例7: evaluateSingleton

Item UnparsedEntityURIFN::evaluateSingleton(const DynamicContext::Ptr &context) const
{
    checkTargetNode(context->contextItem().asNode(), context, ReportContext::XTDE1370);
    return toItem(AnyURI::fromValue(QUrl()));
}
开发者ID:krysanto,项目名称:steamlink-sdk,代码行数:5,代码来源:qunparsedentityurifn.cpp

示例8: evaluateSingleton

Item UnparsedEntityPublicIDFN::evaluateSingleton(const DynamicContext::Ptr &context) const
{
    checkTargetNode(context->contextItem().asNode(), context, ReportContext::XTDE1380);
    return AtomicString::fromValue(QString());
}
开发者ID:,项目名称:,代码行数:5,代码来源:


注:本文中的dynamiccontext::Ptr::contextItem方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。