From b428eb9984668bf147946d72b2aaa4452a2239ac Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sun, 8 Sep 2019 12:19:00 +1000 Subject: [PATCH] changed nodeparam naming behavior --- app/node/input.cpp | 14 +++++++++----- app/node/input.h | 2 ++ app/node/output.cpp | 7 +------ app/node/output.h | 2 +- app/node/param.cpp | 6 +++++- app/node/param.h | 4 +++- 6 files changed, 21 insertions(+), 14 deletions(-) diff --git a/app/node/input.cpp b/app/node/input.cpp index c7bd6775b..eeb5d5c63 100644 --- a/app/node/input.cpp +++ b/app/node/input.cpp @@ -40,11 +40,6 @@ NodeParam::Type NodeInput::type() void NodeInput::add_data_input(const NodeParam::DataType &data_type) { inputs_.append(data_type); - - // If no name has been set, use a default name - if (name().isEmpty()) { - set_name(GetDefaultDataTypeName(data_type)); - } } bool NodeInput::can_accept_type(const NodeParam::DataType &data_type) @@ -133,6 +128,15 @@ void NodeInput::set_dependent(bool d) dependent_ = d; } +NodeParam::DataType NodeInput::data_type() +{ + if (inputs_.isEmpty()) { + return kNone; + } + + return inputs_.first(); +} + const QList &NodeInput::inputs() { return inputs_; diff --git a/app/node/input.h b/app/node/input.h index f65c00c43..6e042ad80 100644 --- a/app/node/input.h +++ b/app/node/input.h @@ -124,6 +124,8 @@ public: */ void set_dependent(bool d); + virtual DataType data_type() override; + /** * @brief A list of input data types accepted by this parameter */ diff --git a/app/node/output.cpp b/app/node/output.cpp index c59ede324..cef60045f 100644 --- a/app/node/output.cpp +++ b/app/node/output.cpp @@ -32,7 +32,7 @@ NodeParam::Type NodeOutput::type() return kOutput; } -const NodeParam::DataType &NodeOutput::data_type() +NodeParam::DataType NodeOutput::data_type() { return data_type_; } @@ -40,11 +40,6 @@ const NodeParam::DataType &NodeOutput::data_type() void NodeOutput::set_data_type(const NodeParam::DataType &type) { data_type_ = type; - - // If no name has been set, use a default name - if (name().isEmpty()) { - set_name(GetDefaultDataTypeName(type)); - } } QVariant NodeOutput::get_value(const rational& time) diff --git a/app/node/output.h b/app/node/output.h index 45d9ee5ea..2c911bf37 100644 --- a/app/node/output.h +++ b/app/node/output.h @@ -45,7 +45,7 @@ public: * This can be used in conjunction with NodeInput::can_accept_type() to determine whether this parameter can be * connected to it. */ - const DataType& data_type(); + virtual DataType data_type() override; void set_data_type(const DataType& type); /** diff --git a/app/node/param.cpp b/app/node/param.cpp index e8b51704b..f888e73cf 100644 --- a/app/node/param.cpp +++ b/app/node/param.cpp @@ -38,8 +38,12 @@ const QString NodeParam::id() return id_; } -const QString &NodeParam::name() +QString NodeParam::name() { + if (name_.isEmpty()) { + return GetDefaultDataTypeName(data_type()); + } + return name_; } diff --git a/app/node/param.h b/app/node/param.h index bbc59f291..ff7229c6e 100644 --- a/app/node/param.h +++ b/app/node/param.h @@ -129,7 +129,7 @@ public: /** * @brief Name of this parameter to be shown to the user */ - const QString& name(); + QString name(); void set_name(const QString& name); /** @@ -250,6 +250,8 @@ public: */ const rational& LastRequestedTime(); + virtual DataType data_type() = 0; + signals: /** * @brief Signal emitted when an edge is added to this parameter