2009-11-25 13:28:43 +03:00
/*
* Copyright ( C ) 2008 Nir Tzachar < nir . tzachar @ gmail . com ?
* Released under the terms of the GNU GPL v2 .0 .
*
* Derived from menuconfig .
*
*/
# include <ctype.h>
# include <errno.h>
# include <fcntl.h>
# include <limits.h>
# include <stdarg.h>
# include <stdlib.h>
# include <string.h>
# include <unistd.h>
# include <locale.h>
# include <curses.h>
# include <menu.h>
# include <panel.h>
# include <form.h>
# include <stdio.h>
# include <time.h>
# include <sys/time.h>
# include "ncurses.h"
# define max(a, b) ({\
typeof ( a ) _a = a ; \
typeof ( b ) _b = b ; \
_a > _b ? _a : _b ; } )
# define min(a, b) ({\
typeof ( a ) _a = a ; \
typeof ( b ) _b = b ; \
_a < _b ? _a : _b ; } )
typedef enum {
NORMAL = 1 ,
MAIN_HEADING ,
MAIN_MENU_BOX ,
MAIN_MENU_FORE ,
MAIN_MENU_BACK ,
MAIN_MENU_GREY ,
MAIN_MENU_HEADING ,
SCROLLWIN_TEXT ,
SCROLLWIN_HEADING ,
SCROLLWIN_BOX ,
DIALOG_TEXT ,
DIALOG_MENU_FORE ,
DIALOG_MENU_BACK ,
DIALOG_BOX ,
INPUT_BOX ,
INPUT_HEADING ,
INPUT_TEXT ,
INPUT_FIELD ,
FUNCTION_TEXT ,
FUNCTION_HIGHLIGHT ,
ATTR_MAX
} attributes_t ;
extern attributes_t attributes [ ] ;
typedef enum {
F_HELP = 1 ,
F_SYMBOL = 2 ,
F_INSTS = 3 ,
F_CONF = 4 ,
F_BACK = 5 ,
F_SAVE = 6 ,
F_LOAD = 7 ,
2010-08-08 17:50:06 +04:00
F_SEARCH = 8 ,
F_EXIT = 9 ,
2009-11-25 13:28:43 +03:00
} function_key ;
void set_colors ( void ) ;
/* this changes the windows attributes !!! */
void print_in_middle ( WINDOW * win ,
int starty ,
int startx ,
int width ,
const char * string ,
chtype color ) ;
int get_line_length ( const char * line ) ;
int get_line_no ( const char * text ) ;
const char * get_line ( const char * text , int line_no ) ;
void fill_window ( WINDOW * win , const char * text ) ;
int btn_dialog ( WINDOW * main_window , const char * msg , int btn_num , . . . ) ;
int dialog_inputbox ( WINDOW * main_window ,
const char * title , const char * prompt ,
2011-09-01 21:52:20 +04:00
const char * init , char * * resultp , int * result_len ) ;
2009-11-25 13:28:43 +03:00
void refresh_all_windows ( WINDOW * main_window ) ;
void show_scroll_win ( WINDOW * main_window ,
const char * title ,
const char * text ) ;