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


C++ RepoApi::incomingLinks方法代码示例

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


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

示例1: parseLinksOnDiagram

void QrsMetamodelLoader::parseLinksOnDiagram(const qrRepo::RepoApi &repo, Metamodel &metamodel, const Id &diagram)
{
	QHash<QPair<ElementType *, ElementType *>, QString> overridingProperties;
	QSet<ElementType *> elements;
	const QString diagramName = validateName(repo, diagram);

	for (const Id &id : repo.children(diagram)) {
		const Id elementType = id.type();
		if ((elementType == metamodelNodeType || elementType == metamodelEdgeType
				|| elementType == metamodelImportType) && repo.isLogicalElement(id))
		{
			const IdList inLinks = repo.incomingLinks(id);
			for (const Id &inLink : inLinks) {
				if (!repo.isLogicalElement(inLink)) {
					continue;
				}

				if (inLink.type() == metamodelInheritanceLinkType) {
					ElementType *from = nullptr;
					ElementType *to = nullptr;
					QString overridingProperty;
					parseGeneralization(repo, metamodel, inLink, diagramName, from, to, overridingProperty);
					overridingProperties[qMakePair(from, to)] = overridingProperty;
					elements.insert(from);
					elements.insert(to);
				} else if (inLink.type() == metamodelContainmentLinkType) {
					parseContainer(repo, metamodel, inLink, diagramName);
				} else if (inLink.type() == metamodelExplosionLinkType) {
					parseExplosion(repo, metamodel, inLink, diagramName);
				}
			}
		}
	}

	resolveInheritance(elements, overridingProperties);
}
开发者ID:ZiminGrigory,项目名称:qreal,代码行数:36,代码来源:qrsMetamodelLoader.cpp


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