+ {
+ add_label_to_sizer (grid, this, _("Video frame rate"), true);
+ wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
+ _video_frame_rate = new wxTextCtrl (this, wxID_ANY);
+ s->Add (_video_frame_rate, 1, wxEXPAND);
+ _set_video_frame_rate = new wxButton (this, wxID_ANY, _("Set"));
+ _set_video_frame_rate->Enable (false);
+ s->Add (_set_video_frame_rate, 0, wxLEFT | wxRIGHT, 8);
+ grid->Add (s, 1, wxEXPAND);
+ }
+
+ _position->Changed.connect (boost::bind (&TimingPanel::position_changed, this));
+ _full_length->Changed.connect (boost::bind (&TimingPanel::full_length_changed, this));
+ _trim_start->Changed.connect (boost::bind (&TimingPanel::trim_start_changed, this));
+ _trim_end->Changed.connect (boost::bind (&TimingPanel::trim_end_changed, this));
+ _play_length->Changed.connect (boost::bind (&TimingPanel::play_length_changed, this));
+ _video_frame_rate->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&TimingPanel::video_frame_rate_changed, this));
+ _set_video_frame_rate->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&TimingPanel::set_video_frame_rate, this));