Remove some corner cases for the footer display we have the same
display feature for all the pm blocks.

Signed-off-by: Daniel Lezcano <daniel.lezc...@linaro.org>
---
 display.c    |  104 +++++++++++++++++++++++----------------------------------
 display.h    |    2 +-
 powerdebug.c |    9 ++---
 powerdebug.h |   20 ++---------
 4 files changed, 49 insertions(+), 86 deletions(-)

diff --git a/display.c b/display.c
index c6a68a7..fa7d93a 100644
--- a/display.c
+++ b/display.c
@@ -18,7 +18,6 @@
 #include "display.h"
 
 #define print(w, x, y, fmt, args...) do { mvwprintw(w, y, x, fmt, ##args); } 
while (0)
-#define NUM_FOOTER_ITEMS 5
 
 enum { PT_COLOR_DEFAULT = 1,
        PT_COLOR_HEADER_BAR,
@@ -38,7 +37,8 @@ int maxx, maxy;
 /* Number of lines in the virtual window */
 static const int maxrows = 1024;
 
-static char footer_items[NUM_FOOTER_ITEMS][64];
+#define footer_label " Q (Quit)  R (Refresh) Other Keys: 'Left', " \
+       "'Right' , 'Up', 'Down', 'enter', , 'Esc'"
 
 struct rowdata {
        int attr;
@@ -66,7 +66,39 @@ static void display_fini(void)
        endwin();
 }
 
-int display_init(void)
+static int show_header_footer(int win)
+{
+       int i;
+       int curr_pointer = 0;
+
+       wattrset(header_win, COLOR_PAIR(PT_COLOR_HEADER_BAR));
+       wbkgd(header_win, COLOR_PAIR(PT_COLOR_HEADER_BAR));
+       werase(header_win);
+
+       print(header_win, curr_pointer, 0, "PowerDebug %s", VERSION);
+       curr_pointer += 20;
+
+       for (i = 0; i < TOTAL_FEATURE_WINS; i++) {
+               if (win == i)
+                       wattron(header_win, A_REVERSE);
+               else
+                       wattroff(header_win, A_REVERSE);
+
+               print(header_win, curr_pointer, 0, " %s ", windata[i].name);
+               curr_pointer += strlen(windata[i].name) + 2;
+       }
+       wrefresh(header_win);
+       werase(footer_win);
+
+       wattron(footer_win, A_REVERSE);
+       print(footer_win, 0, 0, "%s", footer_label);
+       wattroff(footer_win, A_REVERSE);
+       wrefresh(footer_win);
+
+       return 0;
+}
+
+int display_init(int wdefault)
 {
        int i;
        size_t array_size = sizeof(windata) / sizeof(windata[0]);
@@ -118,65 +150,7 @@ int display_init(void)
        if (!footer_win)
                return -1;
 
-       return 0;
-}
-
-void create_windows(int selectedwindow)
-{
-       strcpy(footer_items[0], " Q (Quit) ");
-       strcpy(footer_items[1], " R (Refresh) ");
-
-       if (selectedwindow == CLOCK)
-               strcpy(footer_items[2], " Other Keys: 'Left', 'Right', 'Up', 
'Down', 'enter', "
-                       " '/', 'Esc' ");
-       else
-               strcpy(footer_items[2], " Other Keys: 'Left', 'Right' ");
-
-       strcpy(footer_items[3], "");
-
-       werase(stdscr);
-       refresh();
-
-}
-
-void create_selectedwindow(int win)
-{
-       wrefresh(windata[win].win);
-}
-
-void show_header(int selectedwindow)
-{
-       int i, j = 0;
-       int curr_pointer = 0;
-
-       wattrset(header_win, COLOR_PAIR(PT_COLOR_HEADER_BAR));
-       wbkgd(header_win, COLOR_PAIR(PT_COLOR_HEADER_BAR));
-       werase(header_win);
-
-       print(header_win, curr_pointer, 0, "PowerDebug %s", VERSION);
-       curr_pointer += 20;
-
-       for (i = 0; i < TOTAL_FEATURE_WINS; i++) {
-               if (selectedwindow == i)
-                       wattron(header_win, A_REVERSE);
-               else
-                       wattroff(header_win, A_REVERSE);
-
-               print(header_win, curr_pointer, 0, " %s ", windata[i].name);
-               curr_pointer += strlen(windata[i].name) + 2;
-       }
-       wrefresh(header_win);
-       werase(footer_win);
-
-       for (i = 0; i < NUM_FOOTER_ITEMS; i++) {
-               if (strlen(footer_items[i]) == 0)
-                       continue;
-               wattron(footer_win, A_REVERSE);
-               print(footer_win, j, 0, "%s", footer_items[i]);
-               wattroff(footer_win, A_REVERSE);
-               j+= strlen(footer_items[i])+1;
-       }
-       wrefresh(footer_win);
+       return show_header_footer(wdefault);
 }
 
 void print_regulator_header(void)
@@ -195,6 +169,8 @@ void print_regulator_header(void)
        print(regulator_win, 84, 0, "Max u-volts");
        wattroff(regulator_win, A_BOLD);
        wrefresh(regulator_win);
+
+       show_header_footer(REGULATOR);
 }
 
 void print_clock_header(void)
