+ // ------------------------------------------------------------------------
+ if(side==Waypoint::SIDE_LEFT) model.set_before(INTERPOLATION_TCB);
+ else model.set_after(INTERPOLATION_TCB);
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(_("_TCB") + side_string,
+ sigc::bind(sigc::ptr_fun(set_waypoint_model), waypoint_set, model, canvas_interface())));
+
+ if(side==Waypoint::SIDE_LEFT) model.set_before(INTERPOLATION_LINEAR);
+ else model.set_after(INTERPOLATION_LINEAR);
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(_("_Linear") + side_string,
+ sigc::bind(sigc::ptr_fun(set_waypoint_model), waypoint_set, model, canvas_interface())));
+
+ if(side==Waypoint::SIDE_LEFT) model.set_before(INTERPOLATION_HALT);
+ else model.set_after(INTERPOLATION_HALT);
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(_("_Ease") + side_string,
+ sigc::bind(sigc::ptr_fun(set_waypoint_model), waypoint_set, model, canvas_interface())));
+
+ if(side==Waypoint::SIDE_LEFT) model.set_before(INTERPOLATION_CONSTANT);
+ else model.set_after(INTERPOLATION_CONSTANT);
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(_("_Constant") + side_string,
+ sigc::bind(sigc::ptr_fun(set_waypoint_model), waypoint_set, model, canvas_interface())));
+
+ // ------------------------------------------------------------------------
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::SeparatorElem());
+
+ model.set_after(INTERPOLATION_TCB); model.set_before(INTERPOLATION_TCB);
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(_("TC_B Both"),
+ sigc::bind(sigc::ptr_fun(set_waypoint_model), waypoint_set, model, canvas_interface())));
+
+ model.set_after(INTERPOLATION_LINEAR); model.set_before(INTERPOLATION_LINEAR);
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(_("Li_near Both"),
+ sigc::bind(sigc::ptr_fun(set_waypoint_model), waypoint_set, model, canvas_interface())));
+
+ model.set_after(INTERPOLATION_HALT); model.set_before(INTERPOLATION_HALT);
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(_("Ea_se Both"),
+ sigc::bind(sigc::ptr_fun(set_waypoint_model), waypoint_set, model, canvas_interface())));
+
+ model.set_after(INTERPOLATION_CONSTANT); model.set_before(INTERPOLATION_CONSTANT);
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(_("C_onstant Both"),
+ sigc::bind(sigc::ptr_fun(set_waypoint_model), waypoint_set, model, canvas_interface())));
+
+ // ------------------------------------------------------------------------
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::SeparatorElem());
+
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(_("_Jump To"),
+ sigc::bind(sigc::mem_fun(*canvas_interface(), &synfigapp::CanvasInterface::set_time), time)));
+
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(_("_Duplicate"),
+ sigc::bind(sigc::ptr_fun(duplicate_waypoints), waypoint_set, canvas_interface())));
+
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::MenuElem((size == 1) ? _("_Remove") : strprintf(_("_Remove %d Waypoints"), size),
+ sigc::bind(sigc::ptr_fun(remove_waypoints), waypoint_set, canvas_interface())));
+
+ if (size == 1 && value_desc.is_valid())
+ waypoint_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(_("_Properties"),
+ sigc::mem_fun(waypoint_dialog,&Gtk::Widget::show)));
+
+ waypoint_menu->popup(button+1,gtk_get_current_event_time());
+ }
+ break;