X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ffilm_editor.h;h=6aff127d8a6cfe4156a478e8a971220aad133fae;hb=f984990795e548e2c4160d17d0fa54a40c8b1311;hp=25749fffaf10ec8d3120ee1f02a442fa31ecde11;hpb=12efbd5938f08eb445b43f539fa4f27aa5caccfb;p=dcpomatic.git diff --git a/src/wx/film_editor.h b/src/wx/film_editor.h index 25749fffa..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 wxSpinCtrl; + class wxNotebook; 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,33 +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; };