diff --git a/src/format.h b/src/format.h index c46ef10d4..1835665d2 100644 --- a/src/format.h +++ b/src/format.h @@ -23,14 +23,14 @@ namespace agi { template<> struct writer { static void write(std::basic_ostream& out, int max_len, wxString const& value) { - writer::write(out, max_len, value.wx_str()); + writer::write(out, max_len, value.wx_str()); } }; template<> struct writer { static void write(std::basic_ostream& out, int max_len, wxString const& value) { - writer::write(out, max_len, value.wx_str()); + writer::write(out, max_len, value.wx_str()); } }; @@ -43,14 +43,14 @@ std::string format(wxString const& fmt, Args&&... args) { template wxString wxformat(wxString const& fmt, Args&&... args) { - boost::interprocess::basic_vectorstream> out; + boost::interprocess::basic_vectorstream> out; format(out, fmt.wx_str(), std::forward(args)...); return out.vector(); } template -wxString wxformat(const wxChar *fmt, Args&&... args) { - boost::interprocess::basic_vectorstream> out; +wxString wxformat(const wxStringCharType *fmt, Args&&... args) { + boost::interprocess::basic_vectorstream> out; format(out, fmt, std::forward(args)...); return out.vector(); } diff --git a/src/grid_column.cpp b/src/grid_column.cpp index e720629ea..db52ce1a2 100644 --- a/src/grid_column.cpp +++ b/src/grid_column.cpp @@ -44,6 +44,14 @@ int WidthHelper::operator()(wxString const& str) { return dc.GetTextExtent(str).GetWidth(); } +int WidthHelper::operator()(const char *str) { + return dc.GetTextExtent(wxString::FromUTF8(str)).GetWidth(); +} + +int WidthHelper::operator()(const wchar_t *str) { + return dc.GetTextExtent(str).GetWidth(); +} + void GridColumn::UpdateWidth(const agi::Context *c, WidthHelper &helper) { if (!visible) { width = 0; diff --git a/src/grid_column.h b/src/grid_column.h index f9e740155..0dc4ca4d2 100644 --- a/src/grid_column.h +++ b/src/grid_column.h @@ -41,6 +41,8 @@ struct WidthHelper { int operator()(boost::flyweight const& str); int operator()(std::string const& str); int operator()(wxString const& str); + int operator()(const char *str); + int operator()(const wchar_t *str); }; class GridColumn {