@@ -210,6 +186,8 @@ void print_clock_header(void)
        print(clock_win, 98, 0, "Children");
        wattroff(clock_win, A_BOLD);
        wrefresh(clock_win);
+
+       show_header_footer(CLOCK);
 }
 
 void print_sensor_header(void)
@@ -222,6 +200,8 @@ void print_sensor_header(void)
        print(sensor_win, 36, 0, "Value");
        wattroff(sensor_win, A_BOLD);
        wrefresh(sensor_win);
+
+       show_header_footer(SENSOR);
 }
 
 int display_refresh_pad(int win)
diff --git a/display.h b/display.h
index 047d674..0b407fb 100644
--- a/display.h
+++ b/display.h
@@ -13,4 +13,4 @@
  *       - initial API and implementation
  
*******************************************************************************/
 
-extern int display_init(void);
+extern int display_init(int wdefault);
diff --git a/powerdebug.c b/powerdebug.c
index 0eee7c5..4d94829 100644
--- a/powerdebug.c
+++ b/powerdebug.c
@@ -258,11 +258,8 @@ int mainloop(struct powerdebug_options *options)
                struct timeval tval;
                fd_set readfds;
 
-               if (options->selectedwindow != CLOCK || !cont) {
-                       create_windows(options->selectedwindow);
-                       show_header(options->selectedwindow);
-                       create_selectedwindow(options->selectedwindow);
-               }
+               /* if (options->selectedwindow != CLOCK || !cont) */
+               /*      show_header(options->selectedwindow); */
 
                if (options->selectedwindow == REGULATOR)
                        regulator_display();
@@ -328,7 +325,7 @@ static int powerdebug_dump(struct powerdebug_options 
*options)
 
 static int powerdebug_display(struct powerdebug_options *options)
 {
-       if (display_init()) {
+       if (display_init(options->selectedwindow)) {
                printf("failed to initialize display\n");
                return -1;
        }
diff --git a/powerdebug.h b/powerdebug.h
index 7175839..712acb2 100644
--- a/powerdebug.h
+++ b/powerdebug.h
@@ -28,13 +28,7 @@
 enum {CLOCK, REGULATOR, SENSOR};
 enum {CLOCK_SELECTED = 1, REFRESH_WINDOW};
 
-extern int read_and_dump_clock_info(char *clk);
 extern void find_parents_for_clock(char *clkname, int complete);
-extern int read_and_print_clock_info(void);
-extern int print_clock_info(int hrow, int selected);
-extern void print_string_val(char *name, char *val);
-extern void print_clock_header(void);
-
 extern int display_print_line(int window, int line, char *str,
                              int bold, void *data);
 
@@ -45,16 +39,8 @@ extern int display_prev_line(int window);
 extern void *display_get_row_data(int window);
 
 extern int clock_toggle_expanded(void);
-extern int display_clock_select(int window, int line);
-extern int display_clock_unselect(int window, int line, bool bold);
-
-extern void get_sensor_info(char *path, char *name, char *sensor, int verbose);
-extern int  sensor_dump(void);
+extern int regulator_display(void);
 extern void print_sensor_header(void);
+extern void print_clock_header(void);
+extern void print_regulator_header(void);
 
-extern void killall_windows(int all);
-extern void show_header(int selectedwindow);
-extern void create_windows(int selectedwindow);
-extern void create_selectedwindow(int selectedwindow);
-
-extern int regulator_display(void);
-- 
1.7.1


_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to