Fill table with empty rows while clearing. It will allow to get rid of clear() & refresh() each time before print the flows list.
Signed-off-by: Vadim Kochan <[email protected]> --- ui.c | 12 ++++++++++++ ui.h | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ui.c b/ui.c index 80b89ce..baf5c9b 100644 --- a/ui.c +++ b/ui.c @@ -16,6 +16,7 @@ void ui_table_init(struct ui_table *tbl) tbl->rows_y = tbl->y; tbl->width = COLS; + tbl->height = LINES - 2; tbl->col_pad = 1; INIT_LIST_HEAD(&tbl->cols); @@ -94,7 +95,13 @@ void ui_table_row_add(struct ui_table *tbl) void ui_table_clear(struct ui_table *tbl) { + int y; + tbl->rows_y = tbl->y; + + for (y = tbl->y + 1; y < tbl->y + tbl->height; y++) { + mvprintw(y, tbl->x, "%*s", tbl->width, " "); + } } #define UI_ALIGN_COL(col) (((col)->align == UI_ALIGN_LEFT) ? "%-*.*s" : "%*.*s") @@ -120,6 +127,11 @@ void ui_table_header_color_set(struct ui_table *tbl, int color) tbl->hdr_color = color; } +void ui_table_height_set(struct ui_table *tbl, int height) +{ + tbl->height = height; +} + void ui_table_header_print(struct ui_table *tbl) { struct ui_col *col; diff --git a/ui.h b/ui.h index 52e6f5a..ff55606 100644 --- a/ui.h +++ b/ui.h @@ -29,12 +29,14 @@ struct ui_table { int hdr_color; int col_pad; int width; + int height; }; extern void ui_table_init(struct ui_table *tbl); extern void ui_table_uninit(struct ui_table *tbl); -extern void ui_table_pos_set(struct ui_table *tbl, int y, int x); extern void ui_table_clear(struct ui_table *tbl); +extern void ui_table_pos_set(struct ui_table *tbl, int y, int x); +extern void ui_table_height_set(struct ui_table *tbl, int height); extern void ui_table_col_add(struct ui_table *tbl, uint32_t id, char *name, uint32_t len); -- 2.6.3 -- You received this message because you are subscribed to the Google Groups "netsniff-ng" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
