Merge remote-tracking branch 'origin/master' into 2.0
[dcpomatic.git] / src / wx / video_panel.h
index a373f091e6f4a71e64efcbe4020af736b166cfd1..e17541cd3f8ef3f565549cd7e6564a949e842da0 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2013 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 
 */
 
-#include "film_editor_panel.h"
+/** @file  src/lib/video_panel.h
+ *  @brief VideoPanel class.
+ */
+
+#include "lib/film.h"
+#include "content_sub_panel.h"
+#include "content_widget.h"
 
 class wxChoice;
 class wxStaticText;
 class wxSpinCtrl;
 class wxButton;
 
-class VideoPanel : public FilmEditorPanel
+/** @class VideoPanel
+ *  @brief The video tab of the film editor.
+ */
+class VideoPanel : public ContentSubPanel
 {
 public:
-       VideoPanel (FilmEditor *);
+       VideoPanel (ContentPanel *);
 
-       void film_content_changed (boost::shared_ptr<Content>, int);
+       void film_changed (Film::Property);
+       void film_content_changed (int);
+       void content_selection_changed ();
 
-       void setup_scaling_description ();
-       
 private:
-       void left_crop_changed (wxCommandEvent &);
-       void right_crop_changed (wxCommandEvent &);
-       void top_crop_changed (wxCommandEvent &);
-       void bottom_crop_changed (wxCommandEvent &);
-       void edit_filters_clicked (wxCommandEvent &);
-       void ratio_changed (wxCommandEvent &);
-
-       wxChoice* _ratio;
-       wxStaticText* _ratio_description;
-       wxStaticText* _scaling_description;
-       wxSpinCtrl* _left_crop;
-       wxSpinCtrl* _right_crop;
-       wxSpinCtrl* _top_crop;
-       wxSpinCtrl* _bottom_crop;
+       void edit_filters_clicked ();
+       void edit_colour_conversion_clicked ();
+
+       void setup_description ();
+
+       ContentChoice<VideoContent, VideoFrameType>*    _frame_type;
+       ContentSpinCtrl<VideoContent>*                  _left_crop;
+       ContentSpinCtrl<VideoContent>*                  _right_crop;
+       ContentSpinCtrl<VideoContent>*                  _top_crop;
+       ContentSpinCtrl<VideoContent>*                  _bottom_crop;
+       ContentChoice<VideoContent, VideoContentScale>* _scale;
+       wxStaticText* _description;
        wxStaticText* _filters;
        wxButton* _filters_button;
+       wxStaticText* _colour_conversion;
+       wxButton* _colour_conversion_button;
 };