X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Fsrc%2Fsynfig%2Fvaluenode.h;h=830cd304024834c48360b084093512674968f56c;hb=dbc88fd05c8d29849d2e6227d23605508eb188ae;hp=d0daf7827aeee3deda6e5e0a988845d320f1379f;hpb=8eed22b9657ac7cb1881eab5c7b5c3d1f0c69468;p=synfig.git diff --git a/synfig-core/src/synfig/valuenode.h b/synfig-core/src/synfig/valuenode.h index d0daf78..830cd30 100644 --- a/synfig-core/src/synfig/valuenode.h +++ b/synfig-core/src/synfig/valuenode.h @@ -337,6 +337,9 @@ public: */ typedef std::map Book; + //! The vocabulary of the children + /*! \see synfig::Paramdesc + */ typedef ParamVocab Vocab; static Book& book(); @@ -367,16 +370,16 @@ protected: public: //! Returns the number of linked Value Nodes - virtual int link_count()const=0; + virtual int link_count()const; //! Returns the local name of the 'i' linked Value Node - virtual String link_local_name(int i)const=0; + virtual String link_local_name(int i)const; //! Returns the name of the 'i' linked Value Node - virtual String link_name(int i)const=0; + virtual String link_name(int i)const; //! Returns the child index Value Node based on the name - virtual int get_link_index_from_name(const String &name)const=0; + virtual int get_link_index_from_name(const String &name)const; //! Clones a Value Node virtual ValueNode* clone(const GUID& deriv_guid=GUID())const; @@ -393,10 +396,12 @@ public: //! Return a full description of the linked ValueNode given by the index String get_description(int index = -1, bool show_exported_name = true)const; - //! Gets the parameter vocabulary for linkable value nodes - virtual Vocab get_param_vocab()const=0; + //! Gets the children vocabulary for linkable value nodes + virtual Vocab get_children_vocab()const; protected: + //! Member to store the children vocabulary + Vocab children_vocab; //! Sets the type of the ValueNode void set_type(ValueBase::Type t) { ValueNode::set_type(t); } @@ -408,6 +413,12 @@ protected: //! Returns the cached times values for all the children (linked Value Nodes) virtual void get_times_vfunc(Node::time_set &set) const; + + //! Pure Virtual member to get the children vocabulary + virtual Vocab get_children_vocab_vfunc()const=0; + + //! Virtual memebr to set the children vocabulary to a given value + virtual void set_children_vocab(Vocab& rvocab); }; // END of class LinkableValueNode /*! \class ValueNodeList