X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fsubtitle_appearance_dialog.h;h=cef264590343dfe97ecd3c294d30b839826e3bd3;hb=62c03e3d3493df8a31361b3281c443cac35decb0;hp=a1a3128fef11ccc495e5f177956e0e4658fce38e;hpb=d54c8291f83bd9f2cf964ca0372f74734ccb0ae2;p=dcpomatic.git diff --git a/src/wx/subtitle_appearance_dialog.h b/src/wx/subtitle_appearance_dialog.h index a1a3128fe..cef264590 100644 --- a/src/wx/subtitle_appearance_dialog.h +++ b/src/wx/subtitle_appearance_dialog.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2015-2018 Carl Hetherington + Copyright (C) 2015-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,51 +18,72 @@ */ + #include "timecode.h" +#include "lib/change_signaller.h" #include "lib/rgba.h" +#include +LIBDCP_DISABLE_WARNINGS #include -#include +LIBDCP_ENABLE_WARNINGS #include -class wxRadioButton; -class wxColourPickerCtrl; -class wxGridBagSizer; + +class CheckBox; class Content; -class RGBAColourPicker; class FFmpegSubtitleStream; -class wxCheckBox; +class Film; +class Job; +class RGBAColourPicker; +class wxColourPickerCtrl; +class wxGridBagSizer; +class wxRadioButton; class wxWidget; + class SubtitleAppearanceDialog : public wxDialog { public: - SubtitleAppearanceDialog (wxWindow* parent, boost::shared_ptr content); + SubtitleAppearanceDialog (wxWindow* parent, std::shared_ptr film, std::shared_ptr content, std::shared_ptr caption); void apply (); private: void setup_sensitivity (); void restore (); - wxCheckBox* set_to (wxWindow* w, int& r); + CheckBox* set_to (wxWindow* w, int& r); + void content_change (ChangeType type); + void active_jobs_changed (boost::optional last); + void add_colours (); - wxCheckBox* _force_colour; + std::weak_ptr _film; + CheckBox* _force_colour; wxColourPickerCtrl* _colour; - wxCheckBox* _force_effect; + CheckBox* _force_effect; wxChoice* _effect; - wxCheckBox* _force_effect_colour; + CheckBox* _force_effect_colour; wxColourPickerCtrl* _effect_colour; - wxCheckBox* _force_fade_in; - Timecode* _fade_in; - wxCheckBox* _force_fade_out; - Timecode* _fade_out; + CheckBox* _force_fade_in; + Timecode* _fade_in; + CheckBox* _force_fade_out; + Timecode* _fade_out; wxSpinCtrl* _outline_width; wxGridBagSizer* _table; std::map _pickers; - boost::shared_ptr _content; - boost::shared_ptr _stream; + wxBoxSizer* _overall_sizer; + wxScrolled* _colours_panel; + wxStaticText* _finding = nullptr; + wxFlexGridSizer* _colour_table; + + std::shared_ptr _content; + std::shared_ptr _text; + std::shared_ptr _stream; boost::signals2::scoped_connection _content_connection; + boost::signals2::scoped_connection _job_manager_connection; + + std::weak_ptr _job; static int const NONE; static int const OUTLINE;