summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/wx/film_editor.cc237
-rw-r--r--src/wx/film_editor.h14
-rw-r--r--src/wx/wx_util.cc3
-rw-r--r--src/wx/wx_util.h3
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<Format const *> fmt = Format::all ();
for (vector<Format const *>::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<DCPContentType const *> 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<wxControl*> _video_controls;
std::list<wxControl*> _still_controls;
-
- std::list<wxControl*> _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<wxControl*>& 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 <list>
#include <wx/wx.h>
/** @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<wxControl*>&, 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);