scripts/addToolsVersion: properly handle .in vs. .in.2
While most components have their version in the .in file, some
have it in the .in.2 (eg. elf2flt).
Currently, to handle this case, we indiscriminately munge both files,
but this is wrong: in the elf2flt case, if we add a binutils version,
we do not want it to be added to elf2flt, and conversely.
So, for each tool, we need to explicitly know what file to munge.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2 * dialog.h -- common declarations for all dialog modules
4 * AUTHOR: Savio Lam (lam836@cs.cuhk.hk)
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 #include <sys/types.h>
32 # define gettext(Msgid) ((const char *) (Msgid))
41 * Colors in ncurses 1.9.9e do not work properly since foreground and
42 * background colors are OR'd rather than separately masked. This version
43 * of dialog was hacked to work with ncurses 1.9.9e, making it incompatible
44 * with standard curses. The simplest fix (to make this work with standard
45 * curses) uses the wbkgdset() function, not used in the original hack.
46 * Turn it off if we're building with 1.9.9e, since it just confuses things.
48 #if defined(NCURSES_VERSION) && defined(_NEED_WRAP) && !defined(GCC_PRINTFLIKE)
51 #define wbkgdset(w,p) /*nothing */
56 #define TR(params) _tracef params
61 #define BUF_SIZE (10*1024)
62 #define MIN(x,y) (x < y ? x : y)
63 #define MAX(x,y) (x > y ? x : y)
66 #define ACS_ULCORNER '+'
69 #define ACS_LLCORNER '+'
72 #define ACS_URCORNER '+'
75 #define ACS_LRCORNER '+'
90 #define ACS_UARROW '^'
93 #define ACS_DARROW 'v'
96 /* error return codes */
97 #define ERRDISPLAYTOOSMALL (KEY_MAX + 1)
102 struct dialog_color {
103 chtype atr; /* Color attribute */
104 int fg; /* foreground */
105 int bg; /* background */
106 int hl; /* highlight this item */
110 const char *backtitle;
111 struct dialog_color screen;
112 struct dialog_color shadow;
113 struct dialog_color dialog;
114 struct dialog_color title;
115 struct dialog_color border;
116 struct dialog_color button_active;
117 struct dialog_color button_inactive;
118 struct dialog_color button_key_active;
119 struct dialog_color button_key_inactive;
120 struct dialog_color button_label_active;
121 struct dialog_color button_label_inactive;
122 struct dialog_color inputbox;
123 struct dialog_color inputbox_border;
124 struct dialog_color searchbox;
125 struct dialog_color searchbox_title;
126 struct dialog_color searchbox_border;
127 struct dialog_color position_indicator;
128 struct dialog_color menubox;
129 struct dialog_color menubox_border;
130 struct dialog_color item;
131 struct dialog_color item_selected;
132 struct dialog_color tag;
133 struct dialog_color tag_selected;
134 struct dialog_color tag_key;
135 struct dialog_color tag_key_selected;
136 struct dialog_color check;
137 struct dialog_color check_selected;
138 struct dialog_color uarrow;
139 struct dialog_color darrow;
145 extern struct dialog_info dlg;
146 extern char dialog_input_result[];
149 * Function prototypes
152 /* item list as used by checklist and menubox */
153 void item_reset(void);
154 void item_make(const char *fmt, ...);
155 void item_add_str(const char *fmt, ...);
156 void item_set_tag(char tag);
157 void item_set_data(void *p);
158 void item_set_selected(int val);
159 int item_activate_selected(void);
160 void *item_data(void);
163 /* item list manipulation for lxdialog use */
164 #define MAXITEMSTR 200
166 char str[MAXITEMSTR]; /* promtp displayed */
168 void *data; /* pointer to menu item - used by menubox+checklist */
169 int selected; /* Set to 1 by dialog_*() function if selected. */
172 /* list of lialog_items */
174 struct dialog_item node;
175 struct dialog_list *next;
178 extern struct dialog_list *item_cur;
179 extern struct dialog_list item_nil;
180 extern struct dialog_list *item_head;
182 int item_count(void);
183 void item_set(int n);
185 const char *item_str(void);
186 int item_is_selected(void);
187 int item_is_tag(char tag);
188 #define item_foreach() \
189 for (item_cur = item_head ? item_head: item_cur; \
190 item_cur && (item_cur != &item_nil); item_cur = item_cur->next)
192 /* generic key handlers */
193 int on_key_esc(WINDOW *win);
194 int on_key_resize(void);
196 int init_dialog(const char *backtitle);
197 void set_dialog_backtitle(const char *backtitle);
198 void end_dialog(int x, int y);
199 void attr_clear(WINDOW * win, int height, int width, chtype attr);
200 void dialog_clear(void);
201 void print_autowrap(WINDOW * win, const char *prompt, int width, int y, int x);
202 void print_button(WINDOW * win, const char *label, int y, int x, int selected);
203 void print_title(WINDOW *dialog, const char *title, int width);
204 void draw_box(WINDOW * win, int y, int x, int height, int width, chtype box,
206 void draw_shadow(WINDOW * win, int y, int x, int height, int width);
208 int first_alpha(const char *string, const char *exempt);
209 int dialog_yesno(const char *title, const char *prompt, int height, int width);
210 int dialog_msgbox(const char *title, const char *prompt, int height,
211 int width, int pause);
212 int dialog_textbox(const char *title, const char *file, int height, int width);
213 int dialog_menu(const char *title, const char *prompt,
214 const void *selected, int *s_scroll);
215 int dialog_checklist(const char *title, const char *prompt, int height,
216 int width, int list_height);
217 extern char dialog_input_result[];
218 int dialog_inputbox(const char *title, const char *prompt, int height,
219 int width, const char *init);
222 * This is the base for fictitious keys, which activate
225 * Mouse-generated keys are the following:
226 * -- the first 32 are used as numbers, in addition to '0'-'9'
227 * -- the lowercase are used to signal mouse-enter events (M_EVENT + 'o')
228 * -- uppercase chars are used to invoke the button (M_EVENT + 'O')
230 #define M_EVENT (KEY_MAX+1)