yann@2454: /* yann@2454: * Copyright (C) 2008 Nir Tzachar yann@2454: #include yann@2454: #include yann@2454: #include yann@2454: #include yann@2454: #include yann@2454: #include yann@2454: #include yann@2454: #include yann@2454: #include yann@2454: #include yann@2454: #include yann@2454: #include yann@2454: yann@2454: #include yann@2454: #include yann@2454: #include yann@2454: yann@2454: #include "ncurses.h" yann@2454: yann@2454: #define max(a, b) ({\ yann@2454: typeof(a) _a = a;\ yann@2454: typeof(b) _b = b;\ yann@2454: _a > _b ? _a : _b; }) yann@2454: yann@2454: #define min(a, b) ({\ yann@2454: typeof(a) _a = a;\ yann@2454: typeof(b) _b = b;\ yann@2454: _a < _b ? _a : _b; }) yann@2454: yann@2454: typedef enum { yann@2454: NORMAL = 1, yann@2454: MAIN_HEADING, yann@2454: MAIN_MENU_BOX, yann@2454: MAIN_MENU_FORE, yann@2454: MAIN_MENU_BACK, yann@2454: MAIN_MENU_GREY, yann@2454: MAIN_MENU_HEADING, yann@2454: SCROLLWIN_TEXT, yann@2454: SCROLLWIN_HEADING, yann@2454: SCROLLWIN_BOX, yann@2454: DIALOG_TEXT, yann@2454: DIALOG_MENU_FORE, yann@2454: DIALOG_MENU_BACK, yann@2454: DIALOG_BOX, yann@2454: INPUT_BOX, yann@2454: INPUT_HEADING, yann@2454: INPUT_TEXT, yann@2454: INPUT_FIELD, yann@2454: FUNCTION_TEXT, yann@2454: FUNCTION_HIGHLIGHT, yann@2454: ATTR_MAX yann@2454: } attributes_t; yann@2454: extern attributes_t attributes[]; yann@2454: yann@2454: typedef enum { yann@2454: F_HELP = 1, yann@2454: F_SYMBOL = 2, yann@2454: F_INSTS = 3, yann@2454: F_CONF = 4, yann@2454: F_BACK = 5, yann@2454: F_SAVE = 6, yann@2454: F_LOAD = 7, yann@2454: F_SEARCH = 8, yann@2454: F_EXIT = 9, yann@2454: } function_key; yann@2454: yann@2454: void set_colors(void); yann@2454: yann@2454: /* this changes the windows attributes !!! */ yann@2454: void print_in_middle(WINDOW *win, yann@2454: int starty, yann@2454: int startx, yann@2454: int width, yann@2454: const char *string, yann@2454: chtype color); yann@2454: int get_line_length(const char *line); yann@2454: int get_line_no(const char *text); yann@2454: const char *get_line(const char *text, int line_no); yann@2454: void fill_window(WINDOW *win, const char *text); yann@2454: int btn_dialog(WINDOW *main_window, const char *msg, int btn_num, ...); yann@2454: int dialog_inputbox(WINDOW *main_window, yann@2454: const char *title, const char *prompt, yann@2454: const char *init, char *result, int result_len); yann@2454: void refresh_all_windows(WINDOW *main_window); yann@2454: void show_scroll_win(WINDOW *main_window, yann@2454: const char *title, yann@2454: const char *text);