| 
									
										
										
										
											2012-03-19 15:13:29 -03:00
										 |  |  | #include "../evlist.h"
 | 
					
						
							|  |  |  | #include "../cache.h"
 | 
					
						
							|  |  |  | #include "../evsel.h"
 | 
					
						
							|  |  |  | #include "../sort.h"
 | 
					
						
							|  |  |  | #include "../hist.h"
 | 
					
						
							| 
									
										
										
										
											2012-08-16 17:14:53 +09:00
										 |  |  | #include "../helpline.h"
 | 
					
						
							| 
									
										
										
										
											2012-03-19 15:13:29 -03:00
										 |  |  | #include "gtk.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <signal.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-21 17:20:13 +09:00
										 |  |  | void perf_gtk__signal(int sig) | 
					
						
							| 
									
										
										
										
											2012-03-19 15:13:29 -03:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2012-05-29 13:22:59 +09:00
										 |  |  | 	perf_gtk__exit(false); | 
					
						
							| 
									
										
										
										
											2012-03-19 15:13:29 -03:00
										 |  |  | 	psignal(sig, "perf"); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-21 17:20:13 +09:00
										 |  |  | void perf_gtk__resize_window(GtkWidget *window) | 
					
						
							| 
									
										
										
										
											2012-03-19 15:13:29 -03:00
										 |  |  | { | 
					
						
							|  |  |  | 	GdkRectangle rect; | 
					
						
							|  |  |  | 	GdkScreen *screen; | 
					
						
							|  |  |  | 	int monitor; | 
					
						
							|  |  |  | 	int height; | 
					
						
							|  |  |  | 	int width; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	screen = gtk_widget_get_screen(window); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	monitor = gdk_screen_get_monitor_at_window(screen, window->window); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	gdk_screen_get_monitor_geometry(screen, monitor, &rect); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	width	= rect.width * 3 / 4; | 
					
						
							|  |  |  | 	height	= rect.height * 3 / 4; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	gtk_window_resize(GTK_WINDOW(window), width, height); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-21 17:20:13 +09:00
										 |  |  | const char *perf_gtk__get_percent_color(double percent) | 
					
						
							| 
									
										
										
										
											2012-09-03 11:53:10 +09:00
										 |  |  | { | 
					
						
							|  |  |  | 	if (percent >= MIN_RED) | 
					
						
							|  |  |  | 		return "<span fgcolor='red'>"; | 
					
						
							|  |  |  | 	if (percent >= MIN_GREEN) | 
					
						
							|  |  |  | 		return "<span fgcolor='dark green'>"; | 
					
						
							|  |  |  | 	return NULL; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-30 12:07:11 +02:00
										 |  |  | #ifdef HAVE_GTK_INFO_BAR_SUPPORT
 | 
					
						
							| 
									
										
										
										
											2012-12-21 17:20:13 +09:00
										 |  |  | GtkWidget *perf_gtk__setup_info_bar(void) | 
					
						
							| 
									
										
										
										
											2012-05-29 13:23:01 +09:00
										 |  |  | { | 
					
						
							|  |  |  | 	GtkWidget *info_bar; | 
					
						
							|  |  |  | 	GtkWidget *label; | 
					
						
							|  |  |  | 	GtkWidget *content_area; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	info_bar = gtk_info_bar_new(); | 
					
						
							|  |  |  | 	gtk_widget_set_no_show_all(info_bar, TRUE); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	label = gtk_label_new(""); | 
					
						
							|  |  |  | 	gtk_widget_show(label); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	content_area = gtk_info_bar_get_content_area(GTK_INFO_BAR(info_bar)); | 
					
						
							|  |  |  | 	gtk_container_add(GTK_CONTAINER(content_area), label); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	gtk_info_bar_add_button(GTK_INFO_BAR(info_bar), GTK_STOCK_OK, | 
					
						
							|  |  |  | 				GTK_RESPONSE_OK); | 
					
						
							|  |  |  | 	g_signal_connect(info_bar, "response", | 
					
						
							|  |  |  | 			 G_CALLBACK(gtk_widget_hide), NULL); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	pgctx->info_bar = info_bar; | 
					
						
							|  |  |  | 	pgctx->message_label = label; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return info_bar; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-21 17:20:13 +09:00
										 |  |  | GtkWidget *perf_gtk__setup_statusbar(void) | 
					
						
							| 
									
										
										
										
											2012-05-29 13:23:00 +09:00
										 |  |  | { | 
					
						
							|  |  |  | 	GtkWidget *stbar; | 
					
						
							|  |  |  | 	unsigned ctxid; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	stbar = gtk_statusbar_new(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	ctxid = gtk_statusbar_get_context_id(GTK_STATUSBAR(stbar), | 
					
						
							|  |  |  | 					     "perf report"); | 
					
						
							|  |  |  | 	pgctx->statbar = stbar; | 
					
						
							|  |  |  | 	pgctx->statbar_ctx_id = ctxid; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return stbar; | 
					
						
							|  |  |  | } |