Add contains_assetmap()
[dcpomatic.git] / src / wx / content_panel.h
index aca8181184b596c7d02b2c9391f3bd984f9b0f6e..eec062284eab7eaa9857f594b3d67eeb0776f047 100644 (file)
 
 
 #include "content_menu.h"
+#include "lib/enum_indexed_vector.h"
 #include "lib/film.h"
 #include "lib/types.h"
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
 #include <wx/splitter.h>
+LIBDCP_ENABLE_WARNINGS
 #include <list>
 
 
+class AudioPanel;
+class ContentSubPanel;
+class Film;
+class FilmEditor;
+class FilmViewer;
+class TextPanel;
+class TimelineDialog;
+class TimingPanel;
+class VideoPanel;
+class wxListCtrl;
+class wxListEvent;
 class wxNotebook;
 class wxPanel;
 class wxSizer;
-class wxListCtrl;
-class wxListEvent;
 class wxSplitterWindow;
-class TimelineDialog;
-class FilmEditor;
-class ContentSubPanel;
-class TextPanel;
-class VideoPanel;
-class AudioPanel;
-class TimingPanel;
-class Film;
-class FilmViewer;
 
 
 class LimitedSplitter : public wxSplitterWindow
@@ -48,7 +52,7 @@ class LimitedSplitter : public wxSplitterWindow
 public:
        LimitedSplitter (wxWindow* parent);
 
-       bool OnSashPositionChange (int new_position)
+       bool OnSashPositionChange (int new_position) override
        {
                /* Try to stop the top bit of the splitter getting so small that buttons disappear */
                return new_position > 220;
@@ -125,8 +129,9 @@ private:
 
        void setup ();
        void setup_sensitivity ();
+       void set_selected_state(int item, bool state);
 
-       void add_files (std::list<boost::filesystem::path>);
+       void add_files (std::vector<boost::filesystem::path>);
        std::list<ContentSubPanel *> panels () const;
 
        LimitedSplitter* _splitter;
@@ -142,7 +147,7 @@ private:
        wxButton* _timeline;
        VideoPanel* _video_panel = nullptr;
        AudioPanel* _audio_panel = nullptr;
-       TextPanel* _text_panel[static_cast<int>(TextType::COUNT)];
+       EnumIndexedVector<TextPanel*, TextType> _text_panel;
        TimingPanel* _timing_panel;
        ContentMenu* _menu;
        TimelineDialog* _timeline_dialog = nullptr;