#pragma once #include #include #include #include using QtNodes::PortType; using QtNodes::PortIndex; using QtNodes::NodeData; using QtNodes::NodeDataType; using QtNodes::NodeDataModel; class DecimalData; class IntegerData; class DecimalToIntegerModel : public NodeDataModel { Q_OBJECT public: DecimalToIntegerModel() = default; virtual ~DecimalToIntegerModel() = default; public: QString caption() const override { return QStringLiteral("Decimal to integer"); } bool captionVisible() const override { return false; } QString name() const override { return QStringLiteral("DecimalToInteger"); } std::unique_ptr clone() const override { return std::make_unique(); } public: QJsonObject save() const override; public: unsigned int nPorts(PortType portType) const override; NodeDataType dataType(PortType portType, PortIndex portIndex) const override; std::shared_ptr outData(PortIndex port) override; void setInData(std::shared_ptr, int) override; QWidget * embeddedWidget() override { return nullptr; } private: std::shared_ptr _decimal; std::shared_ptr _integer; };