From 81e63691a2d2b4550c620c1955ec94be8981ea6a Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 25 Jul 2012 16:54:46 +0100 Subject: Rearrange stuff a bit. --- src/wx/film_editor.cc | 237 ++++++++++++++++++++++++-------------------------- src/wx/film_editor.h | 14 --- src/wx/wx_util.cc | 3 +- src/wx/wx_util.h | 3 +- 4 files changed, 116 insertions(+), 141 deletions(-) diff --git a/src/wx/film_editor.cc b/src/wx/film_editor.cc index 42d6fcff5..9fca6a6d5 100644 --- a/src/wx/film_editor.cc +++ b/src/wx/film_editor.cc @@ -48,59 +48,141 @@ FilmEditor::FilmEditor (Film* f, wxWindow* parent) : wxPanel (parent) , _film (f) { + wxSizer* sizer = new wxFlexGridSizer (2, 6, 6); + this->SetSizer (sizer); + + add_label_to_sizer (sizer, this, "Name"); _name = new wxTextCtrl (this, wxID_ANY); + sizer->Add (_name, 1, wxEXPAND); + +#if 0 + add_label_to_sizer (sizer, this, "Content"); +// _content = new wxFilePickerCtrl (this, wxID_ANY, wxT("*.*"), false); + sizer->Add (_content, 1, wxEXPAND); +#endif + + add_label_to_sizer (sizer, this, "Content Type"); + _dcp_content_type = new wxComboBox (this, wxID_ANY); + sizer->Add (_dcp_content_type); + + add_label_to_sizer (sizer, this, "Frames Per Second"); _frames_per_second = new wxSpinCtrl (this); + sizer->Add (video_control (_frames_per_second)); + + add_label_to_sizer (sizer, this, "Format"); _format = new wxComboBox (this, wxID_ANY); -// _content = new wxFileCtrl (this, wxID_ANY, wxT("*.*"), false); - _crop_panel = new wxPanel (this); - _left_crop = new wxSpinCtrl (_crop_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)); - _right_crop = new wxSpinCtrl (_crop_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)); - _top_crop = new wxSpinCtrl (_crop_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)); - _bottom_crop = new wxSpinCtrl (_crop_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)); - _filters_panel = new wxPanel (this); - _filters = new wxStaticText (_filters_panel, wxID_ANY, wxT ("")); - _filters_button = new wxButton (_filters_panel, wxID_ANY, wxT ("Edit...")); + sizer->Add (_format); + + { + add_label_to_sizer (sizer, this, "Crop"); + wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); + wxPanel* p = new wxPanel (this); + p->SetSizer (s); + + add_label_to_sizer (s, p, "L"); + _left_crop = new wxSpinCtrl (p, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)); + s->Add (_left_crop, 0); + add_label_to_sizer (s, p, "R"); + _right_crop = new wxSpinCtrl (p, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)); + s->Add (_right_crop, 0); + add_label_to_sizer (s, p, "T"); + _top_crop = new wxSpinCtrl (p, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)); + s->Add (_top_crop, 0); + add_label_to_sizer (s, p, "B"); + _bottom_crop = new wxSpinCtrl (p, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)); + s->Add (_bottom_crop, 0); + + sizer->Add (p); + } + + /* VIDEO-only stuff */ + { + video_control (add_label_to_sizer (sizer, this, "Filters")); + wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); + wxPanel* p = new wxPanel (this); + p->SetSizer (s); + _filters = new wxStaticText (p, wxID_ANY, wxT ("")); + s->Add (_filters, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL | wxALL, 6); + _filters_button = new wxButton (p, wxID_ANY, wxT ("Edit...")); + s->Add (_filters_button, 0); + sizer->Add (p, 1); + } + + video_control (add_label_to_sizer (sizer, this, "Scaler")); _scaler = new wxComboBox (this, wxID_ANY); - _audio_gain_panel = new wxPanel (this); - _audio_gain = new wxSpinCtrl (_audio_gain_panel); - _audio_delay_panel = new wxPanel (this); - _audio_delay = new wxSpinCtrl (_audio_delay_panel); - _dcp_content_type = new wxComboBox (this, wxID_ANY); + sizer->Add (video_control (_scaler), 1); + + { + video_control (add_label_to_sizer (sizer, this, "Audio Gain")); + wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); + wxPanel* p = new wxPanel (this); + p->SetSizer (s); + _audio_gain = new wxSpinCtrl (p); + s->Add (video_control (_audio_gain), 1); + video_control (add_label_to_sizer (s, p, "dB")); + sizer->Add (p); + } + + { + video_control (add_label_to_sizer (sizer, this, "Audio Delay")); + wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); + wxPanel* p = new wxPanel (this); + p->SetSizer (s); + _audio_delay = new wxSpinCtrl (p); + s->Add (video_control (_audio_delay), 1); + video_control (add_label_to_sizer (s, p, "ms")); + sizer->Add (p); + } + + video_control (add_label_to_sizer (sizer, this, "Original Size")); _original_size = new wxStaticText (this, wxID_ANY, wxT ("")); - _dcp_range_panel = new wxPanel (this); - _change_dcp_range_button = new wxButton (_dcp_range_panel, wxID_ANY, wxT ("Edit...")); + sizer->Add (video_control (_original_size), 1, wxALIGN_CENTER_VERTICAL); + + video_control (add_label_to_sizer (sizer, this, "Length")); + _length = new wxStaticText (this, wxID_ANY, wxT ("")); + sizer->Add (video_control (_length), 1, wxALIGN_CENTER_VERTICAL); + + video_control (add_label_to_sizer (sizer, this, "Audio")); + _audio = new wxStaticText (this, wxID_ANY, wxT ("")); + sizer->Add (video_control (_audio), 1, wxALIGN_CENTER_VERTICAL); + + { + video_control (add_label_to_sizer (sizer, this, "Range")); + wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); + wxPanel* p = new wxPanel (this); + p->SetSizer (s); + _dcp_range = new wxStaticText (p, wxID_ANY, wxT ("")); + s->Add (video_control (_dcp_range), 1, wxALIGN_CENTER_VERTICAL); + _change_dcp_range_button = new wxButton (p, wxID_ANY, wxT ("Edit...")); + s->Add (video_control (_change_dcp_range_button)); + sizer->Add (p); + } + _dcp_ab = new wxCheckBox (this, wxID_ANY, wxT ("A/B")); + sizer->Add (_dcp_ab, 1); + sizer->AddSpacer (0); + + /* STILL-only stuff */ + still_control (add_label_to_sizer (sizer, this, "Duration")); + _still_duration = new wxSpinCtrl (this); + sizer->Add (still_control (_still_duration)); + still_control (add_label_to_sizer (sizer, this, "s")); -//XXX _vbox.set_border_width (12); -//XXX _vbox.set_spacing (12); - /* Set up our editing widgets */ + _left_crop->SetRange (0, 1024); -//XXX _left_crop.set_increments (1, 16); _top_crop->SetRange (0, 1024); -//XXX _top_crop.set_increments (1, 16); _right_crop->SetRange (0, 1024); -//XXX _right_crop.set_increments (1, 16); _bottom_crop->SetRange (0, 1024); -//XXX _bottom_crop.set_increments (1, 16); -//XXX _filters.set_alignment (0, 0.5); _audio_gain->SetRange (-60, 60); -//XXX _audio_gain.set_increments (1, 3); _audio_delay->SetRange (-1000, 1000); -//XXX _audio_delay.set_increments (1, 20); - _still_duration = new wxSpinCtrl (this); _still_duration->SetRange (0, 60 * 60); -//XXX _still_duration.set_increments (1, 5); - _dcp_range = new wxStaticText (_dcp_range_panel, wxID_ANY, wxT ("")); -// _dcp_range.set_alignment (0, 0.5); vector fmt = Format::all (); for (vector::iterator i = fmt.begin(); i != fmt.end(); ++i) { _format->Append (std_to_wx ((*i)->name ())); } -//XXX _frames_per_second.set_increments (1, 5); -//XXX _frames_per_second.set_digits (2); _frames_per_second->SetRange (0, 60); vector const ct = DCPContentType::all (); @@ -113,12 +195,6 @@ FilmEditor::FilmEditor (Film* f, wxWindow* parent) _scaler->Append (std_to_wx ((*i)->name())); } -//XXX _original_size.set_alignment (0, 0.5); - _length = new wxStaticText (this, wxID_ANY, wxT ("")); -//XXX _length.set_alignment (0, 0.5); - _audio = new wxStaticText (this, wxID_ANY, wxT ("")); -//XXX _audio.set_alignment (0, 0.5); - /* And set their values from the Film */ set_film (f); @@ -141,91 +217,6 @@ FilmEditor::FilmEditor (Film* f, wxWindow* parent) _change_dcp_range_button->Connect (wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler (FilmEditor::change_dcp_range_clicked), 0, this); - /* Set up the sizer */ - _sizer = new wxFlexGridSizer (2, 6, 6); - this->SetSizer (_sizer); - - add_label_to_sizer (_sizer, this, _labels, "Name"); - _sizer->Add (_name, 1, wxEXPAND); - -#if 0 - add_label_to_sizer (_sizer, this, _labels, "Content"); - _sizer->Add (_content, 1, wxEXPAND); -#endif - - add_label_to_sizer (_sizer, this, _labels, "Content Type"); - _sizer->Add (_dcp_content_type); - - add_label_to_sizer (_sizer, this, _labels, "Frames Per Second"); - _sizer->Add (video_control (_frames_per_second)); - - add_label_to_sizer (_sizer, this, _labels, "Format"); - _sizer->Add (_format); - - add_label_to_sizer (_sizer, this, _labels, "Crop"); - _crop_sizer = new wxBoxSizer (wxHORIZONTAL); - _crop_panel->SetSizer (_crop_sizer); - - add_label_to_sizer (_crop_sizer, _crop_panel, _labels, "L"); - _crop_sizer->Add (_left_crop, 0); - add_label_to_sizer (_crop_sizer, _crop_panel, _labels, "R"); - _crop_sizer->Add (_right_crop, 0); - add_label_to_sizer (_crop_sizer, _crop_panel, _labels, "T"); - _crop_sizer->Add (_top_crop, 0); - add_label_to_sizer (_crop_sizer, _crop_panel, _labels, "B"); - _crop_sizer->Add (_bottom_crop, 0); - - _sizer->Add (_crop_panel); - - /* VIDEO-only stuff */ - video_control (add_label_to_sizer (_sizer, this, _labels, "Filters")); - _filters_sizer = new wxBoxSizer (wxHORIZONTAL); - _filters_panel->SetSizer (_filters_sizer); - _filters_sizer->Add (_filters, 1, wxEXPAND | wxALIGN_CENTER_VERTICAL | wxALL, 6); - _filters_sizer->Add (_filters_button, 0); - _sizer->Add (_filters_panel, 1); - - video_control (add_label_to_sizer (_sizer, this, _labels, "Scaler")); - _sizer->Add (video_control (_scaler), 1); - - video_control (add_label_to_sizer (_sizer, this, _labels, "Audio Gain")); - _audio_gain_sizer = new wxBoxSizer (wxHORIZONTAL); - _audio_gain_panel->SetSizer (_audio_gain_sizer); - _audio_gain_sizer->Add (video_control (_audio_gain), 1); - video_control (add_label_to_sizer (_audio_gain_sizer, _audio_gain_panel, _labels, "dB")); - _sizer->Add (_audio_gain_panel); - - video_control (add_label_to_sizer (_sizer, this, _labels, "Audio Delay")); - _audio_delay_sizer = new wxBoxSizer (wxHORIZONTAL); - _audio_delay_panel->SetSizer (_audio_delay_sizer); - _audio_delay_sizer->Add (video_control (_audio_delay), 1); - video_control (add_label_to_sizer (_audio_delay_sizer, _audio_delay_panel, _labels, "ms")); - _sizer->Add (_audio_delay_panel); - - video_control (add_label_to_sizer (_sizer, this, _labels, "Original Size")); - _sizer->Add (video_control (_original_size), 1, wxALIGN_CENTER_VERTICAL); - - video_control (add_label_to_sizer (_sizer, this, _labels, "Length")); - _sizer->Add (video_control (_length), 1, wxALIGN_CENTER_VERTICAL); - - video_control (add_label_to_sizer (_sizer, this, _labels, "Audio")); - _sizer->Add (video_control (_audio), 1, wxALIGN_CENTER_VERTICAL); - - video_control (add_label_to_sizer (_sizer, this, _labels, "Range")); - _dcp_range_sizer = new wxBoxSizer (wxHORIZONTAL); - _dcp_range_panel->SetSizer (_dcp_range_sizer); - _dcp_range_sizer->Add (video_control (_dcp_range), 1, wxALIGN_CENTER_VERTICAL); - _dcp_range_sizer->Add (video_control (_change_dcp_range_button)); - _sizer->Add (_dcp_range_panel); - - _sizer->Add (_dcp_ab, 1); - _sizer->AddSpacer (0); - - /* STILL-only stuff */ - still_control (add_label_to_sizer (_sizer, this, _labels, "Duration")); - _sizer->Add (still_control (_still_duration)); - still_control (add_label_to_sizer (_sizer, this, _labels, "s")); - setup_visibility (); } diff --git a/src/wx/film_editor.h b/src/wx/film_editor.h index 23fd3352a..7a058652c 100644 --- a/src/wx/film_editor.h +++ b/src/wx/film_editor.h @@ -117,20 +117,6 @@ private: /** Selector to generate an A/B comparison DCP */ wxCheckBox* _dcp_ab; - wxFlexGridSizer* _sizer; - wxPanel* _audio_gain_panel; - wxBoxSizer* _audio_gain_sizer; - wxPanel* _audio_delay_panel; - wxBoxSizer* _audio_delay_sizer; - wxPanel* _filters_panel; - wxSizer* _filters_sizer; - wxSizer* _crop_sizer; - wxPanel* _crop_panel; - wxPanel* _dcp_range_panel; - wxSizer* _dcp_range_sizer; - std::list _video_controls; std::list _still_controls; - - std::list _labels; }; diff --git a/src/wx/wx_util.cc b/src/wx/wx_util.cc index bb268ea68..50323c6e0 100644 --- a/src/wx/wx_util.cc +++ b/src/wx/wx_util.cc @@ -26,10 +26,9 @@ using namespace std; wxStaticText * -add_label_to_sizer (wxSizer* s, wxWindow* p, list& c, string t) +add_label_to_sizer (wxSizer* s, wxWindow* p, string t) { wxStaticText* m = new wxStaticText (p, wxID_ANY, wxString (t.c_str (), wxConvUTF8)); - c.push_back (m); s->Add (m, 0, wxALIGN_CENTER_VERTICAL | wxALL, 6); return m; } diff --git a/src/wx/wx_util.h b/src/wx/wx_util.h index 6f83e3df0..3fcc383f0 100644 --- a/src/wx/wx_util.h +++ b/src/wx/wx_util.h @@ -17,7 +17,6 @@ */ -#include #include /** @file src/wx/wx_util.h @@ -25,6 +24,6 @@ */ extern void error_dialog (std::string); -extern wxStaticText* add_label_to_sizer (wxSizer *, wxWindow *, std::list&, std::string); +extern wxStaticText* add_label_to_sizer (wxSizer *, wxWindow *, std::string); extern std::string wx_to_std (wxString); extern wxString std_to_wx (std::string); -- cgit v1.2.3