Home | History | Annotate | Download | only in ui
      1 #ifndef _PERF_UI_BROWSER_H_
      2 #define _PERF_UI_BROWSER_H_ 1
      3 
      4 #include <stdbool.h>
      5 #include <newt.h>
      6 #include <sys/types.h>
      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;
     17 	u64	      index, top_idx;
     18 	void	      *top, *entries;
     19 	u16	      y, x, width, height;
     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 void ui_browser__set_color(struct ui_browser *self, int color);
     28 void ui_browser__set_percent_color(struct ui_browser *self,
     29 				   double percent, bool current);
     30 bool ui_browser__is_current_entry(struct ui_browser *self, unsigned row);
     31 void ui_browser__refresh_dimensions(struct ui_browser *self);
     32 void ui_browser__reset_index(struct ui_browser *self);
     33 
     34 void ui_browser__gotorc(struct ui_browser *self, int y, int x);
     35 void ui_browser__add_exit_key(struct ui_browser *self, int key);
     36 void ui_browser__add_exit_keys(struct ui_browser *self, int keys[]);
     37 void __ui_browser__show_title(struct ui_browser *browser, const char *title);
     38 void ui_browser__show_title(struct ui_browser *browser, const char *title);
     39 int ui_browser__show(struct ui_browser *self, const char *title,
     40 		     const char *helpline, ...);
     41 void ui_browser__hide(struct ui_browser *self);
     42 int ui_browser__refresh(struct ui_browser *self);
     43 int ui_browser__run(struct ui_browser *self);
     44 
     45 void ui_browser__rb_tree_seek(struct ui_browser *self, off_t offset, int whence);
     46 unsigned int ui_browser__rb_tree_refresh(struct ui_browser *self);
     47 
     48 void ui_browser__list_head_seek(struct ui_browser *self, off_t offset, int whence);
     49 unsigned int ui_browser__list_head_refresh(struct ui_browser *self);
     50 
     51 void ui_browser__init(void);
     52 #endif /* _PERF_UI_BROWSER_H_ */
     53