*/
+
#include "content_menu.h"
#include "timeline_content_view.h"
-#include "lib/util.h"
+#include "lib/film_property.h"
#include "lib/rect.h"
-#include "lib/film.h"
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
#include <wx/wx.h>
+LIBDCP_ENABLE_WARNINGS
#include <boost/signals2.hpp>
-class Film;
+
class ContentPanel;
-class TimelineView;
-class TimelineTimeAxisView;
-class TimelineReelsView;
-class TimelineLabelsView;
+class Film;
class FilmViewer;
+class TimelineLabelsView;
+class TimelineReelsView;
+class TimelineTimeAxisView;
+class TimelineView;
+
class Timeline : public wxPanel
{
public:
- Timeline (wxWindow *, ContentPanel *, std::shared_ptr<Film>, std::weak_ptr<FilmViewer> viewer);
+ Timeline (wxWindow *, ContentPanel *, std::shared_ptr<Film>, FilmViewer& viewer);
std::shared_ptr<const Film> film () const;
int tracks_y_offset () const;
+ void keypress(wxKeyEvent const &);
+
private:
void paint_labels ();
void paint_main ();
void mouse_moved (wxMouseEvent &);
void mouse_moved_select (wxMouseEvent &);
void mouse_moved_zoom (wxMouseEvent &);
- void film_change (ChangeType type, Film::Property);
+ void film_change(ChangeType type, FilmProperty);
void film_content_change (ChangeType type, int, bool frequent);
void resized ();
void assign_tracks ();
wxScrolledCanvas* _main_canvas;
ContentPanel* _content_panel;
std::weak_ptr<Film> _film;
- std::weak_ptr<FilmViewer> _viewer;
+ FilmViewer& _viewer;
TimelineViewList _views;
std::shared_ptr<TimelineTimeAxisView> _time_axis_view;
std::shared_ptr<TimelineReelsView> _reels_view;