X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ftext_panel.h;h=c4498f970b7a8d6c6e3d01911d44ca1fe4e1fe34;hb=7371f01c57d5f690c4175b1875d339fa5cbd49ae;hp=86381e6ff6d7f56212f4ba43baffb405cb964b9c;hpb=a5c629cb9b638b67a0e4c2d26fe9ab2e124bf0eb;p=dcpomatic.git diff --git a/src/wx/text_panel.h b/src/wx/text_panel.h index 86381e6ff..c4498f970 100644 --- a/src/wx/text_panel.h +++ b/src/wx/text_panel.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2018 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,21 +18,28 @@ */ + #include "content_sub_panel.h" + class wxCheckBox; 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 (Film::Property) override; + void film_content_changed (int) override; + void content_selection_changed () override; private: void use_toggled (); @@ -43,31 +50,71 @@ private: void x_scale_changed (); void y_scale_changed (); void line_spacing_changed (); - void language_changed (); + void dcp_track_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 () override; + 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; - wxSpinCtrl* _x_offset; - wxSpinCtrl* _y_offset; - wxSpinCtrl* _x_scale; - wxSpinCtrl* _y_scale; - wxSpinCtrl* _line_spacing; - wxTextCtrl* _language; + wxStaticText* _offset_label; + wxStaticText* _x_offset_label; + wxStaticText* _x_offset_pc_label; + wxStaticText* _y_offset_label; + wxStaticText* _y_offset_pc_label; + 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; + SpinCtrl* _x_scale; + SpinCtrl* _y_scale; + wxStaticText* _line_spacing_label; + wxStaticText* _line_spacing_pc_label; + 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; + + std::weak_ptr _analysis_content; + boost::signals2::scoped_connection _analysis_finished_connection; + std::shared_ptr _analysis; + bool _loading_analysis = false; };