2 Copyright (C) 2012-2020 Carl Hetherington <cth@carlh.net>
4 This file is part of DCP-o-matic.
6 DCP-o-matic is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 DCP-o-matic is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
21 #include "content_sub_panel.h"
27 class SubtitleAnalysis;
29 class TextPanel : public ContentSubPanel
32 TextPanel (ContentPanel *, TextType t);
34 void film_changed (Film::Property);
35 void film_content_changed (int);
36 void content_selection_changed ();
42 void x_offset_changed ();
43 void y_offset_changed ();
44 void x_scale_changed ();
45 void y_scale_changed ();
46 void line_spacing_changed ();
47 void dcp_track_changed ();
48 void language_changed ();
49 void stream_changed ();
50 void text_view_clicked ();
51 void fonts_dialog_clicked ();
52 void reference_clicked ();
53 void appearance_dialog_clicked ();
54 void outline_subtitles_changed ();
55 TextType current_type () const;
56 void update_dcp_tracks ();
57 void update_dcp_track_selection ();
59 void try_to_load_analysis ();
60 void analysis_finished ();
62 void setup_sensitivity ();
63 void setup_visibility ();
65 void update_outline_subtitles_in_viewer ();
66 void clear_outline_subtitles ();
68 wxCheckBox* _reference;
69 wxStaticText* _reference_note;
70 wxCheckBox* _outline_subtitles;
74 wxStaticText* _offset_label;
75 wxStaticText* _x_offset_label;
76 wxStaticText* _x_offset_pc_label;
77 wxStaticText* _y_offset_label;
78 wxStaticText* _y_offset_pc_label;
79 wxSpinCtrl* _x_offset;
80 wxSpinCtrl* _y_offset;
81 wxStaticText* _scale_label;
82 wxStaticText* _x_scale_label;
83 wxStaticText* _x_scale_pc_label;
84 wxStaticText* _y_scale_label;
85 wxStaticText* _y_scale_pc_label;
88 wxStaticText* _line_spacing_label;
89 wxStaticText* _line_spacing_pc_label;
90 wxSpinCtrl* _line_spacing;
91 wxStaticText* _dcp_track_label;
93 wxStaticText* _language_label;
94 wxTextCtrl* _language;
95 wxStaticText* _stream_label;
97 wxButton* _text_view_button;
99 wxButton* _fonts_dialog_button;
100 FontsDialog* _fonts_dialog;
101 wxButton* _appearance_dialog_button;
102 TextType _original_type;
104 int _outline_subtitles_row;
107 boost::weak_ptr<Content> _analysis_content;
108 boost::signals2::scoped_connection _analysis_finished_connection;
109 boost::shared_ptr<SubtitleAnalysis> _analysis;
110 bool _loading_analysis;