Rename get_param_vocab to get_children_vocab and use a wrapper for the pure virtual...
[synfig.git] / synfig-core / src / synfig / valuenode.cpp
index da9c45c..1ff921e 100644 (file)
@@ -669,11 +669,39 @@ LinkableValueNode::get_description(int index, bool show_exported_name)const
        return description;
 }
 
-/*
+String
+LinkableValueNode::link_name(int i)const
+{
+       Vocab vocab(get_children_vocab());
+       Vocab::iterator iter(vocab.begin());
+       int j=0;
+       for(; iter!=vocab.end(), j<i; iter++, j++);
+       return iter!=vocab.end()?iter->get_name():String();
+}
+
+String
+LinkableValueNode::link_local_name(int i)const
+{
+       Vocab vocab(get_children_vocab());
+       Vocab::iterator iter(vocab.begin());
+       int j=0;
+       for(; iter!=vocab.end(), j<i; iter++, j++);
+       return iter!=vocab.end()?iter->get_local_name():String();
+}
+
 int
-LinkableValueNode::link_count()const
+LinkableValueNode::get_link_index_from_name(const String &name)const
 {
-       Vocab ret(get_param_vocab());
-       return ret.size();
+       Vocab vocab(get_children_vocab());
+       Vocab::iterator iter(vocab.begin());
+       int j=0;
+       for(; iter!=vocab.end(); iter++, j++)
+               if(iter->get_name()==name) return j;
+       throw Exception::BadLinkName(name);
+}
+
+LinkableValueNode::Vocab
+LinkableValueNode::get_children_vocab()const
+{
+       return get_children_vocab_vfunc();
 }
-*/