Yes, that's intentional.
// Cost indicator
{
std::ostringstream ss;
int cost = rule->getCost();
std::vector<std::pair<int, std::string>> symbol_values
({{100, "#"}, {20, "="}, {5, "-"}});
for (const auto& sym : symbol_values)
{
while (cost >= std::get<0>(sym))
{
cost -= std::get<0>(sym);
ss << std::get<1>(sym);
}
}
if (rule->getCost() < 10)
{
while (cost >= 1)
{
cost -= 1;
ss << ".";
}
}
_txtCostIndicator->setText(ss.str());
}