20 for (
int i = 0; i < outputs.size(); i++)
31 for (
int i = 0; i < inputs.size(); i++)
33 input_fields[i] = std::make_shared<QtFieldData>(inputs[i]);;
37 auto imports =
mModule->getImportModules();
38 auto imports_num = imports.size();
41 for (
int i = 0; i < imports.size(); i++)
89 if (
mModule->allowExported() && portIndex == 0)
95 PortIndex recalculatedIndex =
mModule->allowExported() ? portIndex - 1 : portIndex;
116 return port == 0 ? std::static_pointer_cast<QtNodeData>(
mModuleExport) : std::static_pointer_cast<QtNodeData>(
output_fields[port - 1]);
119 return std::static_pointer_cast<QtNodeData>(
output_fields[port]);
139 return mModule->captionVisible();
144 return QString::fromStdString(
mModule->caption());
149 Q_UNUSED(portType); Q_UNUSED(portIndex);
172 if (
mModule->allowExported() && portIndex == 0)
178 PortIndex recalculatedIndex =
mModule->allowExported() ? portIndex - 1 : portIndex;
199 auto fieldTip = [&](
FBase* f) -> QString {
201 tip +=
"Class: " + f->getClassName() +
"\n";
202 tip +=
"Template: " + f->getTemplateName() +
"\n";
204 return QString::fromStdString(tip);
224 if (
mModule->allowExported() && portIndex == 0)
230 PortIndex recalculatedIndex =
mModule->allowExported() ? portIndex - 1 : portIndex;
250 auto module_port = std::dynamic_pointer_cast<QtExportModule>(data);
252 if (module_port !=
nullptr)
254 auto m = module_port->getModule();
273 auto fieldData = std::dynamic_pointer_cast<QtFieldData>(data);
275 if (fieldData !=
nullptr)
277 auto field = fieldData->getField();
305 auto moduleExp = std::dynamic_pointer_cast<QtExportModule>(nodeData);
307 if (moduleExp ==
nullptr)
312 return moduleImp->getModulePort()->isKindOf(moduleExp->getModule().get());;
314 catch (std::bad_cast)
323 auto fieldExp = std::dynamic_pointer_cast<QtFieldData>(nodeData);
324 if (fieldExp ==
nullptr)
329 if (fieldInp->getField()->getClassName() == fieldExp->getField()->getClassName())
331 std::string className = fieldInp->getField()->getClassName();
337 if (instIn !=
nullptr && instOut !=
nullptr)
343 return fieldInp->getField()->getTemplateName() == fieldExp->getField()->getTemplateName();
351 catch (std::bad_cast)
368 auto portType =
mModuleImports[portIndex]->getModulePort()->getPortType();
376 return fieldInp->getField()->inputPolicy() ==
FBase::One ? ConnectionPolicy::One : ConnectionPolicy::Many;
402 bool hasAllInputs =
mModule->isInputComplete();
417 Q_EMIT dataUpdated(i);
428 return mModule->getOutputFields();
433 return mModule->getInputFields();
std::string getObjectName()
virtual const std::string getClassName()
virtual bool canBeConnectedBy(InstanceBase *ins)=0
static const std::string className()
QString FormatBlockCaptionName(std::string name)
QString FormatDescription(std::string name)
QString FormatBlockPortName(std::string name)