本文整理汇总了C++中NodeInstance类的典型用法代码示例。如果您正苦于以下问题:C++ NodeInstance类的具体用法?C++ NodeInstance怎么用?C++ NodeInstance使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了NodeInstance类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Q_ASSERT
void NodeInstanceView::removeInstanceNodeRelationship(const ModelNode &node)
{
Q_ASSERT(m_nodeInstanceHash.contains(node));
NodeInstance instance = instanceForModelNode(node);
m_nodeInstanceHash.remove(node);
instance.makeInvalid();
}
示例2: insertInstanceRelationships
void NodeInstanceView::insertInstanceRelationships(const NodeInstance &instance)
{
Q_ASSERT(instance.instanceId() >=0);
if (m_nodeInstanceHash.contains(instance.modelNode()))
return;
m_nodeInstanceHash.insert(instance.modelNode(), instance);
}
示例3: instanceForModelNode
void NodeInstanceView::nodeSourceChanged(const ModelNode &node, const QString & newNodeSource)
{
if (hasInstanceForModelNode(node)) {
NodeInstance instance = instanceForModelNode(node);
ChangeNodeSourceCommand changeNodeSourceCommand(instance.instanceId(), newNodeSource);
nodeInstanceServer()->changeNodeSource(changeNodeSourceCommand);
}
}
示例4: foreach
void NodeInstanceView::updateChildren(const NodeAbstractProperty &newPropertyParent)
{
QVector<ModelNode> childNodeVector = newPropertyParent.directSubNodes().toVector();
qint32 parentInstanceId = newPropertyParent.parentModelNode().internalId();
foreach (const ModelNode &childNode, childNodeVector) {
qint32 instanceId = childNode.internalId();
if (hasInstanceForId(instanceId)) {
NodeInstance instance = instanceForId(instanceId);
if (instance.directUpdates())
instance.setParentId(parentInstanceId);
}
}
示例5: Save
void NodeInstanceManager::Save(QSettings& settings)
{
int regIdx = 0;
for (int i = 0; i < mInstances.count(); ++i)
{
NodeInstance* nodeInstance = mInstances[i];
// Check that the instance is valid
if ( !nodeInstance->IsValid() )
continue;
NodeInstanceSettings instanceSettings;
instanceSettings.scriptPath = nodeInstance->GetScriptPath();
instanceSettings.port = nodeInstance->GetPort();
instanceSettings.vars = nodeInstance->GetVars();
instanceSettings.debug = nodeInstance->IsDebugEnabled();
QString instanceKey = QString("instance%1").arg(regIdx);
QVariant varInstanceSettings = QVariant::fromValue(instanceSettings);
settings.setValue( instanceKey, varInstanceSettings );
regIdx++;
}
// Clear the next instance registry setting to make sure not to load invalid data.
QString instanceKeyToRemove = QString("instance%1").arg(regIdx);
settings.remove( instanceKeyToRemove );
}
示例6: GetProcessInfoList
void NodeInstanceManager::HostAlreadyRunningNodes()
{
QList<ProcessInfo> nodeProcesses = GetProcessInfoList("SELECT * FROM Win32_Process WHERE Name = 'node.exe'");
ProcessInfo pi;
foreach( pi, nodeProcesses )
{
// Get script name
// We suppose the script is the last argument
QString scriptName = pi.args.last();
// Check if we have everything needed
if ( scriptName.isEmpty() || pi.workingDir.isEmpty() )
continue;
QFileInfo scriptPath( QDir(pi.workingDir), scriptName );
if ( !scriptPath.exists() )
continue;
// Check if the process matches any available slots
bool hasSlot = false;
for (int i = 0; i < mInstances.count(); ++i)
{
NodeInstance* nodeInstance = mInstances[i];
if ( QFileInfo(nodeInstance->GetScriptPath()).canonicalFilePath() == scriptPath.canonicalFilePath() )
{
// TODO: Reuse slot
hasSlot = true;
nodeInstance->EnableExternalProcess( pi.pid );
break;
}
}
if ( !hasSlot )
{
// Create new slot
NodeInstance* newInstance = CreateInstance();
newInstance->SetScriptPath( scriptPath.absoluteFilePath() );
newInstance->EnableExternalProcess( pi.pid );
// get port
newInstance->SetPort( pi.env["PORT"].toInt() );
}
}
示例7: reparent
void ObjectNodeInstance::reparent(const NodeInstance &oldParentInstance, const QString &oldParentProperty, const NodeInstance &newParentInstance, const QString &newParentProperty)
{
if (oldParentInstance.isValid()) {
if (oldParentInstance.isQmlGraphicsItem() && isChildrenProperty(oldParentProperty))
specialRemoveParentForQmlGraphicsItemChildren(object());
else
removeFromOldProperty(object(), oldParentInstance.internalObject(), oldParentProperty);
}
if (newParentInstance.isValid()) {
if (newParentInstance.isQmlGraphicsItem() && isChildrenProperty(newParentProperty))
specialSetParentForQmlGraphicsItemChildren(object(), qobject_cast<QDeclarativeItem*>(newParentInstance.internalObject()));
else
addToNewProperty(object(), newParentInstance.internalObject(), newParentProperty);
}
refreshBindings(context()->engine()->rootContext());
}
示例8:
bool operator ==(const NodeInstance &first, const NodeInstance &second)
{
return first.instanceId() >= 0 && first.instanceId() == second.instanceId();
}
示例9: contentRect
QRectF contentRect(const NodeInstance &nodeInstance)
{
QRectF contentRect(nodeInstance.position(), nodeInstance.size());
return nodeInstance.contentTransform().mapRect(contentRect);
}