X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fcontent_panel.h;h=4a41ad1894ea6db435e99efc8dc2fe2dfc3f5ed3;hb=fe33a32911969530aed75bc2a87b7a7cd2c05be6;hp=e7d9c95b39b110c8d79a48428f4f6f1584f86727;hpb=108b0cf9a2b8cb9612910408b4fe955f79512e6c;p=dcpomatic.git diff --git a/src/wx/content_panel.h b/src/wx/content_panel.h index e7d9c95b3..4a41ad189 100644 --- a/src/wx/content_panel.h +++ b/src/wx/content_panel.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2016 Carl Hetherington + Copyright (C) 2012-2018 Carl Hetherington This file is part of DCP-o-matic. @@ -32,14 +32,17 @@ class wxListEvent; class TimelineDialog; class FilmEditor; class ContentSubPanel; +class TextPanel; +class VideoPanel; class AudioPanel; +class TimingPanel; class Film; class FilmViewer; class ContentPanel : public boost::noncopyable { public: - ContentPanel (wxNotebook *, boost::shared_ptr, FilmViewer* viewer); + ContentPanel (wxNotebook *, boost::shared_ptr, boost::weak_ptr viewer); boost::shared_ptr film () const { return _film; @@ -64,21 +67,24 @@ public: ContentList selected (); ContentList selected_video (); ContentList selected_audio (); - ContentList selected_caption (); + ContentList selected_text (); FFmpegContentList selected_ffmpeg (); void add_file_clicked (); bool remove_clicked (bool hotkey); void timeline_clicked (); - FilmViewer* film_viewer () const { + boost::weak_ptr film_viewer () const { return _film_viewer; } boost::signals2::signal SelectionChanged; private: - void selection_changed (); + void item_selected (); + void item_deselected (); + void item_deselected_idle (); + void check_selection (); void add_folder_clicked (); void add_dcp_clicked (); void earlier_clicked (); @@ -90,6 +96,7 @@ private: void setup_sensitivity (); void add_files (std::list); + std::list panels () const; wxPanel* _panel; wxSizer* _sizer; @@ -102,17 +109,18 @@ private: wxButton* _earlier; wxButton* _later; wxButton* _timeline; - ContentSubPanel* _video_panel; + VideoPanel* _video_panel; AudioPanel* _audio_panel; - ContentSubPanel* _caption_panel; - ContentSubPanel* _timing_panel; - std::list _panels; + TextPanel* _text_panel[TEXT_COUNT]; + TimingPanel* _timing_panel; ContentMenu* _menu; TimelineDialog* _timeline_dialog; wxNotebook* _parent; ContentList _last_selected; + wxWindow* _last_selected_tab; boost::shared_ptr _film; - FilmViewer* _film_viewer; + boost::weak_ptr _film_viewer; bool _generally_sensitive; + bool _ignore_deselect; };