# studio::CellRenderer_TimeTrack Class Reference

A cell renderer that displays the waypoints for Animated ValueNodes. More...

`#include <cellrenderer_timetrack.h>`

List of all members.

## Public Member Functions

Glib::PropertyProxy < synfigapp::ValueDesc > | property_value_desc ()
Glib::PropertyProxy < synfig::Canvas::Handle > | property_canvas ()
Glib::PropertyProxy < Gtk::Adjustment * > | property_adjustment ()
sigc::signal< void, const etl::handle< synfig::Node > &, const synfig::Time &, const synfig::Time &, int > & | signal_waypoint_clicked_cellrenderer ()
sigc::signal< void, synfig::Waypoint, synfig::ValueNode::Handle > & | signal_waypoint_changed ()
| CellRenderer_TimeTrack ()
| ~CellRenderer_TimeTrack ()
void | set_adjustment (Gtk::Adjustment &x)
Gtk::Adjustment * | get_adjustment ()
const Gtk::Adjustment * | get_adjustment () const
etl::loose_handle < synfigapp::CanvasInterface > | canvas_interface () const
void | set_canvas_interface (etl::loose_handle< synfigapp::CanvasInterface > h)
synfig::Canvas::Handle | get_canvas () const
bool | is_selected (const synfig::Waypoint &waypoint) const
synfig::ValueNode_Animated::WaypointList::iterator | find_waypoint (const synfig::Time &t, const synfig::Time &scope=synfig::Time::end())
virtual void | render_vfunc (const Glib::RefPtr< Gdk::Drawable > &window, Gtk::Widget &widget, const Gdk::Rectangle &background_area, const Gdk::Rectangle &ca, const Gdk::Rectangle &expose_area, Gtk::CellRendererState flags)
virtual bool | activate_vfunc (GdkEvent *event, Gtk::Widget &widget, const Glib::ustring &path, const Gdk::Rectangle &background_area, const Gdk::Rectangle &cell_area, Gtk::CellRendererState flags)

## Detailed Description

A cell renderer that displays the waypoints for Animated ValueNodes.

## Constructor & Destructor Documentation

CellRenderer_TimeTrack::CellRenderer_TimeTrack | ( |  | ) |

CellRenderer_TimeTrack::~CellRenderer_TimeTrack | ( |  | ) |

## Member Function Documentation

Glib::PropertyProxy< synfigapp::ValueDesc > CellRenderer_TimeTrack::property_value_desc | ( |  | ) |

Referenced by activate_vfunc(), studio::CanvasTreeStore::add_cell_renderer_value_node(), studio::ChildrenTree::ChildrenTree(), find_waypoint(), and render_vfunc().

Glib::PropertyProxy< synfig::Canvas::Handle > CellRenderer_TimeTrack::property_canvas | ( |  | ) |

Referenced by studio::CanvasTreeStore::add_cell_renderer_value_node(), studio::ChildrenTree::ChildrenTree(), get_canvas(), and render_vfunc().

Glib::PropertyProxy< Gtk::Adjustment * > CellRenderer_TimeTrack::property_adjustment | ( |  | ) |

sigc::signal<void, const etl::handle<synfig::Node>&, const synfig::Time&, const synfig::Time&, int>& studio::CellRenderer_TimeTrack::signal_waypoint_clicked_cellrenderer | ( |  | ) | `[inline]`

Referenced by activate_vfunc(), and studio::ChildrenTree::ChildrenTree().

sigc::signal<void, synfig::Waypoint, synfig::ValueNode::Handle>& studio::CellRenderer_TimeTrack::signal_waypoint_changed | ( |  | ) | `[inline]`

void CellRenderer_TimeTrack::set_adjustment | ( | Gtk::Adjustment & | x | ) |

Referenced by studio::LayerTree::set_time_adjustment(), and studio::ChildrenTree::set_time_adjustment().

Gtk::Adjustment * CellRenderer_TimeTrack::get_adjustment | ( |  | ) |

Referenced by activate_vfunc(), and render_vfunc().

const Gtk::Adjustment * CellRenderer_TimeTrack::get_adjustment | ( |  | ) | const

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

Referenced by activate_vfunc().

void CellRenderer_TimeTrack::set_canvas_interface | ( | etl::loose_handle< synfigapp::CanvasInterface > | h | ) |

Referenced by studio::LayerTree::set_model(), and studio::ChildrenTree::set_model().

synfig::Canvas::Handle CellRenderer_TimeTrack::get_canvas | ( |  | ) | const

References property_canvas().

Referenced by activate_vfunc(), and render_vfunc().

bool studio::CellRenderer_TimeTrack::is_selected | ( | const synfig::Waypoint & | waypoint | ) | const

synfig::ValueNode_Animated::WaypointList::iterator CellRenderer_TimeTrack::find_waypoint | ( | const synfig::Time & | t,
|  | const synfig::Time & | scope = `synfig::Time::end()` |
| ) |  |  |

References property_value_desc().

Referenced by activate_vfunc().

void CellRenderer_TimeTrack::render_vfunc | ( | const Glib::RefPtr< Gdk::Drawable > & | window,
|  | Gtk::Widget & | widget,
|  | const Gdk::Rectangle & | background_area,
|  | const Gdk::Rectangle & | ca,
|  | const Gdk::Rectangle & | expose_area,
|  | Gtk::CellRendererState | flags |
| ) |  |  | `[virtual]`

References COPY_MASK, synfigapp::Action::create(), DELETE_MASK, get_adjustment(), get_canvas(), get_time_offset_from_vdesc(), get_times_from_vdesc(), synfigapp::ValueDesc::get_value_node(), property_canvas(), property_value_desc(), studio::render_time_point_to_window(), and stipple_xpm.

bool CellRenderer_TimeTrack::activate_vfunc | ( | GdkEvent * | event,
|  | Gtk::Widget & | widget,
|  | const Glib::ustring & | path,
|  | const Gdk::Rectangle & | background_area,
|  | const Gdk::Rectangle & | cell_area,
|  | Gtk::CellRendererState | flags |
| ) |  |  | `[virtual]`

value_node &&

UI specification:

When nothing is selected, clicking on a point in either normal mode or additive mode will select the time point closest to the click. Subtractive click will do nothing

When things are already selected, clicking on a selected point does nothing (in both normal and add mode). Add mode clicking on an unselected point adds it to the set. Normal clicking on an unselected point will select only that one time point. Subtractive clicking on any point will remove it from the the set if it is included.

References synfigapp::Action::ParamList::add(), canvas_interface(), COPY_MASK, DELETE_MASK, find_waypoint(), get_adjustment(), get_canvas(), get_closest_time(), get_time_offset_from_vdesc(), get_times_from_vdesc(), synfigapp::ValueDesc::get_value(), synfigapp::ValueDesc::get_value_node(), synfigapp::ValueDesc::get_value_type(), NONE, property_value_desc(), SELECT_MASK, and signal_waypoint_clicked_cellrenderer().

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

- cellrenderer_timetrack.h
- cellrenderer_timetrack.cpp