macOS alignment fixes (#2045).
[dcpomatic.git] / src / wx / language_tag_widget.h
index eee72f6a087296370ea2978a0a3787878ec6fda1..16c00e3a63cc1fc0186a37a10a1781456bd43def 100644 (file)
@@ -21,7 +21,6 @@
 
 #include <dcp/language_tag.h>
 #include <wx/wx.h>
-#include <boost/noncopyable.hpp>
 #include <boost/signals2.hpp>
 
 
@@ -31,12 +30,24 @@ class wxStaticText;
 class wxWindow;
 
 
-class LanguageTagWidget : public boost::noncopyable
+class LanguageTagWidget
 {
 public:
-       LanguageTagWidget (wxWindow* parent, wxSizer* sizer, wxString label, wxString tooltip, dcp::LanguageTag tag);
+       LanguageTagWidget (wxWindow* parent, wxString tooltip, boost::optional<dcp::LanguageTag> tag, boost::optional<wxString> size_to_fit = boost::none);
+       ~LanguageTagWidget ();
 
-       void set (dcp::LanguageTag tag);
+       LanguageTagWidget (LanguageTagWidget const&) = delete;
+       LanguageTagWidget& operator= (LanguageTagWidget const&) = delete;
+
+       wxSizer* sizer () const {
+               return _sizer;
+       }
+
+       boost::optional<dcp::LanguageTag> get () const {
+               return _tag;
+       }
+       void set (boost::optional<dcp::LanguageTag> tag);
+       void enable (bool e);
 
        boost::signals2::signal<void (dcp::LanguageTag)> Changed;
 
@@ -46,6 +57,7 @@ private:
        wxStaticText* _language;
        wxButton* _edit;
        wxWindow* _parent;
-       dcp::LanguageTag _tag;
+       boost::optional<dcp::LanguageTag> _tag;
+       wxSizer* _sizer;
 };