X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fvaluenode.cpp;h=2539e5b6a05b0528627b91b11d6984d4cf0ebc7c;hb=6c43a07ee05693991ae3e8cee86cbf95b49df844;hp=297f2dd0ed1081670113debb29f5be36e7c89320;hpb=c1bc26f5ac49529976e682fbdb9eff2da11eb709;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/valuenode.cpp b/synfig-core/trunk/src/synfig/valuenode.cpp index 297f2dd..2539e5b 100644 --- a/synfig-core/trunk/src/synfig/valuenode.cpp +++ b/synfig-core/trunk/src/synfig/valuenode.cpp @@ -66,6 +66,8 @@ #include "valuenode_switch.h" #include "valuenode_timeloop.h" #include "valuenode_reciprocal.h" +#include "valuenode_duplicate.h" +#include "valuenode_integer.h" #include "layer.h" @@ -138,6 +140,8 @@ ValueNode::subsys_init() ADD_VALUENODE(ValueNode_Switch, "switch", _("Switch") ); ADD_VALUENODE(ValueNode_TimeLoop, "timeloop", _("Time Loop") ); ADD_VALUENODE(ValueNode_Reciprocal, "reciprocal", _("Reciprocal") ); + ADD_VALUENODE(ValueNode_Duplicate, "duplicate", _("Duplicate") ); + ADD_VALUENODE(ValueNode_Integer, "fromint", _("From Integer") ); #undef ADD_VALUENODE #undef ADD_VALUENODE2 @@ -161,19 +165,19 @@ ValueNode::subsys_stop() for(iter=global_value_node_map.begin();iter!=global_value_node_map.end();++iter) { if(!iter->second->is_exported()) - synfig::info("%s: count:%d name:%s type:%s", + synfig::info(_("%s: count:%d name:%s type:%s"), iter->first.get_string().c_str(), iter->second->count(), iter->second->get_name().c_str(), - ValueBase::type_name(iter->second->get_type()).c_str() + ValueBase::type_local_name(iter->second->get_type()).c_str() ); else - synfig::info("%s: id:%s count:%d name:%s type:%s", + synfig::info(_("%s: id:%s count:%d name:%s type:%s"), iter->first.get_string().c_str(), iter->second->get_id().c_str(), iter->second->count(), iter->second->get_name().c_str(), - ValueBase::type_name(iter->second->get_type()).c_str() + ValueBase::type_local_name(iter->second->get_type()).c_str() ); } } @@ -197,6 +201,13 @@ LinkableValueNode::create(const String &name, const ValueBase& x) { if(!book().count(name)) return 0; + + if (!check_type(name, x.get_type())) + { + error(_("Bad type: ValueNode '%s' doesn't accept type '%s'"), book()[name].local_name.c_str(), ValueBase::type_local_name(x.get_type()).c_str()); + return 0; + } + return book()[name].factory(x); } @@ -251,8 +262,6 @@ ValueNode::~ValueNode() value_node_count--; begin_delete(); - - //DEBUGPOINT(); } void