X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ffilm_editor.h;h=43a1214c2c915aad424bd63178c8852201cb823f;hb=251cde8683a8c717dcd5356f5acd2624249ea402;hp=c791ad064ef411b4e32c94f4ca2fde065b93ccc0;hpb=21ce34c2cd04a2e7e133ff693b84c054182f4f91;p=dcpomatic.git diff --git a/src/wx/film_editor.h b/src/wx/film_editor.h index c791ad064..43a1214c2 100644 --- a/src/wx/film_editor.h +++ b/src/wx/film_editor.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012 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,25 +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" class wxNotebook; -class wxListCtrl; -class wxListEvent; class Film; -class AudioDialog; -class AudioMappingView; -class TimelineDialog; +class ContentPanel; +class DCPPanel; +class FilmViewer; /** @class FilmEditor * @brief A wx widget to edit a film's metadata, and perform various functions. @@ -42,144 +37,33 @@ class TimelineDialog; class FilmEditor : public wxPanel { public: - FilmEditor (boost::shared_ptr, wxWindow *); + FilmEditor (wxWindow *, FilmViewer* viewer); void set_film (boost::shared_ptr); - boost::signals2::signal FileChanged; - -private: - void make_film_panel (); - void make_content_panel (); - void make_video_panel (); - void make_audio_panel (); - void make_subtitle_panel (); - void connect_to_widgets (); - - /* Handle changes to the view */ - void name_changed (wxCommandEvent &); - void use_dci_name_toggled (wxCommandEvent &); - void edit_dci_button_clicked (wxCommandEvent &); - void left_crop_changed (wxCommandEvent &); - void right_crop_changed (wxCommandEvent &); - void top_crop_changed (wxCommandEvent &); - void bottom_crop_changed (wxCommandEvent &); - void trust_content_headers_changed (wxCommandEvent &); - void content_selection_changed (wxListEvent &); - void content_activated (wxListEvent &); - void content_add_clicked (wxCommandEvent &); - void content_remove_clicked (wxCommandEvent &); - void content_properties_clicked (wxCommandEvent &); - void imagemagick_video_length_changed (wxCommandEvent &); - void format_changed (wxCommandEvent &); - void trim_type_changed (wxCommandEvent &); - void dcp_content_type_changed (wxCommandEvent &); - void ab_toggled (wxCommandEvent &); - void scaler_changed (wxCommandEvent &); - void audio_gain_changed (wxCommandEvent &); - void audio_gain_calculate_button_clicked (wxCommandEvent &); - void show_audio_clicked (wxCommandEvent &); - void audio_delay_changed (wxCommandEvent &); - void with_subtitles_toggled (wxCommandEvent &); - void subtitle_offset_changed (wxCommandEvent &); - void subtitle_scale_changed (wxCommandEvent &); - void colour_lut_changed (wxCommandEvent &); - void j2k_bandwidth_changed (wxCommandEvent &); - void dcp_frame_rate_changed (wxCommandEvent &); - void best_dcp_frame_rate_clicked (wxCommandEvent &); - void edit_filters_clicked (wxCommandEvent &); - void loop_content_toggled (wxCommandEvent &); - void loop_count_changed (wxCommandEvent &); - void content_timeline_clicked (wxCommandEvent &); + boost::signals2::signal FileChanged; + + /* Stuff for panels */ + + ContentPanel* content_panel () const { + return _content_panel; + } + + boost::shared_ptr film () const { + return _film; + } /* Handle changes to the model */ void film_changed (Film::Property); - void film_content_changed (boost::weak_ptr, int); - - void set_things_sensitive (bool); - void setup_formats (); - void setup_subtitle_control_sensitivity (); - void setup_dcp_name (); - void setup_show_audio_sensitivity (); - void setup_scaling_description (); - void setup_notebook_size (); - void setup_frame_rate_description (); - void setup_content (); - void setup_format (); - void setup_length (); - void setup_content_information (); - void setup_content_button_sensitivity (); - void setup_loop_sensitivity (); - + void film_content_changed (int); + + void set_general_sensitivity (bool); void active_jobs_changed (bool); - boost::shared_ptr selected_content (); - void content_properties (boost::shared_ptr); - - wxNotebook* _notebook; - wxPanel* _film_panel; - wxSizer* _film_sizer; - wxPanel* _content_panel; - wxSizer* _content_sizer; - wxPanel* _video_panel; - wxSizer* _video_sizer; - wxPanel* _audio_panel; - wxSizer* _audio_sizer; - wxPanel* _subtitle_panel; - wxSizer* _subtitle_sizer; + + wxNotebook* _main_notebook; + ContentPanel* _content_panel; + DCPPanel* _dcp_panel; /** The film we are editing */ boost::shared_ptr _film; - /** The Film's name */ - wxTextCtrl* _name; - wxStaticText* _dcp_name; - wxCheckBox* _use_dci_name; - wxListCtrl* _content; - wxButton* _content_add; - wxButton* _content_remove; - wxButton* _content_properties; - wxButton* _content_earlier; - wxButton* _content_later; - wxButton* _content_timeline; - wxTextCtrl* _content_information; - wxCheckBox* _loop_content; - wxSpinCtrl* _loop_count; - wxButton* _edit_dci_button; - wxChoice* _format; - wxStaticText* _format_description; - wxCheckBox* _trust_content_headers; - wxStaticText* _scaling_description; - wxSpinCtrl* _left_crop; - wxSpinCtrl* _right_crop; - wxSpinCtrl* _top_crop; - wxSpinCtrl* _bottom_crop; - wxStaticText* _filters; - wxButton* _filters_button; - wxChoice* _scaler; - wxSpinCtrl* _audio_gain; - wxButton* _audio_gain_calculate_button; - wxButton* _show_audio; - wxSpinCtrl* _audio_delay; - AudioMappingView* _audio_mapping; - wxCheckBox* _with_subtitles; - wxSpinCtrl* _subtitle_offset; - wxSpinCtrl* _subtitle_scale; - wxChoice* _colour_lut; - wxSpinCtrl* _j2k_bandwidth; - wxChoice* _dcp_content_type; - wxChoice* _dcp_frame_rate; - wxButton* _best_dcp_frame_rate; - wxStaticText* _frame_rate_description; - wxStaticText* _length; - /** The Film's audio details */ - wxStaticText* _audio; - - wxChoice* _trim_type; - /** Selector to generate an A/B comparison DCP */ - wxCheckBox* _ab; - - std::vector _formats; - - bool _generally_sensitive; - AudioDialog* _audio_dialog; - TimelineDialog* _timeline_dialog; };