7a60ba9482
Show multiple annotation result for each evsel. Each result represents the most frquently sampled symbol/function for the evsel and it will be shown in a tab window. For this add a reference to main container (notebook) to the pgctx. At the first call to annotate browser, hist_entry__find_annotations() will setup a new browser, and next calls will add new tabs to the browser. But it requires final perf_gtk__show_annotations() to start processing GUI events. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Andi Kleen <andi@firstfloor.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@redhat.com> 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/1360227734-375-3-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
52 lines
1.1 KiB
C
52 lines
1.1 KiB
C
#ifndef _PERF_GTK_H_
|
|
#define _PERF_GTK_H_ 1
|
|
|
|
#include <stdbool.h>
|
|
|
|
#pragma GCC diagnostic ignored "-Wstrict-prototypes"
|
|
#include <gtk/gtk.h>
|
|
#pragma GCC diagnostic error "-Wstrict-prototypes"
|
|
|
|
|
|
struct perf_gtk_context {
|
|
GtkWidget *main_window;
|
|
GtkWidget *notebook;
|
|
|
|
#ifdef HAVE_GTK_INFO_BAR
|
|
GtkWidget *info_bar;
|
|
GtkWidget *message_label;
|
|
#endif
|
|
GtkWidget *statbar;
|
|
guint statbar_ctx_id;
|
|
};
|
|
|
|
extern struct perf_gtk_context *pgctx;
|
|
|
|
static inline bool perf_gtk__is_active_context(struct perf_gtk_context *ctx)
|
|
{
|
|
return ctx && ctx->main_window;
|
|
}
|
|
|
|
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);
|
|
void perf_gtk__init_progress(void);
|
|
void perf_gtk__init_hpp(void);
|
|
|
|
void perf_gtk__signal(int sig);
|
|
void perf_gtk__resize_window(GtkWidget *window);
|
|
const char *perf_gtk__get_percent_color(double percent);
|
|
GtkWidget *perf_gtk__setup_statusbar(void);
|
|
|
|
#ifdef HAVE_GTK_INFO_BAR
|
|
GtkWidget *perf_gtk__setup_info_bar(void);
|
|
#else
|
|
static inline GtkWidget *perf_gtk__setup_info_bar(void)
|
|
{
|
|
return NULL;
|
|
}
|
|
#endif
|
|
|
|
#endif /* _PERF_GTK_H_ */
|