Files
openairinterface5g/common/utils/T/tracer/gui/gui.h
T

78 lines
2.5 KiB
C

#ifndef _GUI_H_
#define _GUI_H_
/* defines the public API of the GUI */
typedef void gui;
typedef void widget;
#define HORIZONTAL 0
#define VERTICAL 1
#define BACKGROUND_COLOR 0
#define FOREGROUND_COLOR 1
gui *gui_init(void);
/* position = -1 to put at the end */
void widget_add_child(gui *gui, widget *parent, widget *child, int position);
void widget_del_child(gui *gui, widget *parent, widget *child);
void widget_dirty(gui *gui, widget *this);
widget *new_toplevel_window(gui *gui, int width, int height, char *title);
widget *new_container(gui *gui, int vertical);
widget *new_positioner(gui *gui);
widget *new_label(gui *gui, const char *text);
widget *new_xy_plot(gui *gui, int width, int height, char *label,
int vruler_width);
widget *new_textlist(gui *_gui, int width, int nlines, int background_color);
void label_set_clickable(gui *gui, widget *label, int clickable);
void container_set_child_growable(gui *_gui, widget *_this,
widget *child, int growable);
void xy_plot_set_range(gui *gui, widget *this,
float xmin, float xmax, float ymin, float ymax);
void xy_plot_set_points(gui *gui, widget *this,
int npoints, float *x, float *y);
void textlist_add(gui *gui, widget *this, const char *text, int position,
int color);
void textlist_del(gui *gui, widget *this, int position);
void textlist_add_silent(gui *gui, widget *this, const char *text,
int position, int color);
void textlist_del_silent(gui *gui, widget *this, int position);
void textlist_state(gui *_gui, widget *_this,
int *visible_lines, int *start_line, int *number_of_lines);
void textlist_set_start_line(gui *gui, widget *this, int line);
void textlist_get_line(gui *gui, widget *this, int line,
char **text, int *color);
void textlist_set_color(gui *gui, widget *this, int line, int color);
void gui_loop(gui *gui);
void glock(gui *gui);
void gunlock(gui *gui);
int new_color(gui *gui, char *color);
/* notifications */
/* known notifications:
* - textlist:
* - scrollup { void *: NULL }
* - scrolldown { void *: NULL }
* - click { int [2]: line, button }
* - label:
* - click { int: button } (if enabled)
*/
/* same type as in gui_defs.h */
typedef void (*notifier)(void *private, gui *g,
char *notification, widget *w, void *notification_data);
unsigned long register_notifier(gui *g, char *notification, widget *w,
notifier handler, void *private);
void unregister_notifier(gui *g, unsigned long notifier_id);
#endif /* _GUI_H_ */