Delete svn tags. We don't need them in git
[synfig.git] / synfig-core / tags / synfig_0_61_06 / src / synfig / valuenode.h
diff --git a/synfig-core/tags/synfig_0_61_06/src/synfig/valuenode.h b/synfig-core/tags/synfig_0_61_06/src/synfig/valuenode.h
deleted file mode 100644 (file)
index 145a3dd..0000000
+++ /dev/null
@@ -1,387 +0,0 @@
-/* === S Y N F I G ========================================================= */
-/*!    \file valuenode.h
-**     \brief Template Header
-**
-**     $Id$
-**
-**     \legal
-**     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**
-**     This package is free software; you can redistribute it and/or
-**     modify it under the terms of the GNU General Public License as
-**     published by the Free Software Foundation; either version 2 of
-**     the License, or (at your option) any later version.
-**
-**     This package is distributed in the hope that it will be useful,
-**     but WITHOUT ANY WARRANTY; without even the implied warranty of
-**     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-**     General Public License for more details.
-**     \endlegal
-*/
-/* ========================================================================= */
-
-/* === S T A R T =========================================================== */
-
-#ifndef __SYNFIG_VALUENODE_H
-#define __SYNFIG_VALUENODE_H
-
-/* === H E A D E R S ======================================================= */
-
-#include "vector.h"
-#include "value.h"
-#include "string.h"
-#include <ETL/handle>
-#include <ETL/stringf>
-#include "exception.h"
-#include <map>
-#include <sigc++/signal.h>
-#include "guid.h"
-
-#ifndef SYNFIG_NO_ANGLE
-#include <ETL/angle>
-#endif
-
-#include "node.h"
-
-#include <set>
-
-/* === M A C R O S ========================================================= */
-
-// This is a hack for GCC 3.0.4... which has a broken dynamic_cast<>
-// It is deprecated, and will be removed soon.
-#if ( __GNUC__ == 3 ) && ( __GNUC__MINOR__ == 0 )
-# define DCAST_HACK_BASECLASS()        int cast__
-# define DCAST_HACK_ID(x)              static const int my_cast__(void) { return x; }
-# define DCAST_HACK_ENABLE()   cast__=my_cast__()
-#else
-# define DCAST_HACK_BASECLASS()
-# define DCAST_HACK_ID(x)
-# define DCAST_HACK_ENABLE()
-#endif
-
-/* === T Y P E D E F S ===================================================== */
-
-/* === C L A S S E S & S T R U C T S ======================================= */
-
-namespace synfig {
-
-class Canvas;
-class LinkableValueNode;
-class Layer;
-
-/*!    \class ValueNode
-**     \todo writeme
-*/
-class ValueNode : public synfig::Node
-{
-       friend class Layer;
-       friend class LinkableValueNode;
-
-       /*
- --    ** -- T Y P E S -----------------------------------------------------------
-       */
-
-public:
-
-       typedef etl::handle<ValueNode> Handle;
-
-       typedef etl::loose_handle<ValueNode> LooseHandle;
-
-       typedef etl::handle<const ValueNode> ConstHandle;
-
-       typedef etl::rhandle<ValueNode> RHandle;
-
-
-       static bool subsys_init();
-
-       static bool subsys_stop();
-
-       /*
- --    ** -- D A T A -------------------------------------------------------------
-       */
-
-private:
-       ValueBase::Type type;
-       String name;
-       etl::loose_handle<Canvas> canvas_;
-       etl::loose_handle<Canvas> root_canvas_;
-
-       /*
- -- ** -- S I G N A L S -------------------------------------------------------
-       */
-
-private:
-
-       //!     ValueBase Changed
-       sigc::signal<void> signal_value_changed_;
-
-       //!     Children Reordered
-       sigc::signal<void,int*> signal_children_reordered_;
-
-       //!     Child Changed
-       sigc::signal<void,int> signal_child_changed_;
-
-       //!     Child Removed
-       sigc::signal<void,int> signal_child_removed_;
-
-       //!     Child Inserted
-       sigc::signal<void,int> signal_child_inserted_;
-
-       //!     ID Changed
-       sigc::signal<void> signal_id_changed_;
-
-       /*
- -- ** -- S I G N A L   I N T E R F A C E -------------------------------------
-       */
-
-public:
-
-       //!     ValueBase Changed
-       sigc::signal<void>& signal_value_changed() { return signal_value_changed_; }
-
-       //!     Children Reordered
-       sigc::signal<void,int*>& signal_children_reordered() { return signal_children_reordered_; }
-
-       //!     Child Changed
-       sigc::signal<void,int>& signal_child_changed() { return signal_child_changed_; }
-
-       //!     Child Removed
-       sigc::signal<void,int>& signal_child_removed() { return signal_child_removed_; }
-
-       //!     Child Inserted
-       sigc::signal<void,int>& signal_child_inserted() { return signal_child_inserted_; }
-
-       //!     ID Changed
-       sigc::signal<void>& signal_id_changed() { return signal_id_changed_; }
-
-       /*
- --    ** -- C O N S T R U C T O R S ---------------------------------------------
-       */
-
-protected:
-
-       ValueNode(ValueBase::Type type=ValueBase::TYPE_NIL);
-
-public:
-
-       virtual ~ValueNode();
-
-       /*
- --    ** -- M E M B E R   F U N C T I O N S -------------------------------------
-       */
-
-public:
-
-       //! Returns the value of the ValueNode at time \a t
-       virtual ValueBase operator()(Time t)const
-               { return ValueBase(); }
-
-       //! \internal Sets the id of the ValueNode
-       void set_id(const String &x);
-
-       //! Returns the id of the ValueNode
-       /*!     The ID is used for keeping track of a
-       **      specific instance of a ValueNode. */
-       const String &get_id()const { return name; }
-
-       //! Returns the name of the ValueNode type
-       virtual String get_name()const=0;
-
-       //! Returns the localized name of the ValueNode type
-       virtual String get_local_name()const=0;
-
-
-       //! \writeme
-       virtual ValueNode* clone(const GUID& deriv_guid=GUID())const=0;
-
-       //! \writeme
-       bool is_exported()const { return !get_id().empty(); }
-
-       //! Returns the type of the ValueNode
-       ValueBase::Type get_type()const { return type; }
-
-       //! Returns a handle to the parent canvas, if it has one.
-       etl::loose_handle<Canvas> get_parent_canvas()const { return canvas_; }
-
-       //! Returns a handle to the parent canvas, if it has one.
-       etl::loose_handle<Canvas> get_root_canvas()const { return root_canvas_; }
-
-       //! \writeme
-       void set_parent_canvas(etl::loose_handle<Canvas> x);
-
-       //! \writeme
-       void set_root_canvas(etl::loose_handle<Canvas> x);
-
-       //! \writeme
-       String get_relative_id(etl::loose_handle<const Canvas> x)const;
-
-       int replace(etl::handle<ValueNode> x);
-
-protected:
-       //! Sets the type of the ValueNode
-       void set_type(ValueBase::Type t) { type=t; }
-
-       virtual void on_changed();
-
-public:
-       DCAST_HACK_BASECLASS();
-       DCAST_HACK_ID(0);
-}; // END of class ValueNode
-
-/*!    \class PlaceholderValueNode
-**     \todo writeme
-*/
-class PlaceholderValueNode : public ValueNode
-{
-public:
-       typedef etl::handle<PlaceholderValueNode> Handle;
-       typedef etl::loose_handle<PlaceholderValueNode> LooseHandle;
-       typedef etl::handle<const PlaceholderValueNode> ConstHandle;
-       typedef etl::rhandle<PlaceholderValueNode> RHandle;
-
-private:
-
-       PlaceholderValueNode(ValueBase::Type type=ValueBase::TYPE_NIL);
-
-public:
-
-       virtual ValueBase operator()(Time t)const;
-
-       virtual String get_name()const;
-
-       virtual String get_local_name()const;
-
-       virtual ValueNode* clone(const GUID& deriv_guid=GUID())const;
-
-       static Handle create(ValueBase::Type type=ValueBase::TYPE_NIL);
-
-protected:
-       virtual void get_times_vfunc(Node::time_set &set) const {}
-}; // END of class PlaceholderValueNode
-
-
-/*!    \class LinkableValueNode
-**     \todo writeme
-*/
-class LinkableValueNode : public ValueNode
-{
-       friend class ValueNode;
-public:
-
-       typedef etl::handle<LinkableValueNode> Handle;
-
-       typedef etl::loose_handle<LinkableValueNode> LooseHandle;
-
-       typedef etl::handle<const LinkableValueNode> ConstHandle;
-
-       typedef etl::rhandle<LinkableValueNode> RHandle;
-
-
-       //! Type that represents a pointer to a ValueNode's constructor
-       typedef LinkableValueNode* (*Factory)(const ValueBase&);
-
-       typedef bool (*CheckType)(ValueBase::Type);
-
-       struct BookEntry
-       {
-               String local_name;
-               Factory factory;
-               CheckType check_type;
-       };
-
-       typedef std::map<String,BookEntry> Book;
-
-       static Book& book();
-
-       static Handle create(const String &name, const ValueBase& x);
-
-       static bool check_type(const String &name, ValueBase::Type x);
-
-public:
-       LinkableValueNode(ValueBase::Type type=ValueBase::TYPE_NIL):
-               ValueNode(type) { }
-
-protected:
-       virtual bool set_link_vfunc(int i,ValueNode::Handle x)=0;
-
-       void unlink_all();
-
-public:
-
-       virtual int link_count()const=0;
-
-       virtual String link_local_name(int i)const=0;
-
-       virtual String link_name(int i)const=0;
-
-       virtual int get_link_index_from_name(const String &name)const=0;
-
-       virtual ValueNode* clone(const GUID& deriv_guid=GUID())const;
-
-       bool set_link(int i,ValueNode::Handle x);
-       bool set_link(const String &name,ValueNode::Handle x) { return set_link(get_link_index_from_name(name),x);      }
-
-       ValueNode::LooseHandle get_link(int i)const;
-       ValueNode::LooseHandle get_link(const String &name)const { return get_link(get_link_index_from_name(name)); }
-
-protected:
-       //! Sets the type of the ValueNode
-       void set_type(ValueBase::Type t) { ValueNode::set_type(t); }
-
-       virtual ValueNode::LooseHandle get_link_vfunc(int i)const=0;
-
-       // Wrapper for new operator, used by clone()
-       virtual LinkableValueNode* create_new()const=0;
-
-       virtual void get_times_vfunc(Node::time_set &set) const;
-}; // END of class LinkableValueNode
-
-/*!    \class ValueNodeList
-**     \brief A searchable value_node list container
-**     \warning Do not confuse with ValueNode_DynamicList!
-**     \todo writeme
-*/
-class ValueNodeList : public std::list<ValueNode::RHandle>
-{
-       int placeholder_count_;
-public:
-       ValueNodeList();
-
-       //! Finds the ValueNode in the list with the given \a name
-       /*!     \return If found, returns a handle to the ValueNode.
-       **              Otherwise, returns an empty handle.
-       */
-       ValueNode::Handle find(const String &name);
-
-       //! Finds the ValueNode in the list with the given \a name
-       /*!     \return If found, returns a handle to the ValueNode.
-       **              Otherwise, returns an empty handle.
-       */
-       ValueNode::ConstHandle find(const String &name)const;
-
-       //! Removes the \a value_node from the list
-       bool erase(ValueNode::Handle value_node);
-
-       //! \writeme
-       bool add(ValueNode::Handle value_node);
-
-       //! \writeme
-       bool count(const String &id)const;
-
-       //! Similar to find, but will create a placeholder value_node if it cannot be found.
-       ValueNode::Handle surefind(const String &name);
-
-       //! Removes any value_nodes with reference counts of 1.
-       void audit();
-
-       //! Placeholder Count
-       int placeholder_count()const { return placeholder_count_; }
-};
-
-ValueNode::LooseHandle find_value_node(const GUID& guid);
-
-}; // END of namespace synfig
-
-/* === E N D =============================================================== */
-
-#endif