X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ffilm_editor.h;h=6aff127d8a6cfe4156a478e8a971220aad133fae;hb=5e74e417e8b3d4e9773d0fad97cf11a5c4eeeccf;hp=a198d7aa7d0ce221b0e246a13b3bd24bdd6667d6;hpb=7b2054e2a73844450b5b55c5788c02af671812ce;p=dcpomatic.git diff --git a/src/wx/film_editor.h b/src/wx/film_editor.h index a198d7aa7..6aff127d8 100644 --- a/src/wx/film_editor.h +++ b/src/wx/film_editor.h @@ -1,36 +1,43 @@ /* - Copyright (C) 2012-2014 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ - -/** @file src/film_editor.h - * @brief A wx widget to edit a film's metadata, and perform various functions. + + +/** @file src/wx/film_editor.h + * @brief FilmEditor class. */ + +#include "lib/film.h" +#include "lib/warnings.h" +DCPOMATIC_DISABLE_WARNINGS #include +DCPOMATIC_ENABLE_WARNINGS #include -#include "lib/film.h" + class wxNotebook; -class wxSpinCtrl; class Film; -class Ratio; class ContentPanel; class DCPPanel; +class FilmViewer; + /** @class FilmEditor * @brief A wx widget to edit a film's metadata, and perform various functions. @@ -38,34 +45,37 @@ class DCPPanel; class FilmEditor : public wxPanel { public: - FilmEditor (wxWindow *); + FilmEditor (wxWindow *, std::weak_ptr viewer); - void set_film (boost::shared_ptr); + void set_film (std::shared_ptr); + void first_shown (); boost::signals2::signal FileChanged; + boost::signals2::signal SelectionChanged; /* Stuff for panels */ ContentPanel* content_panel () const { return _content_panel; } - - boost::shared_ptr film () const { + + std::shared_ptr film () const { return _film; } private: + /* Handle changes to the model */ - void film_changed (Film::Property); - void film_content_changed (int); + void film_change (ChangeType, Film::Property); + void film_content_change (ChangeType type, int); void set_general_sensitivity (bool); - void active_jobs_changed (bool); + void active_jobs_changed (boost::optional); wxNotebook* _main_notebook; ContentPanel* _content_panel; DCPPanel* _dcp_panel; /** The film we are editing */ - boost::shared_ptr _film; + std::shared_ptr _film; };