X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Feditable_list.h;h=56c3a946379cedfa99ef19da832327eda7597291;hb=73354a46617d95f2f8ab94b9a3ced97a67a60439;hp=58d0e388511b38169febc63babfc5267522fe851;hpb=c04fec82d25127fafa73c3daff87bece9aa8c8e8;p=dcpomatic.git diff --git a/src/wx/editable_list.h b/src/wx/editable_list.h index 58d0e3885..56c3a9463 100644 --- a/src/wx/editable_list.h +++ b/src/wx/editable_list.h @@ -18,31 +18,36 @@ */ + #ifndef DCPOMATIC_EDITABLE_LIST_H #define DCPOMATIC_EDITABLE_LIST_H -#include "wx_util.h" + #include "dcpomatic_button.h" -#include +#include "wx_util.h" +#include +LIBDCP_DISABLE_WARNINGS #include -#include +#include +LIBDCP_ENABLE_WARNINGS #include + class EditableListColumn { public: - EditableListColumn (std::string name_) + EditableListColumn (wxString name_) : name (name_) , growable (false) {} - EditableListColumn (std::string name_, boost::optional width_, bool growable_) + EditableListColumn (wxString name_, boost::optional width_, bool growable_) : name (name_) , width (width_) , growable (growable_) {} - std::string name; + wxString name; boost::optional width; bool growable; }; @@ -60,9 +65,9 @@ public: EditableList ( wxWindow* parent, std::vector columns, - boost::function ()> get, - boost::function)> set, - boost::function column, + std::function ()> get, + std::function)> set, + std::function column, bool can_edit = true, bool title = true ) @@ -78,12 +83,12 @@ public: SetSizer (_sizer); long style = wxLC_REPORT | wxLC_SINGLE_SEL; - if (title) { + if (!title) { style |= wxLC_NO_HEADER; } int total_width = 0; - BOOST_FOREACH (EditableListColumn i, _columns) { + for (auto i: _columns) { total_width += i.width.get_value_or (_default_width); } @@ -101,10 +106,10 @@ public: #endif int j = 0; - BOOST_FOREACH (EditableListColumn i, _columns) { + for (auto i: _columns) { wxListItem ip; ip.SetId (j); - ip.SetText (std_to_wx(i.name)); + ip.SetText (i.name); _list->InsertColumn (j, ip); ++j; } @@ -118,13 +123,13 @@ public: { wxSizer* s = new wxBoxSizer (wxVERTICAL); _add = new Button (this, _("Add...")); - s->Add (_add, 0, wxTOP | wxBOTTOM, 2); + s->Add (_add, 1, wxEXPAND | wxTOP | wxBOTTOM, DCPOMATIC_BUTTON_STACK_GAP); if (can_edit) { _edit = new Button (this, _("Edit...")); - s->Add (_edit, 0, wxTOP | wxBOTTOM, 2); + s->Add (_edit, 1, wxEXPAND | wxTOP | wxBOTTOM, DCPOMATIC_BUTTON_STACK_GAP); } _remove = new Button (this, _("Remove")); - s->Add (_remove, 0, wxTOP | wxBOTTOM, 2); + s->Add (_remove, 1, wxEXPAND | wxTOP | wxBOTTOM, DCPOMATIC_BUTTON_STACK_GAP); _sizer->Add (s, 0, wxLEFT, DCPOMATIC_SIZER_X_GAP); } @@ -268,7 +273,7 @@ private: int fixed_width = 0; int growable = 0; int j = 0; - BOOST_FOREACH (EditableListColumn i, _columns) { + for (auto i: _columns) { fixed_width += i.width.get_value_or (_default_width); if (!i.growable) { _list->SetColumnWidth (j, i.width.get_value_or(_default_width)); @@ -279,7 +284,7 @@ private: } j = 0; - BOOST_FOREACH (EditableListColumn i, _columns) { + for (auto i: _columns) { if (i.growable) { _list->SetColumnWidth (j, i.width.get_value_or(_default_width) + (w - fixed_width) / growable); } @@ -289,10 +294,10 @@ private: ev.Skip (); } - boost::function ()> _get; - boost::function )> _set; + std::function ()> _get; + std::function )> _set; std::vector _columns; - boost::function _column; + std::function _column; wxButton* _add; wxButton* _edit;