std::shared_ptr
[dcpomatic.git] / src / wx / timeline_content_view.h
index 7875900991b587f83c496739afec984c18e3983e..fcc0680647734c7dc80ca906b42e2eb0ef324266 100644 (file)
 #ifndef DCPOMATIC_TIMELINE_CONTENT_VIEW_H
 #define DCPOMATIC_TIMELINE_CONTENT_VIEW_H
 
+#include "lib/types.h"
+#include "lib/warnings.h"
 #include "timeline_view.h"
+DCPOMATIC_DISABLE_WARNINGS
 #include <wx/wx.h>
+DCPOMATIC_ENABLE_WARNINGS
 #include <boost/signals2.hpp>
 
 class Content;
@@ -33,13 +37,13 @@ class Content;
 class TimelineContentView : public TimelineView
 {
 public:
-       TimelineContentView (Timeline& tl, boost::shared_ptr<Content> c);
+       TimelineContentView (Timeline& tl, std::shared_ptr<Content> c);
 
        dcpomatic::Rect<int> bbox () const;
 
        void set_selected (bool s);
        bool selected () const;
-       boost::shared_ptr<Content> content () const;
+       std::shared_ptr<Content> content () const;
        void set_track (int t);
        void unset_track ();
        boost::optional<int> track () const;
@@ -47,16 +51,17 @@ public:
        virtual bool active () const = 0;
        virtual wxColour background_colour () const = 0;
        virtual wxColour foreground_colour () const = 0;
+       virtual wxString label () const;
 
 protected:
 
-       boost::weak_ptr<Content> _content;
+       std::weak_ptr<Content> _content;
 
 private:
 
        void do_paint (wxGraphicsContext* gc, std::list<dcpomatic::Rect<int> > overlaps);
        int y_pos (int t) const;
-       void content_changed (int p);
+       void content_change (ChangeType type, int p);
 
        boost::optional<int> _track;
        bool _selected;
@@ -64,6 +69,6 @@ private:
        boost::signals2::scoped_connection _content_connection;
 };
 
-typedef std::vector<boost::shared_ptr<TimelineContentView> > TimelineContentViewList;
+typedef std::vector<std::shared_ptr<TimelineContentView> > TimelineContentViewList;
 
 #endif