Missing file.
[dcpomatic.git] / src / wx / controls.h
1 #include "lib/dcpomatic_time.h"
2 #include "lib/types.h"
3 #include "lib/film.h"
4 #include <wx/wx.h>
5 #include <boost/shared_ptr.hpp>
6 #include <boost/signals2.hpp>
7
8 class FilmViewer;
9 class Film;
10 class ClosedCaptionsDialog;
11 class Content;
12 class PlayerVideo;
13 class wxToggleButton;
14
15 class Controls : public wxPanel
16 {
17 public:
18         Controls (wxWindow* parent, boost::shared_ptr<FilmViewer>, bool outline_content = true, bool jump_to_selected = true);
19
20         boost::shared_ptr<Film> film () const;
21         void back_frame ();
22         void forward_frame ();
23
24 private:
25         void update_position_label ();
26         void update_position_slider ();
27         void rewind_clicked (wxMouseEvent &);
28         void back_clicked (wxKeyboardState& s);
29         void forward_clicked (wxKeyboardState &);
30         void slider_moved (bool page);
31         void slider_released ();
32         void play_clicked ();
33         void frame_number_clicked ();
34         void jump_to_selected_clicked ();
35         void setup_sensitivity ();
36         void timecode_clicked ();
37         void check_play_state ();
38         void active_jobs_changed (boost::optional<std::string>);
39         DCPTime nudge_amount (wxKeyboardState& ev);
40         void image_changed (boost::weak_ptr<PlayerVideo>);
41         void film_change (ChangeType type, Film::Property p);
42         void outline_content_changed ();
43         void eye_changed ();
44         void position_changed ();
45         void started ();
46         void stopped ();
47         void film_changed ();
48
49         boost::shared_ptr<Film> _film;
50         boost::shared_ptr<FilmViewer> _viewer;
51
52         wxSizer* _v_sizer;
53         bool _slider_being_moved;
54         bool _was_running_before_slider;
55
56         wxCheckBox* _outline_content;
57         wxChoice* _eye;
58         wxCheckBox* _jump_to_selected;
59         wxSlider* _slider;
60         wxButton* _rewind_button;
61         wxButton* _back_button;
62         wxButton* _forward_button;
63         wxStaticText* _frame_number;
64         wxStaticText* _timecode;
65         wxToggleButton* _play_button;
66
67         ClosedCaptionsDialog* _closed_captions_dialog;
68 };