X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fdock_timetrack.cpp;h=ac36340bd52b09761e5ba74d85a42f8a94c66d9d;hb=b22edfe1a90f8452b20a6f71816f0618fd2a9d37;hp=07fed9b06a401c3ea924d68a9c414512cd5ff908;hpb=9fc17cc46bd63a7508b82c967801a09be882fe57;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp index 07fed9b..ac36340 100644 --- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp +++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp @@ -43,6 +43,7 @@ #include "layerparamtreestore.h" #include "workarea.h" #include "widget_timeslider.h" +#include "widget_keyframe_list.h" #include "layerparamtreestore.h" #include "general.h" #include @@ -89,7 +90,7 @@ public: // Set up the value-node cell-renderer cellrenderer_time_track=LayerParamTreeStore::add_cell_renderer_value_node(column); cellrenderer_time_track->property_mode()=Gtk::CELL_RENDERER_MODE_ACTIVATABLE; - cellrenderer_time_track->signal_waypoint_clicked_cellrenderer().connect(sigc::mem_fun(*this, &TimeTrackView::on_waypoint_clicked_timetrackview) ); + cellrenderer_time_track->signal_waypoint_clicked_cellrenderer().connect(sigc::mem_fun(*this, &TimeTrackView::on_waypoint_clicked_timetrackview)); cellrenderer_time_track->signal_waypoint_changed().connect(sigc::mem_fun(*this, &TimeTrackView::on_waypoint_changed) ); column->add_attribute(cellrenderer_time_track->property_value_desc(), model.value_desc); column->add_attribute(cellrenderer_time_track->property_canvas(), model.canvas); @@ -224,7 +225,9 @@ public: Gtk::TreeRow row = *(get_model()->get_iter(path)); - if((event->motion.state&GDK_BUTTON1_MASK ||event->motion.state&GDK_BUTTON3_MASK) && column && cellrenderer_time_track==column->get_first_cell_renderer()) + if ((event->motion.state&GDK_BUTTON1_MASK || event->motion.state&GDK_BUTTON3_MASK) && + column && + cellrenderer_time_track == column->get_first_cell_renderer()) { Gdk::Rectangle rect; get_cell_area(path,*column,rect); @@ -306,6 +309,9 @@ public: void on_waypoint_changed( synfig::Waypoint waypoint , synfig::ValueNode::Handle value_node) { + // is this code used? + assert(0); + synfigapp::Action::ParamList param_list; param_list.add("canvas",param_tree_store_->canvas_interface()->get_canvas()); param_list.add("canvas_interface",param_tree_store_->canvas_interface()); @@ -313,7 +319,7 @@ public: param_list.add("waypoint",waypoint); // param_list.add("time",canvas_interface()->get_time()); - etl::handle::cast_static(param_tree_store_->canvas_interface()->get_instance())->process_action("waypoint_set_smart", param_list); + etl::handle::cast_static(param_tree_store_->canvas_interface()->get_instance())->process_action("WaypointSetSmart", param_list); } void mimic(Gtk::TreeView *param_tree_view) @@ -358,7 +364,7 @@ public: row_height = atoi(getenv("SYNFIG_TIMETRACK_ROW_HEIGHT")); if (row_height < 3) row_height = 18; - + cellrenderer_time_track->set_fixed_size(-1,row_height); } } @@ -367,8 +373,7 @@ public: on_waypoint_clicked_timetrackview(const etl::handle& node, const synfig::Time& time, const synfig::Time& time_offset __attribute__ ((unused)), - int button, - synfig::Waypoint::Side side) + int button) { std::set > waypoint_set; synfig::waypoint_collect(waypoint_set,time,node); @@ -401,6 +406,7 @@ Dock_Timetrack::Dock_Timetrack(): { table_=0; widget_timeslider_= new Widget_Timeslider(); + widget_kf_list_= new Widget_Keyframe_List(); int header_height = 0; if(getenv("SYNFIG_TIMETRACK_HEADER_HEIGHT")) @@ -408,7 +414,9 @@ Dock_Timetrack::Dock_Timetrack(): if (header_height < 3) header_height = 22; - widget_timeslider_->set_size_request(-1,header_height); + widget_timeslider_->set_size_request(-1,header_height-8); + widget_kf_list_->set_size_request(-1,8); + hscrollbar_=new Gtk::HScrollbar(); vscrollbar_=new Gtk::VScrollbar(); } @@ -419,6 +427,7 @@ Dock_Timetrack::~Dock_Timetrack() delete hscrollbar_; delete vscrollbar_; delete widget_timeslider_; + delete widget_kf_list_; } void @@ -489,17 +498,22 @@ Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handle canvas_v assert(tree_view); + widget_timeslider_->set_time_adjustment(&canvas_view->time_adjustment()); widget_timeslider_->set_bounds_adjustment(&canvas_view->time_window_adjustment()); widget_timeslider_->set_global_fps(canvas_view->get_canvas()->rend_desc().get_frame_rate()); + widget_kf_list_->set_time_adjustment(&canvas_view->time_adjustment()); + widget_kf_list_->set_canvas_interface(canvas_view->canvas_interface()); + vscrollbar_->set_adjustment(*tree_view->get_vadjustment()); hscrollbar_->set_adjustment(canvas_view->time_window_adjustment()); - table_=new Gtk::Table(2,2); + table_=new Gtk::Table(2,3); table_->attach(*widget_timeslider_, 0, 1, 0, 1, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK); - table_->attach(*tree_view, 0, 1, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND); - table_->attach(*hscrollbar_, 0, 1, 2, 3, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK); - table_->attach(*vscrollbar_, 1, 2, 0, 2, Gtk::FILL|Gtk::SHRINK, Gtk::FILL|Gtk::EXPAND); + table_->attach(*widget_kf_list_, 0, 1, 1, 2, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK); + table_->attach(*tree_view, 0, 1, 2, 3, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::EXPAND); + table_->attach(*hscrollbar_, 0, 1, 3, 4, Gtk::FILL|Gtk::EXPAND, Gtk::FILL|Gtk::SHRINK); + table_->attach(*vscrollbar_, 1, 2, 0, 3, Gtk::FILL|Gtk::SHRINK, Gtk::FILL|Gtk::EXPAND); add(*table_); //add(*last_widget_curves_);