Root/
Source at commit 1166 created 13 years 10 days ago. By meklort, Fixed recent Makefile changes. Please do not use /Users/evan/SourceCode/tmp/chameleon/trunk or VPATH. the *only* time you should use /Users/evan/SourceCode/tmp/chameleon/trunk is when setting the SRCROOT variable. Also note that very soon make pkg is going to be removed. The pkg build script in trunk is very out of date. Instead please use the package maker at http://forge.voodooprojects.org/p/chameleonApplications/. Once this is ready for trunk it will be merged. | |
---|---|
1 | /*␊ |
2 | * Copyright (C) 2008 Nir Tzachar <nir.tzachar@gmail.com?␊ |
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);␊ |
97 |