20 for (
int i = 0; i < outputs.size(); i++)
29 for (
int i = 0; i < inputs.size(); i++)
31 input_fields[i] = std::make_shared<QtFieldData>(inputs[i]);;
44 if (portType == PortType::In)
63 return NodeDataType{
name.c_str(),
name.c_str(), PortShape::Point };
69 return std::dynamic_pointer_cast<QtNodeData>(
output_fields[port]);
89 return mModule->captionVisible();
94 return QString::fromStdString(
mModule->caption());
99 Q_UNUSED(portType); Q_UNUSED(portIndex);
120 auto fieldTip = [&](
FBase* f) -> QString {
125 return QString::fromStdString(tip);
136 auto fieldData = std::dynamic_pointer_cast<QtFieldData>(data);
138 if (fieldData !=
nullptr)
140 auto field = fieldData->getField();
142 if (fieldData->connectionType() == CntType::Break)
145 fieldData->setConnectionType(CntType::Link);
163 auto fieldExp = std::dynamic_pointer_cast<QtFieldData>(nodeData);
164 if (fieldExp ==
nullptr)
169 if (fieldInp->getField()->getClassName() == fieldExp->getField()->getClassName())
171 std::string className = fieldInp->getField()->getClassName();
177 if (instIn !=
nullptr && instOut !=
nullptr)
183 return fieldInp->getField()->getTemplateName() == fieldExp->getField()->getTemplateName();
190 catch (std::bad_cast)
225 bool hasAllInputs =
mModule->isInputComplete();
240 Q_EMIT dataUpdated(i);
246 return portType == PortType::In ?
mModule->getInputFields()[portIndex] :
mModule->getOutputFields()[portIndex];
251 return mModule->getOutputFields();
256 return mModule->getInputFields();
std::string getObjectName()
virtual const std::string getClassName()
virtual const std::string getTemplateName()
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)