X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fdock_timetrack.cpp;h=7a6139ac95f4634f7c6f8bb9460d5250c20dd91c;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=9e938de607d45f315fa3dc71de09e404ac9be73a;hpb=ed652a255c7a006428b57036d40b8ba7bdb1d5fd;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp index 9e938de..7a6139a 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); @@ -308,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()); @@ -315,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) @@ -360,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); } } @@ -369,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); @@ -403,14 +406,17 @@ 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")) header_height = atoi(getenv("SYNFIG_TIMETRACK_HEADER_HEIGHT")); if (header_height < 3) - header_height = 22; + header_height = 24; + + widget_timeslider_->set_size_request(-1,header_height-header_height/3+1); + widget_kf_list_->set_size_request(-1,header_height/3+1); - widget_timeslider_->set_size_request(-1,header_height); hscrollbar_=new Gtk::HScrollbar(); vscrollbar_=new Gtk::VScrollbar(); } @@ -421,6 +427,7 @@ Dock_Timetrack::~Dock_Timetrack() delete hscrollbar_; delete vscrollbar_; delete widget_timeslider_; + delete widget_kf_list_; } void @@ -491,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_->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_=new Gtk::Table(2,3); + table_->attach(*widget_timeslider_, 0, 1, 1, 2, Gtk::FILL|Gtk::SHRINK, Gtk::FILL|Gtk::SHRINK); + table_->attach(*widget_kf_list_, 0, 1, 0, 1, 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_);