Skip to content

Commit

Permalink
Change some uses of String::Stream to StringBuilder
Browse files Browse the repository at this point in the history
  • Loading branch information
mniip committed May 2, 2018
1 parent 7523c14 commit 6c9cb17
Show file tree
Hide file tree
Showing 23 changed files with 143 additions and 217 deletions.
4 changes: 2 additions & 2 deletions src/PowderToySDL.cpp
Expand Up @@ -753,11 +753,11 @@ void EventProcess(SDL_Event event)

void DoubleScreenDialog()
{
String::Stream message;
StringBuilder message;
message << "Switching to double size mode since your screen was determined to be large enough: ";
message << desktopWidth << "x" << desktopHeight << " detected, " << WINDOWW*2 << "x" << WINDOWH*2 << " required";
message << "\nTo undo this, hit Cancel. You can toggle double size mode in settings at any time.";
if (!ConfirmPrompt::Blocking("Large screen detected", message.str()))
if (!ConfirmPrompt::Blocking("Large screen detected", message.Build()))
{
Client::Ref().SetPref("Scale", 1);
engine->SetScale(1);
Expand Down
8 changes: 2 additions & 6 deletions src/client/Client.cpp
Expand Up @@ -695,9 +695,7 @@ RequestStatus Client::ParseServerReturn(char *result, int status, bool json)
return RequestOkay;
if (status != 200)
{
String::Stream httperror;
httperror << "HTTP Error " << status << ": " << http_ret_text(status);
lastError = httperror.str();
lastError = String::Build("HTTP Error ", status, ": ", ByteString(http_ret_text(status)).FromUtf8());
return RequestFailure;
}

Expand Down Expand Up @@ -727,9 +725,7 @@ RequestStatus Client::ParseServerReturn(char *result, int status, bool json)
if (!strncmp((const char *)result, "Error: ", 7))
{
status = atoi(result+7);
String::Stream httperror;
httperror << "HTTP Error " << status << ": " << http_ret_text(status);
lastError = httperror.str();
lastError = String::Build("HTTP Error ", status, ": ", ByteString(http_ret_text(status)).FromUtf8());
return RequestFailure;
}
lastError = "Could not read response: " + ByteString(e.what()).FromUtf8();
Expand Down
7 changes: 3 additions & 4 deletions src/client/GameSave.cpp
Expand Up @@ -805,13 +805,12 @@ void GameSave::readOPS(char * data, int dataLength)
if (major > SAVE_VERSION || (major == SAVE_VERSION && minor > MINOR_VERSION))
#endif
{
String::Stream errorMessage;
#ifdef RENDERER
errorMessage << "Save from a newer version: Requires render version " << renderMajor << "." << renderMinor;
String errorMessage = String::Build("Save from a newer version: Requires render version ", renderMajor, ".", renderMinor);
#else
errorMessage << "Save from a newer version: Requires version " << major << "." << minor;
String errorMessage = String::Build("Save from a newer version: Requires version ", major, ".", minor);
#endif
throw ParseException(ParseException::WrongVersion, errorMessage.str());
throw ParseException(ParseException::WrongVersion, errorMessage);
}
#if defined(SNAPSHOT) || defined(DEBUG)
else if (major > SAVE_VERSION || (major == SAVE_VERSION && minor > MINOR_VERSION))
Expand Down
9 changes: 9 additions & 0 deletions src/common/Format.h
Expand Up @@ -56,6 +56,15 @@ namespace Format
inline FlagsOverride<void, std::ios_base::dec, std::ios_base::basefield> Dec() { return FlagsOverride<void, std::ios_base::dec, std::ios_base::basefield>(); }
inline FlagsOverride<void, std::ios_base::hex, std::ios_base::basefield> Hex() { return FlagsOverride<void, std::ios_base::hex, std::ios_base::basefield>(); }

template<typename T> inline FlagsOverride<T, std::ios_base::uppercase, std::ios_base::uppercase> Uppercase(T value) { return FlagsOverride<T, std::ios_base::uppercase, std::ios_base::uppercase>(value); }
template<typename T> inline FlagsOverride<T, std::ios_base::showpoint, std::ios_base::showpoint> ShowPoint(T value) { return FlagsOverride<T, std::ios_base::showpoint, std::ios_base::showpoint>(value); }
template<typename T> inline FlagsOverride<T, std::ios_base::fmtflags{}, std::ios_base::uppercase> NoUppercase(T value) { return FlagsOverride<T, std::ios_base::fmtflags{}, std::ios_base::uppercase>(value); }
template<typename T> inline FlagsOverride<T, std::ios_base::fmtflags{}, std::ios_base::showpoint> NoShowPoint(T value) { return FlagsOverride<T, std::ios_base::fmtflags{}, std::ios_base::showpoint>(value); }
inline FlagsOverride<void, std::ios_base::uppercase, std::ios_base::uppercase> Uppercase() { return FlagsOverride<void, std::ios_base::uppercase, std::ios_base::uppercase>(); }
inline FlagsOverride<void, std::ios_base::showpoint, std::ios_base::showpoint> ShowPoint() { return FlagsOverride<void, std::ios_base::showpoint, std::ios_base::showpoint>(); }
inline FlagsOverride<void, std::ios_base::fmtflags{}, std::ios_base::uppercase> NoUppercase() { return FlagsOverride<void, std::ios_base::fmtflags{}, std::ios_base::uppercase>(); }
inline FlagsOverride<void, std::ios_base::fmtflags{}, std::ios_base::showpoint> NoShowPoint() { return FlagsOverride<void, std::ios_base::fmtflags{}, std::ios_base::showpoint>(); }

template<typename T> inline FlagsOverride<T, std::ios_base::fixed, std::ios_base::floatfield> Fixed(T value) { return FlagsOverride<T, std::ios_base::fixed, std::ios_base::floatfield>(value); }
template<typename T> inline FlagsOverride<T, std::ios_base::scientific, std::ios_base::floatfield> Scientific(T value) { return FlagsOverride<T, std::ios_base::scientific, std::ios_base::floatfield>(value); }
template<typename T> inline FlagsOverride<T, std::ios_base::fmtflags{}, std::ios_base::floatfield> FloatDefault(T value) { return FlagsOverride<T, std::ios_base::fmtflags{}, std::ios_base::floatfield>(value); }
Expand Down
21 changes: 9 additions & 12 deletions src/debug/DebugLines.cpp
Expand Up @@ -27,21 +27,18 @@ void DebugLines::Draw()
g->draw_line(0, drawPoint2.Y, XRES, drawPoint2.Y, 255, 255, 255, 120);
g->draw_line(drawPoint2.X, 0, drawPoint2.X, YRES, 255, 255, 255, 120);

String::Stream info;
info << drawPoint2.X << " x " << drawPoint2.Y;
g->drawtext_outline(drawPoint2.X+(drawPoint2.X>drawPoint1.X?3:-g->textwidth(info.str())-3), drawPoint2.Y+(drawPoint2.Y<drawPoint1.Y?-10:3), info.str(), 255, 255, 255, 200);
String info;
info = String::Build(drawPoint2.X, " x ", drawPoint2.Y);
g->drawtext_outline(drawPoint2.X+(drawPoint2.X>drawPoint1.X?3:-g->textwidth(info)-3), drawPoint2.Y+(drawPoint2.Y<drawPoint1.Y?-10:3), info, 255, 255, 255, 200);

info.str(String());
info << drawPoint1.X << " x " << drawPoint1.Y;
g->drawtext_outline(drawPoint1.X+(drawPoint2.X<drawPoint1.X?3:-g->textwidth(info.str())-2), drawPoint1.Y+(drawPoint2.Y>drawPoint1.Y?-10:3), info.str(), 255, 255, 255, 200);
info = String::Build(drawPoint1.X, " x ", drawPoint1.Y);
g->drawtext_outline(drawPoint1.X+(drawPoint2.X<drawPoint1.X?3:-g->textwidth(info)-2), drawPoint1.Y+(drawPoint2.Y>drawPoint1.Y?-10:3), info, 255, 255, 255, 200);

info.str(String());
info << std::abs(drawPoint2.X-drawPoint1.X);
g->drawtext_outline((drawPoint1.X+drawPoint2.X)/2-g->textwidth(info.str())/2, drawPoint1.Y+(drawPoint2.Y>drawPoint1.Y?-10:3), info.str(), 255, 255, 255, 200);
info = String::Build(std::abs(drawPoint2.X-drawPoint1.X));
g->drawtext_outline((drawPoint1.X+drawPoint2.X)/2-g->textwidth(info)/2, drawPoint1.Y+(drawPoint2.Y>drawPoint1.Y?-10:3), info, 255, 255, 255, 200);

info.str(String());
info << std::abs(drawPoint2.Y-drawPoint1.Y);
g->drawtext_outline(drawPoint1.X+(drawPoint2.X<drawPoint1.X?3:-g->textwidth(info.str())-2), (drawPoint1.Y+drawPoint2.Y)/2-3, info.str(), 255, 255, 255, 200);
info = String::Build(std::abs(drawPoint2.Y-drawPoint1.Y));
g->drawtext_outline(drawPoint1.X+(drawPoint2.X<drawPoint1.X?3:-g->textwidth(info)-2), (drawPoint1.Y+drawPoint2.Y)/2-3, info, 255, 255, 255, 200);
}
}

