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


C++ MetadataInfo::parseUpdatable方法代码示例

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


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

示例1: insertMetadata

/**
 * @brief Regola::updateMetadata update the updatable metadata if existing or insert them
 * @return
 */
void Regola::insertMetadata(QTreeWidget *tree)
{
    //---
    /* breakpoint trap
    extern bool stopMeta;
    if( stopMeta ) {
        stopMeta = true ;
    }*/
    //---
    bool found = false;
    Element *firstElement = NULL ;
    int row = 0 ;
    foreach(Element * topLevel, childItems) {
        if(topLevel->getType() == Element::ET_PROCESSING_INSTRUCTION) {
            if(NULL == firstElement) {
                firstElement = topLevel ;
            }
            if(topLevel->getPITarget() == MetadataInfo::QXMLEDIT_TARGET_PI) {
                MetadataInfo info;
                if(info.parseUpdatable(topLevel->getPIData(), row)) {
                    found = true ;
                    updateMetadataRecord(tree, topLevel, &info, true);
                    break;
                }
            }
            row ++ ;
        }
    }
    if(!found) {
        // insert new metadata
        MetadataInfo newInfo;
        newInfo.markNewRecord();
        QString newData = newInfo.updatable()->toProcessingInstruction();
        newInfo.updatable()->update(false);
        Element *newPI = new Element(this, Element::ET_PROCESSING_INSTRUCTION, NULL);
        newPI->setPITarget(MetadataInfo::QXMLEDIT_TARGET_PI);
        newPI->setPIData(newData);
        newPI->markEdited();
        // at the second place, if possible
        int insertIndex = 0 ;
        if((NULL != firstElement)
                && (firstElement->getType() == Element::ET_PROCESSING_INSTRUCTION)
                && (firstElement->getPITarget().toLower() == "xml")) {
            insertIndex = 1;

        }
        childItems.insert(insertIndex, newPI);
        newPI->caricaFigli(tree, NULL, paintInfo, true, insertIndex);
        afterInsertHousekeeping(newPI, tree, true);
    }
}
开发者ID:ericsium,项目名称:qxmledit,代码行数:55,代码来源:metadata.cpp

示例2: updateMetadata

void Regola::updateMetadata(QTreeWidget *tree)
{
    int index = 0 ;
    foreach(Element * topLevel, childItems) {
        if((topLevel->getType() == Element::ET_PROCESSING_INSTRUCTION)
                && (topLevel->getPITarget() == MetadataInfo::QXMLEDIT_TARGET_PI)) {
            MetadataInfo info;
            if(info.parseUpdatable(topLevel->getPIData(), index)) {
                updateMetadataRecord(tree, topLevel, &info, false);
                break;
            }
        }
        index ++ ;
    }
}
开发者ID:ericsium,项目名称:qxmledit,代码行数:15,代码来源:metadata.cpp


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