Pekka Enberg | c31a945 | 2012-03-19 15:13:29 -0300 | [diff] [blame] | 1 | #ifndef _PERF_GTK_H_ |
| 2 | #define _PERF_GTK_H_ 1 |
| 3 | |
Namhyung Kim | 42ab68a | 2012-05-29 13:22:59 +0900 | [diff] [blame] | 4 | #include <stdbool.h> |
| 5 | |
Pekka Enberg | c31a945 | 2012-03-19 15:13:29 -0300 | [diff] [blame] | 6 | #pragma GCC diagnostic ignored "-Wstrict-prototypes" |
| 7 | #include <gtk/gtk.h> |
| 8 | #pragma GCC diagnostic error "-Wstrict-prototypes" |
| 9 | |
Namhyung Kim | 42ab68a | 2012-05-29 13:22:59 +0900 | [diff] [blame] | 10 | |
| 11 | struct perf_gtk_context { |
| 12 | GtkWidget *main_window; |
Namhyung Kim | 7a60ba9 | 2013-02-07 18:02:09 +0900 | [diff] [blame] | 13 | GtkWidget *notebook; |
Namhyung Kim | a6b702c | 2012-05-29 13:23:01 +0900 | [diff] [blame] | 14 | |
Ingo Molnar | 89fe808 | 2013-09-30 12:07:11 +0200 | [diff] [blame] | 15 | #ifdef HAVE_GTK_INFO_BAR_SUPPORT |
Namhyung Kim | a6b702c | 2012-05-29 13:23:01 +0900 | [diff] [blame] | 16 | GtkWidget *info_bar; |
| 17 | GtkWidget *message_label; |
| 18 | #endif |
Namhyung Kim | b4418c6 | 2012-05-29 13:23:00 +0900 | [diff] [blame] | 19 | GtkWidget *statbar; |
| 20 | guint statbar_ctx_id; |
Namhyung Kim | 42ab68a | 2012-05-29 13:22:59 +0900 | [diff] [blame] | 21 | }; |
| 22 | |
Namhyung Kim | fc67297 | 2013-09-13 15:27:43 +0900 | [diff] [blame] | 23 | int perf_gtk__init(void); |
| 24 | void perf_gtk__exit(bool wait_for_ok); |
| 25 | |
Namhyung Kim | 42ab68a | 2012-05-29 13:22:59 +0900 | [diff] [blame] | 26 | extern struct perf_gtk_context *pgctx; |
| 27 | |
| 28 | static inline bool perf_gtk__is_active_context(struct perf_gtk_context *ctx) |
| 29 | { |
| 30 | return ctx && ctx->main_window; |
| 31 | } |
| 32 | |
| 33 | struct perf_gtk_context *perf_gtk__activate_context(GtkWidget *window); |
| 34 | int perf_gtk__deactivate_context(struct perf_gtk_context **ctx); |
| 35 | |
Namhyung Kim | 4bb1646 | 2012-08-16 17:14:52 +0900 | [diff] [blame] | 36 | void perf_gtk__init_helpline(void); |
Arnaldo Carvalho de Melo | 4779a2e | 2013-10-23 14:08:48 -0300 | [diff] [blame] | 37 | void gtk_ui_progress__init(void); |
Namhyung Kim | 12ceade | 2012-09-03 11:53:10 +0900 | [diff] [blame] | 38 | void perf_gtk__init_hpp(void); |
Namhyung Kim | 4bb1646 | 2012-08-16 17:14:52 +0900 | [diff] [blame] | 39 | |
Namhyung Kim | 0da41ce9 | 2012-12-21 17:20:13 +0900 | [diff] [blame] | 40 | void perf_gtk__signal(int sig); |
| 41 | void perf_gtk__resize_window(GtkWidget *window); |
| 42 | const char *perf_gtk__get_percent_color(double percent); |
| 43 | GtkWidget *perf_gtk__setup_statusbar(void); |
| 44 | |
Ingo Molnar | 89fe808 | 2013-09-30 12:07:11 +0200 | [diff] [blame] | 45 | #ifdef HAVE_GTK_INFO_BAR_SUPPORT |
Namhyung Kim | 0da41ce9 | 2012-12-21 17:20:13 +0900 | [diff] [blame] | 46 | GtkWidget *perf_gtk__setup_info_bar(void); |
| 47 | #else |
Namhyung Kim | a6b702c | 2012-05-29 13:23:01 +0900 | [diff] [blame] | 48 | static inline GtkWidget *perf_gtk__setup_info_bar(void) |
| 49 | { |
| 50 | return NULL; |
| 51 | } |
| 52 | #endif |
| 53 | |
Namhyung Kim | fc67297 | 2013-09-13 15:27:43 +0900 | [diff] [blame] | 54 | struct perf_evsel; |
| 55 | struct perf_evlist; |
| 56 | struct hist_entry; |
| 57 | struct hist_browser_timer; |
| 58 | |
| 59 | int perf_evlist__gtk_browse_hists(struct perf_evlist *evlist, const char *help, |
| 60 | struct hist_browser_timer *hbt, |
| 61 | float min_pcnt); |
| 62 | int hist_entry__gtk_annotate(struct hist_entry *he, |
| 63 | struct perf_evsel *evsel, |
| 64 | struct hist_browser_timer *hbt); |
| 65 | void perf_gtk__show_annotations(void); |
| 66 | |
Pekka Enberg | c31a945 | 2012-03-19 15:13:29 -0300 | [diff] [blame] | 67 | #endif /* _PERF_GTK_H_ */ |