Expand Down
7 changes: 3 additions & 4 deletions src/debug/DebugParts.cpp
Expand Up @@ -15,8 +15,7 @@ void DebugParts::Draw()
Graphics * g = ui::Engine::Ref().g;

int x = 0, y = 0, lpx = 0, lpy = 0;
String::Stream info;
info << sim->parts_lastActiveIndex << "/" << NPART << " (" << std::fixed << std::setprecision(2) << (float)sim->parts_lastActiveIndex/(NPART)*100.0f << "%)";
String info = String::Build(sim->parts_lastActiveIndex, "/", NPART, " (", Format::Precision((float)sim->parts_lastActiveIndex/(NPART)*100.0f, 2), "%)");
for (int i = 0; i < NPART; i++)
{
if (sim->parts[i].type)
Expand Down Expand Up @@ -45,8 +44,8 @@ void DebugParts::Draw()
g->addpixel(lpx, lpy+1, 255, 50, 50, 120);
g->addpixel(lpx, lpy-1, 255, 50, 50, 120);

g->fillrect(7, YRES-26, g->textwidth(info.str())+5, 14, 0, 0, 0, 180);
g->drawtext(10, YRES-22, info.str(), 255, 255, 255, 255);
g->fillrect(7, YRES-26, g->textwidth(info)+5, 14, 0, 0, 0, 180);
g->drawtext(10, YRES-22, info, 255, 255, 255, 255);
}

