# studio::CanvasTreeStore Class Reference

`#include <canvastreestore.h>`

Inheritance diagram for studio::CanvasTreeStore:

List of all members.

## Public Member Functions

| CanvasTreeStore (etl::loose_handle< synfigapp::CanvasInterface > canvas_interface_)
| ~CanvasTreeStore ()
etl::loose_handle < synfigapp::CanvasInterface > | canvas_interface ()
etl::loose_handle< const synfigapp::CanvasInterface > | canvas_interface () const
virtual void | rebuild_row (Gtk::TreeModel::Row &row, bool do_children=true)
virtual void | refresh_row (Gtk::TreeModel::Row &row, bool do_children=true)
virtual void | set_row (Gtk::TreeRow row, synfigapp::ValueDesc value_desc, bool do_children=true)
bool | find_first_value_desc (const synfigapp::ValueDesc &value_desc, Gtk::TreeIter &iter)
bool | find_next_value_desc (const synfigapp::ValueDesc &value_desc, Gtk::TreeIter &iter)
bool | find_first_value_node (const synfig::ValueNode::Handle &value_node, Gtk::TreeIter &iter)
bool | find_next_value_node (const synfig::ValueNode::Handle &value_node, Gtk::TreeIter &iter)
etl::loose_handle < synfigapp::CanvasInterface > | get_canvas_interface () const
virtual void | on_value_node_changed (synfig::ValueNode::Handle value_node)=0

## Static Public Member Functions

static CellRenderer_ValueBase * | add_cell_renderer_value (Gtk::TreeView::Column *column)
static CellRenderer_TimeTrack * | add_cell_renderer_value_node (Gtk::TreeView::Column *column)

## Public Attributes

const Model | model

## Protected Member Functions

virtual void | get_value_vfunc (const Gtk::TreeModel::iterator &iter, int column, Glib::ValueBase &value) const

## Classes

class | Model

## Constructor & Destructor Documentation

CanvasTreeStore::CanvasTreeStore | ( | etl::loose_handle< synfigapp::CanvasInterface > | canvas_interface_ | ) |

CanvasTreeStore::~CanvasTreeStore | ( |  | ) |

## Member Function Documentation

void CanvasTreeStore::get_value_vfunc | ( | const Gtk::TreeModel::iterator & | iter,
|  | int | column,
|  | Glib::ValueBase & | value |
| ) |  |  | const`[protected, virtual]`

Reimplemented in studio::LayerParamTreeStore.

References _, studio::CanvasTreeStore::Model::canvas, canvas_interface(), studio::get_tree_pixbuf(), synfigapp::ValueDesc::get_value(), synfigapp::ValueDesc::get_value_node(), synfigapp::ValueDesc::get_value_type(), studio::CanvasTreeStore::Model::icon, studio::CanvasTreeStore::Model::id, studio::CanvasTreeStore::Model::is_canvas, synfigapp::ValueDesc::is_const(), synfigapp::is_editable(), studio::CanvasTreeStore::Model::is_editable, studio::CanvasTreeStore::Model::is_exported, studio::CanvasTreeStore::Model::is_shared, studio::CanvasTreeStore::Model::is_value_node, synfigapp::ValueDesc::is_value_node(), studio::CanvasTreeStore::Model::label, model, studio::CanvasTreeStore::Model::name, studio::CanvasTreeStore::Model::type, studio::CanvasTreeStore::Model::value, and studio::CanvasTreeStore::Model::value_desc.

Referenced by studio::LayerParamTreeStore::get_value_vfunc().

etl::loose_handle<synfigapp::CanvasInterface> studio::CanvasTreeStore::canvas_interface | ( |  | ) | `[inline]`

Referenced by studio::ChildrenTreeStore::ChildrenTreeStore(), get_value_vfunc(), studio::LayerParamTreeStore::LayerParamTreeStore(), studio::ChildrenTreeStore::rebuild_canvases(), studio::ChildrenTreeStore::rebuild_value_nodes(), set_row(), and studio::LayerParamTreeStore::set_value_impl().

etl::loose_handle<const synfigapp::CanvasInterface> studio::CanvasTreeStore::canvas_interface | ( |  | ) | const`[inline]`

void CanvasTreeStore::rebuild_row | ( | Gtk::TreeModel::Row & | row,
|  | bool | do_children = `true` |
| ) |  |  | `[virtual]`

References synfigapp::ValueDesc::get_value_node(), studio::CanvasTreeStore::Model::id, studio::CanvasTreeStore::Model::is_editable, studio::CanvasTreeStore::Model::is_value_node, studio::CanvasTreeStore::Model::label, studio::CanvasTreeStore::Model::link_count, model, studio::CanvasTreeStore::Model::name, set_row(), studio::CanvasTreeStore::Model::value_desc, and studio::CanvasTreeStore::Model::value_node.

