Skip to content

Commit c8aeaec

Browse files
committed
upd
1 parent 597e4e2 commit c8aeaec

File tree

4 files changed

+977
-948
lines changed

4 files changed

+977
-948
lines changed

docs/1.main.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,9 +246,13 @@ void HTML(size_t id, Text label = "", Text html = Text());
246246
void HTML(Text label = "", Text html = Text());
247247

248248
// ================= TABLE =================
249-
// таблица. CSV текстом или path к файлу (разделитель ';'), заголовки разделяются ;
250-
void TableCSV(size_t id, Text csv, Text labels = Text());
251-
void TableCSV(Text csv, Text labels = Text());
249+
// таблица. CSV текст, или путь к CSV файлу .csv, или путь к бинарной таблице .tbl. Подписи - список с разделением ';'
250+
void Table(size_t id, Text table, Text labels = Text());
251+
void Table(Text table, Text labels = Text());
252+
253+
// таблица из бинарной таблицы в RAM. Подписи - список с разделением ';'
254+
void Table(size_t id, ::Table& table, Text labels = Text());
255+
void Table(::Table& table, Text labels = Text());
252256

253257
// ================= GAUGE =================
254258
void LinearGauge(size_t id, Text label = "", float min = 0, float max = 100, Text unit = Text(), float value = NAN, uint32_t color = SETS_DEFAULT_COLOR);

docs/4.widgets.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,12 @@ logger.println(sets::Logger::warn() + "warn text");
8383
logger.println(sets::Logger::error() + "error text");
8484
```
8585

86-
### TableCSV
87-
Передаётся в формате CSV строкой или как путь к файлу с расширением `.csv` на флешке. CSV - горизонтальный разделитель `;`, вертикальный `\n`. Внутри ячеек использование разделителей не допускается.
86+
### Table
87+
Таблица. Передаётся в формате CSV строкой или как путь к файлу на флешке:
88+
- С расширением `.csv` - CSV, горизонтальный разделитель `;`, вертикальный `\n`. Внутри ячеек использование разделителей не допускается
89+
- С расширением `.tbl` - бинарная таблица [Table](https://github.com/GyverLibs/Table)
8890

89-
Начиная с версии 1.3.6 умеет отрисовывать бинарные таблицы [Table](https://github.com/GyverLibs/Table) с расширением `.tbl`.
91+
Подписи - список с разделением `;`.
9092

9193
### LinearGauge
9294
Линейная шкала с заполнением, обновляется через апдейт.

src/core/builder.h

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -267,12 +267,25 @@ class Builder {
267267
}
268268

269269
// ================= TABLE =================
270-
// таблица. CSV текстом или path к файлу (разделитель ';'), заголовки разделяются ;
271-
void TableCSV(size_t id, Text csv, Text labels = Text()) {
272-
_widget(Code::table, id, labels, &csv);
270+
// таблица. CSV текст, или путь к CSV файлу .csv, или путь к бинарной таблице .tbl. Подписи - список с разделением ';'
271+
void Table(size_t id, Text table, Text labels = Text()) {
272+
_widget(Code::table, id, labels, &table);
273273
}
274-
void TableCSV(Text csv, Text labels = Text()) {
275-
TableCSV(_NO_ID, csv, labels);
274+
void Table(Text table, Text labels = Text()) {
275+
Table(_NO_ID, table, labels);
276+
}
277+
278+
// таблица из бинарной таблицы в RAM. Подписи - список с разделением ';'
279+
void Table(size_t id, ::Table& table, Text labels = Text()) {
280+
if (_beginWidget(Code::table, id, labels)) {
281+
(*p)[Code::value];
282+
p->beginBin(table.writeSize());
283+
table.writeTo(*p);
284+
_endWidget();
285+
}
286+
}
287+
void Table(::Table& table, Text labels = Text()) {
288+
Table(_NO_ID, table, labels);
276289
}
277290

278291
// ================= GAUGE =================
@@ -325,7 +338,7 @@ class Builder {
325338

326339
#ifndef SETT_NO_TABLE
327340
// график с временем точек. Требует таблицу формата [unix, y1, y2...]. Подписи разделяются ;
328-
void Plot(size_t id, Table& table, Text labels = Text(), bool clearTable = true) {
341+
void Plot(size_t id, ::Table& table, Text labels = Text(), bool clearTable = true) {
329342
if (_beginWidget(Code::plot, id, labels)) {
330343
(*p)[Code::value];
331344
p->beginBin(table.writeSize());
@@ -334,7 +347,7 @@ class Builder {
334347
_endWidget();
335348
}
336349
}
337-
void Plot(Table& table, Text labels = Text(), bool clearTable = true) {
350+
void Plot(::Table& table, Text labels = Text(), bool clearTable = true) {
338351
Plot(_NO_ID, table, labels, clearTable);
339352
}
340353
#endif
@@ -352,7 +365,7 @@ class Builder {
352365

353366
#ifndef SETT_NO_TABLE
354367
// таймлайн. Требует таблицу формата [unix, mask] - Mask, [unix, y1, y2...] - All, [unix, n, y] Single. Подписи разделяются ;
355-
void PlotTimeline(size_t id, Table& table, TMode mode, Text labels, bool clearTable = true) {
368+
void PlotTimeline(size_t id, ::Table& table, TMode mode, Text labels, bool clearTable = true) {
356369
if (_beginWidget(Code::plot, id, labels)) {
357370
(*p)[Code::tmode] = (uint8_t)mode;
358371
(*p)[Code::value];
@@ -362,7 +375,7 @@ class Builder {
362375
_endWidget();
363376
}
364377
}
365-
void PlotTimeline(Table& table, TMode mode, Text labels, bool clearTable = true) {
378+
void PlotTimeline(::Table& table, TMode mode, Text labels, bool clearTable = true) {
366379
PlotTimeline(_NO_ID, table, mode, labels, clearTable);
367380
}
368381
#endif
@@ -664,6 +677,16 @@ class Builder {
664677
return false;
665678
}
666679

680+
///////////////////////
681+
// ================= TABLE OLD =================
682+
// таблица. CSV текстом или path к файлу (разделитель ';'), заголовки разделяются ;
683+
void TableCSV(size_t id, Text csv, Text labels = Text()) {
684+
_widget(Code::table, id, labels, &csv);
685+
}
686+
void TableCSV(Text csv, Text labels = Text()) {
687+
TableCSV(_NO_ID, csv, labels);
688+
}
689+
667690
private:
668691
void* _settings;
669692
sets::Packet* p = nullptr;

0 commit comments

Comments
 (0)