X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fcontent_widget.h;h=34755e4b5a7e1707b710f45487bc9cdf4934dfd3;hb=8fb0919c3c0f11f076eeda2a7d356f6284284ec6;hp=6505d08da75cc1344b5cede040035fdfa9f9df9b;hpb=83a78961d8fbd336361f573c6d9efde720f9c0c0;p=dcpomatic.git diff --git a/src/wx/content_widget.h b/src/wx/content_widget.h index 6505d08da..34755e4b5 100644 --- a/src/wx/content_widget.h +++ b/src/wx/content_widget.h @@ -30,7 +30,6 @@ #include #include #include -#include #include /** @class ContentWidget @@ -43,7 +42,7 @@ * @param V Data type of state as used by the view. */ template -class ContentWidget : public boost::noncopyable +class ContentWidget { public: /** @param parent Parent window. @@ -60,12 +59,12 @@ public: wxWindow* parent, T* wrapped, int property, - boost::function (Content*)> part, - boost::function model_getter, - boost::function model_setter, - boost::function view_changed, - boost::function view_to_model, - boost::function model_to_view + std::function (Content*)> part, + std::function model_getter, + std::function model_setter, + std::function view_changed, + std::function view_to_model, + std::function model_to_view ) : _wrapped (wrapped) , _sizer (0) @@ -84,13 +83,16 @@ public: _button->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&ContentWidget::button_clicked, this)); } + ContentWidget (ContentWidget const&) = delete; + ContentWidget& operator= (ContentWidget const&) = delete; + /** @return the widget that we are wrapping */ T* wrapped () const { return _wrapped; } - typedef std::vector > List; + typedef std::vector > List; /** Set the content that this control is working on (i.e. the selected content) */ void set_content (List content) @@ -195,14 +197,14 @@ private: void button_clicked () { U const v = boost::bind (_model_getter, _part(_content.front().get()).get())(); - for (typename List::iterator i = _content.begin (); i != _content.end(); ++i) { - boost::bind (_model_setter, _part(i->get()).get(), v) (); + for (auto const& i: _content) { + boost::bind (_model_setter, _part(i.get()).get(), v)(); } } void model_changed (ChangeType type, int property) { - if (type == CHANGE_TYPE_DONE && property == _property && !_ignore_model_changes) { + if (type == ChangeType::DONE && property == _property && !_ignore_model_changes) { update_from_model (); } } @@ -214,12 +216,12 @@ private: wxButton* _button; List _content; int _property; - boost::function (Content *)> _part; - boost::function _model_getter; - boost::function _model_setter; - boost::function _view_changed; - boost::function _view_to_model; - boost::function _model_to_view; + std::function (Content *)> _part; + std::function _model_getter; + std::function _model_setter; + std::function _view_changed; + std::function _view_to_model; + std::function _model_to_view; std::list _connections; bool _ignore_model_changes; }; @@ -238,10 +240,10 @@ public: wxWindow* parent, wxSpinCtrl* wrapped, int property, - boost::function (Content *)> part, - boost::function getter, - boost::function setter, - boost::function view_changed = boost::function() + std::function (Content *)> part, + std::function getter, + std::function setter, + std::function view_changed = std::function() ) : ContentWidget ( parent, @@ -266,10 +268,10 @@ public: wxWindow* parent, wxSpinCtrlDouble* wrapped, int property, - boost::function (Content *)> part, - boost::function getter, - boost::function setter, - boost::function view_changed = boost::function() + std::function (Content *)> part, + std::function getter, + std::function setter, + std::function view_changed = std::function() ) : ContentWidget ( parent, @@ -294,12 +296,12 @@ public: wxWindow* parent, wxChoice* wrapped, int property, - boost::function (Content *)> part, - boost::function getter, - boost::function setter, - boost::function view_to_model, - boost::function model_to_view, - boost::function view_changed = boost::function() + std::function (Content *)> part, + std::function getter, + std::function setter, + std::function view_to_model, + std::function model_to_view, + std::function view_changed = std::function() ) : ContentWidget ( parent,