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