#define DCPOMATIC_CONTROLS_H
+#include "lib/change_signaller.h"
#include "lib/dcpomatic_time.h"
-#include "lib/types.h"
-#include "lib/film.h"
-#include "lib/warnings.h"
-DCPOMATIC_DISABLE_WARNINGS
+#include "lib/film_property.h"
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
#include <wx/wx.h>
-DCPOMATIC_ENABLE_WARNINGS
+LIBDCP_ENABLE_WARNINGS
#include <boost/signals2.hpp>
-class FilmViewer;
-class Film;
+class CheckBox;
class ClosedCaptionsDialog;
class Content;
+class ContentView;
+class Film;
+class FilmViewer;
+class MarkersPanel;
class PlayerVideo;
-class wxToggleButton;
+
class wxListCtrl;
-class ContentView;
+class wxToggleButton;
namespace dcp {
public:
Controls (
wxWindow* parent,
- std::shared_ptr<FilmViewer>,
+ FilmViewer &,
bool editor_controls = true
);
- virtual void log (wxString) {}
- virtual void set_film (std::shared_ptr<Film> film);
+ void set_film (std::shared_ptr<Film> film);
virtual void play () {};
virtual void stop () {};
wxSizer* _v_sizer;
wxBoxSizer* _button_sizer;
std::shared_ptr<Film> _film;
+ MarkersPanel* _markers;
wxSlider* _slider;
- std::weak_ptr<FilmViewer> _viewer;
+ FilmViewer& _viewer;
boost::optional<std::string> _active_job;
private:
void outline_content_changed ();
void eye_changed ();
void update_position ();
- void film_change (ChangeType, Film::Property);
+ void film_change(ChangeType, FilmProperty);
typedef std::pair<std::shared_ptr<dcp::CPL>, boost::filesystem::path> CPL;
- bool _slider_being_moved;
+ bool _slider_being_moved = false;
- wxCheckBox* _outline_content;
- wxChoice* _eye;
- wxCheckBox* _jump_to_selected;
+ CheckBox* _outline_content = nullptr;
+ wxChoice* _eye = nullptr;
+ CheckBox* _jump_to_selected = nullptr;
wxButton* _rewind_button;
wxButton* _back_button;
wxButton* _forward_button;