X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ftext_panel.h;h=c76449513dc6a7aaaa676affed767207920a575f;hb=31de5b1272d928557a7272977584f5dcc9876c75;hp=4a8b8c17bef466cd39f9bd677e3422d55561ff35;hpb=186b5a423b58f4f6457d11852cdbd0abc2f89f69;p=dcpomatic.git diff --git a/src/wx/text_panel.h b/src/wx/text_panel.h index 4a8b8c17b..c76449513 100644 --- a/src/wx/text_panel.h +++ b/src/wx/text_panel.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2019 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,12 +18,18 @@ */ + #include "content_sub_panel.h" + class wxCheckBox; class wxSpinCtrl; +class LanguageTagWidget; class TextView; class FontsDialog; +class SpinCtrl; +class SubtitleAnalysis; + class TextPanel : public ContentSubPanel { @@ -44,22 +50,30 @@ 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 (); void reference_clicked (); void appearance_dialog_clicked (); + void outline_subtitles_changed (); TextType current_type () const; void update_dcp_tracks (); void update_dcp_track_selection (); void add_to_grid (); + void try_to_load_analysis (); + void analysis_finished (); + void language_changed (); + void language_is_additional_changed (); void setup_sensitivity (); void setup_visibility (); + void update_outline_subtitles_in_viewer (); + void clear_outline_subtitles (); + wxCheckBox* _reference; wxStaticText* _reference_note; + wxCheckBox* _outline_subtitles = nullptr; wxCheckBox* _use; wxChoice* _type; wxCheckBox* _burn; @@ -68,30 +82,38 @@ private: 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; + TextView* _text_view = nullptr; wxButton* _fonts_dialog_button; - FontsDialog* _fonts_dialog; + FontsDialog* _fonts_dialog = nullptr; 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 _ccap_track_or_language_row; - int _language_row; + std::weak_ptr _analysis_content; + boost::signals2::scoped_connection _analysis_finished_connection; + std::shared_ptr _analysis; + bool _loading_analysis = false; };