mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-11 16:57:53 -06:00
Slic3r::format(), Slic3r::GUI::format_wxstr():
wrappers around boost::format using C++17 variadic templates, replacing the ugly and verbose (boost::format("template") % arg1 % arg2).str() syntax. The wrappers also implictely convert input parameters including the template from wxString to UTF8. The new format wrapper has been applied at multiple places as a start, also some double macros _(L()) with new single macro _L().
This commit is contained in:
parent
daa6dd0a25
commit
b843a094f6
10 changed files with 364 additions and 240 deletions
|
@ -20,11 +20,13 @@
|
|||
#include <cmath>
|
||||
#include <boost/algorithm/string/replace.hpp>
|
||||
#include "Field.hpp"
|
||||
#include "format.hpp"
|
||||
|
||||
namespace Slic3r {
|
||||
|
||||
using GUI::from_u8;
|
||||
using GUI::into_u8;
|
||||
using GUI::format_wxstr;
|
||||
|
||||
namespace DoubleSlider {
|
||||
|
||||
|
@ -530,7 +532,7 @@ wxString Control::get_label(int tick) const
|
|||
const wxString str = m_values.empty() ?
|
||||
wxNumberFormatter::ToString(m_label_koef*value, 2, wxNumberFormatter::Style_None) :
|
||||
wxNumberFormatter::ToString(m_values[value], 2, wxNumberFormatter::Style_None);
|
||||
return from_u8((boost::format("%1%\n(%2%)") % str % (m_values.empty() ? value : value+1)).str());
|
||||
return format_wxstr("%1%\n(%2%)", str, m_values.empty() ? value : value+1);
|
||||
}
|
||||
|
||||
void Control::draw_tick_text(wxDC& dc, const wxPoint& pos, int tick, bool right_side/*=true*/) const
|
||||
|
@ -1001,16 +1003,16 @@ wxString Control::get_tooltip(int tick/*=-1*/)
|
|||
|
||||
// Show custom Gcode as a first string of tooltop
|
||||
tooltip = " ";
|
||||
tooltip += tick_code_it->gcode == ColorChangeCode ? ( m_mode == t_mode::SingleExtruder ?
|
||||
from_u8((boost::format(_utf8(L("Color change (\"%1%\")"))) % tick_code_it->gcode ).str()) :
|
||||
from_u8((boost::format(_utf8(L("Color change (\"%1%\") for Extruder %2%"))) %
|
||||
tick_code_it->gcode % tick_code_it->extruder).str()) ) :
|
||||
tick_code_it->gcode == PausePrintCode ?
|
||||
from_u8((boost::format(_utf8(L("Pause print (\"%1%\")"))) % tick_code_it->gcode ).str()) :
|
||||
tick_code_it->gcode == ToolChangeCode ?
|
||||
from_u8((boost::format(_utf8(L("Extruder (tool) is changed to Extruder \"%1%\""))) %
|
||||
tick_code_it->extruder ).str()) :
|
||||
from_u8(tick_code_it->gcode);
|
||||
tooltip +=
|
||||
tick_code_it->gcode == ColorChangeCode ?
|
||||
(m_mode == t_mode::SingleExtruder ?
|
||||
format_wxstr(_L("Color change (\"%1%\")"), tick_code_it->gcode) :
|
||||
format_wxstr(_L("Color change (\"%1%\") for Extruder %2%"), tick_code_it->gcode, tick_code_it->extruder)) :
|
||||
tick_code_it->gcode == PausePrintCode ?
|
||||
format_wxstr(_L("Pause print (\"%1%\")"), tick_code_it->gcode) :
|
||||
tick_code_it->gcode == ToolChangeCode ?
|
||||
format_wxstr(_L("Extruder (tool) is changed to Extruder \"%1%\""), tick_code_it->extruder) :
|
||||
from_u8(tick_code_it->gcode);
|
||||
|
||||
// If tick is marked as a conflict (exclamation icon),
|
||||
// we should to explain why
|
||||
|
@ -1176,8 +1178,8 @@ void Control::append_add_color_change_menu_item(wxMenu* menu, bool switch_curren
|
|||
}
|
||||
|
||||
const wxString menu_name = switch_current_code ?
|
||||
from_u8((boost::format(_utf8(L("Switch code to Color change (%1%) for:"))) % ColorChangeCode).str()) :
|
||||
from_u8((boost::format(_utf8(L("Add color change (%1%) for:"))) % ColorChangeCode).str());
|
||||
format_wxstr(_L("Switch code to Color change (%1%) for:"), ColorChangeCode) :
|
||||
format_wxstr(_L("Add color change (%1%) for:"), ColorChangeCode);
|
||||
wxMenuItem* add_color_change_menu_item = menu->AppendSubMenu(add_color_change_menu, menu_name, "");
|
||||
add_color_change_menu_item->SetBitmap(create_scaled_bitmap("colorchange_add_m"));
|
||||
}
|
||||
|
@ -1615,8 +1617,8 @@ static void upgrade_text_entry_dialog(wxTextEntryDialog* dlg, double min = -1.0,
|
|||
|
||||
static std::string get_custom_code(const std::string& code_in, double height)
|
||||
{
|
||||
wxString msg_text = from_u8(_utf8(L("Enter custom G-code used on current layer"))) + ":";
|
||||
wxString msg_header = from_u8((boost::format(_utf8(L("Custom G-code on current layer (%1% mm)."))) % height).str());
|
||||
wxString msg_text = _L("Enter custom G-code used on current layer") + ":";
|
||||
wxString msg_header = format_wxstr(_L("Custom G-code on current layer (%1% mm)."), height);
|
||||
|
||||
// get custom gcode
|
||||
wxTextEntryDialog dlg(nullptr, msg_text, msg_header, code_in,
|
||||
|
@ -1631,8 +1633,8 @@ static std::string get_custom_code(const std::string& code_in, double height)
|
|||
|
||||
static std::string get_pause_print_msg(const std::string& msg_in, double height)
|
||||
{
|
||||
wxString msg_text = from_u8(_utf8(L("Enter short message shown on Printer display when a print is paused"))) + ":";
|
||||
wxString msg_header = from_u8((boost::format(_utf8(L("Message for pause print on current layer (%1% mm)."))) % height).str());
|
||||
wxString msg_text = _L("Enter short message shown on Printer display when a print is paused") + ":";
|
||||
wxString msg_header = format_wxstr(_L("Message for pause print on current layer (%1% mm)."), height);
|
||||
|
||||
// get custom gcode
|
||||
wxTextEntryDialog dlg(nullptr, msg_text, msg_header, from_u8(msg_in),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue