本文整理汇总了C++中NodeAbstractProperty::count方法的典型用法代码示例。如果您正苦于以下问题:C++ NodeAbstractProperty::count方法的具体用法?C++ NodeAbstractProperty::count怎么用?C++ NodeAbstractProperty::count使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NodeAbstractProperty
的用法示例。
在下文中一共展示了NodeAbstractProperty::count方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: nodeReparented
void ModelToTextMerger::nodeReparented(const ModelNode &node, const NodeAbstractProperty &newPropertyParent, const NodeAbstractProperty &oldPropertyParent, AbstractView::PropertyChangeFlags propertyChange)
{
if (isInHierarchy(oldPropertyParent) && isInHierarchy(newPropertyParent)) { // the node is moved
schedule(new ReparentNodeRewriteAction(node,
oldPropertyParent,
newPropertyParent,
propertyType(newPropertyParent)));
} else if (isInHierarchy(oldPropertyParent) && !isInHierarchy(newPropertyParent)) { // the node is removed from hierarchy
if (oldPropertyParent.isNodeProperty()) {
// ignore, the subsequent remove property will take care of all
} else if (oldPropertyParent.isNodeListProperty()) {
if (!oldPropertyParent.isDefaultProperty() && oldPropertyParent.count() == 0)
schedule(new RemovePropertyRewriteAction(oldPropertyParent));
else
schedule(new RemoveNodeRewriteAction(node));
} else {
schedule(new RemoveNodeRewriteAction(node));
}
} else if (!isInHierarchy(oldPropertyParent) && isInHierarchy(newPropertyParent)) { // the node is inserted into to hierarchy
switch (propertyChange) {
case AbstractView::PropertiesAdded:
schedule(new AddPropertyRewriteAction(newPropertyParent,
QmlTextGenerator(getPropertyOrder())(node),
propertyType(newPropertyParent),
node));
break;
case AbstractView::NoAdditionalChanges:
schedule(new ChangePropertyRewriteAction(newPropertyParent,
QmlTextGenerator(getPropertyOrder())(node),
propertyType(newPropertyParent),
node));
break;
case AbstractView::EmptyPropertiesRemoved:
break;
default:
Q_ASSERT(!"Unknown PropertyChange value");
}
} else {
// old is outside of hierarchy, new is outside of hierarchy, so who cares?
}
}