Referenced by refresh_row().

void CanvasTreeStore::refresh_row | ( | Gtk::TreeModel::Row & | row,
|  | bool | do_children = `true` |
| ) |  |  | `[virtual]`

Reimplemented in studio::ChildrenTreeStore.

References synfigapp::ValueDesc::get_value_node(), synfigapp::ValueDesc::is_value_node(), studio::CanvasTreeStore::Model::is_value_node, studio::CanvasTreeStore::Model::link_count, model, rebuild_row(), set_row(), studio::CanvasTreeStore::Model::value_desc, and studio::CanvasTreeStore::Model::value_node.

Referenced by studio::LayerParamTreeStore::refresh_row(), and studio::ChildrenTreeStore::refresh_row().

void CanvasTreeStore::set_row | ( | Gtk::TreeRow | row,
|  | synfigapp::ValueDesc | value_desc,
|  | bool | do_children = `true` |
| ) |  |  | `[virtual]`

References studio::CanvasTreeStore::Model::canvas, canvas_interface(), synfigapp::ValueDesc::get_canvas(), synfigapp::ValueDesc::get_value_node(), synfigapp::ValueDesc::is_value_node(), studio::CanvasTreeStore::Model::link_count, studio::CanvasTreeStore::Model::link_id, model, studio::CanvasTreeStore::Model::name, synfigapp::ValueDesc::parent_is_canvas(), studio::CanvasTreeStore::Model::value_desc, and studio::CanvasTreeStore::Model::value_node.

Referenced by studio::LayerParamTreeStore::rebuild(), rebuild_row(), refresh_row(), and studio::LayerParamTreeStore::set_row().

bool CanvasTreeStore::find_first_value_desc | ( | const synfigapp::ValueDesc & | value_desc,
|  | Gtk::TreeIter & | iter |
| ) |  |  |

Todo:
  confirm that the && should be done before the ||

References find_next_value_desc(), model, and studio::CanvasTreeStore::Model::value_desc.

Referenced by find_next_value_desc().

bool CanvasTreeStore::find_next_value_desc | ( | const synfigapp::ValueDesc & | value_desc,
|  | Gtk::TreeIter & | iter |
| ) |  |  |

Todo:
  confirm that the && should be done before the ||

References find_first_value_desc(), model, and studio::CanvasTreeStore::Model::value_desc.

Referenced by find_first_value_desc().

bool CanvasTreeStore::find_first_value_node | ( | const synfig::ValueNode::Handle & | value_node,
|  | Gtk::TreeIter & | iter |
| ) |  |  |

Todo:
  confirm that the && should be done before the ||

References find_next_value_node(), model, and studio::CanvasTreeStore::Model::value_node.

Referenced by find_next_value_node().

bool CanvasTreeStore::find_next_value_node | ( | const synfig::ValueNode::Handle & | value_node,
|  | Gtk::TreeIter & | iter |
| ) |  |  |

Todo:
  confirm that the && should be done before the ||

References find_first_value_node(), model, and studio::CanvasTreeStore::Model::value_node.

Referenced by find_first_value_node().

CellRenderer_ValueBase * CanvasTreeStore::add_cell_renderer_value | ( | Gtk::TreeView::Column * | column | ) | `[static]`

References studio::CanvasTreeStore::Model::canvas, studio::CanvasTreeStore::Model::is_editable, model, studio::CellRenderer_ValueBase::property_canvas(), studio::CellRenderer_ValueBase::property_value(), and studio::CanvasTreeStore::Model::value.

Referenced by studio::ChildrenTree::ChildrenTree().

CellRenderer_TimeTrack * CanvasTreeStore::add_cell_renderer_value_node | ( | Gtk::TreeView::Column * | column | ) | `[static]`

References studio::CanvasTreeStore::Model::canvas, model, studio::CellRenderer_TimeTrack::property_canvas(), studio::CellRenderer_TimeTrack::property_value_desc(), and studio::CanvasTreeStore::Model::value_desc.

Referenced by studio::ChildrenTree::ChildrenTree().

etl::loose_handle<synfigapp::CanvasInterface> studio::CanvasTreeStore::get_canvas_interface | ( |  | ) | const`[inline]`

virtual void studio::CanvasTreeStore::on_value_node_changed | ( | synfig::ValueNode::Handle | value_node | ) | `[pure virtual]`

## Member Data Documentation

const Model studio::CanvasTreeStore::model

Reimplemented in studio::ChildrenTreeStore, and studio::LayerParamTreeStore.

Referenced by add_cell_renderer_value(), add_cell_renderer_value_node(), find_first_value_desc(), find_first_value_node(), find_next_value_desc(), find_next_value_node(), get_value_vfunc(), rebuild_row(), refresh_row(), and set_row().

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

- canvastreestore.h
- canvastreestore.cpp