X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ffilm_editor.h;h=6aff127d8a6cfe4156a478e8a971220aad133fae;hb=96c7c48da7e7c2b661f28be4ff454b84d0173801;hp=47b333519de266acf98dfec7d3792b80ce4385e5;hpb=3828baf56467224f5d44049bf1e7a7ed11f43a05;p=dcpomatic.git diff --git a/src/wx/film_editor.h b/src/wx/film_editor.h index 47b333519..6aff127d8 100644 --- a/src/wx/film_editor.h +++ b/src/wx/film_editor.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2015 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,31 +18,40 @@ */ + /** @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 + class wxNotebook; class Film; class ContentPanel; class DCPPanel; class FilmViewer; + /** @class FilmEditor * @brief A wx widget to edit a film's metadata, and perform various functions. */ class FilmEditor : public wxPanel { public: - FilmEditor (wxWindow *, FilmViewer* viewer); + 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 */ @@ -50,13 +59,15 @@ public: 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 (boost::optional); @@ -66,5 +77,5 @@ public: DCPPanel* _dcp_panel; /** The film we are editing */ - boost::shared_ptr _film; + std::shared_ptr _film; };