| Arnaldo Carvalho de Melo | ef8f34a | 2010-08-06 17:35:02 -0300 | [diff] [blame] | 1 | #ifndef _PERF_UI_BROWSER_H_ | 
|  | 2 | #define _PERF_UI_BROWSER_H_ 1 | 
|  | 3 |  | 
|  | 4 | #include <stdbool.h> | 
|  | 5 | #include <newt.h> | 
| Arnaldo Carvalho de Melo | 211ef12 | 2010-08-10 14:54:09 -0300 | [diff] [blame] | 6 | #include <sys/types.h> | 
| Arnaldo Carvalho de Melo | ef8f34a | 2010-08-06 17:35:02 -0300 | [diff] [blame] | 7 | #include "../types.h" | 
|  | 8 |  | 
|  | 9 | #define HE_COLORSET_TOP		50 | 
|  | 10 | #define HE_COLORSET_MEDIUM	51 | 
|  | 11 | #define HE_COLORSET_NORMAL	52 | 
|  | 12 | #define HE_COLORSET_SELECTED	53 | 
|  | 13 | #define HE_COLORSET_CODE	54 | 
|  | 14 |  | 
|  | 15 | struct ui_browser { | 
|  | 16 | newtComponent form, sb; | 
| Arnaldo Carvalho de Melo | d247eb6 | 2010-08-07 13:56:04 -0300 | [diff] [blame] | 17 | u64	      index, top_idx; | 
|  | 18 | void	      *top, *entries; | 
|  | 19 | u16	      y, x, width, height; | 
| Arnaldo Carvalho de Melo | ef8f34a | 2010-08-06 17:35:02 -0300 | [diff] [blame] | 20 | void	      *priv; | 
|  | 21 | unsigned int  (*refresh)(struct ui_browser *self); | 
|  | 22 | void	      (*write)(struct ui_browser *self, void *entry, int row); | 
|  | 23 | void	      (*seek)(struct ui_browser *self, off_t offset, int whence); | 
|  | 24 | u32	      nr_entries; | 
|  | 25 | }; | 
|  | 26 |  | 
|  | 27 |  | 
| Arnaldo Carvalho de Melo | 8f9bbc4 | 2010-08-11 14:51:47 -0300 | [diff] [blame] | 28 | void ui_browser__set_color(struct ui_browser *self, int color); | 
|  | 29 | void ui_browser__set_percent_color(struct ui_browser *self, | 
|  | 30 | double percent, bool current); | 
| Arnaldo Carvalho de Melo | ef8f34a | 2010-08-06 17:35:02 -0300 | [diff] [blame] | 31 | bool ui_browser__is_current_entry(struct ui_browser *self, unsigned row); | 
|  | 32 | void ui_browser__refresh_dimensions(struct ui_browser *self); | 
|  | 33 | void ui_browser__reset_index(struct ui_browser *self); | 
|  | 34 |  | 
| Arnaldo Carvalho de Melo | 8f9bbc4 | 2010-08-11 14:51:47 -0300 | [diff] [blame] | 35 | void ui_browser__gotorc(struct ui_browser *self, int y, int x); | 
| Arnaldo Carvalho de Melo | 4c1c952 | 2010-08-12 12:37:51 -0300 | [diff] [blame] | 36 | void ui_browser__add_exit_key(struct ui_browser *self, int key); | 
|  | 37 | void ui_browser__add_exit_keys(struct ui_browser *self, int keys[]); | 
| Arnaldo Carvalho de Melo | 59e8fe3 | 2010-08-10 15:44:20 -0300 | [diff] [blame] | 38 | int ui_browser__show(struct ui_browser *self, const char *title, | 
|  | 39 | const char *helpline, ...); | 
|  | 40 | void ui_browser__hide(struct ui_browser *self); | 
| Arnaldo Carvalho de Melo | ef8f34a | 2010-08-06 17:35:02 -0300 | [diff] [blame] | 41 | int ui_browser__refresh(struct ui_browser *self); | 
| Arnaldo Carvalho de Melo | b50e003 | 2010-08-11 10:07:43 -0300 | [diff] [blame] | 42 | int ui_browser__run(struct ui_browser *self); | 
| Arnaldo Carvalho de Melo | ef8f34a | 2010-08-06 17:35:02 -0300 | [diff] [blame] | 43 |  | 
|  | 44 | void ui_browser__rb_tree_seek(struct ui_browser *self, off_t offset, int whence); | 
|  | 45 | unsigned int ui_browser__rb_tree_refresh(struct ui_browser *self); | 
|  | 46 |  | 
|  | 47 | void ui_browser__list_head_seek(struct ui_browser *self, off_t offset, int whence); | 
|  | 48 | unsigned int ui_browser__list_head_refresh(struct ui_browser *self); | 
|  | 49 |  | 
|  | 50 | void ui_browser__init(void); | 
|  | 51 | #endif /* _PERF_UI_BROWSER_H_ */ |