# synfig::Node Class Reference

`#include <node.h>`

Inheritance diagram for synfig::Node:

List of all members.

## Public Types

typedef TimePointSet | time_set

## Public Member Functions

sigc::signal< void > & | signal_deleted ()
sigc::signal< void > & | signal_changed ()
sigc::signal< void, GUID > & | signal_guid_changed ()
| GUID Changed.
virtual | ~Node ()
void | changed ()
const GUID & | get_guid () const
| Gets the GUID for this value node.
void | set_guid (const GUID &x)
| Sets the GUID for this value node.
int | get_time_last_changed () const
void | add_child (Node *x)
void | remove_child (Node *x)
int | parent_count () const
const time_set & | get_times () const
RWLock & | get_rw_lock () const

## Public Attributes

std::set< Node * > | parent_set

## Protected Member Functions

| Node ()
void | begin_delete ()
virtual void | on_changed ()
virtual void | on_guid_changed (GUID guid)
virtual void | get_times_vfunc (time_set &set) const =0

## Member Typedef Documentation

typedef TimePointSet synfig::Node::time_set

Todo:
  This needs to be documented further.

## Constructor & Destructor Documentation

Node::Node | ( |  | ) | `[protected]`

References global_node_map(), and synfig::GUID::make_unique().

Node::~Node | ( |  | ) | `[virtual]`

References begin_delete(), and global_node_map().

## Member Function Documentation

sigc::signal<void>& synfig::Node::signal_deleted | ( |  | ) | `[inline]`

Referenced by begin_delete().

sigc::signal<void>& synfig::Node::signal_changed | ( |  | ) | `[inline]`

Referenced by on_changed(), and synfig::Canvas::signal_dirty().

sigc::signal<void,GUID>& synfig::Node::signal_guid_changed | ( |  | ) | `[inline]`

GUID Changed.

Note:
  The second parameter is the *OLD* guid!

Referenced by on_guid_changed().

void Node::changed | ( |  | ) |

References __sys_clock, and on_changed().

Referenced by synfig::ValueNode_Animated::add(), synfig::Canvas::clear(), synfig::Layer::connect_dynamic_param(), synfig::Layer::disconnect_dynamic_param(), synfig::Canvas::erase(), synfig::Canvas::insert(), synfig::ValueNode_DynamicList::insert_time(), synfig::ValueNode_Animated::insert_time(), synfig::Canvas::push_back_simple(), synfig::LinkableValueNode::set_link(), synfig::Layer_PasteCanvas::set_param(), and synfig::ValueNode_Const::set_value().

const synfig::GUID & Node::get_guid | ( |  | ) | const

Gets the GUID for this value node.

References global_node_map().

Referenced by synfig::ValueNode_DynamicList::clone(), synfig::ValueNode_Const::clone(), synfig::LinkableValueNode::clone(), synfig::PlaceholderValueNode::clone(), synfig::Layer::clone(), synfig::Canvas::clone(), and refresh_node().

void Node::set_guid | ( | const GUID & | x | ) |

Sets the GUID for this value node.

References global_node_map(), on_guid_changed(), and refresh_node().

Referenced by synfig::ValueNode_DynamicList::clone(), synfig::ValueNode_Const::clone(), synfig::LinkableValueNode::clone(), and synfig::PlaceholderValueNode::clone().

int Node::get_time_last_changed | ( |  | ) | const

void Node::add_child | ( | Node * | x | ) |

References parent_set.

Referenced by synfig::ValueNode_DynamicList::add(), synfig::Layer::connect_dynamic_param(), synfig::Canvas::insert(), synfig::ValueNode::replace(), synfig::LinkableValueNode::set_link(), and synfig::Layer_PasteCanvas::set_sub_canvas().

void Node::remove_child | ( | Node * | x | ) |

References parent_set.

Referenced by synfig::Layer::connect_dynamic_param(), synfig::Layer::disconnect_dynamic_param(), synfig::ValueNode_DynamicList::erase(), synfig::Canvas::erase(), synfig::ValueNode::replace(), synfig::LinkableValueNode::set_link(), synfig::Layer_PasteCanvas::set_sub_canvas(), and synfig::Layer::~Layer().

int Node::parent_count | ( |  | ) | const

References parent_set.

const Node::time_set & Node::get_times | ( |  | ) | const

References get_times_vfunc().

RWLock& synfig::Node::get_rw_lock | ( |  | ) | const`[inline]`

void Node::begin_delete | ( |  | ) | `[protected]`

References signal_deleted().

Referenced by synfig::Canvas::~Canvas(), synfig::Layer::~Layer(), ~Node(), and synfig::ValueNode::~ValueNode().

void Node::on_changed | ( |  | ) | `[protected, virtual]`

Reimplemented in synfig::Canvas, synfig::Layer, and synfig::ValueNode.

References parent_set, and signal_changed().

Referenced by changed(), synfig::ValueNode::on_changed(), synfig::Layer::on_changed(), synfig::Canvas::on_changed(), and synfig::Layer::set_active().

void Node::on_guid_changed | ( | synfig::GUID | guid | ) | `[protected, virtual]`

References signal_guid_changed().

Referenced by set_guid().

virtual void synfig::Node::get_times_vfunc | ( | time_set & | set | ) | const`[protected, pure virtual]`

Function to be overloaded that fills

Implemented in synfig::Canvas, synfig::Layer, synfig::Layer_PasteCanvas, synfig::PlaceholderValueNode, synfig::LinkableValueNode, synfig::ValueNode_Animated, synfig::ValueNode_Const, and synfig::ValueNode_DynamicList.

Referenced by get_times().

## Member Data Documentation

std::set<Node*> synfig::Node::parent_set

Todo:
  This should really be private

Referenced by add_child(), synfig::LinkableValueNode::get_description(), on_changed(), parent_count(), remove_child(), synfig::ValueNode::replace(), and synfig::Canvas::~Canvas().

The documentation for this class was generated from the following files:

- node.h
- node.cpp