X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fcontent_panel.h;h=4a41ad1894ea6db435e99efc8dc2fe2dfc3f5ed3;hb=2541b18e598db86ac4ce2aa5c0bbb588344c3dbb;hp=15e0fb6e1506d810a7d12bc9fe8ae947e68f5ff3;hpb=e2361edc2fc2c07d6474bf5a7f76dc2a5b55ee81;p=dcpomatic.git diff --git a/src/wx/content_panel.h b/src/wx/content_panel.h index 15e0fb6e1..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,17 +67,24 @@ public: ContentList selected (); ContentList selected_video (); ContentList selected_audio (); - ContentList selected_subtitle (); + ContentList selected_text (); FFmpegContentList selected_ffmpeg (); void add_file_clicked (); bool remove_clicked (bool hotkey); void timeline_clicked (); + 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 (); @@ -86,6 +96,7 @@ private: void setup_sensitivity (); void add_files (std::list); + std::list panels () const; wxPanel* _panel; wxSizer* _sizer; @@ -98,17 +109,18 @@ private: wxButton* _earlier; wxButton* _later; wxButton* _timeline; - ContentSubPanel* _video_panel; + VideoPanel* _video_panel; AudioPanel* _audio_panel; - ContentSubPanel* _subtitle_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; };