26 #ifndef __SYNFIG_STUDIO_CHILDRENTREE_H
27 #define __SYNFIG_STUDIO_CHILDRENTREE_H
31 #include <gtkmm/treeview.h>
32 #include <gtkmm/treestore.h>
33 #include <gtkmm/tooltip.h>
34 #include <gtkmm/table.h>
35 #include <gtkmm/box.h>
36 #include <gtkmm/adjustment.h>
37 #include <gtkmm/scale.h>
38 #include <gtkmm/button.h>
43 #include <synfig/valuenodes/valuenode_animated.h>
55 class CellRenderer_TimeTrack;
56 class CellRenderer_ValueBase;
82 Gtk::TreeView tree_view;
86 Glib::RefPtr<ChildrenTreeStore> children_tree_store_;
90 Gtk::TreeView::Column* column_time_track;
94 sigc::signal<void,synfigapp::ValueDesc,synfig::ValueBase> signal_edited_value_;
96 sigc::signal<bool, int, Gtk::TreeRow, ColumnID> signal_user_click_;
98 sigc::signal<void,synfigapp::ValueDesc,std::set<synfig::Waypoint,std::less<synfig::UniqueID> >,
int> signal_waypoint_clicked_childrentree_;
100 Gtk::Button *button_raise;
101 Gtk::Button *button_lower;
102 Gtk::Button *button_duplicate;
103 Gtk::Button *button_delete;
119 void on_edited_value(
const Glib::ustring&path_string,synfig::ValueBase value);
121 void on_waypoint_clicked_childrentree(
const etl::handle<synfig::Node>& node,
const synfig::Time&,
const synfig::Time&,
const synfig::Time&,
int button);
123 bool on_tree_view_query_tooltip(
int x,
int y,
bool keyboard_tooltip,
const Glib::RefPtr<Gtk::Tooltip>& tooltip);
125 bool on_tree_event(GdkEvent *event);
127 void on_selection_changed();
129 void on_dirty_preview();
132 void on_raise_pressed();
134 void on_lower_pressed();
136 void on_duplicate_pressed();
138 void on_delete_pressed();
150 Glib::RefPtr<Gtk::TreeSelection>
get_selection() {
return tree_view.get_selection(); }
151 Glib::SignalProxy1< bool,GdkEvent* >
signal_event () {
return tree_view.signal_event(); }
156 void set_model(Glib::RefPtr<ChildrenTreeStore> children_tree_store_);
163 sigc::signal<void,synfigapp::ValueDesc,synfig::ValueBase>&
signal_edited_value() {
return signal_edited_value_; }
165 sigc::signal<bool,int, Gtk::TreeRow, ColumnID>&
signal_user_click() {
return signal_user_click_; }
169 etl::handle<synfigapp::SelectionManager>
get_selection_manager() {
return children_tree_store_->canvas_interface()->get_selection_manager(); }