X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ftext_panel.h;h=5adad5a3ed14dd55fb05579d1586fff7c2840615;hb=HEAD;hp=7a7b7b504b3b95d41d3bb3621254adf9159064ce;hpb=cef7a679a59044a5c807768042deecfd56ec6fc2;p=dcpomatic.git diff --git a/src/wx/text_panel.h b/src/wx/text_panel.h index 7a7b7b504..5adad5a3e 100644 --- a/src/wx/text_panel.h +++ b/src/wx/text_panel.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2020 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,22 +18,30 @@ */ + +#include "lib/job.h" #include "content_sub_panel.h" +#include "wx_ptr.h" + -class wxCheckBox; +class CheckBox; class wxSpinCtrl; +class LanguageTagWidget; class TextView; class FontsDialog; +class SpinCtrl; class SubtitleAnalysis; + class TextPanel : public ContentSubPanel { public: TextPanel (ContentPanel *, TextType t); - void film_changed (Film::Property); - void film_content_changed (int); - void content_selection_changed (); + void create () override; + void film_changed(FilmProperty) override; + void film_content_changed (int) override; + void content_selection_changed () override; private: void use_toggled (); @@ -45,7 +53,6 @@ private: void y_scale_changed (); void line_spacing_changed (); void dcp_track_changed (); - void language_changed (); void stream_changed (); void text_view_clicked (); void fonts_dialog_clicked (); @@ -55,9 +62,11 @@ private: TextType current_type () const; void update_dcp_tracks (); void update_dcp_track_selection (); - void add_to_grid (); + void add_to_grid () override; void try_to_load_analysis (); - void analysis_finished (); + void analysis_finished(Job::Result result); + void language_changed (); + void language_is_additional_changed (); void setup_sensitivity (); void setup_visibility (); @@ -65,47 +74,49 @@ private: void update_outline_subtitles_in_viewer (); void clear_outline_subtitles (); - wxCheckBox* _reference; + CheckBox* _reference; wxStaticText* _reference_note; - wxCheckBox* _outline_subtitles; - wxCheckBox* _use; + CheckBox* _outline_subtitles = nullptr; + CheckBox* _use; wxChoice* _type; - wxCheckBox* _burn; + CheckBox* _burn; wxStaticText* _offset_label; wxStaticText* _x_offset_label; wxStaticText* _x_offset_pc_label; wxStaticText* _y_offset_label; wxStaticText* _y_offset_pc_label; - wxSpinCtrl* _x_offset; - wxSpinCtrl* _y_offset; + SpinCtrl* _x_offset; + SpinCtrl* _y_offset; wxStaticText* _scale_label; wxStaticText* _x_scale_label; wxStaticText* _x_scale_pc_label; wxStaticText* _y_scale_label; wxStaticText* _y_scale_pc_label; - wxSpinCtrl* _x_scale; - wxSpinCtrl* _y_scale; + SpinCtrl* _x_scale; + SpinCtrl* _y_scale; wxStaticText* _line_spacing_label; wxStaticText* _line_spacing_pc_label; - wxSpinCtrl* _line_spacing; - wxStaticText* _dcp_track_label; - wxChoice* _dcp_track; - wxStaticText* _language_label; - wxTextCtrl* _language; + SpinCtrl* _line_spacing; + wxStaticText* _dcp_track_label = nullptr; + wxChoice* _dcp_track = nullptr; wxStaticText* _stream_label; wxChoice* _stream; wxButton* _text_view_button; - TextView* _text_view; + wx_ptr _text_view; wxButton* _fonts_dialog_button; - FontsDialog* _fonts_dialog; + wx_ptr _fonts_dialog; wxButton* _appearance_dialog_button; TextType _original_type; + wxStaticText* _language_label = nullptr; + LanguageTagWidget* _language = nullptr; + wxSizer* _language_sizer = nullptr; + wxChoice* _language_type = nullptr; int _outline_subtitles_row; - int _language_row; + int _ccap_track_or_language_row; - boost::weak_ptr _analysis_content; + std::weak_ptr _analysis_content; boost::signals2::scoped_connection _analysis_finished_connection; - boost::shared_ptr _analysis; - bool _loading_analysis; + std::shared_ptr _analysis; + bool _loading_analysis = false; };