Basics of timeline track labels.
[dcpomatic.git] / src / wx / timeline.h
index 2afd0d1945e7fb167510572d21f2e613bbbce117..519f00afbd1abb9a6efe26dfa7efab5d67e4240c 100644 (file)
@@ -31,6 +31,8 @@ class Film;
 class ContentPanel;
 class TimelineView;
 class TimelineTimeAxisView;
+class TimelineReelsView;
+class TimelineLabelsView;
 
 class Timeline : public wxPanel
 {
@@ -41,10 +43,6 @@ public:
 
        void force_redraw (dcpomatic::Rect<int> const &);
 
-       int x_offset () const {
-               return 8;
-       }
-
        int width () const {
                return GetSize().GetWidth ();
        }
@@ -58,7 +56,7 @@ public:
        }
 
        Position<int> tracks_position () const {
-               return Position<int> (8, 8);
+               return _tracks_position;
        }
 
        int tracks () const;
@@ -73,6 +71,8 @@ public:
                return _snap;
        }
 
+       void set_selection (ContentList selection);
+
 private:
        void paint ();
        void left_down (wxMouseEvent &);
@@ -80,7 +80,7 @@ private:
        void right_down (wxMouseEvent &);
        void mouse_moved (wxMouseEvent &);
        void film_changed (Film::Property);
-       void film_content_changed (int);
+       void film_content_changed (int, bool frequent);
        void resized ();
        void assign_tracks ();
        void set_position_from_event (wxMouseEvent &);
@@ -96,6 +96,8 @@ private:
        boost::weak_ptr<Film> _film;
        TimelineViewList _views;
        boost::shared_ptr<TimelineTimeAxisView> _time_axis_view;
+       boost::shared_ptr<TimelineReelsView> _reels_view;
+       boost::shared_ptr<TimelineLabelsView> _labels_view;
        int _tracks;
        boost::optional<double> _pixels_per_second;
        bool _left_down;
@@ -105,6 +107,9 @@ private:
        bool _first_move;
        ContentMenu _menu;
        bool _snap;
+       std::list<DCPTime> _start_snaps;
+       std::list<DCPTime> _end_snaps;
+       Position<int> _tracks_position;
 
        boost::signals2::scoped_connection _film_changed_connection;
        boost::signals2::scoped_connection _film_content_changed_connection;