| 
									
										
										
										
											2010-08-06 17:35:02 -03:00
										 |  |  | #ifndef _PERF_UI_BROWSER_H_
 | 
					
						
							|  |  |  | #define _PERF_UI_BROWSER_H_ 1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <stdbool.h>
 | 
					
						
							| 
									
										
										
										
											2010-08-10 14:54:09 -03:00
										 |  |  | #include <sys/types.h>
 | 
					
						
							| 
									
										
										
										
											2010-08-06 17:35:02 -03:00
										 |  |  | #include "../types.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define HE_COLORSET_TOP		50
 | 
					
						
							|  |  |  | #define HE_COLORSET_MEDIUM	51
 | 
					
						
							|  |  |  | #define HE_COLORSET_NORMAL	52
 | 
					
						
							|  |  |  | #define HE_COLORSET_SELECTED	53
 | 
					
						
							|  |  |  | #define HE_COLORSET_CODE	54
 | 
					
						
							| 
									
										
										
										
											2012-04-02 12:59:01 -03:00
										 |  |  | #define HE_COLORSET_ADDR	55
 | 
					
						
							| 
									
										
										
										
											2013-03-28 11:34:10 -03:00
										 |  |  | #define HE_COLORSET_ROOT	56
 | 
					
						
							| 
									
										
										
										
											2010-08-06 17:35:02 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct ui_browser { | 
					
						
							| 
									
										
										
										
											2010-08-07 13:56:04 -03:00
										 |  |  | 	u64	      index, top_idx; | 
					
						
							|  |  |  | 	void	      *top, *entries; | 
					
						
							|  |  |  | 	u16	      y, x, width, height; | 
					
						
							| 
									
										
										
										
											2012-04-02 12:48:56 -03:00
										 |  |  | 	int	      current_color; | 
					
						
							| 
									
										
										
										
											2010-08-06 17:35:02 -03:00
										 |  |  | 	void	      *priv; | 
					
						
							| 
									
										
										
										
											2011-10-13 08:52:46 -03:00
										 |  |  | 	const char    *title; | 
					
						
							|  |  |  | 	char	      *helpline; | 
					
						
							| 
									
										
										
										
											2013-11-05 15:32:36 -03:00
										 |  |  | 	unsigned int  (*refresh)(struct ui_browser *browser); | 
					
						
							|  |  |  | 	void	      (*write)(struct ui_browser *browser, void *entry, int row); | 
					
						
							|  |  |  | 	void	      (*seek)(struct ui_browser *browser, off_t offset, int whence); | 
					
						
							|  |  |  | 	bool	      (*filter)(struct ui_browser *browser, void *entry); | 
					
						
							| 
									
										
										
										
											2010-08-06 17:35:02 -03:00
										 |  |  | 	u32	      nr_entries; | 
					
						
							| 
									
										
										
										
											2011-10-18 14:31:35 -02:00
										 |  |  | 	bool	      navkeypressed; | 
					
						
							|  |  |  | 	bool	      use_navkeypressed; | 
					
						
							| 
									
										
										
										
											2010-08-06 17:35:02 -03:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-04-02 12:48:56 -03:00
										 |  |  | int  ui_browser__set_color(struct ui_browser *browser, int color); | 
					
						
							| 
									
										
										
										
											2013-11-05 15:32:36 -03:00
										 |  |  | void ui_browser__set_percent_color(struct ui_browser *browser, | 
					
						
							| 
									
										
										
										
											2010-08-11 14:51:47 -03:00
										 |  |  | 				   double percent, bool current); | 
					
						
							| 
									
										
										
										
											2013-11-05 15:32:36 -03:00
										 |  |  | bool ui_browser__is_current_entry(struct ui_browser *browser, unsigned row); | 
					
						
							|  |  |  | void ui_browser__refresh_dimensions(struct ui_browser *browser); | 
					
						
							|  |  |  | void ui_browser__reset_index(struct ui_browser *browser); | 
					
						
							| 
									
										
										
										
											2010-08-06 17:35:02 -03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-05 15:32:36 -03:00
										 |  |  | void ui_browser__gotorc(struct ui_browser *browser, int y, int x); | 
					
						
							| 
									
										
										
										
											2012-04-20 16:26:14 -03:00
										 |  |  | void ui_browser__write_graph(struct ui_browser *browser, int graph); | 
					
						
							| 
									
										
										
										
											2012-04-27 16:27:52 -03:00
										 |  |  | void __ui_browser__line_arrow(struct ui_browser *browser, unsigned int column, | 
					
						
							| 
									
										
										
										
											2012-05-03 13:12:49 -03:00
										 |  |  | 			      u64 start, u64 end); | 
					
						
							| 
									
										
										
										
											2011-02-25 11:33:31 -03:00
										 |  |  | void __ui_browser__show_title(struct ui_browser *browser, const char *title); | 
					
						
							|  |  |  | void ui_browser__show_title(struct ui_browser *browser, const char *title); | 
					
						
							| 
									
										
										
										
											2013-11-05 15:32:36 -03:00
										 |  |  | int ui_browser__show(struct ui_browser *browser, const char *title, | 
					
						
							| 
									
										
										
										
											2010-08-10 15:44:20 -03:00
										 |  |  | 		     const char *helpline, ...); | 
					
						
							| 
									
										
										
										
											2013-11-05 15:32:36 -03:00
										 |  |  | void ui_browser__hide(struct ui_browser *browser); | 
					
						
							|  |  |  | int ui_browser__refresh(struct ui_browser *browser); | 
					
						
							| 
									
										
										
										
											2011-10-13 08:52:46 -03:00
										 |  |  | int ui_browser__run(struct ui_browser *browser, int delay_secs); | 
					
						
							| 
									
										
										
										
											2011-10-11 16:15:39 -03:00
										 |  |  | void ui_browser__update_nr_entries(struct ui_browser *browser, u32 nr_entries); | 
					
						
							| 
									
										
										
										
											2011-10-26 12:04:37 -02:00
										 |  |  | void ui_browser__handle_resize(struct ui_browser *browser); | 
					
						
							| 
									
										
										
										
											2012-05-03 13:07:05 -03:00
										 |  |  | void __ui_browser__vline(struct ui_browser *browser, unsigned int column, | 
					
						
							|  |  |  | 			 u16 start, u16 end); | 
					
						
							| 
									
										
										
										
											2011-10-26 12:04:37 -02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-10-29 12:15:04 -02:00
										 |  |  | int ui_browser__warning(struct ui_browser *browser, int timeout, | 
					
						
							|  |  |  | 			const char *format, ...); | 
					
						
							| 
									
										
										
										
											2011-10-26 12:04:37 -02:00
										 |  |  | int ui_browser__help_window(struct ui_browser *browser, const char *text); | 
					
						
							|  |  |  | bool ui_browser__dialog_yesno(struct ui_browser *browser, const char *text); | 
					
						
							| 
									
										
										
										
											2012-03-16 17:50:52 +09:00
										 |  |  | int ui_browser__input_window(const char *title, const char *text, char *input, | 
					
						
							|  |  |  | 			     const char *exit_msg, int delay_sec); | 
					
						
							| 
									
										
										
										
											2013-12-26 14:37:59 +09:00
										 |  |  | struct perf_session_env; | 
					
						
							|  |  |  | int tui__header_window(struct perf_session_env *env); | 
					
						
							| 
									
										
										
										
											2010-08-06 17:35:02 -03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-10-26 07:11:03 -02:00
										 |  |  | void ui_browser__argv_seek(struct ui_browser *browser, off_t offset, int whence); | 
					
						
							|  |  |  | unsigned int ui_browser__argv_refresh(struct ui_browser *browser); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-05 15:32:36 -03:00
										 |  |  | void ui_browser__rb_tree_seek(struct ui_browser *browser, off_t offset, int whence); | 
					
						
							|  |  |  | unsigned int ui_browser__rb_tree_refresh(struct ui_browser *browser); | 
					
						
							| 
									
										
										
										
											2010-08-06 17:35:02 -03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-05 15:32:36 -03:00
										 |  |  | void ui_browser__list_head_seek(struct ui_browser *browser, off_t offset, int whence); | 
					
						
							|  |  |  | unsigned int ui_browser__list_head_refresh(struct ui_browser *browser); | 
					
						
							| 
									
										
										
										
											2010-08-06 17:35:02 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | void ui_browser__init(void); | 
					
						
							| 
									
										
										
										
											2012-05-29 22:06:30 -03:00
										 |  |  | void annotate_browser__init(void); | 
					
						
							| 
									
										
										
										
											2010-08-06 17:35:02 -03:00
										 |  |  | #endif /* _PERF_UI_BROWSER_H_ */
 |