1 // ----------------------------------------------------------------------------
2 // Copyright (C) 2014
3 //              David Freese, W1HKJ
4 //
5 // This file is part of flmsg
6 //
7 // flrig is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation; either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // flrig is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 // ----------------------------------------------------------------------------
20 
21 #ifndef FLMSG_DIALOG_H
22 #define FLMSG_DIALOG_H
23 
24 #include <string>
25 #include <vector>
26 
27 #include <FL/Fl.H>
28 #include <FL/Fl_Pixmap.H>
29 #include <FL/Fl_Double_Window.H>
30 #include <FL/Fl_Menu_Bar.H>
31 #include <FL/Fl_Input.H>
32 #include <FL/Fl_Output.H>
33 #include <FL/Fl_Tabs.H>
34 #include <FL/Fl_Group.H>
35 #include <FL/Fl_Button.H>
36 #include <FL/Fl_Check_Button.H>
37 #include <FL/Fl_Box.H>
38 #include <FL/Fl_Scroll.H>
39 #include <FL/Fl_Browser.H>
40 #include <FL/Fl_Hold_Browser.H>
41 #include <FL/Fl_Return_Button.H>
42 #include <FL/Fl_Input.H>
43 #include <FL/Fl_Round_Button.H>
44 #include <FL/Fl_Spinner.H>
45 #include <FL/Fl_Counter.H>
46 #include <FL/Fl_Progress.H>
47 
48 #include "FTextView.h"
49 #include "flinput2.h"
50 #include "flslider2.h"
51 #include "combo.h"
52 #include "calendar.h"
53 #include "flmsg.h"
54 #include "mongoose.h"
55 
56 extern Fl_Output	*txt_filename;
57 extern Fl_Input		*drop_box;
58 extern Fl_Input		*drop_file;
59 
60 extern int tab_top;
61 
62 extern Fl_Tabs	*tabs_msg_type;
63 
64 //======================================================================
65 
66 extern Fl_Double_Window* flmsg_dialog();
67 extern Fl_Menu_Item menu_[];
68 extern void load_custom_menu();
69 
70 extern Fl_Browser	*brwsOptions;
71 
72 extern Fl_Double_Window* create_config_dialog();
73 extern Fl_Tabs		*tabs_config;
74 extern Fl_Group	*tab_date_time;
75 extern Fl_Group	*tab_personal;
76 extern Fl_Group	*tab_config_radiogram;
77 extern Fl_Group	*tab_files;
78 extern Fl_Group	*tab_headers;
79 extern Fl_Group	*tab_socket;
80 extern Fl_Group	*tab_arq;
81 extern Fl_Group *tab_UI;
82 
83 //======================================================================
84 // events
85 extern Fl_Double_Window* create_ARQ_event_dialog();
86 extern void add_event(string s);
87 extern Fl_Browser *btext;
88 //======================================================================
89 // rcvd msgs
90 extern Fl_Double_Window *rcvd_msgs_dialog;
91 extern Fl_Double_Window *create_rcvd_msgs_dialog();
92 extern void add_rcvd_msg(string s);
93 //======================================================================
94 // custom editor
95 extern Fl_Double_Window *edit_view_dialog();
96 
97 //======================================================================
98 //----------------------------------------------------------------------
99 // arq transfer controls group
100 //----------------------------------------------------------------------
101 extern Fl_Group		*arq_group;
102 extern Fl_Progress	*prgSTATE;
103 extern Fl_Input2	*txtSTATE;
104 extern Fl_Input2	*txtSENDTO;
105 extern Fl_Button	*btnSEND;
106 
107 extern Fl_Double_Window* optionsdialog();
108 extern Fl_Return_Button	*btnCloseOptions;
109 
110 extern void set_datetime_widgets();
111 
112 extern Fl_Double_Window* arl_dialog();
113 extern Fl_Browser	*select_arl;
114 extern Fl_Input2	*txt_arl_fill1;
115 extern Fl_Input2	*txt_arl_fill2;
116 extern Fl_Input2	*txt_arl_fill3;
117 extern Fl_Input2	*txt_arl_fill4;
118 extern Fl_Button	*btn_arl_cancel;
119 extern Fl_Button	*btn_arl_add;
120 extern FTextEdit	*arl_text;
121 extern Fl_Check_Button	*btnInsertX;
122 
123 //extern Fl_Double_Window* date_time_dialog();
124 extern Fl_Round_Button	*btn_dtformat0;
125 extern Fl_Round_Button	*btn_dtformat1;
126 extern Fl_Round_Button	*btn_dtformat2;
127 extern Fl_Round_Button	*btn_dtformat3;
128 extern Fl_Round_Button	*btn_dtformat4;
129 extern Fl_Round_Button	*btn_utc_format0;
130 extern Fl_Round_Button	*btn_utc_format1;
131 extern Fl_Round_Button	*btn_utc_format2;
132 extern Fl_Round_Button	*btn_utc_format3;
133 extern Fl_Round_Button	*btn_utc_format4;
134 extern Fl_Round_Button	*btn_utc_format5;
135 extern Fl_Button		*btn_close_date_time_dialog;
136 extern Fl_Check_Button *btn_caplocal;
137 
138 //extern Fl_Double_Window* personal_dialog();
139 extern Fl_Input2	*txt_my_call;
140 extern Fl_Input2	*txt_my_tel;
141 extern Fl_Input2	*txt_my_name;
142 extern Fl_Input2	*txt_my_addr;
143 extern Fl_Input2	*txt_my_city;
144 
145 extern Fl_Double_Window* headers_dialog();
146 extern Fl_Input2*	txt_hdr_from;
147 extern Fl_Input2*	txt_hdr_edit;
148 
149 extern Fl_Input2*	txt_socket_addr;
150 extern Fl_Input2*	txt_socket_port;
151 extern Fl_Output*	txt_web_port;
152 
153 //extern Fl_Double_Window* radiogram_dialog();
154 extern Fl_Spinner	*cnt_wpl;
155 extern Fl_Check_Button	*btn_rgnbr_fname;
156 extern Fl_Input2	*txt_rgnbr;
157 
158 //extern Fl_Double_Window* config_files_dialog();
159 extern Fl_Check_Button	*btn_open_on_export;
160 extern Fl_Check_Button	*btn_use_compression;
161 extern Fl_Check_Button	*btn_call_fname;
162 extern Fl_ListBox		*cbo_dt_fname;
163 extern Fl_Check_Button	*btn_sernbr_fname;
164 extern Fl_Input2	*txt_sernbr;
165 extern Fl_Input2	*txt_mars_roster_file;
166 
167 extern Fl_Double_Window* hx_dialog();
168 extern Fl_ListBox	*sel_hx_select;
169 extern Fl_Button	*btn_hx_select_add;
170 extern Fl_Input2	*txt_hx_select_text;
171 extern Fl_Button	*btn_hx_select_cancel;
172 extern Fl_Return_Button	*btn_hx_select_ok;
173 extern Fl_Output	*txt_hx_instructions;
174 
175 //extern Fl_Double_Window* socket_dialog();
176 extern Fl_Input2 * txt_socket_addr;
177 extern Fl_Input2 * txt_socket_port;
178 extern Fl_Button * btn_close_socket_dialog;
179 
180 
181 extern void select_form(int form);
182 
183 extern Fl_Output *txt_xfr_size_time;
184 extern int transfer_size;
185 
186 extern Fl_ListBox	*cbo_modes;
187 
188 extern void clear_estimate();
189 extern void estimate();
190 extern bool valid_mode_check(string &md);
191 extern void update_cbo_modes(string &fldigi_modes);
192 
193 //======================================================================
194 // all form tabs
195 //======================================================================
196 extern Fl_Group *all_tabs;
197 
198 //======================================================================
199 // ICS
200 //======================================================================
201 extern Fl_Tabs	*tab_ics_type;
202 
203 extern void create_ics_tab();
204 
205 //======================================================================
206 // ICS-203
207 //======================================================================
208 extern void create_ics203_tab();
209 
210 extern Fl_Group		*tab_ics203;
211 extern Fl_Tabs		*tab_ics203_type;
212 extern Fl_Group		*tab_203_1;
213 extern Fl_Input2	*txt_203_incident;
214 extern Fl_Input2	*txt_203_date;
215 extern Fl_Button	*btn_203_date;
216 extern Fl_Input2	*txt_203_time;
217 extern Fl_Button	*btn_203_time;
218 extern Fl_Input2	*txt_203_op_period;
219 extern Fl_Input2	*txt_203_incident_commander;
220 extern Fl_Input2	*txt_203_incident_deputy;
221 extern Fl_Input2	*txt_203_incident_safety_officer;
222 extern Fl_Input2	*txt_203_incident_info_officer;
223 extern Fl_Input2	*txt_203_liaison_officer;
224 extern Fl_Input2	*txt_203_prepared_by;
225 extern Fl_Group		*tab_203_agency;
226 extern Fl_Input2	*txt_203_agency[];
227 extern Fl_Input2	*txt_203_agency_name[];
228 extern Fl_Group		*tab_203_planning;
229 extern Fl_Input2	*txt_203_planning_chief;
230 extern Fl_Input2	*txt_203_planning_deputy;
231 extern Fl_Input2	*txt_203_resources_unit;
232 extern Fl_Input2	*txt_203_situation_unit;
233 extern Fl_Input2	*txt_203_documentation_unit;
234 extern Fl_Input2	*txt_203_demobilization_unit;
235 extern Fl_Input2	*txt_203_tech_spc[];
236 extern Fl_Group		*tab_203_logistics;
237 extern Fl_Input2	*txt_203_logistics_chief;
238 extern Fl_Input2	*txt_203_logistics_deputy;
239 extern Fl_Input2	*txt_203_support_director;
240 extern Fl_Input2	*txt_203_supply_unit;
241 extern Fl_Input2	*txt_203_facilities_unit;
242 extern Fl_Input2	*txt_203_ground_support;
243 extern Fl_Input2	*txt_203_service_director;
244 extern Fl_Input2	*txt_203_communications_unit;
245 extern Fl_Input2	*txt_203_medical_unit;
246 extern Fl_Input2	*txt_203_food_unit;
247 extern Fl_Group		*tab_203_ops;
248 extern Fl_Input2	*txt_203_ops_chief;
249 extern Fl_Input2	*txt_203_ops_deputy;
250 extern Fl_Input2	*txt_203_b1_director;
251 extern Fl_Input2	*txt_203_b1_deputy;
252 extern Fl_Input2	*txt_203_b1_div[];
253 extern Fl_Input2	*txt_203_b1_grp[];
254 extern Fl_Group		*tab_203_opsB;
255 extern Fl_Input2	*txt_203_b2_director;
256 extern Fl_Input2	*txt_203_b2_deputy;
257 extern Fl_Input2	*txt_203_b2_div[];
258 extern Fl_Input2	*txt_203_b2_grp[];
259 extern Fl_Group		*tab_203_opsC;
260 extern Fl_Input2	*txt_203_b3_director;
261 extern Fl_Input2	*txt_203_b3_deputy;
262 extern Fl_Input2	*txt_203_b3_div[];
263 extern Fl_Input2	*txt_203_b3_grp[];
264 extern Fl_Group		*tab_203_opsD;
265 extern Fl_Input2	*txt_203_air_ops_br_dir;
266 extern Fl_Input2	*txt_203_air_tactical_group_sup;
267 extern Fl_Input2	*txt_203_air_support_group_sup;
268 extern Fl_Input2	*txt_203_helicopter_coordinator;
269 extern Fl_Input2	*txt_203_air_tanker_fixed_wing;
270 extern Fl_Group		*tab_203_admin;
271 extern Fl_Input2	*txt_203_finance_chief;
272 extern Fl_Input2	*txt_203_finance_deputy;
273 extern Fl_Input2	*txt_203_time_unit;
274 extern Fl_Input2	*txt_203_procurement_unit;
275 extern Fl_Input2	*txt_203_claims_unit;
276 extern Fl_Input2	*txt_203_cost_unit;
277 
278 //======================================================================
279 // ICS-205
280 //======================================================================
281 extern void create_ics205_tab();
282 
283 extern Fl_Group		*tab_ics205;
284 extern Fl_Tabs		*tabs_ics205;
285 extern Fl_Group		*tab_205_1;
286 extern Fl_Group		*tab_205_2;
287 extern Fl_Input2	*txt_205_name;
288 extern Fl_Input2	*txt_205_dt_prepared;
289 extern Fl_Button	*btn_205_dt_prepared;
290 extern Fl_Input2	*txt_205_dt_op_from;
291 extern Fl_Button	*btn_205_dt_op_from;
292 extern Fl_Input2	*txt_205_dt_op_to;
293 extern Fl_Button	*btn_205_dt_op_to;
294 extern Fl_Input2	*txt_205_func[];
295 extern Fl_Input2	*txt_205_channel[];
296 extern Fl_Input2	*txt_205_assign[];
297 extern Fl_Input2	*txt_205_rx_freq[];
298 extern Fl_Input2	*txt_205_rx_tone[];
299 extern Fl_Input2	*txt_205_tx_freq[];
300 extern Fl_Input2	*txt_205_tx_tone[];
301 extern Fl_Input2	*txt_205_mode_adm[];
302 extern Fl_Input2	*txt_205_remarks[];
303 extern Fl_Input2	*txt_205_preparer;
304 extern Fl_Input2	*txt_205_county;
305 extern Fl_Input2	*txt_205_state;
306 extern Fl_Input2	*txt_205_latitude;
307 extern Fl_Input2	*txt_205_longitude;
308 
309 
310 //======================================================================
311 // ICS-205A
312 //======================================================================
313 extern void create_ics205a_tab();
314 
315 extern Fl_Group		*tab_ics205a;
316 extern Fl_Tabs		*tab_ics205a_type;
317 extern Fl_Group		*tab_205a_1;
318 extern Fl_Group		*tab_205a_2;
319 
320 extern Fl_Input2	*txt_205a_incident;
321 extern Fl_Input2	*txt_205a_date_fm;
322 extern Fl_Button	*btn_205a_date_fm;
323 extern Fl_Input2	*txt_205a_date_to;
324 extern Fl_Button	*btn_205a_date_to;
325 extern Fl_Input2	*txt_205a_time_fm;
326 extern Fl_Button	*btn_205a_time_fm;
327 extern Fl_Input2	*txt_205a_time_to;
328 extern Fl_Button	*btn_205a_time_to;
329 extern Fl_Input2	*txt_205a_prepared_by;
330 extern Fl_Input2	*txt_205a_preparer_position;
331 extern Fl_Input2	*txt_205a_preparer_date_time;
332 extern Fl_Input2	*txt_205a_comm_group[];
333 extern Fl_Input2	*txt_205a_comm_position[];
334 extern Fl_Input2	*txt_205a_comm_name[];
335 extern Fl_Input2	*txt_205a_comm_info[];
336 
337 //======================================================================
338 // ICS-206
339 //======================================================================
340 extern void create_ics206_tab();
341 
342 extern Fl_Group		*tab_ics206;
343 extern Fl_Tabs		*tab_ics206_type;
344 extern Fl_Group		*tab_206_med_plan;
345 extern Fl_Input2	*txt_206_name;
346 extern Fl_Input2	*txt_206_op_period;
347 extern Fl_Input2	*txt_206_time_prepared;
348 extern Fl_Button	*btn_206_time;
349 extern Fl_DateInput	*txt_206_date_prepared;
350 extern Fl_Button	*btn_206_date;
351 extern Fl_Input2	*txt_206_medaid_sta[];
352 extern Fl_Input2	*txt_206_medaid_loc[];
353 extern Fl_Check_Button	*btn_206_medaid_paramedics[];
354 extern Fl_Input2	*txt_206_preparer;
355 extern Fl_Input2	*txt_206_reviewer;
356 extern Fl_Group		*tab_206_transport;
357 extern Fl_Input2	*txt_206_transport_name[];
358 extern Fl_Input2	*txt_206_transport_address[];
359 extern Fl_Check_Button	*btn_206_transport_paramedics[];
360 extern Fl_Input2	*txt_206_transport_phone[];
361 extern Fl_Group		*tab_206_ambulance;
362 extern Fl_Input2	*txt_206_ambulance_name[];
363 extern Fl_Input2	*txt_206_ambulance_loc[];
364 extern Fl_Check_Button	*btn_206_ambulance_paramedics[];
365 extern Fl_Group		*tab_206_hospital;
366 extern Fl_Input2	*txt_206_hosp_name[];
367 extern Fl_Input2	*txt_206_hosp_address[];
368 extern Fl_Input2	*txt_206_hosp_phone[];
369 extern Fl_Input2	*txt_206_hosp_airtime[];
370 extern Fl_Input2	*txt_206_hosp_gndtime[];
371 extern Fl_Check_Button	*btn_206_hosp_helipad[];
372 extern Fl_Check_Button	*btn_206_hosp_burn_center[];
373 extern Fl_Group		*tab_206_med_proc;
374 extern FTextEdit	*txt_206_procedure;
375 
376 //======================================================================
377 // ICS-213
378 //======================================================================
379 extern void create_ics213_tab();
380 
381 extern Fl_Group		*tab_ics213;
382 extern Fl_Tabs			*tab_ics213_type;
383 extern Fl_Group		*tab_213_originator;
384 extern Fl_Input2		*txt_213_inc;
385 extern Fl_Input2		*txt_213_to;
386 extern Fl_Input2		*txt_213_p1;
387 extern Fl_Input2		*txt_213_fm;
388 extern Fl_Input2		*txt_213_p2;
389 extern Fl_Input2		*txt_213_subj;
390 extern Fl_DateInput	*txt_213_d1;
391 extern Fl_Button		*btn_213_date1;
392 extern Fl_Input2		*txt_213_t1;
393 extern Fl_Button		*btn_213_time1;
394 extern FTextEdit		*txt_213_msg;
395 extern Fl_Input2		*txt_213_s1;
396 extern Fl_Input2		*txt_213_p3;
397 extern Fl_Group		*tab_213_responder;
398 extern Fl_Input2		*txt_213_s2;
399 extern Fl_DateInput	*txt_213_d2;
400 extern Fl_Input2		*txt_213_t2;
401 extern Fl_Button		*btn_213_time2;
402 extern FTextEdit		*txt_213_reply;
403 extern Fl_Input2		*txt_213_p4;
404 extern Fl_Button		*btn_213_date2;
405 
406 //======================================================================
407 // ICS-214
408 //======================================================================
409 extern void create_ics214_tab();
410 
411 extern Fl_Group	*tab_ics214;
412 extern Fl_Tabs		*tab_ics214_type;
413 extern Fl_Group	*tab_214_1;
414 extern Fl_Input2	*txt_214_incident;
415 extern Fl_Input2	*txt_214_date;
416 extern Fl_Button	*btn_214_date;
417 extern Fl_Input2	*txt_214_time;
418 extern Fl_Button	*btn_214_time;
419 extern Fl_Input2	*txt_214_op_period;
420 extern Fl_Input2	*txt_214_unit_name;
421 extern Fl_Input2	*txt_214_unit_leader;
422 extern Fl_Input2	*txt_214_prepared_by;
423 extern Fl_Group	*tab_214_2;
424 extern Fl_Input2	*txt_214_roster_name[];
425 extern Fl_Input2	*txt_214_roster_position[];
426 extern Fl_Input2	*txt_214_roster_home_base[];
427 extern Fl_Group	*tab_214_3;
428 extern Fl_Input2	*txt_214_activity_time[];
429 extern Fl_Input2	*txt_214_activity_event[];
430 
431 //======================================================================
432 // ICS-216
433 //======================================================================
434 extern void create_ics216_tab();
435 
436 extern Fl_Group	*tab_ics216;
437 extern Fl_Group	*tab_ics_216;
438 extern Fl_Tabs		*tab_ics216_type;
439 extern Fl_Group	*tab_216_1;
440 extern Fl_Group	*tab_216_2;
441 extern Fl_Group	*tab_216_3;
442 extern Fl_Group	*tab_216_4;
443 extern Fl_Group	*tab_216_5;
444 extern Fl_Input2	*txt_216_incident;
445 extern Fl_Input2	*txt_216_date;
446 extern Fl_Button	*btn_216_date;
447 extern Fl_Input2	*txt_216_time;
448 extern Fl_Button	*btn_216_time;
449 extern Fl_Input2	*txt_216_branch;
450 extern Fl_Input2	*txt_216_agc;
451 extern Fl_Input2	*txt_216_op_period;
452 extern Fl_Input2	*txt_216_tac_freq;
453 extern Fl_Input2	*txt_216_prepared_by;
454 extern Fl_Group	*tab_216_2;
455 extern Fl_Input2	*txt_216_div_grp[];
456 extern Fl_Input2	*txt_216_agency[];
457 extern Fl_Group	*tab_216_3;
458 extern Fl_Input2	*txt_216_ag[];
459 extern Fl_Input2	*txt_216_id[];
460 extern Fl_Input2	*txt_216_rr[];
461 
462 //======================================================================
463 // ICS-309
464 //======================================================================
465 extern void create_ics309_tab();
466 
467 extern Fl_Group	*tab_ics309;
468 extern Fl_Tabs		*tab_ics309_type;
469 extern Fl_Group	*tab_309_1;
470 extern Fl_Input2	*txt_309_incident;
471 extern Fl_Input2	*txt_309_date_fm;
472 extern Fl_Button	*btn_309_date_fm;
473 extern Fl_Input2	*txt_309_date_to;
474 extern Fl_Button	*btn_309_date_to;
475 extern Fl_Input2	*txt_309_time_fm;
476 extern Fl_Button	*btn_309_time_fm;
477 extern Fl_Input2	*txt_309_time_to;
478 extern Fl_Button	*btn_309_time_to;
479 
480 extern Fl_Input2	*txt_309_prepared_by;
481 extern Fl_Input2	*txt_309_radio_net;
482 extern Fl_Input2	*txt_309_radio_operator;
483 extern Fl_Input2	*txt_309_preparer_date_time;
484 
485 extern Fl_Group	*tab_309_2;
486 extern Fl_Input2	*txt_309_comm_time[];
487 extern Fl_Input2	*txt_309_comm_from[];
488 extern Fl_Input2	*txt_309_comm_to[];
489 extern Fl_Input2	*txt_309_comm_msg[];
490 
491 //======================================================================
492 // ICS-netlog
493 //======================================================================
494 extern void create_hamform_tab();
495 
496 extern void create_netlog_tab();
497 
498 extern Fl_Group		*tab_netlog;
499 extern Fl_Tabs		*tab_netlog_type;
500 extern Fl_Group		*tab_netlog_1;
501 extern Fl_Input2	*txt_netlog_event;
502 extern Fl_Input2	*txt_netlog_date_fm;
503 extern Fl_Button	*btn_netlog_date_fm;
504 extern Fl_Input2	*txt_netlog_date_to;
505 extern Fl_Button	*btn_netlog_date_to;
506 extern Fl_Input2	*txt_netlog_time_fm;
507 extern Fl_Button	*btn_netlog_time_fm;
508 extern Fl_Input2	*txt_netlog_time_to;
509 extern Fl_Button	*btn_netlog_time_to;
510 
511 extern Fl_Input2	*txt_netlog_prepared_by;
512 extern Fl_Input2	*txt_netlog_radio_net;
513 extern Fl_Input2	*txt_netlog_radio_operator;
514 extern Fl_Input2	*txt_netlog_preparer_date_time;
515 
516 extern Fl_Group	*tab_netlog_2;
517 extern Fl_Input2	*txt_netlog_comm_time[];
518 extern Fl_Input2	*txt_netlog_comm_from[];
519 extern Fl_Input2	*txt_netlog_comm_to[];
520 extern Fl_Input2	*txt_netlog_comm_msg[];
521 
522 //======================================================================
523 // HICS
524 //======================================================================
525 extern Fl_Group	*tab_hics;
526 extern Fl_Tabs	*tab_hics_type;
527 extern void create_hics_tab();
528 
529 //======================================================================
530 // HICS-203
531 //======================================================================
532 extern void create_hics203_tab();
533 
534 extern Fl_Group	*tab_hics203;
535 extern Fl_Tabs		*tab_hics203_type;
536 
537 extern Fl_Group	*tab_hics203_1;
538 extern Fl_Input2	*txt_hics203_incident;
539 extern Fl_Input2	*txt_hics203_date;
540 extern Fl_Button	*btn_hics203_date;
541 extern Fl_Input2	*txt_hics203_time;
542 extern Fl_Button	*btn_hics203_time;
543 extern Fl_Input2	*txt_hics203_op_period;
544 
545 extern Fl_Input2	*txt_hics203_incident_commander;
546 extern Fl_Input2	*txt_hics203_incident_deputy;
547 extern Fl_Input2	*txt_hics203_incident_safety_officer;
548 extern Fl_Input2	*txt_hics203_incident_info_officer;
549 extern Fl_Input2	*txt_hics203_liaison_officer;
550 extern Fl_Input2	*txt_hics203_prepared_by;
551 extern Fl_Input2	*txt_hics203_facility;
552 
553 extern Fl_Group	*tab_hics203_tech_spec;
554 extern Fl_Input2	*txt_hics203_tech_spc[];
555 
556 extern Fl_Group	*tab_hics203_planning;
557 extern Fl_Input2	*txt_hics203_planning_chief;
558 extern Fl_Input2	*txt_hics203_planning_other;
559 extern Fl_Input2	*txt_hics203_res_unit;
560 extern Fl_Input2	*txt_hics203_sit_unit;
561 extern Fl_Input2	*txt_hics203_doc_unit;
562 extern Fl_Input2	*txt_hics203_dem_unit;
563 
564 extern Fl_Group	*tab_hics203_logisthics;
565 extern Fl_Input2	*txt_hics203_log_chief;
566 extern Fl_Input2	*txt_hics203_log_other;
567 extern Fl_Input2	*txt_hics203_log_sup_brch;
568 extern Fl_Input2	*txt_hics203_bus_brch;
569 extern Fl_Input2	*txt_hics203_stg_mgr;
570 extern Fl_Input2	*txt_hics203_med_care_brch;
571 extern Fl_Input2	*txt_hics203_infr_brch;
572 extern Fl_Input2	*txt_hics203_sec_brch;
573 extern Fl_Input2	*txt_hics203_hazmat_brch;
574 extern Fl_Input2	*txt_hics203_hcc_agency;
575 extern Fl_Input2	*txt_hics203_svc_brch;
576 extern Fl_Input2	*txt_hics203_hcc_rep;
577 extern Fl_Input2	*txt_hics203_ext_loc;
578 extern Fl_Input2	*txt_hics203_ext_rep;
579 extern Fl_Group	*tab_hics203_ops;
580 extern Fl_Input2	*txt_hics203_ops_chief;
581 extern Fl_Input2	*txt_hics203_ops_other;
582 extern Fl_Group	*tab_hics203_admin;
583 extern Fl_Input2	*txt_hics203_fin_chief;
584 extern Fl_Input2	*txt_hics203_fin_other;
585 extern Fl_Input2	*txt_hics203_time_unit;
586 extern Fl_Input2	*txt_hics203_proc_unit;
587 extern Fl_Input2	*txt_hics203_comp_unit;
588 extern Fl_Input2	*txt_hics203_cost_unit;
589 
590 //======================================================================
591 // HICS 206 tab
592 extern void create_hics206_tab();
593 
594 extern Fl_Group	*h206_tab;
595 extern Fl_Tabs		*h206_tab_type;
596 
597 extern Fl_Group	*h206_tab_plan;
598 extern Fl_Input2	*h206_txt_name;
599 extern Fl_Input2	*h206_txt_op_period;
600 extern Fl_Input2	*h206_txt_time_prepared;
601 extern Fl_Button	*h206_btn_time;
602 extern Fl_DateInput	*h206_txt_date_prepared;
603 extern Fl_Button	*h206_btn_date;
604 
605 extern Fl_Input2	*h206_txt_location;
606 extern Fl_Input2	*h206_txt_loc_contact;
607 extern Fl_Input2	*h206_txt_team_leader;
608 extern Fl_Input2	*h206_txt_team_contact;
609 extern FTextEdit	*h206_txt_special_instructions;
610 
611 extern Fl_Input2	*h206_txt_md_do;
612 extern Fl_Input2	*h206_txt_litters;
613 extern Fl_Input2	*h206_txt_pa_np;
614 extern Fl_Input2	*h206_txt_portable;
615 extern Fl_Input2	*h206_txt_rn_lpn;
616 extern Fl_Input2	*h206_txt_transport;
617 extern Fl_Input2	*h206_txt_tech_cn;
618 extern Fl_Input2	*h206_txt_wheelchairs;
619 extern Fl_Input2	*h206_txt_team_other;
620 extern Fl_Input2	*h206_txt_transport_other;
621 extern Fl_Input2	*h206_txt_meds_1;
622 extern Fl_Input2	*h206_txt_supp_1;
623 extern Fl_Input2	*h206_txt_meds_2;
624 extern Fl_Input2	*h206_txt_supp_2;
625 extern Fl_Input2	*h206_txt_meds_3;
626 extern Fl_Input2	*h206_txt_supp_3;
627 extern Fl_Input2	*h206_txt_meds_4;
628 extern Fl_Input2	*h206_txt_supp_4;
629 extern Fl_Input2	*h206_txt_meds_5;
630 extern Fl_Input2	*h206_txt_supp_5;
631 
632 extern Fl_Input2	*h206_txt_site_1;
633 extern Fl_Input2	*h206_txt_address_1;
634 extern Fl_Input2	*h206_txt_phone_1;
635 extern Fl_Input2	*h206_txt_spec_care_1;
636 extern Fl_Input2	*h206_txt_site_2;
637 extern Fl_Input2	*h206_txt_address_2;
638 extern Fl_Input2	*h206_txt_phone_2;
639 extern Fl_Input2	*h206_txt_spec_care_2;
640 extern Fl_Input2	*h206_txt_site_3;
641 extern Fl_Input2	*h206_txt_address_3;
642 extern Fl_Input2	*h206_txt_phone_3;
643 extern Fl_Input2	*h206_txt_spec_care_3;
644 extern Fl_Input2	*h206_txt_site_4;
645 extern Fl_Input2	*h206_txt_address_4;
646 extern Fl_Input2	*h206_txt_phone_4;
647 extern Fl_Input2	*h206_txt_spec_care_4;
648 
649 extern Fl_Input2	*h206_txt_preparer;
650 extern Fl_Input2	*h206_txt_facility;
651 
652 //======================================================================
653 // HICS 213 tab
654 
655 extern void create_hics213_tab();
656 
657 extern Fl_Group			*h213_tab;
658 extern Fl_Tabs			*h213_tab_type;
659 
660 extern Fl_Group			*tab_213_grp_orig;
661 extern Fl_Group			*tab_213_grp_msg;
662 extern Fl_Group			*tab_213_grp_action;
663 extern Fl_Group			*tab_213_grp_receipt1;
664 extern Fl_Group			*tab_213_grp_receipt2;
665 
666 extern Fl_Input2		*h213_txt_to;
667 extern Fl_Input2		*h213_txt_fm;
668 extern Fl_DateInput		*h213_txt_date;
669 extern Fl_Button		*h213_btn_date;
670 extern Fl_Input2		*h213_txt_time;
671 extern Fl_Button		*h213_btn_time0;
672 extern Fl_Check_Button	*h213_btn_phone;
673 extern Fl_Check_Button	*h213_btn_radio;
674 extern Fl_Check_Button	*h213_btn_other;
675 extern Fl_Check_Button	*h213_btn_yes;
676 extern Fl_Check_Button	*h213_btn_no;
677 extern Fl_Check_Button	*h213_btn_high;
678 extern Fl_Check_Button	*h213_btn_medium;
679 extern Fl_Check_Button	*h213_btn_low;
680 extern Fl_Input2		*h213_txt_reply_to;
681 extern FTextEdit		*h213_txt_msg;
682 extern FTextEdit		*h213_txt_action;
683 extern Fl_Input2		*h213_txt_rcvd_by;
684 extern Fl_Input2		*h213_txt_time_rcvd;
685 extern Fl_Button		*h213_btn_time1;
686 extern Fl_Input2		*h213_txt_fwd_to;
687 extern FTextEdit		*h213_txt_comments;
688 extern Fl_Input2		*h213_txt_rcvd_by2;
689 extern Fl_Input2		*h213_txt_time_rcvd2;
690 extern Fl_Button		*h213_btn_time2;
691 extern Fl_Input2		*h213_txt_fwd_to2;
692 extern FTextEdit		*h213_txt_comments2;
693 extern Fl_Input2		*h213_txt_facility;
694 
695 //======================================================================
696 // hics-214
697 //======================================================================
698 
699 extern void create_hics214_tab();
700 
701 extern Fl_Group			*hics214_tab;
702 extern Fl_Tabs			*hics214_tab_type;
703 extern Fl_Group			*hics214_tab_1;
704 extern Fl_Input2		*hics214_txt_incident;
705 extern Fl_Input2		*hics214_txt_date;
706 extern Fl_Input2		*hics214_txt_sec_brch;
707 extern Fl_Input2		*hics214_txt_position;
708 extern Fl_Button		*hics214_btn_date;
709 extern Fl_Input2		*hics214_txt_time;
710 extern Fl_Button		*hics214_btn_time;
711 extern Fl_Input2		*hics214_txt_op_period;
712 extern Fl_Input2		*hics214_txt_prepared_by;
713 extern Fl_Input2		*hics214_txt_facility;
714 
715 extern Fl_Group			*hics214_tab_2;
716 extern Fl_Input2		*hics214_txt_activity_time[];
717 extern Fl_Input2		*hics214_txt_activity_event[];
718 
719 //======================================================================
720 // IARU message
721 //======================================================================
722 
723 extern void			create_iaru_tab();
724 
725 extern Fl_Group		*tab_iaru;
726 extern Fl_Tabs		*tabs_iaru;
727 extern Fl_Group		*tab_iaru_message;
728 extern Fl_Group		*tab_iaru_information;
729 extern Fl_Input2	*iaru_txt_nbr;
730 extern Fl_ListBox	*iaru_sel_prec;
731 extern Fl_Input2	*iaru_txt_station;
732 extern Fl_Input2	*iaru_txt_orig;
733 extern Fl_Input2	*iaru_txt_t1;
734 extern Fl_Button	*iaru_btn_t1;
735 extern Fl_Input2	*iaru_txt_d1;
736 extern Fl_Button	*iaru_btn_d1;
737 extern Fl_Input2	*iaru_txt_check;
738 extern Fl_Button	*iaru_btn_check;
739 extern Fl_Input2	*iaru_txt_to;
740 extern Fl_Input2	*iaru_txt_fm;
741 extern FTextEdit	*iaru_txt_msg;
742 extern Fl_Input2	*iaru_txt_rcv_fm;
743 extern Fl_Input2	*iaru_txt_d2;
744 extern Fl_Button	*iaru_btn_d2;
745 extern Fl_Input2	*iaru_txt_t2;
746 extern Fl_Button	*iaru_btn_t2;
747 extern Fl_Input2	*iaru_txt_sent_to;
748 extern Fl_Input2	*iaru_txt_d3;
749 extern Fl_Button	*iaru_btn_d3;
750 extern Fl_Input2	*iaru_txt_t3;
751 extern Fl_Button	*iaru_btn_t3;
752 
753 //======================================================================
754 // Radiogram
755 //======================================================================
756 extern void			create_radiogram_tab();
757 
758 extern Fl_Group		*tab_radiogram;
759 extern Fl_Tabs		*tabs_radiogram;
760 extern Fl_Group		*tab_radiogram_message;
761 extern Fl_Input2	*txt_rg_nbr;
762 extern Fl_ListBox	*sel_rg_prec;
763 extern Fl_Input2	*txt_rg_hx;
764 extern Fl_Button	*btn_rg_hx;
765 extern Fl_Input2	*txt_rg_station;
766 extern Fl_Input2	*txt_rg_place;
767 extern Fl_Input2	*txt_rg_t1;
768 extern Fl_Button	*btn_rgTime1;
769 extern Fl_Input2	*txt_rg_d1;
770 extern Fl_Button	*btn_rgDate1;
771 extern Fl_Input2	*txt_rg_to;
772 extern Fl_Input2	*txt_rg_phone;
773 extern Fl_Input2	*txt_rg_opnote;
774 extern FTextEdit	*txt_rg_msg;
775 extern Fl_Button	*btn_arl;
776 extern Fl_Input2	*txt_rg_check;
777 extern Fl_Button	*btn_rg_check;
778 extern Fl_Input2	*txt_rg_sig;
779 extern Fl_Input2	*txt_rg_opnote2;
780 extern Fl_Check_Button	*btn_rg_svc;
781 extern Fl_Group		*tab_radiogram_information;
782 extern Fl_Input2	*txt_rg_orig;
783 extern Fl_Input2	*txt_rg_dt2;
784 extern Fl_Button	*btn_rgDateTime2;
785 extern Fl_Input2	*txt_rg_dt3;
786 extern Fl_Button	*btn_rgDateTime3;
787 extern Fl_Input2	*txt_rg_dlvd_to;
788 extern Fl_Input2	*txt_rg_rcv_fm;
789 extern Fl_Input2	*txt_rg_rcv_net;
790 extern Fl_Input2	*txt_rg_dt4;
791 extern Fl_Button	*btn_rgDateTime4;
792 extern Fl_Input2	*txt_rg_sent_to;
793 extern Fl_Input2	*txt_rg_snt_net;
794 extern Fl_Input2	*txt_rg_dt5;
795 extern Fl_Button	*btn_rgDateTime5;
796 
797 extern Fl_Check_Button	*btn_rg_standard;
798 
799 //======================================================================
800 // Plaintext
801 //======================================================================
802 extern void			create_plaintext_tab();
803 
804 extern Fl_Group		*tab_plaintext;
805 extern Fl_Input2	*txt_pt_title;
806 extern Fl_Input2	*txt_pt_to;
807 extern Fl_Input2	*txt_pt_fm;
808 extern Fl_Input2	*txt_pt_subj;
809 extern FTextEdit	*txt_pt_msg;
810 extern Fl_DateInput	*txt_pt_date;
811 extern Fl_Button	*btn_pt_date;
812 extern Fl_Input2	*txt_pt_time;
813 extern Fl_Button	*btn_pt_time;
814 
815 //======================================================================
816 // Blank
817 //======================================================================
818 extern void			create_blank_tab();
819 
820 extern Fl_Group		*tab_blank;
821 extern FTextEdit		*txt_blank_msg;
822 
823 //======================================================================
824 // CSV
825 //======================================================================
826 extern void			create_csv_tab();
827 
828 extern Fl_Group		*tab_csv;
829 extern FTextEdit		*txt_csv_msg;
830 
831 //======================================================================
832 // CUSTOM
833 //======================================================================
834 extern int num_custom_entries;
835 extern int custom_select;
836 
837 extern void			create_custom_tab();
838 extern Fl_Group		*tab_custom;
839 extern FTextView		*txt_custom_msg;
840 
841 extern void get_html_vars(struct mg_connection *conn);
842 extern void custom_editor(struct mg_connection *conn);
843 extern void custom_viewer(struct mg_connection *conn);
844 
845 extern void			create_custom_transfer_tab();
846 extern Fl_Group		*tab_custom_transfer;
847 
848 extern Fl_ListBox *custom_selector;
849 extern Fl_Output  * txt_rcvd_custom_html_filename;
850 extern Fl_Button  * btn_save_custom_html_file;
851 extern vector<string> custom_files;
852 
853 //======================================================================
854 // Drag-n-Drop
855 //======================================================================
856 extern void			create_dnd_tab();
857 
858 extern Fl_Group		*tab_dnd;
859 extern Fl_Input		*drop_box;
860 
861 //======================================================================
862 // MARS tab
863 //======================================================================
864 
865 extern void			create_mars_tab();
866 
867 extern Fl_Group		*tab_mars;
868 extern Fl_Tabs		*tab_mars_type;
869 
870 extern string mars_list_lname;
871 extern string mars_list_call;
872 extern string mars_list_state;
873 extern string mars_list_bcall;
874 extern string mars_list_position;
875 
876 extern bool get_mars_list_text();
877 
878 extern void cb_mars_fl_input2(Fl_Widget *w, void *d);
879 extern void cb_mars_text(Fl_Widget *w, void *d);
880 extern string notail(string s);
881 extern string maxchars(string s, unsigned int n, int indent = 0);
882 
883 //======================================================================
884 // MARS daily
885 //======================================================================
886 
887 extern void			create_mars_daily();
888 
889 extern Fl_Group		*tab_mars_daily;
890 extern Fl_Tabs		*tab_mars_daily_type;
891 extern Fl_Group		*tab_mars_daily_1;
892 extern Fl_Input2	*txt_mars_daily_incident;
893 extern Fl_Input2	*txt_mars_daily_de;
894 extern Fl_Button	*btn_mars_daily_de_me;
895 extern Fl_Input2	*txt_mars_daily_nbr;
896 extern Fl_ListBox	*sel_mars_daily_prec;
897 extern Fl_Input2	*txt_mars_daily_dtg;
898 extern Fl_Button	*btn_mars_daily_dtg;
899 extern Fl_Input2	*txt_mars_daily_fm_name;
900 extern Fl_Input2	*txt_mars_daily_fm_call;
901 extern Fl_Input2	*txt_mars_daily_fm_state;
902 extern Fl_Button	*btn_mars_daily_pick_fm;
903 extern Fl_Input2	*txt_mars_daily_to_pos;
904 extern Fl_Input2	*txt_mars_daily_to_call;
905 extern Fl_Input2	*txt_mars_daily_to_state;
906 extern Fl_Button	*btn_mars_daily_pick_to;
907 extern Fl_Input2	*txt_mars_daily_pos1;
908 extern Fl_Input2	*txt_mars_daily_call1;
909 extern Fl_Input2	*txt_mars_daily_state1;
910 extern Fl_Button	*btn_mars_daily_pick_info1;
911 extern Fl_Input2	*txt_mars_daily_pos2;
912 extern Fl_Input2	*txt_mars_daily_call2;
913 extern Fl_Input2	*txt_mars_daily_state2;
914 extern Fl_Button	*btn_mars_daily_pick_info2;
915 extern Fl_Input2	*txt_mars_daily_pos3;
916 extern Fl_Input2	*txt_mars_daily_call3;
917 extern Fl_Input2	*txt_mars_daily_state3;
918 extern Fl_Button	*btn_mars_daily_pick_info3;
919 extern Fl_Group 	*tab_mars_daily_2;
920 extern Fl_Input2	*txt_mars_daily_sitrep_id;
921 extern Fl_Input2	*txt_mars_daily_sitrep_loc;
922 extern Fl_Input2	*txt_mars_daily_dtg_24hr;
923 extern Fl_Button	*btn_mars_daily_dtg_24hr;
924 extern Fl_Input2	*txt_mars_daily_netcall;
925 extern Fl_ListBox	*sel_mars_daily_e_x;
926 extern Fl_Input2	*txt_mars_daily_dtg_active;
927 extern Fl_Button	*btn_mars_daily_dtg_active;
928 extern Fl_Input2	*txt_mars_daily_dtg_deactive;
929 extern Fl_Button	*btn_mars_daily_dtg_deactive;
930 extern Fl_Input2	*txt_mars_daily_nbr_stations;
931 extern Fl_Input2	*txt_mars_daily_details;
932 extern Fl_Input2	*txt_mars_daily_activations;
933 extern Fl_Input2	*txt_mars_daily_agencies;
934 extern Fl_Input2	*txt_mars_daily_remarks;
935 
936 //======================================================================
937 // MARS ineei
938 //======================================================================
939 
940 extern void			create_mars_ineei();
941 
942 extern Fl_Group		*tab_mars_ineei;
943 extern Fl_Tabs		*tab_mars_ineei_type;
944 
945 extern Fl_Group		*tab_mars_ineei_1;
946 
947 extern Fl_Input2	*txt_mars_ineei_DE;
948 extern Fl_Input2	*txt_mars_ineei_NBR;
949 extern Fl_ListBox	*sel_mars_ineei_PREC;
950 extern Fl_Input2	*txt_mars_ineei_DTG;
951 extern Fl_Input2	*txt_mars_ineei_FMNAME;
952 extern Fl_Input2	*txt_mars_ineei_FMCALL;
953 extern Fl_Input2	*txt_mars_ineei_FMSTATE;
954 extern Fl_Input2	*txt_mars_ineei_TOPOS;
955 extern Fl_Input2	*txt_mars_ineei_TOCALL;
956 extern Fl_Input2	*txt_mars_ineei_TOSTATE;
957 extern Fl_Input2	*txt_mars_ineei_INFO1POS;
958 extern Fl_Input2	*txt_mars_ineei_INFO1CALL;
959 extern Fl_Input2	*txt_mars_ineei_INFO1STATE;
960 extern Fl_Input2	*txt_mars_ineei_INFO2POS;
961 extern Fl_Input2	*txt_mars_ineei_INFO2CALL;
962 extern Fl_Input2	*txt_mars_ineei_INFO2STATE;
963 extern Fl_Input2	*txt_mars_ineei_INFO3POS;
964 extern Fl_Input2	*txt_mars_ineei_INFO3CALL;
965 extern Fl_Input2	*txt_mars_ineei_INFO3STATE;
966 extern Fl_Input2	*txt_mars_ineei_INFO4POS;
967 extern Fl_Input2	*txt_mars_ineei_INFO4CALL;
968 extern Fl_Input2	*txt_mars_ineei_INFO4STATE;
969 extern Fl_Input2	*txt_mars_ineei_INFO5POS;
970 extern Fl_Input2	*txt_mars_ineei_INFO5CALL;
971 extern Fl_Input2	*txt_mars_ineei_INFO5STATE;
972 extern Fl_Input2	*txt_mars_ineei_INFO6POS;
973 extern Fl_Input2	*txt_mars_ineei_INFO6CALL;
974 extern Fl_Input2	*txt_mars_ineei_INFO6STATE;
975 extern Fl_Input2	*txt_mars_ineei_INFO7POS;
976 extern Fl_Input2	*txt_mars_ineei_INFO7CALL;
977 extern Fl_Input2	*txt_mars_ineei_INFO7STATE;
978 extern Fl_Input2	*txt_mars_ineei_INFO8POS;
979 extern Fl_Input2	*txt_mars_ineei_INFO8CALL;
980 extern Fl_Input2	*txt_mars_ineei_INFO8STATE;
981 extern Fl_Input2	*txt_mars_ineei_INFO9POS;
982 extern Fl_Input2	*txt_mars_ineei_INFO9CALL;
983 extern Fl_Input2	*txt_mars_ineei_INFO9STATE;
984 extern Fl_Input2	*txt_mars_ineei_INFO10POS;
985 extern Fl_Input2	*txt_mars_ineei_INFO10CALL;
986 extern Fl_Input2	*txt_mars_ineei_INFO10STATE;
987 extern Fl_Input2	*txt_mars_ineei_INCIDENT;
988 
989 extern Fl_Group		*tab_mars_ineei_2;
990 
991 extern Fl_Input2	*txt_mars_ineei_REF;
992 extern Fl_Input2	*txt_mars_ineei_STATE;
993 extern Fl_Input2	*txt_mars_ineei_1A_INCIDENT;
994 extern Fl_Input2	*txt_mars_ineei_1A_LOCATION;
995 extern Fl_Input2	*txt_mars_ineei_1A_TIME;
996 extern Fl_Input2	*txt_mars_ineei_1B_MEDFACSTS;
997 extern Fl_Input2	*txt_mars_ineei_1C_TRNPSTS;
998 extern Fl_Input2	*txt_mars_ineei_1D_DAMAGE;
999 extern Fl_Input2	*txt_mars_ineei_1E_UTILSTS;
1000 extern Fl_Input2	*txt_mars_ineei_1F_COMMSTS;
1001 extern Fl_Input2	*txt_mars_ineei_1G_INFOSRC;
1002 extern Fl_Input2	*txt_mars_ineei_1G_INFOTIME;
1003 extern Fl_Input2	*txt_mars_ineei_1H_REMARKS;
1004 
1005 //======================================================================
1006 // MARS net
1007 //======================================================================
1008 
1009 extern void			create_mars_net();
1010 
1011 extern Fl_Group		*tab_mars_net;
1012 extern Fl_Tabs		*tab_mars_net_type;
1013 
1014 extern Fl_Group		*tab_mars_net_1;
1015 extern Fl_Group		*tab_mars_net_2;
1016 
1017 extern Fl_Input2	*txt_mars_net_DE;
1018 extern Fl_Input2	*txt_mars_net_NBR;
1019 extern Fl_ListBox	*sel_mars_net_PREC;
1020 extern Fl_Input2	*txt_mars_net_DTG;
1021 extern Fl_Input2	*txt_mars_net_FMNAME;
1022 extern Fl_Input2	*txt_mars_net_FMCALL;
1023 extern Fl_Input2	*txt_mars_net_FMSTATE;
1024 extern Fl_Input2	*txt_mars_net_TOPOS;
1025 extern Fl_Input2	*txt_mars_net_TOCALL;
1026 extern Fl_Input2	*txt_mars_net_TOSTATE;
1027 extern Fl_Input2	*txt_mars_net_INFOPOS;
1028 extern Fl_Input2	*txt_mars_net_INFOCALL;
1029 extern Fl_Input2	*txt_mars_net_INFOSTATE;
1030 extern Fl_Input2	*txt_mars_net_INCIDENT;
1031 extern Fl_Input2	*txt_mars_net_DND;
1032 extern Fl_Input2	*txt_mars_net_NETCALL;
1033 extern Fl_Input2	*txt_mars_net_DTGSTART;
1034 extern Fl_Input2	*txt_mars_net_DTGEND;
1035 extern Fl_Input2	*txt_mars_net_NETSB;
1036 extern Fl_Input2	*txt_mars_net_NCSCALL;
1037 extern Fl_Input2	*txt_mars_net_NBRSTAS;
1038 extern Fl_Input2	*txt_mars_net_CALLS;
1039 extern Fl_Input2	*txt_mars_net_NBRMSGS;
1040 extern Fl_Input2	*txt_mars_net_COMMENTS;
1041 
1042 //======================================================================
1043 // MARS Army Standard Message
1044 //======================================================================
1045 
1046 extern void			create_mars_army();
1047 
1048 extern Fl_Group		*tab_mars_army;
1049 
1050 extern Fl_Tabs		*tab_mars_army_type;
1051 extern Fl_Group		*tab_mars_army_1;
1052 extern Fl_Group		*tab_mars_army_2;
1053 
1054 extern Fl_Input2	*txt_mars_army_de;
1055 extern Fl_Input2	*txt_mars_army_nbr;
1056 
1057 extern Fl_Input2	*txt_mars_army_dtg;
1058 extern Fl_Input2	*txt_mars_army_fm;
1059 extern Fl_Input2	*txt_mars_army_subj;
1060 
1061 extern FTextEdit	*txt_mars_army_to;
1062 extern FTextEdit	*txt_mars_army_info;
1063 extern FTextEdit	*txt_mars_army_text;
1064 
1065 extern Fl_Button	*btn_mars_army_dtg;
1066 extern Fl_Button	*btn_mars_army_pick_fm;
1067 extern Fl_Button	*btn_mars_army_pick_to;
1068 extern Fl_Button	*btn_mars_army_pick_info;
1069 
1070 extern Fl_ListBox	*sel_mars_army_prec;
1071 
1072 //======================================================================
1073 // MARS Navy Standard Message
1074 //======================================================================
1075 
1076 extern void			create_mars_navy();
1077 
1078 extern Fl_Group		*tab_mars_navy;
1079 
1080 extern Fl_Tabs		*tab_mars_navy_type;
1081 extern Fl_Group	*tab_mars_navy_1;
1082 extern Fl_Group	*tab_mars_navy_2;
1083 
1084 extern Fl_Input2	*txt_mars_navy_de;
1085 extern Fl_Input2	*txt_mars_navy_serno;
1086 
1087 extern Fl_Input2	*txt_mars_navy_dtg;
1088 extern Fl_Input2	*txt_mars_navy_fm;
1089 extern Fl_Input2	*txt_mars_navy_subj;
1090 
1091 extern FTextEdit	*txt_mars_navy_to;
1092 extern FTextEdit	*txt_mars_navy_info;
1093 extern FTextEdit	*txt_mars_navy_text;
1094 
1095 extern Fl_Button	*btn_mars_navy_dtg;
1096 extern Fl_Button	*btn_mars_navy_pick_fm;
1097 extern Fl_Button	*btn_mars_navy_pick_to;
1098 extern Fl_Button	*btn_mars_navy_pick_info;
1099 
1100 extern Fl_ListBox	*sel_mars_navy_prec;
1101 
1102 //======================================================================
1103 // National Hurricane Center, Hurricane Weather Report Form
1104 //======================================================================
1105 
1106 extern void create_wxhc_tab();
1107 
1108 extern Fl_Group	*tab_wxhc;
1109 extern Fl_Tabs		*tab_wxhc_type;
1110 
1111 extern Fl_Group	*tab_wxhc_1;
1112 
1113 extern Fl_Input2	*w_wxhc_rptsta;
1114 extern Fl_Input2	*w_wxhc_email;
1115 extern Fl_Input2	*w_wxhc_phone;
1116 extern Fl_Input2	*w_wxhc_addr;
1117 extern Fl_Input2	*w_wxhc_city;
1118 extern Fl_Input2	*w_wxhc_state;
1119 extern Fl_Input2	*w_wxhc_country;
1120 extern Fl_Input2	*w_wxhc_lat;
1121 extern Fl_Input2	*w_wxhc_long;
1122 extern Fl_Input2	*w_wxhc_date;
1123 extern Fl_Input2	*w_wxhc_time;
1124 extern Fl_Check_Button *w_wxhc_meas;
1125 extern Fl_Check_Button *w_wxhc_est;
1126 extern Fl_Input2	*w_wxhc_wind_speed;
1127 extern Fl_ListBox	*w_wxhc_wind_speed_units;
1128 extern Fl_Input2	*w_wxhc_wind_gusts;
1129 extern Fl_ListBox	*w_wxhc_wind_gusts_units;
1130 extern Fl_ListBox	*w_wxhc_wind_dir;
1131 extern Fl_Input2	*w_wxhc_wind_degrees;
1132 extern Fl_Input2	*w_wxhc_baro_press;
1133 extern Fl_ListBox	*w_wxhc_baro_units;
1134 
1135 extern Fl_Group	*tab_wxhc_2;
1136 
1137 extern FTextEdit	*w_wxhc_comments;
1138 
1139 //======================================================================
1140 // Severe Weather Report Form
1141 //======================================================================
1142 
1143 extern void create_severe_wx_tab();
1144 
1145 extern Fl_Group	*tab_severe_wx;
1146 extern Fl_Tabs		*tab_severe_wx_type;
1147 
1148 extern Fl_Group	*tab_severe_wx_1;
1149 extern Fl_DateInput	*w_severe_wx_date;
1150 extern Fl_Input2	*w_severe_wx_time;
1151 extern Fl_ListBox	*w_severe_wx_zone;
1152 extern Fl_Check_Button *w_severe_wx_meas;
1153 extern Fl_Check_Button *w_severe_wx_est;
1154 extern Fl_ListBox	*w_severe_wx_state;
1155 extern Fl_ListBox	*w_severe_wx_county;
1156 extern Fl_Input2	*w_severe_wx_city;
1157 extern Fl_Input2	*w_severe_wx_wind_speed;
1158 extern Fl_ListBox	*w_severe_wx_hail_size;
1159 extern Fl_Check_Button *w_severe_wx_exact;
1160 extern Fl_Check_Button *w_severe_wx_not_exact;
1161 extern Fl_Check_Button *w_severe_wx_tornado;
1162 extern Fl_Check_Button *w_severe_wx_funnel_cloud;
1163 extern Fl_Check_Button *w_severe_wx_wall_cloud;
1164 extern Fl_Check_Button *w_severe_wx_hail;
1165 extern Fl_Check_Button *w_severe_wx_high_wind;
1166 extern Fl_Check_Button *w_severe_wx_measured;
1167 extern Fl_Check_Button *w_severe_wx_estimated;
1168 extern Fl_Check_Button *w_severe_wx_flood;
1169 extern Fl_Check_Button *w_severe_wx_flash_flood;
1170 extern Fl_Check_Button *w_severe_wx_other;
1171 extern Fl_Check_Button *w_severe_wx_dmg_yes;
1172 extern Fl_Check_Button *w_severe_wx_dmg_no;
1173 extern Fl_Check_Button *w_severe_wx_inj_yes;
1174 extern Fl_Check_Button *w_severe_wx_inj_no;
1175 
1176 extern Fl_Group	*tab_severe_wx_2;
1177 extern FTextEdit	*w_severe_wx_narrative;
1178 
1179 //======================================================================
1180 // Severe Weather Report Form
1181 //======================================================================
1182 
1183 extern void create_storm_tab();
1184 
1185 extern Fl_Group		*tab_storm;
1186 extern Fl_Tabs			*tab_storm_type;
1187 
1188 extern Fl_Group		*tab_storm_1;
1189 
1190 extern Fl_DateInput	*w_storm_date;
1191 extern Fl_Input2		*w_storm_time;
1192 extern Fl_ListBox		*w_storm_zone;
1193 
1194 extern Fl_ListBox		*w_storm_state;
1195 extern Fl_ListBox		*w_storm_county;
1196 extern Fl_Input2		*w_storm_location;
1197 
1198 extern Fl_Check_Button *w_storm_tornado;
1199 extern Fl_ListBox		*w_storm_tornado_cat;
1200 
1201 extern Fl_Check_Button *w_storm_hail;
1202 extern Fl_ListBox		*w_storm_hail_size;
1203 
1204 extern Fl_Check_Button *w_storm_wind;
1205 extern Fl_ListBox		*w_storm_wind_cat;
1206 
1207 extern Fl_Check_Button *w_storm_flood;
1208 extern Fl_ListBox		*w_storm_flood_cat;
1209 
1210 extern Fl_Check_Button *w_storm_damage;
1211 extern Fl_ListBox		*w_storm_damage_cat;
1212 
1213 extern Fl_Check_Button *w_storm_snow;
1214 extern Fl_ListBox		*w_storm_snow_tot;
1215 extern Fl_ListBox		*w_storm_snow_dur;
1216 
1217 extern Fl_Check_Button *w_storm_f_rain;
1218 extern Fl_ListBox		*w_storm_f_rain_tot;
1219 extern Fl_ListBox		*w_storm_f_rain_dur;
1220 
1221 extern Fl_Check_Button *w_storm_h_rain;
1222 extern Fl_ListBox		*w_storm_h_rain_tot;
1223 extern Fl_ListBox		*w_storm_h_rain_dur;
1224 
1225 extern Fl_Input2		*w_storm_o_name;
1226 extern Fl_Input2		*w_storm_o_email;
1227 extern Fl_Input2		*w_storm_o_tele;
1228 extern Fl_ListBox		*w_storm_o_profile;
1229 
1230 extern Fl_Group		*tab_storm_2;
1231 extern FTextEdit		*w_storm_details;
1232 
1233 extern void set_storm_counties(int);
1234 
1235 //======================================================================
1236 // Civil Air Patrol (CAP) forms
1237 //======================================================================
1238 // CAP-105, Radio Message
1239 
1240 extern Fl_Group	*tab_cap105;
1241 extern Fl_Tabs		*tabs_cap105;
1242 extern Fl_Group	*tab_cap105_message;
1243 extern Fl_Group	*tab_cap105_information;
1244 
1245 extern Fl_Input2 *cap105_txt_nbr;
1246 extern Fl_ListBox *cap105_sel_prec;
1247 
1248 extern Fl_Input2 *cap105_txt_dtm;
1249 extern Fl_Button *cap105_btn_dtm;
1250 
1251 extern Fl_Input2 *cap105_txt_from;
1252 extern Fl_Input2 *cap105_txt_to;
1253 extern Fl_Input2 *cap105_txt_info;
1254 
1255 extern Fl_Input2 *cap105_txt_subj;
1256 
1257 extern Fl_Input2 *cap105_txt_grpcnt;
1258 extern Fl_Button *cap105_btn_check;
1259 
1260 extern FTextEdit *cap105_txt_msg;
1261 
1262 extern Fl_Input2 *cap105_txt_rcvd_fm;
1263 extern Fl_Input2 *cap105_txt_rcvd_dtm;
1264 extern Fl_Button *cap105_btn_rcvd_dtm;
1265 
1266 extern Fl_Input2 *cap105_txt_sent_to;
1267 extern Fl_Input2 *cap105_txt_sent_dtm;
1268 extern Fl_Button *cap105_btn_sent_dtm;
1269 
1270 extern Fl_Input2 *cap105_txt_rcvop;
1271 extern Fl_Input2 *cap105_txt_sendop;
1272 
1273 extern void create_cap105_tab();
1274 
1275 // cap110 comms report
1276 
1277 extern Fl_Group	*tab_cap110;
1278 extern Fl_Tabs		*tab_cap110_type;
1279 extern Fl_Group	*tab_cap110_1;
1280 
1281 extern Fl_Input2	*txt_110_mission_nbr;
1282 extern Fl_Input2	*txt_110_station;
1283 extern Fl_Input2	*txt_110_date;
1284 extern Fl_Button	*btn_110_date;
1285 extern Fl_Input2	*txt_110_ds_a;
1286 extern Fl_Input2	*txt_110_ds_b;
1287 extern Fl_Input2	*txt_110_ds_c;
1288 extern Fl_Input2	*txt_110_ds_d;
1289 extern Fl_Input2	*txt_110_ds_e;
1290 extern Fl_Input2	*txt_110_ds_f;
1291 
1292 extern Fl_Group	*tab_cap110_2;
1293 extern Fl_Input2	*txt_110_comm_time[23];
1294 extern Fl_Input2	*txt_110_comm_call[23];
1295 extern Fl_Input2	*txt_110_comm_chref[23];
1296 extern Fl_Input2	*txt_110_comm_rem[23];
1297 
1298 extern void create_cap110_tab();
1299 
1300 //======================================================================
1301 // external string arrays
1302 //
1303 extern const std::string counties;
1304 extern const std::string states[];
1305 extern int numstates;
1306 extern const std::string hail_size[];
1307 extern int num_hail_size;
1308 extern const string tzones[];
1309 extern int num_tzones;
1310 extern const std::string us_tzones[];
1311 extern int num_us_tzones;
1312 
1313 #endif
1314