DebugParts::~DebugParts()
Expand Down
17 changes: 8 additions & 9 deletions src/debug/ParticleDebug.cpp
Expand Up @@ -15,7 +15,7 @@ void ParticleDebug::Debug(int mode, int x, int y)
{
int debug_currentParticle = sim->debug_currentParticle;
int i = 0;
String::Stream logmessage;
String logmessage;

if (mode == 0)
{
Expand All @@ -25,21 +25,21 @@ void ParticleDebug::Debug(int mode, int x, int y)
while (i < NPART && !sim->parts[i].type)
i++;
if (i == NPART)
logmessage << "End of particles reached, updated sim";
logmessage = "End of particles reached, updated sim";
else
logmessage << "Updated particle #" << i;
logmessage = String::Build("Updated particle #", i);
}
else if (mode == 1)
{
if (x < 0 || x >= XRES || y < 0 || y >= YRES || !sim->pmap[y][x] || (i = ID(sim->pmap[y][x])) < debug_currentParticle)
{
i = NPART;
logmessage << "Updated particles from #" << debug_currentParticle << " to end, updated sim";
logmessage = String::Build("Updated particles from #", debug_currentParticle, " to end, updated sim");
}
else
logmessage << "Updated particles #" << debug_currentParticle << " through #" << i;
logmessage = String::Build("Updated particles #", debug_currentParticle, " through #", i);
}
model->Log(logmessage.str(), false);
model->Log(logmessage, false);

if (sim->debug_currentParticle == 0)
{
Expand Down Expand Up @@ -89,9 +89,8 @@ bool ParticleDebug::KeyPress(int key, Uint16 character, bool shift, bool ctrl, b
{
sim->UpdateParticles(sim->debug_currentParticle, NPART);
sim->AfterSim();
String::Stream logmessage;
logmessage << "Updated particles from #" << sim->debug_currentParticle << " to end, updated sim";
model->Log(logmessage.str(), false);
String logmessage = String::Build("Updated particles from #", sim->debug_currentParticle, " to end, updated sim");
model->Log(logmessage, false);
sim->debug_currentParticle = 0;
}
else
Expand Down
5 changes: 2 additions & 3 deletions src/graphics/Renderer.cpp
Expand Up @@ -1496,9 +1496,8 @@ void Renderer::render_parts()

if (mousePos.X>(nx-3) && mousePos.X<(nx+3) && mousePos.Y<(ny+3) && mousePos.Y>(ny-3)) //If mouse is in the head
{
String::Stream hp;
hp << std::setw(3) << sim->parts[i].life;
drawtext(mousePos.X-8-2*(sim->parts[i].life<100)-2*(sim->parts[i].life<10), mousePos.Y-12, hp.str(), 255, 255, 255, 255);
String hp = String::Build(Format::Width(sim->parts[i].life, 3));
drawtext(mousePos.X-8-2*(sim->parts[i].life<100)-2*(sim->parts[i].life<10), mousePos.Y-12, hp, 255, 255, 255, 255);
}

if (findingElement == t)
Expand Down
4 changes: 1 addition & 3 deletions src/gui/colourpicker/ColourPickerActivity.cpp
Expand Up @@ -108,9 +108,7 @@ void ColourPickerActivity::UpdateTextboxes(int r, int g, int b, int a)
gValue->SetText(format::NumberToString<int>(g));
bValue->SetText(format::NumberToString<int>(b));
aValue->SetText(format::NumberToString<int>(a));
String::Stream hex;
hex << std::hex << "0x" << std::setfill(String::value_type('0')) << std::setw(2) << std::uppercase << a << std::setw(2) << r << std::setw(2) << g << std::setw(2) << b;
hexValue->SetText(hex.str());
hexValue->SetText(String::Build(Format::Hex(), Format::Uppercase(), Format::Width(2), a, r, g, b));
}
void ColourPickerActivity::OnTryExit(ExitMethod method)
{
Expand Down
13 changes: 6 additions & 7 deletions src/gui/font/FontEditor.cpp
Expand Up @@ -433,9 +433,7 @@ FontEditor::FontEditor(ByteString _header):
int *refs[6] = {&fgR, &fgG, &fgB, &bgR, &bgG, &bgB};
for(int i = 0; i < 6; i++)
{
String::Stream ss;
ss << *refs[i];
ui::Textbox *colorComponent = new ui::Textbox(ui::Point(currentX, baseline), ui::Point(27, 17), ss.str());
ui::Textbox *colorComponent = new ui::Textbox(ui::Point(currentX, baseline), ui::Point(27, 17), format::NumberToString(*refs[i]));
currentX += 28;
colorComponent->SetActionCallback(new ColorComponentAction(*refs[i]));
AddComponent(colorComponent);
Expand Down Expand Up @@ -522,14 +520,15 @@ FontEditor::FontEditor(ByteString _header):
inputPreview->Appearance.VerticalAlign = ui::Appearance::AlignTop;
inputPreview->SetActionCallback(new PreviewAction(this));

String::Stream input;
StringBuilder input;
input << Format::Hex() << Format::Width(2);
for(unsigned int ch = 0x20; ch <= 0xFF; ch++)
{
if(!(ch & 0x3F))
input << "20 ";
input << std::hex << std::setw(2) << ch << " ";
input << 0x20 << " ";
input << ch << " ";
}
inputPreview->SetText(input.str());
inputPreview->SetText(input.Build());
PreviewAction(this).TextChangedCallback(inputPreview);
AddComponent(inputPreview);
}
Expand Down
4 changes: 2 additions & 2 deletions src/gui/game/GameController.cpp
Expand Up @@ -1638,7 +1638,7 @@ void GameController::NotifyUpdateAvailable(Client * sender)
virtual void Action()
{
UpdateInfo info = Client::Ref().GetUpdateInfo();
String::Stream updateMessage;
StringBuilder updateMessage;
updateMessage << "Are you sure you want to run the updater? Please save any changes before updating.\n\nCurrent version:\n ";

#ifdef SNAPSHOT
Expand Down Expand Up @@ -1666,7 +1666,7 @@ void GameController::NotifyUpdateAvailable(Client * sender)
if (info.Changelog.length())
updateMessage << "\n\nChangelog:\n" << info.Changelog;

new ConfirmPrompt("Run Updater", updateMessage.str(), new UpdateConfirmation(c));
new ConfirmPrompt("Run Updater", updateMessage.Build(), new UpdateConfirmation(c));
}
};

Expand Down
5 changes: 2 additions & 3 deletions src/gui/game/GameModel.cpp
Expand Up @@ -912,12 +912,11 @@ void GameModel::SetPaused(bool pauseState)
{
if (!pauseState && sim->debug_currentParticle > 0)
{
String::Stream logmessage;
logmessage << "Updated particles from #" << sim->debug_currentParticle << " to end due to unpause";
String logmessage = String::Build("Updated particles from #", sim->debug_currentParticle, " to end due to unpause");
sim->UpdateParticles(sim->debug_currentParticle, NPART);
sim->AfterSim();
sim->debug_currentParticle = 0;
Log(logmessage.str(), false);
Log(logmessage, false);
}

sim->sys_pause = pauseState?1:0;
Expand Down

0 comments on commit 6c9cb17

Please sign in to comment.