X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ffilm_editor.h;h=43a1214c2c915aad424bd63178c8852201cb823f;hb=e60bb3e51bd1508b149e6b8f6608f09b5196ae26;hp=7fd61e5fc5650e7e31e0ad585d566c5362c8e460;hpb=fbf1af9b5d14ce6a71ea184339ca7c30ed544167;p=dcpomatic.git diff --git a/src/wx/film_editor.h b/src/wx/film_editor.h index 7fd61e5fc..43a1214c2 100644 --- a/src/wx/film_editor.h +++ b/src/wx/film_editor.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2013 Carl Hetherington + Copyright (C) 2012-2015 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,28 +16,20 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/** @file src/film_editor.h - * @brief A wx widget to edit a film's metadata, and perform various functions. + +/** @file src/wx/film_editor.h + * @brief FilmEditor class. */ +#include "lib/film.h" #include -#include -#include -#include #include -#include "lib/film.h" -#include "content_menu.h" class wxNotebook; -class wxListCtrl; -class wxListEvent; class Film; -class TimelineDialog; -class Ratio; -class Timecode; -class FilmEditorPanel; -class SubtitleContent; +class ContentPanel; +class DCPPanel; +class FilmViewer; /** @class FilmEditor * @brief A wx widget to edit a film's metadata, and perform various functions. @@ -45,114 +37,33 @@ class SubtitleContent; class FilmEditor : public wxPanel { public: - FilmEditor (boost::shared_ptr, wxWindow *); + FilmEditor (wxWindow *, FilmViewer* viewer); void set_film (boost::shared_ptr); - void set_selection (boost::weak_ptr); boost::signals2::signal FileChanged; /* Stuff for panels */ - - wxNotebook* content_notebook () const { - return _content_notebook; + + ContentPanel* content_panel () const { + return _content_panel; } boost::shared_ptr film () const { return _film; } - ContentList selected_content (); - VideoContentList selected_video_content (); - AudioContentList selected_audio_content (); - SubtitleContentList selected_subtitle_content (); - FFmpegContentList selected_ffmpeg_content (); - -private: - void make_dcp_panel (); - void make_content_panel (); - void connect_to_widgets (); - - /* Handle changes to the view */ - void name_changed (); - void use_dci_name_toggled (); - void edit_dci_button_clicked (); - void content_selection_changed (); - void content_add_file_clicked (); - void content_add_folder_clicked (); - void content_remove_clicked (); - void content_earlier_clicked (); - void content_later_clicked (); - void container_changed (); - void dcp_content_type_changed (); - void scaler_changed (); - void j2k_bandwidth_changed (); - void frame_rate_changed (); - void best_frame_rate_clicked (); - void content_timeline_clicked (); - void audio_channels_changed (); - void resolution_changed (); - void sequence_video_changed (); - void content_right_click (wxListEvent &); - void three_d_changed (); - void standard_changed (); - void encrypted_toggled (); - /* Handle changes to the model */ void film_changed (Film::Property); void film_content_changed (int); void set_general_sensitivity (bool); - void setup_dcp_name (); - void setup_content (); - void setup_container (); - void setup_content_sensitivity (); - void active_jobs_changed (bool); - FilmEditorPanel* _video_panel; - FilmEditorPanel* _audio_panel; - FilmEditorPanel* _subtitle_panel; - FilmEditorPanel* _timing_panel; - std::list _panels; - wxNotebook* _main_notebook; - wxNotebook* _content_notebook; - wxPanel* _dcp_panel; - wxSizer* _dcp_sizer; - wxPanel* _content_panel; - wxSizer* _content_sizer; + ContentPanel* _content_panel; + DCPPanel* _dcp_panel; /** The film we are editing */ boost::shared_ptr _film; - wxTextCtrl* _name; - wxStaticText* _dcp_name; - wxCheckBox* _use_dci_name; - wxChoice* _container; - wxListCtrl* _content; - wxButton* _content_add_file; - wxButton* _content_add_folder; - wxButton* _content_remove; - wxButton* _content_earlier; - wxButton* _content_later; - wxButton* _content_timeline; - wxCheckBox* _sequence_video; - wxButton* _edit_dci_button; - wxChoice* _scaler; - wxSpinCtrl* _j2k_bandwidth; - wxChoice* _dcp_content_type; - wxChoice* _frame_rate; - wxSpinCtrl* _audio_channels; - wxButton* _best_frame_rate; - wxCheckBox* _three_d; - wxChoice* _resolution; - wxChoice* _standard; - wxCheckBox* _encrypted; - - ContentMenu _menu; - - std::vector _ratios; - - bool _generally_sensitive; - TimelineDialog* _timeline_dialog; };