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.

Reply via email to