42 info() : num(0), count(1) { }
43 info(
size_t _num,
const std::string& _line) : num(_num), count(1), line(_line) { }
53 typedef std::deque<info> DequeInfo;
56 static size_t num = 0;
58 static DequeInfo lines;
60 const int offset = 10;
61 const size_t count_lines = 20;
62 static const std::string font =
"DejaVuSans.14";
63 static const std::string layer =
"Statistic";
64 static const std::string skin =
"StaticText";
69 if (widget ==
nullptr)
72 if (gui ==
nullptr)
return;
100 lines.push_back(info(num++, _value));
107 if (lines.back().line == _value) lines.back().count ++;
110 lines.push_back(info(num++, _value));
112 if (lines.size() > count_lines) lines.pop_front();
119 str_out.reserve(2048);
121 for (DequeInfo::iterator iter=lines.begin(); iter != lines.end(); ++iter)
123 str_out +=
utility::toString(
"[ ", (
unsigned int)iter->num, (iter->count > 1) ? (
" , " +
utility::toString((
unsigned int)iter->count)) :
"",
" ] ", iter->line,
"\n");