From: Arnaldo Carvalho de Melo <acme@infradead.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Namhyung Kim <namhyung@kernel.org>,
Paul Mackerras <paulus@samba.org>,
Pekka Enberg <penberg@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 11/24] perf ui gtk: Implement helpline_fns
Date: Mon, 20 Aug 2012 13:26:12 -0300 [thread overview]
Message-ID: <1345479985-18669-12-git-send-email-acme@infradead.org> (raw)
In-Reply-To: <1345479985-18669-1-git-send-email-acme@infradead.org>
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 = >k_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
next prev parent reply other threads:[~2012-08-20 16:26 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-20 16:26 [GIT PULL 00/24] perf/core improvements and fixes Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 01/24] perf script: Fix a NULL pointer dereference Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 02/24] perf tools: Add missing files to build the python binding Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 03/24] perf tools: Add support to parse event group syntax Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 04/24] perf tools: Add support to update event modifier Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 05/24] perf tools: Enable grouping logic for parsed events Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 06/24] perf test: Add automated tests for event group parsing Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 07/24] perf evlist: Rename __group method to __set_leader Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 08/24] perf evlist: Introduce evsel list accessors Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 09/24] perf tools: Let O= makes handle relative paths Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 10/24] perf ui: Introduce struct ui_helpline Arnaldo Carvalho de Melo
2012-08-20 16:26 ` Arnaldo Carvalho de Melo [this message]
2012-08-20 16:26 ` [PATCH 12/24] perf ui/gtk: Use helpline API in browser Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 13/24] perf ui gtk: Add perf_gtk__show_helpline() for pr_* Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 14/24] perf tools: Fix type for evsel->ids and add size check for ids Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 15/24] perf tools: Report number of pmu type of unknown events Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 16/24] perf tools: Rename some variables for better understanding Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 17/24] perf tools: Rename global variable 'events' in util/header.c Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 18/24] perf ui gtk: Ensure not to call gtk_main_quit() twice Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 19/24] perf script perl/python: Fix libexec scripts path in Documentation Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 20/24] perf: silence GTK2 probing errors Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 21/24] perf symbols: Fix builds with NO_LIBELF set Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 22/24] perf tools: Fix include order for bison/flex-generated C files Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 23/24] perf hists: Separate out hist print functions Arnaldo Carvalho de Melo
2012-08-20 16:26 ` [PATCH 24/24] perf hists: Rename and move some functions Arnaldo Carvalho de Melo
2012-08-21 9:32 ` [GIT PULL 00/24] perf/core improvements and fixes Ingo Molnar
2012-08-21 9:36 ` Jiri Olsa
2012-08-22 8:38 ` [PATCH] perf tools: Fix 'No libunwind found' make warning message Jiri Olsa
2012-08-22 8:40 ` Ingo Molnar
2012-08-22 13:33 ` Steven Rostedt
2012-08-22 14:17 ` Ingo Molnar
2012-08-27 16:52 ` [tip:perf/core] " tip-bot for Jiri Olsa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1345479985-18669-12-git-send-email-acme@infradead.org \
--to=acme@infradead.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=paulus@samba.org \
--cc=penberg@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).