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


C++ UmlPackage::loadFromProfile方法代码示例

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


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

示例1: fi

UmlPackage * UmlPackage::importProfile(FileIn & in, WrapperStr href)
{
    if (!href.isEmpty() && (href.left(5) != "http:") && (href.left(8) != "pathmap:")) {
        int index = href.find('#');

        if (index != -1) {
            WrapperStr id = href.mid(index + 1);
            QMap<WrapperStr, UmlItem *>::Iterator it = All.find(id);

            if (it == All.end()) {
                UmlPackage * pf = getProject()->findProfile(id);

                if (pf == 0) {
                    QFileInfo fi(in.path());
                    QDir d(fi.dir(TRUE));
                    QString fn = d.absFilePath(href.left(index));

                    if (QFile::exists(fn)) {
                        WrapperStr cmd = qApp->argv()[0] + WrapperStr(" ") + WrapperStr((const char *)fn); //[rageek] ambiguous, cast
                        int pid = UmlCom::targetItem()->apply(cmd);

                        while (isToolRunning(pid)) {
#ifdef WIN32
                            Sleep(1000);
#else
                            sleep(1);
#endif
                        }

                        UmlCom::targetItem()->unload(FALSE, FALSE); // to reread children

                        if ((pf = ((UmlPackage *) UmlCom::targetItem())->findProfile(id)) != 0)
                            // not in Bouml case
                            pf->loadFromProfile();
                    }
                    else
                        in.warning("can't open " + href.left(index));
                }
                else
                    // not in Bouml case
                    pf->loadFromProfile();

                return pf;
            }
            else if ((*it)->kind() == aPackage)
                return (UmlPackage *) *it;
        }
    }

    return 0;
}
开发者ID:bleakxanadu,项目名称:douml,代码行数:51,代码来源:UmlPackage.cpp


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