#include <dcp/language_tag.h>
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
#include <wx/wx.h>
-#include <boost/noncopyable.hpp>
+LIBDCP_ENABLE_WARNINGS
#include <boost/signals2.hpp>
class wxWindow;
-class LanguageTagWidget : public boost::noncopyable
+class LanguageTagWidget
{
public:
- LanguageTagWidget (wxWindow* parent, wxString tooltip, dcp::LanguageTag tag);
+ LanguageTagWidget (wxWindow* parent, wxString tooltip, boost::optional<dcp::LanguageTag> tag, boost::optional<wxString> size_to_fit = boost::none);
+ ~LanguageTagWidget ();
+
+ LanguageTagWidget (LanguageTagWidget const&) = delete;
+ LanguageTagWidget& operator= (LanguageTagWidget const&) = delete;
wxSizer* sizer () const {
return _sizer;
}
- dcp::LanguageTag get () const {
+ boost::optional<dcp::LanguageTag> get () const {
return _tag;
}
- void set (dcp::LanguageTag tag);
+ void set (boost::optional<dcp::LanguageTag> tag);
void enable (bool e);
boost::signals2::signal<void (dcp::LanguageTag)> Changed;
wxStaticText* _language;
wxButton* _edit;
wxWindow* _parent;
- dcp::LanguageTag _tag;
+ boost::optional<dcp::LanguageTag> _tag;
wxSizer* _sizer;
};