X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fcontent_panel.h;h=33a7866e4db7c67b39f8fd08e7470c7ba5b98940;hb=2a0ad7979b208f84916b13f7a37998aa3701e371;hp=caaa2decc22ae6aab6fd9532bcc77257f1c7cbc4;hpb=65b331d32c383f3a9049f29bf03ab3fe3193b31a;p=dcpomatic.git diff --git a/src/wx/content_panel.h b/src/wx/content_panel.h index caaa2decc..33a7866e4 100644 --- a/src/wx/content_panel.h +++ b/src/wx/content_panel.h @@ -1,19 +1,20 @@ /* - Copyright (C) 2012-2016 Carl Hetherington + Copyright (C) 2012-2018 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ @@ -31,6 +32,10 @@ class wxListEvent; class TimelineDialog; class FilmEditor; class ContentSubPanel; +class TextPanel; +class VideoPanel; +class AudioPanel; +class TimingPanel; class Film; class FilmViewer; @@ -46,6 +51,7 @@ public: void set_film (boost::shared_ptr); void set_general_sensitivity (bool s); void set_selection (boost::weak_ptr); + void set_selection (ContentList cl); void film_changed (Film::Property p); void film_content_changed (int p); @@ -61,25 +67,36 @@ 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 (); + + FilmViewer* 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 (); void later_clicked (); void right_click (wxListEvent &); void files_dropped (wxDropFilesEvent &); - void timeline_clicked (); void setup (); void setup_sensitivity (); void add_files (std::list); + std::list panels () const; wxPanel* _panel; wxSizer* _sizer; @@ -87,21 +104,23 @@ private: wxListCtrl* _content; wxButton* _add_file; wxButton* _add_folder; + wxButton* _add_dcp; wxButton* _remove; wxButton* _earlier; wxButton* _later; wxButton* _timeline; - ContentSubPanel* _video_panel; - ContentSubPanel* _audio_panel; - ContentSubPanel* _subtitle_panel; - ContentSubPanel* _timing_panel; - std::list _panels; + VideoPanel* _video_panel; + AudioPanel* _audio_panel; + 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; bool _generally_sensitive; + bool _ignore_deselect; };