/*! \file valuenode.h
** \brief Template Header
**
-** $Id: valuenode.h,v 1.1.1.1 2005/01/04 01:23:15 darco Exp $
+** $Id$
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
class Canvas;
class LinkableValueNode;
class Layer;
-
+
/*! \class ValueNode
** \todo writeme
*/
{
friend class Layer;
friend class LinkableValueNode;
-
+
/*
-- ** -- T Y P E S -----------------------------------------------------------
*/
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_;
+ sigc::signal<void> signal_value_changed_;
//! Children Reordered
- sigc::signal<void,int*> signal_children_reordered_;
+ sigc::signal<void,int*> signal_children_reordered_;
//! Child Changed
- sigc::signal<void,int> signal_child_changed_;
+ sigc::signal<void,int> signal_child_changed_;
//! Child Removed
- sigc::signal<void,int> signal_child_removed_;
+ sigc::signal<void,int> signal_child_removed_;
//! Child Inserted
- sigc::signal<void,int> signal_child_inserted_;
+ sigc::signal<void,int> signal_child_inserted_;
//! ID Changed
- sigc::signal<void> signal_id_changed_;
+ sigc::signal<void> signal_id_changed_;
/*
-- ** -- S I G N A L I N T E R F A C E -------------------------------------
*/
protected:
-
+
ValueNode(ValueBase::Type type=ValueBase::TYPE_NIL);
public:
public:
//! Returns the value of the ValueNode at time \a t
- virtual ValueBase operator()(Time t)const
+ virtual ValueBase operator()(Time /*t*/)const
{ return ValueBase(); }
//! \internal Sets the id of the ValueNode
//! \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_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);
PlaceholderValueNode(ValueBase::Type type=ValueBase::TYPE_NIL);
public:
-
+
virtual ValueBase operator()(Time t)const;
virtual String get_name()const;
static Handle create(ValueBase::Type type=ValueBase::TYPE_NIL);
protected:
- virtual void get_times_vfunc(Node::time_set &set) const {}
+ virtual void get_times_vfunc(Node::time_set &/*set*/) const {}
}; // END of class PlaceholderValueNode
{
String local_name;
Factory factory;
- CheckType check_type;
+ CheckType check_type;
};
-
+
typedef std::map<String,BookEntry> Book;
static Book& book();
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); }
-
+ 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)); }
// 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
//! Removes any value_nodes with reference counts of 1.
void audit();
-
+
//! Placeholder Count
int placeholder_count()const { return placeholder_count_; }
};