+ //Setup the current time widget
+ current_time_widget=manage(new Widget_Time);
+ current_time_widget->set_value(get_time());
+ current_time_widget->set_fps(get_canvas()->rend_desc().get_frame_rate());
+ current_time_widget->signal_value_changed().connect(
+ sigc::mem_fun(*this,&CanvasView::on_current_time_widget_changed)
+ );
+ current_time_widget->set_size_request(0,-1); // request horizontal shrink
+ tooltips.set_tip(*current_time_widget,_("Current time"));
+ current_time_widget->show();
+
+ //Setup the FrameDial widget
+ framedial = manage(new class FrameDial());
+ framedial->signal_seek_begin().connect(
+ sigc::bind(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::seek_time), Time::begin())
+ );
+ framedial->signal_seek_prev_frame().connect(
+ sigc::bind(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::seek_frame), -1)
+ );
+ framedial->signal_play_stop().connect(
+ sigc::mem_fun(*this, &studio::CanvasView::on_play_stop_pressed)
+ );
+ framedial->signal_seek_next_frame().connect(
+ sigc::bind(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::seek_frame), 1)
+ );
+ framedial->signal_seek_end().connect(
+ sigc::bind(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::seek_time), Time::end())
+ );
+ framedial->show();
+
+ //Setup the KeyFrameDial widget
+ KeyFrameDial *keyframedial = Gtk::manage(new class KeyFrameDial());
+ keyframedial->signal_seek_prev_keyframe().connect(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::jump_to_prev_keyframe));
+ keyframedial->signal_seek_next_keyframe().connect(sigc::mem_fun(*canvas_interface().get(), &synfigapp::CanvasInterface::jump_to_next_keyframe));
+ keyframedial->signal_lock_keyframe().connect(sigc::mem_fun(*this, &studio::CanvasView::on_keyframe_button_pressed));
+ keyframedial->show();
+ keyframebutton=keyframedial->get_lock_button();
+
+ Gtk::Table *table = manage(new class Gtk::Table(5, 3, false));
+ timebar = table;
+
+ //Attach widgets to the time bar table
+ table->attach(*manage(disp_audio), 1, 5, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK);
+ table->attach(*framedial, 0, 1, 2, 3,Gtk::SHRINK, Gtk::SHRINK);
+ table->attach(*current_time_widget, 0, 1, 1, 2, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0);
+ table->attach(*timeslider, 1, 3, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK);
+ table->attach(*time_window_scroll, 1, 3, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK);
+ table->attach(*keyframedial, 3, 4, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
+ table->attach(*animatebutton, 4, 5, 1, 2, Gtk::SHRINK, Gtk::SHRINK);
+ //table->attach(*keyframebutton, 1, 2, 3, 4, Gtk::SHRINK, Gtk::SHRINK);