perf ui: Reimplement ui_helpline using libslang
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 25 Oct 2011 15:52:05 +0000 (13:52 -0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 26 Oct 2011 15:06:05 +0000 (13:06 -0200)
Just another step in stopping the use of libnewt in perf.

Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-gh7e1v2z7pzqmok02r6zvp17@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

tools/perf/util/ui/helpline.c

index f36d2ff..600243d 100644 (file)
@@ -1,20 +1,22 @@
 #define _GNU_SOURCE
 #include <stdio.h>
 #include <stdlib.h>
-#include <newt.h>
 
 #include "../debug.h"
 #include "helpline.h"
 #include "ui.h"
+#include "libslang.h"
 
 void ui_helpline__pop(void)
 {
-       newtPopHelpLine();
 }
 
 void ui_helpline__push(const char *msg)
 {
-       newtPushHelpLine(msg);
+       SLsmg_gotorc(SLtt_Screen_Rows - 1, 0);
+       SLsmg_set_color(0);
+       SLsmg_write_nstring((char *)msg, SLtt_Screen_Cols);
+       SLsmg_refresh();
 }
 
 void ui_helpline__vpush(const char *fmt, va_list ap)
@@ -63,7 +65,7 @@ int ui_helpline__show_help(const char *format, va_list ap)
 
        if (ui_helpline__last_msg[backlog - 1] == '\n') {
                ui_helpline__puts(ui_helpline__last_msg);
-               newtRefresh();
+               SLsmg_refresh();
                backlog = 0;
        }
        pthread_mutex_unlock(&ui__lock);