#include <dcp/language_tag.h>
#include <wx/wx.h>
-#include <boost/noncopyable.hpp>
#include <boost/signals2.hpp>
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;
wxStaticText* _language;
wxButton* _edit;
wxWindow* _parent;
- dcp::LanguageTag _tag;
+ boost::optional<dcp::LanguageTag> _tag;
+ wxSizer* _sizer;
};