X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fcontent_panel.h;h=21acd28b264a3533853615106142000bd900e694;hb=313319ba2d8544bc25524e02e634804a503b54f1;hp=6a9ef3f4a561724cc442b2931c4ceaaa7a12dcff;hpb=dd9be86db6cde0afa5da0d1d1ac43b42e05dca26;p=dcpomatic.git diff --git a/src/wx/content_panel.h b/src/wx/content_panel.h index 6a9ef3f4a..21acd28b2 100644 --- a/src/wx/content_panel.h +++ b/src/wx/content_panel.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2019 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,27 +18,29 @@ */ + #include "content_menu.h" -#include "lib/types.h" #include "lib/film.h" +#include "lib/types.h" #include #include + +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 @@ -46,7 +48,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; @@ -62,11 +64,14 @@ private: }; -class ContentPanel : public boost::noncopyable +class ContentPanel { public: ContentPanel (wxNotebook *, std::shared_ptr, std::weak_ptr viewer); + ContentPanel (ContentPanel const&) = delete; + ContentPanel& operator= (ContentPanel const&) = delete; + std::shared_ptr film () const { return _film; } @@ -75,6 +80,7 @@ public: void set_general_sensitivity (bool s); void set_selection (std::weak_ptr); void set_selection (ContentList cl); + void select_all (); void film_changed (Film::Property p); void film_content_changed (int p); @@ -120,7 +126,7 @@ private: void setup (); void setup_sensitivity (); - void add_files (std::list); + void add_files (std::vector); std::list panels () const; LimitedSplitter* _splitter; @@ -134,14 +140,14 @@ private: wxButton* _earlier; wxButton* _later; wxButton* _timeline; - VideoPanel* _video_panel; - AudioPanel* _audio_panel; - TextPanel* _text_panel[TEXT_COUNT]; + VideoPanel* _video_panel = nullptr; + AudioPanel* _audio_panel = nullptr; + TextPanel* _text_panel[static_cast(TextType::COUNT)]; TimingPanel* _timing_panel; ContentMenu* _menu; - TimelineDialog* _timeline_dialog; + TimelineDialog* _timeline_dialog = nullptr; wxNotebook* _parent; - wxWindow* _last_selected_tab; + wxWindow* _last_selected_tab = nullptr; std::shared_ptr _film; std::weak_ptr _film_viewer;