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 #include "gettext.h"
22 #include "status.h"
23 #include "util.h"
24 
25 #include "flmsg_dialog.h"
26 #include "flmsg.h"
27 
28 Fl_Group	*tab_ics205 = (Fl_Group *)0;
29 Fl_Tabs		*tabs_ics205 = (Fl_Tabs *)0;
30 Fl_Group	*tab_205_1 = (Fl_Group *)0;
31 Fl_Group	*tab_205_2 = (Fl_Group *)0;
32 
33 Fl_Input2	*txt_205_name = (Fl_Input2 *)0;
34 Fl_Input2	*txt_205_dt_prepared = (Fl_Input2 *)0;
35 Fl_Button	*btn_205_dt_prepared = (Fl_Button *)0;
36 
37 Fl_Input2	*txt_205_dt_op_from = (Fl_Input2 *)0;
38 Fl_Button	*btn_205_dt_op_from = (Fl_Button *)0;
39 
40 Fl_Input2	*txt_205_dt_op_to = (Fl_Input2 *)0;
41 Fl_Button	*btn_205_dt_op_to = (Fl_Button *)0;
42 
43 Fl_Input2	*txt_205_func[20]={(Fl_Input2 *)0};
44 Fl_Input2	*txt_205_channel[20]={(Fl_Input2 *)0};
45 Fl_Input2	*txt_205_assign[20]={(Fl_Input2 *)0};
46 Fl_Input2	*txt_205_rx_freq[20]={(Fl_Input2 *)0};
47 Fl_Input2	*txt_205_rx_tone[20]={(Fl_Input2 *)0};
48 Fl_Input2	*txt_205_tx_freq[20]={(Fl_Input2 *)0};
49 Fl_Input2	*txt_205_tx_tone[20]={(Fl_Input2 *)0};
50 Fl_Input2	*txt_205_mode_adm[20]={(Fl_Input2 *)0};
51 Fl_Input2	*txt_205_remarks[20]={(Fl_Input2 *)0};
52 Fl_Input2	*txt_205_preparer = (Fl_Input2 *)0;
53 Fl_Input2	*txt_205_county = (Fl_Input2 *)0;
54 Fl_Input2	*txt_205_state = (Fl_Input2 *)0;
55 Fl_Input2	*txt_205_latitude = (Fl_Input2 *)0;
56 Fl_Input2	*txt_205_longitude = (Fl_Input2 *)0;
57 
cb_btn_205_dt_prepared(Fl_Button *,void *)58 static void cb_btn_205_dt_prepared(Fl_Button*, void*) {
59   cb_205_SetDateTime1();
60 }
61 
cb_btn_205_dt_op_from(Fl_Button *,void *)62 static void cb_btn_205_dt_op_from(Fl_Button*, void*) {
63   cb_205_SetDateTime2();
64 }
65 
cb_btn_205_dt_op_to(Fl_Button *,void *)66 static void cb_btn_205_dt_op_to(Fl_Button*, void*) {
67   cb_205_SetDateTime3();
68 }
69 
70 
create_ics205_tab()71 void create_ics205_tab()
72 {
73 	int Y = tab_top;
74 	tab_ics205 = new Fl_Group(0, Y, 570, 390);
75 	tab_ics205->align(FL_ALIGN_TOP);
76 
77 	tabs_ics205 = new Fl_Tabs(0, Y+3, 570, 387);
78 	tabs_ics205->selection_color((Fl_Color)246);
79 
80 	tab_205_1 = new Fl_Group(0, Y+25, 570, 360, _("Plan"));
81 
82 	txt_205_name = new Fl_Input2(110, Y+35, 450, 24, _("Incident Name"));
83 	txt_205_name->tooltip(_(""));
84 	txt_205_name->box(FL_DOWN_BOX);
85 	txt_205_name->color((Fl_Color)FL_BACKGROUND2_COLOR);
86 	txt_205_name->selection_color((Fl_Color)FL_SELECTION_COLOR);
87 	txt_205_name->labeltype(FL_NORMAL_LABEL);
88 	txt_205_name->labelfont(0);
89 	txt_205_name->labelsize(14);
90 	txt_205_name->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
91 	txt_205_name->align(FL_ALIGN_LEFT);
92 	txt_205_name->callback(ics_changed);
93 	txt_205_name->when(FL_WHEN_CHANGED);
94 
95 	txt_205_dt_prepared = new Fl_Input2(110, Y+67, 155, 24, _("DT/TM Prep\'"));
96 	txt_205_dt_prepared->tooltip(_("ddhhmm MMM YY of preparation"));
97 	txt_205_dt_prepared->box(FL_DOWN_BOX);
98 	txt_205_dt_prepared->color((Fl_Color)FL_BACKGROUND2_COLOR);
99 	txt_205_dt_prepared->selection_color((Fl_Color)FL_SELECTION_COLOR);
100 	txt_205_dt_prepared->labeltype(FL_NORMAL_LABEL);
101 	txt_205_dt_prepared->labelfont(0);
102 	txt_205_dt_prepared->labelsize(14);
103 	txt_205_dt_prepared->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
104 	txt_205_dt_prepared->align(FL_ALIGN_LEFT);
105 	txt_205_dt_prepared->callback(ics_changed);
106 	txt_205_dt_prepared->when(FL_WHEN_CHANGED);
107 
108 	btn_205_dt_prepared = new Fl_Button(254, Y+67, 24, 24, _("..."));
109 	btn_205_dt_prepared->tooltip(_("Set today"));
110 	btn_205_dt_prepared->callback((Fl_Callback*)cb_btn_205_dt_prepared);
111 
112 	txt_205_dt_op_from = new Fl_Input2(378, Y+67, 155, 24, _("D/T from\'"));
113 	txt_205_dt_op_from->tooltip(_("Operational period from: ddhhmm MMM YY"));
114 	txt_205_dt_op_from->box(FL_DOWN_BOX);
115 	txt_205_dt_op_from->color((Fl_Color)FL_BACKGROUND2_COLOR);
116 	txt_205_dt_op_from->selection_color((Fl_Color)FL_SELECTION_COLOR);
117 	txt_205_dt_op_from->labeltype(FL_NORMAL_LABEL);
118 	txt_205_dt_op_from->labelfont(0);
119 	txt_205_dt_op_from->labelsize(14);
120 	txt_205_dt_op_from->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
121 	txt_205_dt_op_from->align(FL_ALIGN_LEFT);
122 	txt_205_dt_op_from->callback(ics_changed);
123 	txt_205_dt_op_from->when(FL_WHEN_CHANGED);
124 
125 	btn_205_dt_op_from = new Fl_Button(536, Y+67, 24, 24, _("..."));
126 	btn_205_dt_op_from->tooltip(_("Set today"));
127 	btn_205_dt_op_from->callback((Fl_Callback*)cb_btn_205_dt_op_from);
128 
129 	txt_205_dt_op_to = new Fl_Input2(378, Y+94, 155, 24, _("D/T to"));
130 	txt_205_dt_op_to->tooltip(_("Operational period to: ddhhmm MMM YY"));
131 	txt_205_dt_op_to->box(FL_DOWN_BOX);
132 	txt_205_dt_op_to->color((Fl_Color)FL_BACKGROUND2_COLOR);
133 	txt_205_dt_op_to->selection_color((Fl_Color)FL_SELECTION_COLOR);
134 	txt_205_dt_op_to->labeltype(FL_NORMAL_LABEL);
135 	txt_205_dt_op_to->labelfont(0);
136 	txt_205_dt_op_to->labelsize(14);
137 	txt_205_dt_op_to->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
138 	txt_205_dt_op_to->align(FL_ALIGN_LEFT);
139 	txt_205_dt_op_to->callback(ics_changed);
140 	txt_205_dt_op_to->when(FL_WHEN_CHANGED);
141 
142 	btn_205_dt_op_to = new Fl_Button(536, Y+94, 24, 24, _("..."));
143 	btn_205_dt_op_to->tooltip(_("Set today"));
144 	btn_205_dt_op_to->callback((Fl_Callback*)cb_btn_205_dt_op_to);
145 
146 	txt_205_preparer = new Fl_Input2(110, Y+140, 450, 24, _("Prepared by:"));
147 	txt_205_preparer->tooltip(_("Communications Unit"));
148 	txt_205_preparer->box(FL_DOWN_BOX);
149 	txt_205_preparer->color((Fl_Color)FL_BACKGROUND2_COLOR);
150 	txt_205_preparer->selection_color((Fl_Color)FL_SELECTION_COLOR);
151 	txt_205_preparer->labeltype(FL_NORMAL_LABEL);
152 	txt_205_preparer->labelfont(0);
153 	txt_205_preparer->labelsize(14);
154 	txt_205_preparer->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
155 	txt_205_preparer->align(FL_ALIGN_LEFT);
156 	txt_205_preparer->callback(ics_changed);
157 	txt_205_preparer->when(FL_WHEN_CHANGED);
158 
159 	txt_205_county = new Fl_Input2(110, Y+170, 200, 24, _("County:"));
160 	txt_205_county->tooltip(_("County"));
161 	txt_205_county->box(FL_DOWN_BOX);
162 	txt_205_county->color((Fl_Color)FL_BACKGROUND2_COLOR);
163 	txt_205_county->selection_color((Fl_Color)FL_SELECTION_COLOR);
164 	txt_205_county->labeltype(FL_NORMAL_LABEL);
165 	txt_205_county->labelfont(0);
166 	txt_205_county->labelsize(14);
167 	txt_205_county->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
168 	txt_205_county->align(FL_ALIGN_LEFT);
169 	txt_205_county->callback(ics_changed);
170 	txt_205_county->when(FL_WHEN_CHANGED);
171 
172 	txt_205_state = new Fl_Input2(110, Y+196, 60, 24, _("State:"));
173 	txt_205_state->tooltip(_("State (abbreviated)"));
174 	txt_205_state->box(FL_DOWN_BOX);
175 	txt_205_state->color((Fl_Color)FL_BACKGROUND2_COLOR);
176 	txt_205_state->selection_color((Fl_Color)FL_SELECTION_COLOR);
177 	txt_205_state->labeltype(FL_NORMAL_LABEL);
178 	txt_205_state->labelfont(0);
179 	txt_205_state->labelsize(14);
180 	txt_205_state->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
181 	txt_205_state->align(FL_ALIGN_LEFT);
182 	txt_205_state->callback(ics_changed);
183 	txt_205_state->when(FL_WHEN_CHANGED);
184 
185 	txt_205_latitude = new Fl_Input2(110, Y+226, 120, 24, _("Latitude:"));
186 	txt_205_latitude->tooltip(_("decimal degrees, North +"));
187 	txt_205_latitude->box(FL_DOWN_BOX);
188 	txt_205_latitude->color((Fl_Color)FL_BACKGROUND2_COLOR);
189 	txt_205_latitude->selection_color((Fl_Color)FL_SELECTION_COLOR);
190 	txt_205_latitude->labeltype(FL_NORMAL_LABEL);
191 	txt_205_latitude->labelfont(0);
192 	txt_205_latitude->labelsize(14);
193 	txt_205_latitude->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
194 	txt_205_latitude->align(FL_ALIGN_LEFT);
195 	txt_205_latitude->callback(ics_changed);
196 	txt_205_latitude->when(FL_WHEN_CHANGED);
197 
198 	txt_205_longitude = new Fl_Input2(110, Y+252, 120, 24, _("Longitude:"));
199 	txt_205_longitude->tooltip(_("decimal degrees, West +"));
200 	txt_205_longitude->box(FL_DOWN_BOX);
201 	txt_205_longitude->color((Fl_Color)FL_BACKGROUND2_COLOR);
202 	txt_205_longitude->selection_color((Fl_Color)FL_SELECTION_COLOR);
203 	txt_205_longitude->labeltype(FL_NORMAL_LABEL);
204 	txt_205_longitude->labelfont(0);
205 	txt_205_longitude->labelsize(14);
206 	txt_205_longitude->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
207 	txt_205_longitude->align(FL_ALIGN_LEFT);
208 	txt_205_longitude->callback(ics_changed);
209 	txt_205_longitude->when(FL_WHEN_CHANGED);
210 
211 	tab_205_1->end();
212 
213 	tab_205_1 = new Fl_Group(0, Y+25, 570, 360, _("Line items"));
214 
215 	Fl_Scroll* os = new Fl_Scroll(2, Y+30, 566, 356);
216 	os->type(Fl_Scroll::BOTH_ALWAYS);
217 	os->box(FL_DOWN_BOX);
218 	os->color((Fl_Color)215);
219 
220 	Fl_Box* osbox = new Fl_Box(2, Y+27, 2, 10);
221 	osbox->box(FL_NO_BOX);
222 
223 	for (int i = 0; i < 20; i++) {
224 		txt_205_func[i] = new Fl_Input2(2, Y + 40 + (i+1)*24, 70, 24,
225 								i == 0 ? _("Func'"):"");
226 		txt_205_func[i]->tooltip(_(""));
227 		txt_205_func[i]->box(FL_DOWN_BOX);
228 		txt_205_func[i]->color((Fl_Color)FL_BACKGROUND2_COLOR);
229 		txt_205_func[i]->selection_color((Fl_Color)FL_SELECTION_COLOR);
230 		txt_205_func[i]->labeltype(FL_NORMAL_LABEL);
231 		txt_205_func[i]->labelfont(0);
232 		txt_205_func[i]->labelsize(14);
233 		txt_205_func[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
234 		txt_205_func[i]->align(FL_ALIGN_TOP);
235 		txt_205_func[i]->callback(ics_changed);
236 		txt_205_func[i]->when(FL_WHEN_CHANGED);
237 
238 		txt_205_channel[i] = new Fl_Input2(72, Y + 40 + (i+1)*24, 60, 24,
239 								i == 0 ? _("Chan'"):"");
240 		txt_205_channel[i]->tooltip(_(""));
241 		txt_205_channel[i]->box(FL_DOWN_BOX);
242 		txt_205_channel[i]->color((Fl_Color)FL_BACKGROUND2_COLOR);
243 		txt_205_channel[i]->selection_color((Fl_Color)FL_SELECTION_COLOR);
244 		txt_205_channel[i]->labeltype(FL_NORMAL_LABEL);
245 		txt_205_channel[i]->labelfont(0);
246 		txt_205_channel[i]->labelsize(14);
247 		txt_205_channel[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
248 		txt_205_channel[i]->align(FL_ALIGN_TOP);
249 		txt_205_channel[i]->callback(ics_changed);
250 		txt_205_channel[i]->when(FL_WHEN_CHANGED);
251 
252 		txt_205_assign[i] = new Fl_Input2(132, Y + 40 + (i+1)*24, 80, 24,
253 								i == 0 ?_("Assign'"):"");
254 		txt_205_assign[i]->tooltip(_(""));
255 		txt_205_assign[i]->box(FL_DOWN_BOX);
256 		txt_205_assign[i]->color((Fl_Color)FL_BACKGROUND2_COLOR);
257 		txt_205_assign[i]->selection_color((Fl_Color)FL_SELECTION_COLOR);
258 		txt_205_assign[i]->labeltype(FL_NORMAL_LABEL);
259 		txt_205_assign[i]->labelfont(0);
260 		txt_205_assign[i]->labelsize(14);
261 		txt_205_assign[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
262 		txt_205_assign[i]->align(FL_ALIGN_TOP);
263 		txt_205_assign[i]->callback(ics_changed);
264 		txt_205_assign[i]->when(FL_WHEN_CHANGED);
265 
266 		txt_205_rx_freq[i] = new Fl_Input2(212, Y + 40 + (i+1)*24, 60, 24,
267 								i == 0 ? _("Rx\nFreq"):"");
268 		txt_205_rx_freq[i]->tooltip(_(""));
269 		txt_205_rx_freq[i]->box(FL_DOWN_BOX);
270 		txt_205_rx_freq[i]->color((Fl_Color)FL_BACKGROUND2_COLOR);
271 		txt_205_rx_freq[i]->selection_color((Fl_Color)FL_SELECTION_COLOR);
272 		txt_205_rx_freq[i]->labeltype(FL_NORMAL_LABEL);
273 		txt_205_rx_freq[i]->labelfont(0);
274 		txt_205_rx_freq[i]->labelsize(14);
275 		txt_205_rx_freq[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
276 		txt_205_rx_freq[i]->align(FL_ALIGN_TOP);
277 		txt_205_rx_freq[i]->callback(ics_changed);
278 		txt_205_rx_freq[i]->when(FL_WHEN_CHANGED);
279 
280 		txt_205_rx_tone[i] = new Fl_Input2(272, Y + 40 + (i+1)*24, 40, 24,
281 								i == 0 ? _("Rx\nTone"):"");
282 		txt_205_rx_tone[i]->tooltip(_(""));
283 		txt_205_rx_tone[i]->box(FL_DOWN_BOX);
284 		txt_205_rx_tone[i]->color((Fl_Color)FL_BACKGROUND2_COLOR);
285 		txt_205_rx_tone[i]->selection_color((Fl_Color)FL_SELECTION_COLOR);
286 		txt_205_rx_tone[i]->labeltype(FL_NORMAL_LABEL);
287 		txt_205_rx_tone[i]->labelfont(0);
288 		txt_205_rx_tone[i]->labelsize(14);
289 		txt_205_rx_tone[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
290 		txt_205_rx_tone[i]->align(FL_ALIGN_TOP);
291 		txt_205_rx_tone[i]->callback(ics_changed);
292 		txt_205_rx_tone[i]->when(FL_WHEN_CHANGED);
293 
294 		txt_205_tx_freq[i] = new Fl_Input2(312, Y + 40 + (i+1)*24, 60, 24,
295 								i == 0 ? _("Tx\nFreq"):"");
296 		txt_205_tx_freq[i]->tooltip(_(""));
297 		txt_205_tx_freq[i]->box(FL_DOWN_BOX);
298 		txt_205_tx_freq[i]->color((Fl_Color)FL_BACKGROUND2_COLOR);
299 		txt_205_tx_freq[i]->selection_color((Fl_Color)FL_SELECTION_COLOR);
300 		txt_205_tx_freq[i]->labeltype(FL_NORMAL_LABEL);
301 		txt_205_tx_freq[i]->labelfont(0);
302 		txt_205_tx_freq[i]->labelsize(14);
303 		txt_205_tx_freq[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
304 		txt_205_tx_freq[i]->align(FL_ALIGN_TOP);
305 		txt_205_tx_freq[i]->callback(ics_changed);
306 		txt_205_tx_freq[i]->when(FL_WHEN_CHANGED);
307 
308 		txt_205_tx_tone[i] = new Fl_Input2(372, Y + 40 + (i+1)*24, 40, 24,
309 								i == 0 ? _("Tx\nTone"):"");
310 		txt_205_tx_tone[i]->tooltip(_(""));
311 		txt_205_tx_tone[i]->box(FL_DOWN_BOX);
312 		txt_205_tx_tone[i]->color((Fl_Color)FL_BACKGROUND2_COLOR);
313 		txt_205_tx_tone[i]->selection_color((Fl_Color)FL_SELECTION_COLOR);
314 		txt_205_tx_tone[i]->labeltype(FL_NORMAL_LABEL);
315 		txt_205_tx_tone[i]->labelfont(0);
316 		txt_205_tx_tone[i]->labelsize(14);
317 		txt_205_tx_tone[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
318 		txt_205_tx_tone[i]->align(FL_ALIGN_TOP);
319 		txt_205_tx_tone[i]->callback(ics_changed);
320 		txt_205_tx_tone[i]->when(FL_WHEN_CHANGED);
321 
322 		txt_205_mode_adm[i] = new Fl_Input2(412, Y + 40 + (i+1)*24, 50, 24,
323 								i == 0 ? _("Mode\nA/D/M"):"");
324 		txt_205_mode_adm[i]->tooltip(_(""));
325 		txt_205_mode_adm[i]->box(FL_DOWN_BOX);
326 		txt_205_mode_adm[i]->color((Fl_Color)FL_BACKGROUND2_COLOR);
327 		txt_205_mode_adm[i]->selection_color((Fl_Color)FL_SELECTION_COLOR);
328 		txt_205_mode_adm[i]->labeltype(FL_NORMAL_LABEL);
329 		txt_205_mode_adm[i]->labelfont(0);
330 		txt_205_mode_adm[i]->labelsize(14);
331 		txt_205_mode_adm[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
332 		txt_205_mode_adm[i]->align(FL_ALIGN_TOP);
333 		txt_205_mode_adm[i]->callback(ics_changed);
334 		txt_205_mode_adm[i]->when(FL_WHEN_CHANGED);
335 
336 		txt_205_remarks[i] = new Fl_Input2(462, Y + 40 + (i+1)*24, 548, 24,
337 								i == 0 ? _("Remarks"):"");
338 		txt_205_remarks[i]->tooltip(_(""));
339 		txt_205_remarks[i]->box(FL_DOWN_BOX);
340 		txt_205_remarks[i]->color((Fl_Color)FL_BACKGROUND2_COLOR);
341 		txt_205_remarks[i]->selection_color((Fl_Color)FL_SELECTION_COLOR);
342 		txt_205_remarks[i]->labeltype(FL_NORMAL_LABEL);
343 		txt_205_remarks[i]->labelfont(0);
344 		txt_205_remarks[i]->labelsize(14);
345 		txt_205_remarks[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR);
346 		txt_205_remarks[i]->align(FL_ALIGN_TOP_LEFT);
347 		txt_205_remarks[i]->callback(ics_changed);
348 		txt_205_remarks[i]->when(FL_WHEN_CHANGED);
349 	}
350 	os->end();
351 
352 	tab_205_1->end();
353 
354 	tabs_ics205->end();
355 	Fl_Group::current()->resizable(tabs_ics205);
356 
357 	tab_ics205->end();
358 
359 	tab_ics205->hide();
360 }
361