|
|
1.1 ! root 1: /* ! 2: * Copyright (C) 2008 Nir Tzachar <[email protected]? ! 3: * Released under the terms of the GNU GPL v2.0. ! 4: * ! 5: * Derived from menuconfig. ! 6: * ! 7: */ ! 8: ! 9: #include <ctype.h> ! 10: #include <errno.h> ! 11: #include <fcntl.h> ! 12: #include <limits.h> ! 13: #include <stdarg.h> ! 14: #include <stdlib.h> ! 15: #include <string.h> ! 16: #include <unistd.h> ! 17: #include <locale.h> ! 18: #include <curses.h> ! 19: #include <menu.h> ! 20: #include <panel.h> ! 21: #include <form.h> ! 22: ! 23: #include <stdio.h> ! 24: #include <time.h> ! 25: #include <sys/time.h> ! 26: ! 27: #include "ncurses.h" ! 28: ! 29: #define max(a, b) ({\ ! 30: typeof(a) _a = a;\ ! 31: typeof(b) _b = b;\ ! 32: _a > _b ? _a : _b; }) ! 33: ! 34: #define min(a, b) ({\ ! 35: typeof(a) _a = a;\ ! 36: typeof(b) _b = b;\ ! 37: _a < _b ? _a : _b; }) ! 38: ! 39: typedef enum { ! 40: NORMAL = 1, ! 41: MAIN_HEADING, ! 42: MAIN_MENU_BOX, ! 43: MAIN_MENU_FORE, ! 44: MAIN_MENU_BACK, ! 45: MAIN_MENU_GREY, ! 46: MAIN_MENU_HEADING, ! 47: SCROLLWIN_TEXT, ! 48: SCROLLWIN_HEADING, ! 49: SCROLLWIN_BOX, ! 50: DIALOG_TEXT, ! 51: DIALOG_MENU_FORE, ! 52: DIALOG_MENU_BACK, ! 53: DIALOG_BOX, ! 54: INPUT_BOX, ! 55: INPUT_HEADING, ! 56: INPUT_TEXT, ! 57: INPUT_FIELD, ! 58: FUNCTION_TEXT, ! 59: FUNCTION_HIGHLIGHT, ! 60: ATTR_MAX ! 61: } attributes_t; ! 62: extern attributes_t attributes[]; ! 63: ! 64: typedef enum { ! 65: F_HELP = 1, ! 66: F_SYMBOL = 2, ! 67: F_INSTS = 3, ! 68: F_CONF = 4, ! 69: F_BACK = 5, ! 70: F_SAVE = 6, ! 71: F_LOAD = 7, ! 72: F_SEARCH = 8, ! 73: F_EXIT = 9, ! 74: } function_key; ! 75: ! 76: void set_colors(void); ! 77: ! 78: /* this changes the windows attributes !!! */ ! 79: void print_in_middle(WINDOW *win, ! 80: int starty, ! 81: int startx, ! 82: int width, ! 83: const char *string, ! 84: chtype color); ! 85: int get_line_length(const char *line); ! 86: int get_line_no(const char *text); ! 87: const char *get_line(const char *text, int line_no); ! 88: void fill_window(WINDOW *win, const char *text); ! 89: int btn_dialog(WINDOW *main_window, const char *msg, int btn_num, ...); ! 90: int dialog_inputbox(WINDOW *main_window, ! 91: const char *title, const char *prompt, ! 92: const char *init, char *result, int result_len); ! 93: void refresh_all_windows(WINDOW *main_window); ! 94: void show_scroll_win(WINDOW *main_window, ! 95: const char *title, ! 96: const char *text);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.