lkml.org 
[lkml]   [2012]   [Aug]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 11/24] perf ui gtk: Implement helpline_fns
    Date
    From: Namhyung Kim <namhyung@kernel.org>

    Add helpline API implementation to GTK front-end.

    Signed-off-by: Namhyung Kim <namhyung@kernel.org>
    Acked-by: Pekka Enberg <penberg@kernel.org>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Pekka Enberg <penberg@kernel.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/1345104894-14205-3-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/Makefile | 1 +
    tools/perf/ui/gtk/gtk.h | 2 ++
    tools/perf/ui/gtk/helpline.c | 30 ++++++++++++++++++++++++++++++
    tools/perf/ui/gtk/setup.c | 1 +
    4 files changed, 34 insertions(+), 0 deletions(-)
    create mode 100644 tools/perf/ui/gtk/helpline.c

    diff --git a/tools/perf/Makefile b/tools/perf/Makefile
    index 483fb69..75af93d 100644
    --- a/tools/perf/Makefile
    +++ b/tools/perf/Makefile
    @@ -600,6 +600,7 @@ else
    LIB_OBJS += $(OUTPUT)ui/gtk/browser.o
    LIB_OBJS += $(OUTPUT)ui/gtk/setup.o
    LIB_OBJS += $(OUTPUT)ui/gtk/util.o
    + LIB_OBJS += $(OUTPUT)ui/gtk/helpline.o
    # Make sure that it'd be included only once.
    ifneq ($(findstring -DNO_NEWT_SUPPORT,$(BASIC_CFLAGS)),)
    LIB_OBJS += $(OUTPUT)ui/setup.o
    diff --git a/tools/perf/ui/gtk/gtk.h b/tools/perf/ui/gtk/gtk.h
    index a4d0f2b..793cb61 100644
    --- a/tools/perf/ui/gtk/gtk.h
    +++ b/tools/perf/ui/gtk/gtk.h
    @@ -29,6 +29,8 @@ static inline bool perf_gtk__is_active_context(struct perf_gtk_context *ctx)
    struct perf_gtk_context *perf_gtk__activate_context(GtkWidget *window);
    int perf_gtk__deactivate_context(struct perf_gtk_context **ctx);

    +void perf_gtk__init_helpline(void);
    +
    #ifndef HAVE_GTK_INFO_BAR
    static inline GtkWidget *perf_gtk__setup_info_bar(void)
    {
    diff --git a/tools/perf/ui/gtk/helpline.c b/tools/perf/ui/gtk/helpline.c
    new file mode 100644
    index 0000000..2511b37
    --- /dev/null
    +++ b/tools/perf/ui/gtk/helpline.c
    @@ -0,0 +1,30 @@
    +#include "gtk.h"
    +#include "../helpline.h"
    +
    +static void gtk_helpline_pop(void)
    +{
    + if (!perf_gtk__is_active_context(pgctx))
    + return;
    +
    + gtk_statusbar_pop(GTK_STATUSBAR(pgctx->statbar),
    + pgctx->statbar_ctx_id);
    +}
    +
    +static void gtk_helpline_push(const char *msg)
    +{
    + if (!perf_gtk__is_active_context(pgctx))
    + return;
    +
    + gtk_statusbar_push(GTK_STATUSBAR(pgctx->statbar),
    + pgctx->statbar_ctx_id, msg);
    +}
    +
    +static struct ui_helpline gtk_helpline_fns = {
    + .pop = gtk_helpline_pop,
    + .push = gtk_helpline_push,
    +};
    +
    +void perf_gtk__init_helpline(void)
    +{
    + helpline_fns = &gtk_helpline_fns;
    +}
    diff --git a/tools/perf/ui/gtk/setup.c b/tools/perf/ui/gtk/setup.c
    index 92879ce..ad40b36 100644
    --- a/tools/perf/ui/gtk/setup.c
    +++ b/tools/perf/ui/gtk/setup.c
    @@ -7,6 +7,7 @@ extern struct perf_error_ops perf_gtk_eops;
    int perf_gtk__init(void)
    {
    perf_error__register(&perf_gtk_eops);
    + perf_gtk__init_helpline();
    return gtk_init_check(NULL, NULL) ? 0 : -1;
    }

    --
    1.7.1


    \
     
     \ /
      Last update: 2012-08-20 23:01    [W:0.033 / U:116.952 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site