Split out Timeline from ContentTimeline.
[dcpomatic.git] / src / wx / content_timeline.h
index 65b2ff956e8dc2b6220d8fbb0254312dde665505..10f8801919c9fee93c022c5e30428195692fc8c2 100644 (file)
@@ -20,6 +20,7 @@
 
 
 #include "content_menu.h"
+#include "timeline.h"
 #include "timeline_content_view.h"
 #include "lib/film_property.h"
 #include "lib/rect.h"
@@ -31,15 +32,15 @@ LIBDCP_ENABLE_WARNINGS
 
 
 class ContentPanel;
+class ContentTimelineView;
 class Film;
 class FilmViewer;
 class TimelineLabelsView;
 class TimelineReelsView;
 class TimelineTimeAxisView;
-class TimelineView;
 
 
-class ContentTimeline : public wxPanel
+class ContentTimeline : public Timeline
 {
 public:
        ContentTimeline(wxWindow *, ContentPanel *, std::shared_ptr<Film>, FilmViewer& viewer);
@@ -54,10 +55,6 @@ public:
                return _pixels_per_track;
        }
 
-       boost::optional<double> pixels_per_second () const {
-               return _pixels_per_second;
-       }
-
        int tracks () const;
 
        void set_snap (bool s) {
@@ -106,13 +103,12 @@ private:
        void recreate_views ();
        void setup_scrollbars ();
        void scrolled (wxScrollWinEvent& ev);
-       void set_pixels_per_second (double pps);
        void set_pixels_per_track (int h);
        void zoom_all ();
        void update_playhead ();
        void mouse_wheel_turned(wxMouseEvent& event);
 
-       std::shared_ptr<TimelineView> event_to_view (wxMouseEvent &);
+       std::shared_ptr<ContentTimelineView> event_to_view(wxMouseEvent &);
        TimelineContentViewList selected_views () const;
        ContentList selected_content () const;
        void maybe_snap (dcpomatic::DCPTime a, dcpomatic::DCPTime b, boost::optional<dcpomatic::DCPTime>& nearest_distance) const;
@@ -122,12 +118,11 @@ private:
        ContentPanel* _content_panel;
        std::weak_ptr<Film> _film;
        FilmViewer& _viewer;
-       TimelineViewList _views;
+       ContentTimelineViewList _views;
        std::shared_ptr<TimelineTimeAxisView> _time_axis_view;
        std::shared_ptr<TimelineReelsView> _reels_view;
        std::shared_ptr<TimelineLabelsView> _labels_view;
        int _tracks;
-       boost::optional<double> _pixels_per_second;
        bool _left_down;
        wxPoint _down_point;
        boost::optional<wxPoint> _zoom_point;
@@ -147,7 +142,6 @@ private:
        boost::optional<int> _last_mouse_wheel_x;
        boost::optional<double> _last_mouse_wheel_time;
 
-       static double const _minimum_pixels_per_second;
        static int const _minimum_pixels_per_track;
 
        boost::signals2::scoped_connection _film_changed_connection;