1 // ----------------------------------------------------------------------------
2 // Copyright (C) 2014
3 // David Freese, W1HKJ
4 //
5 // This file is part of flrig.
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 Fl_Group *gsmall = (Fl_Group *)0;
22
23 Fl_Menu_Item menu_small_menu[] = {
24 {_("&File"), 0, 0, 0, 64, FL_NORMAL_LABEL, 0, 14, 0},
25 {_("E&xit"), 0, (Fl_Callback*)cb_mnuExit, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
26 {0,0,0,0,0,0,0,0,0},
27 {_("&Config"), 0, 0, 0, 64, FL_NORMAL_LABEL, 0, 14, 0},
28 {_("Setup"), 0, 0, 0, 64, FL_NORMAL_LABEL, 0, 14, 0},
29 {_("Transceiver"), 0, (Fl_Callback*)cb_mnuConfigXcvr, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
30 {_("tcpip"), 0, (Fl_Callback*)cb_mnuTCPIP, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
31 {_("PTT"), 0, (Fl_Callback*)cb_mnuPTT, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
32 {_("GPIO"), 0, (Fl_Callback*)cb_mnuGPIO, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
33 {_("AUX"), 0, (Fl_Callback*)cb_mnuAUX, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
34 {_("Server"), 0, (Fl_Callback*)cb_mnuSERVER, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
35 {_("Polling"), 0, (Fl_Callback*)cb_Polling, 0, 128, FL_NORMAL_LABEL, 0, 14, 0},
36 {_("Trace"), 0, (Fl_Callback*)cb_mnuTrace, 0, 128, FL_NORMAL_LABEL, 0, 14, 0},
37 {_("Commands"), 0, (Fl_Callback*)cb_mnuCommands, 0, 128, FL_NORMAL_LABEL, 0, 14, 0},
38 {_("Send command"), 0, (Fl_Callback*)cb_Send, 0, 128, FL_NORMAL_LABEL, 0, 14, 0},
39 {_("Restore"), 0, (Fl_Callback*)cb_Restore, 0, 128, FL_NORMAL_LABEL, 0, 14, 0},
40 {0,0,0,0,0,0,0,0,0},
41 {_("UI"), 0, 0, 0, 64, FL_NORMAL_LABEL, 0, 14, 0},
42 {_("Meter filtering"), 0, (Fl_Callback*)cb_mnu_meter_filtering, 0, 128, FL_NORMAL_LABEL, 0, 14, 0},
43 {_("Small sliders"), 0, (Fl_Callback*)cb_mnuSchema, 0, 130, FL_NORMAL_LABEL, 0, 14, 0},
44 {_("Tooltips"), 0, (Fl_Callback*)cb_mnuTooltips, 0, 130, FL_NORMAL_LABEL, 0, 14, 0},
45 {_("User Interface"), 0, (Fl_Callback*)cb_mnuColorConfig, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
46 {0,0,0,0,0,0,0,0,0},
47 {0,0,0,0,0,0,0,0,0},
48 {_("&Memory"), 0, 0, 0, 64, FL_NORMAL_LABEL, 0, 14, 0},
49 {_("Save"), 0, (Fl_Callback*)cb_save_me, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
50 {_("Manage"), 0, (Fl_Callback*)cb_Memory, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
51 {0,0,0,0,0,0,0,0,0},
52 {_("&Keyer"), 0, (Fl_Callback*)cb_keyer, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
53 {_("&Help"), 0, 0, 0, 64, FL_NORMAL_LABEL, 0, 14, 0},
54 {_("On Line Help"), 0, (Fl_Callback*)cb_mnuOnLineHelp, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
55 {_("&About"), 0, (Fl_Callback*)cb_mnuAbout, 0, 128, FL_NORMAL_LABEL, 0, 14, 0},
56 {_("&Events"), 0, (Fl_Callback*)cb_Events, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
57 {_("&xml-help"), 0, (Fl_Callback*)cb_xml_help, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
58 {0,0,0,0,0,0,0,0,0},
59 {0,0,0,0,0,0,0,0,0}
60 };
61
62 int small_menuH = SMALL_MENUH;
63 int small_mainW = SMALL_MAINW;
64 int small_mainH = SMALL_MAINH;
65
small_main_group(int X,int Y,int W,int H)66 Fl_Group *small_main_group(int X, int Y, int W, int H)
67 {
68 Fl_Group *g = new Fl_Group(X,Y,W,H);
69 g->box(FL_FLAT_BOX);
70
71 FreqDispA = new cFreqControl(1, 24, 210, 35, _("10"));
72 // FreqDispA->box(FL_DOWN_BOX);
73 // FreqDispA->color(FL_BACKGROUND_COLOR);
74 // FreqDispA->selection_color(FL_BACKGROUND_COLOR);
75 // FreqDispA->labeltype(FL_NORMAL_LABEL);
76 // FreqDispA->labelfont(0);
77 // FreqDispA->labelsize(14);
78 // FreqDispA->labelcolor(FL_FOREGROUND_COLOR);
79 // FreqDispA->align(Fl_Align(FL_ALIGN_CENTER));
80 FreqDispA->when(FL_WHEN_CHANGED);
81 FreqDispA->SetONOFFCOLOR (FL_YELLOW, FL_BLACK);
82 FreqDispA->setCallBack(movFreqA);
83
84 FreqDispB = new cFreqControl(213, 24, 210, 35, _("10"));
85 // FreqDispB->box(FL_DOWN_BOX);
86 // FreqDispB->color(FL_BACKGROUND_COLOR);
87 // FreqDispB->selection_color(FL_BACKGROUND_COLOR);
88 // FreqDispB->labeltype(FL_NORMAL_LABEL);
89 // FreqDispB->labelfont(0);
90 // FreqDispB->labelsize(14);
91 // FreqDispB->labelcolor(FL_FOREGROUND_COLOR);
92 // FreqDispB->align(Fl_Align(FL_ALIGN_CENTER));
93 FreqDispB->when(FL_WHEN_CHANGED);
94 FreqDispB->SetONOFFCOLOR (FL_YELLOW, FL_BLACK);
95 FreqDispB->setCallBack(movFreqB);
96
97 btnVol = new Fl_Light_Button(2, 125, 50, 18, _("Vol"));
98 btnVol->tooltip(_("Speaker on/off"));
99 btnVol->down_box(FL_THIN_DOWN_BOX);
100 btnVol->value(1);
101 btnVol->labelsize(12);
102 btnVol->callback((Fl_Callback*)cb_btnVol);
103
104 sldrVOLUME = new Fl_Wheel_Value_Slider(54, 125, 156, 18);
105 sldrVOLUME->tooltip(_("Adjust Audio Volume"));
106 sldrVOLUME->type(5);
107 sldrVOLUME->box(FL_THIN_DOWN_BOX);
108 sldrVOLUME->color(FL_BACKGROUND_COLOR);
109 sldrVOLUME->selection_color(FL_BACKGROUND_COLOR);
110 sldrVOLUME->labeltype(FL_NORMAL_LABEL);
111 sldrVOLUME->labelfont(0);
112 sldrVOLUME->labelsize(12);
113 sldrVOLUME->labelcolor(FL_FOREGROUND_COLOR);
114 sldrVOLUME->maximum(100);
115 sldrVOLUME->step(1);
116 sldrVOLUME->textsize(12);
117 sldrVOLUME->callback((Fl_Callback*)cb_sldrVOLUME);
118 sldrVOLUME->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
119 sldrVOLUME->when(FL_WHEN_CHANGED | FL_MOUSEWHEEL | FL_LEAVE);
120 sldrVOLUME->reverse(true);
121
122 btnAGC = new Fl_Light_Button(2, 145, 50, 18, _("AGC"));
123 btnAGC->tooltip(_("Automatic Gain Control"));
124 btnAGC->down_box(FL_THIN_DOWN_BOX);
125 btnAGC->value(0);
126 btnAGC->labelsize(12);
127 btnAGC->callback((Fl_Callback*)cb_btnAGC);
128
129 sldrRFGAIN = new Fl_Wheel_Value_Slider(54, 145, 156, 18);
130 sldrRFGAIN->tooltip(_("Adjust RF gain"));
131 sldrRFGAIN->type(5);
132 sldrRFGAIN->box(FL_THIN_DOWN_BOX);
133 sldrRFGAIN->color(FL_BACKGROUND_COLOR);
134 sldrRFGAIN->selection_color(FL_BACKGROUND_COLOR);
135 sldrRFGAIN->labeltype(FL_NORMAL_LABEL);
136 sldrRFGAIN->labelfont(0);
137 sldrRFGAIN->labelsize(14);
138 sldrRFGAIN->labelcolor(FL_FOREGROUND_COLOR);
139 sldrRFGAIN->maximum(100);
140 sldrRFGAIN->step(1);
141 sldrRFGAIN->value(15);
142 sldrRFGAIN->textsize(12);
143 sldrRFGAIN->callback((Fl_Callback*)cb_sldrRFGAIN);
144 sldrRFGAIN->align(Fl_Align(FL_ALIGN_LEFT));
145 sldrRFGAIN->when(FL_WHEN_CHANGED);
146 sldrRFGAIN->reverse(true);
147
148 sldrSQUELCH = new Fl_Wheel_Value_Slider(54, 165, 156, 18, _("SQL"));
149 sldrSQUELCH->tooltip(_("Adjust Squelch"));
150 sldrSQUELCH->type(5);
151 sldrSQUELCH->box(FL_THIN_DOWN_BOX);
152 sldrSQUELCH->color(FL_BACKGROUND_COLOR);
153 sldrSQUELCH->selection_color(FL_BACKGROUND_COLOR);
154 sldrSQUELCH->labeltype(FL_NORMAL_LABEL);
155 sldrSQUELCH->labelfont(0);
156 sldrSQUELCH->labelsize(14);
157 sldrSQUELCH->labelcolor(FL_FOREGROUND_COLOR);
158 sldrSQUELCH->maximum(100);
159 sldrSQUELCH->step(1);
160 sldrSQUELCH->value(15);
161 sldrSQUELCH->textsize(12);
162 sldrSQUELCH->callback((Fl_Callback*)cb_sldrSQUELCH);
163 sldrSQUELCH->align(Fl_Align(FL_ALIGN_LEFT));
164 sldrSQUELCH->when(FL_WHEN_CHANGED);
165 sldrSQUELCH->reverse(true);
166
167 btnNR = new Fl_Light_Button(2, 185, 50, 18, _("NR"));
168 btnNR->tooltip(_("Noise Reduction On/Off"));
169 btnNR->down_box(FL_THIN_DOWN_BOX);
170 btnNR->labelsize(12);
171 btnNR->callback((Fl_Callback*)cb_btnNR);
172
173 sldrNR = new Fl_Wheel_Value_Slider(54, 185, 156, 18);
174 sldrNR->tooltip(_("Adjust noise reduction"));
175 sldrNR->type(5);
176 sldrNR->box(FL_THIN_DOWN_BOX);
177 sldrNR->color(FL_BACKGROUND_COLOR);
178 sldrNR->selection_color(FL_BACKGROUND_COLOR);
179 sldrNR->labeltype(FL_NORMAL_LABEL);
180 sldrNR->labelfont(0);
181 sldrNR->labelsize(12);
182 sldrNR->labelcolor(FL_FOREGROUND_COLOR);
183 sldrNR->maximum(100);
184 sldrNR->step(2);
185 sldrNR->textsize(12);
186 sldrNR->callback((Fl_Callback*)cb_sldrNR);
187 sldrNR->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
188 sldrNR->when(FL_WHEN_CHANGED);
189 sldrNR->reverse(true);
190
191 btnNotch = new Fl_Light_Button(2, 205, 50, 18, _("Nch"));
192 btnNotch->tooltip(_("Notch - Manual (off) Auto (on)"));
193 btnNotch->down_box(FL_THIN_DOWN_BOX);
194 btnNotch->labelsize(12);
195 btnNotch->callback((Fl_Callback*)cb_btnNotch);
196
197 sldrNOTCH = new Fl_Wheel_Value_Slider(54, 205, 156, 18);
198 sldrNOTCH->tooltip(_("Adjust Notch Frequency"));
199 sldrNOTCH->type(5);
200 sldrNOTCH->box(FL_THIN_DOWN_BOX);
201 sldrNOTCH->color(FL_BACKGROUND_COLOR);
202 sldrNOTCH->selection_color(FL_BACKGROUND_COLOR);
203 sldrNOTCH->labeltype(FL_NORMAL_LABEL);
204 sldrNOTCH->labelfont(0);
205 sldrNOTCH->labelsize(14);
206 sldrNOTCH->labelcolor(FL_FOREGROUND_COLOR);
207 sldrNOTCH->minimum(-1000);
208 sldrNOTCH->maximum(1000);
209 sldrNOTCH->step(10);
210 sldrNOTCH->textsize(12);
211 sldrNOTCH->callback((Fl_Callback*)cb_sldrNOTCH);
212 sldrNOTCH->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
213 sldrNOTCH->when(FL_WHEN_CHANGED);
214 sldrNOTCH->reverse(true);
215
216 btnLOCK = new Fl_Light_Button(2, 225, 50, 18, _("Lock"));
217 btnLOCK->tooltip(_("Lock PBT Inner/Outer sliders"));
218 btnLOCK->down_box(FL_THIN_DOWN_BOX);
219 btnLOCK->labelsize(12);
220 btnLOCK->callback((Fl_Callback*)cb_btnLOCK);
221
222 sldrINNER = new Fl_Wheel_Value_Slider(54, 225, 156, 18, "");
223 sldrINNER->tooltip(_("Adjust Icom Inner PBT"));
224 sldrINNER->type(5);
225 sldrINNER->box(FL_THIN_DOWN_BOX);
226 sldrINNER->color(FL_BACKGROUND_COLOR);
227 sldrINNER->selection_color(FL_BACKGROUND_COLOR);
228 sldrINNER->labeltype(FL_NORMAL_LABEL);
229 sldrINNER->labelfont(0);
230 sldrINNER->labelsize(12);
231 sldrINNER->labelcolor(FL_FOREGROUND_COLOR);
232 sldrINNER->minimum(-50);
233 sldrINNER->maximum(50);
234 sldrINNER->step(1);
235 sldrINNER->textsize(12);
236 sldrINNER->callback((Fl_Callback*)cb_sldrINNER);
237 sldrINNER->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
238 sldrINNER->when(FL_WHEN_CHANGED);
239 sldrINNER->reverse(true);
240
241 btnCLRPBT = new Fl_Button(
242 2, 245,
243 50, 18, _("ClrPBT"));
244 btnCLRPBT->tooltip(_("Zero PBT Inner/Outer sliders"));
245 btnCLRPBT->down_box(FL_THIN_DOWN_BOX);
246 btnCLRPBT->labelsize(12);
247 btnCLRPBT->callback((Fl_Callback*)cb_btnCLRPBT);
248
249 sldrOUTER = new Fl_Wheel_Value_Slider(54, 245, 156, 18, "");
250 sldrOUTER->tooltip(_("Adjust Icom Outer PBT"));
251 sldrOUTER->type(5);
252 sldrOUTER->box(FL_THIN_DOWN_BOX);
253 sldrOUTER->color(FL_BACKGROUND_COLOR);
254 sldrOUTER->selection_color(FL_BACKGROUND_COLOR);
255 sldrOUTER->labeltype(FL_NORMAL_LABEL);
256 sldrOUTER->labelfont(0);
257 sldrOUTER->labelsize(12);
258 sldrOUTER->labelcolor(FL_FOREGROUND_COLOR);
259 sldrOUTER->minimum(-50);
260 sldrOUTER->maximum(50);
261 sldrOUTER->step(1);
262 sldrOUTER->textsize(12);
263 sldrOUTER->callback((Fl_Callback*)cb_sldrOUTER);
264 sldrOUTER->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
265 sldrOUTER->when(FL_WHEN_CHANGED);
266 sldrOUTER->reverse(true);
267
268 btnIFsh = new Fl_Light_Button(2, 265, 50, 18, _("IFsh"));
269 btnIFsh->tooltip(_("IF Shift On/Off"));
270 btnIFsh->down_box(FL_THIN_DOWN_BOX);
271 btnIFsh->labelsize(12);
272 btnIFsh->callback((Fl_Callback*)cb_btnIFsh);
273
274 sldrIFSHIFT = new Fl_Wheel_Value_Slider(54, 265, 156, 18);
275 sldrIFSHIFT->tooltip(_("Adjust IF Shift"));
276 sldrIFSHIFT->type(5);
277 sldrIFSHIFT->box(FL_THIN_DOWN_BOX);
278 sldrIFSHIFT->color(FL_BACKGROUND_COLOR);
279 sldrIFSHIFT->selection_color(FL_BACKGROUND_COLOR);
280 sldrIFSHIFT->labeltype(FL_NORMAL_LABEL);
281 sldrIFSHIFT->labelfont(0);
282 sldrIFSHIFT->labelsize(12);
283 sldrIFSHIFT->labelcolor(FL_FOREGROUND_COLOR);
284 sldrIFSHIFT->minimum(-1000);
285 sldrIFSHIFT->maximum(1000);
286 sldrIFSHIFT->step(10);
287 sldrIFSHIFT->textsize(12);
288 sldrIFSHIFT->callback((Fl_Callback*)cb_sldrIFSHIFT);
289 sldrIFSHIFT->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
290 sldrIFSHIFT->when(FL_WHEN_CHANGED);
291 sldrIFSHIFT->reverse(true);
292
293 btnDataPort = new Fl_Light_Button(2, 285, 50, 18, _("Data"));
294 btnDataPort->tooltip(_("Input on Data Port"));
295 btnDataPort->down_box(FL_THIN_DOWN_BOX);
296 btnDataPort->labelsize(12);
297 btnDataPort->callback((Fl_Callback*)cb_btnDataPort);
298 btnDataPort->hide();
299 btnDataPort->value(progStatus.data_port);
300
301 sldrMICGAIN = new Fl_Wheel_Value_Slider(54, 285, 156, 18, _("Mic"));
302 sldrMICGAIN->tooltip(_("Adjust Mic Gain"));
303 sldrMICGAIN->type(5);
304 sldrMICGAIN->box(FL_THIN_DOWN_BOX);
305 sldrMICGAIN->color(FL_BACKGROUND_COLOR);
306 sldrMICGAIN->selection_color(FL_BACKGROUND_COLOR);
307 sldrMICGAIN->labeltype(FL_NORMAL_LABEL);
308 sldrMICGAIN->labelfont(0);
309 sldrMICGAIN->labelsize(14);
310 sldrMICGAIN->labelcolor(FL_FOREGROUND_COLOR);
311 sldrMICGAIN->maximum(100);
312 sldrMICGAIN->step(1);
313 sldrMICGAIN->textsize(12);
314 sldrMICGAIN->callback((Fl_Callback*)cb_sldrMICGAIN);
315 sldrMICGAIN->align(Fl_Align(FL_ALIGN_LEFT));
316 sldrMICGAIN->when(FL_WHEN_CHANGED);
317 sldrMICGAIN->reverse(true);
318
319 btnPOWER = new Fl_Light_Button(2, 305, 50, 18, _("Pwr"));
320 btnPOWER->tooltip(_("Enable/Disable Power adjuster"));
321 btnPOWER->value(1);
322 btnPOWER-> callback((Fl_Callback*) cb_btnPOWER);
323
324 sldrPOWER = new Fl_Wheel_Value_Slider(54, 305, 156, 18, "");
325 sldrPOWER->tooltip(_("Adjust power level"));
326 sldrPOWER->type(5);
327 sldrPOWER->box(FL_THIN_DOWN_BOX);
328 sldrPOWER->color(FL_BACKGROUND_COLOR);
329 sldrPOWER->selection_color(FL_BACKGROUND_COLOR);
330 sldrPOWER->labeltype(FL_NORMAL_LABEL);
331 sldrPOWER->labelfont(0);
332 sldrPOWER->labelsize(14);
333 sldrPOWER->labelcolor(FL_FOREGROUND_COLOR);
334 sldrPOWER->maximum(100);
335 sldrPOWER->step(1);
336 sldrPOWER->value(15);
337 sldrPOWER->textsize(12);
338 sldrPOWER->callback((Fl_Callback*)cb_sldrPOWER);
339 sldrPOWER->align(Fl_Align(FL_ALIGN_LEFT));
340 sldrPOWER->when(FL_WHEN_CHANGED);
341 sldrPOWER->reverse(true);
342
343 btnA = new Fl_Light_Button(212, 62, 52, 20, _("vfoA"));
344 btnA->tooltip(_("Rx-A / Tx-A"));
345 btnA->down_box(FL_THIN_DOWN_BOX);
346 btnA->labelsize(12);
347 btnA->callback((Fl_Callback*)cb_btnA);
348 btnA->value(!useB);
349
350 btnB = new Fl_Light_Button(265, 62, 52, 20, _("vfoB"));
351 btnB->tooltip(_("Rx-B / Tx-B"));
352 btnB->down_box(FL_THIN_DOWN_BOX);
353 btnB->labelsize(12);
354 btnB->callback((Fl_Callback*)cb_btnB);
355 btnB->value(useB);
356
357 labelMEMORY = new Fl_Box(212, 62, 105, 20, _("MEMORY"));
358 labelMEMORY->box(FL_DOWN_BOX);
359 labelMEMORY->color(FL_YELLOW);
360 labelMEMORY->align(FL_ALIGN_CENTER);
361 labelMEMORY->hide();
362
363 btn_K3_swapAB = new Fl_Button(265, 62, 52, 20, _("A/B"));
364 btn_K3_swapAB->tooltip(_("Swap A/B"));
365 btn_K3_swapAB->down_box(FL_DOWN_BOX);
366 btn_K3_swapAB->labelsize(12);
367 btn_K3_swapAB->callback((Fl_Callback*)cb_btn_K3_swapAB);
368 btn_K3_swapAB->hide();
369
370 btn_KX3_swapAB = new Fl_Button(265, 62, 52, 20, _("A/B"));
371 btn_KX3_swapAB->tooltip(_("Swap A/B"));
372 btn_KX3_swapAB->down_box(FL_DOWN_BOX);
373 btn_KX3_swapAB->labelsize(12);
374 btn_KX3_swapAB->callback((Fl_Callback*)cb_btn_KX3_swapAB);
375 btn_KX3_swapAB->hide();
376
377 btnAswapB = new Fl_Button(318, 62, 52, 20, _("A<->B"));
378 btnAswapB->tooltip(_("Left click:Swap A/B\nRight click:Copy A to B"));
379 btnAswapB->down_box(FL_DOWN_BOX);
380 btnAswapB->labelsize(12);
381 btnAswapB->callback((Fl_Callback*)cb_btnAswapB);
382
383 btnSplit = new Fl_Light_Button(371, 62, 52, 20, _("Split"));
384 btnSplit->tooltip(_("Rx-A / Tx-B"));
385 btnSplit->down_box(FL_THIN_DOWN_BOX);
386 btnSplit->labelsize(12);
387 btnSplit->callback((Fl_Callback*)cb_btnSplit);
388 btnSplit->value(progStatus.split);
389
390 opBW = new Fl_ComboBox(212, 84, 105, 18, _("Bandwidth"));
391 opBW->tooltip(_("Select Transceiver Bandwidth"));
392 opBW->box(FL_NO_BOX);
393 opBW->color(FL_BACKGROUND2_COLOR);
394 opBW->selection_color(FL_BACKGROUND_COLOR);
395 opBW->labeltype(FL_NORMAL_LABEL);
396 opBW->labelfont(0);
397 opBW->labelsize(12);
398 opBW->labelcolor(FL_FOREGROUND_COLOR);
399 opBW->callback((Fl_Callback*)cb_opBW);
400 opBW->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
401 opBW->when(FL_WHEN_RELEASE);
402 opBW->readonly();
403 opBW->end();
404
405 btnDSP = new Fl_Button(212, 84, 18, 18, _("L"));
406 btnDSP->callback((Fl_Callback*)cb_btnDSP);
407 btnDSP->hide();
408
409 btnFILT = new Fl_Button(btnDSP->x(), btnDSP->y(), 18, 18, _("1"));
410 btnFILT->callback((Fl_Callback*)cb_btnFILT);
411 btnFILT->tooltip(_("Select filter"));
412 btnFILT->hide();
413
414 opDSP_lo = new Fl_ComboBox(231, 84, 86, 18, _("Lo Cut"));
415 opDSP_lo->tooltip(_("Lo Cut Freq"));
416 opDSP_lo->box(FL_FLAT_BOX);
417 opDSP_lo->color(FL_BACKGROUND2_COLOR);
418 opDSP_lo->selection_color(FL_BACKGROUND_COLOR);
419 opDSP_lo->labeltype(FL_NORMAL_LABEL);
420 opDSP_lo->labelfont(0);
421 opDSP_lo->labelsize(12);
422 opDSP_lo->labelcolor(FL_FOREGROUND_COLOR);
423 opDSP_lo->callback((Fl_Callback*)cb_opDSP_lo);
424 opDSP_lo->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
425 opDSP_lo->when(FL_WHEN_RELEASE);
426 opDSP_lo->readonly();
427 opDSP_lo->hide();
428 opDSP_lo->end();
429
430 opDSP_hi = new Fl_ComboBox(231, 84, 86, 18, _("Hi Cut"));
431 opDSP_hi->tooltip(_("Hi Cut Freq"));
432 opDSP_hi->box(FL_FLAT_BOX);
433 opDSP_hi->color(FL_BACKGROUND2_COLOR);
434 opDSP_hi->selection_color(FL_BACKGROUND_COLOR);
435 opDSP_hi->labeltype(FL_NORMAL_LABEL);
436 opDSP_hi->labelfont(0);
437 opDSP_hi->labelsize(12);
438 opDSP_hi->labelcolor(FL_FOREGROUND_COLOR);
439 opDSP_hi->callback((Fl_Callback*)cb_opDSP_hi);
440 opDSP_hi->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
441 opDSP_hi->when(FL_WHEN_RELEASE);
442 opDSP_hi->readonly();
443 opDSP_hi->hide();
444 opDSP_hi->end();
445
446 opMODE = new Fl_ComboBox(318, 84, 105, 18, _("Mode"));
447 opMODE->tooltip(_("Select transceiver operating mode"));
448 opMODE->box(FL_NO_BOX);
449 opMODE->color(FL_BACKGROUND2_COLOR);
450 opMODE->selection_color(FL_BACKGROUND_COLOR);
451 opMODE->labeltype(FL_NORMAL_LABEL);
452 opMODE->labelfont(0);
453 opMODE->labelsize(12);
454 opMODE->labelcolor(FL_FOREGROUND_COLOR);
455 opMODE->callback((Fl_Callback*)cb_opMODE);
456 opMODE->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
457 opMODE->when(FL_WHEN_RELEASE);
458 opMODE->readonly();
459 opMODE->end();
460
461 btn_show_controls = new Fl_Button(3, 325, 18, 18, _("@-22->"));
462 btn_show_controls->tooltip(_("Show/Hide controls"));
463 btn_show_controls->callback((Fl_Callback*)cb_btn_show_controls);
464
465 btnAttenuator = new Fl_Light_Button(26, 325, 60, 18, _("ATT"));
466 btnAttenuator->tooltip(_("Attenuator On/Off"));
467 btnAttenuator->down_box(FL_THIN_DOWN_BOX);
468 btnAttenuator->labelsize(12);
469 btnAttenuator->callback((Fl_Callback*)cb_btnAttenuator);
470
471 btnPreamp = new Fl_Light_Button(93, 325, 60, 18, _("PRE"));
472 btnPreamp->tooltip(_("Preamp On/Off"));
473 btnPreamp->down_box(FL_THIN_DOWN_BOX);
474 btnPreamp->labelsize(12);
475 btnPreamp->callback((Fl_Callback*)cb_btnPreamp);
476
477 btnNOISE = new Fl_Light_Button(160, 325, 60, 18, _("NB"));
478 btnNOISE->tooltip(_("Noise Blanker On/Off"));
479 btnNOISE->down_box(FL_THIN_DOWN_BOX);
480 btnNOISE->labelsize(12);
481 btnNOISE->callback((Fl_Callback*)cb_btnNOISE);
482
483 btnAutoNotch = new Fl_Light_Button(227, 325, 60, 18, _("AN"));
484 btnAutoNotch->tooltip(_("Auto Notch On/Off"));
485 btnAutoNotch->down_box(FL_THIN_DOWN_BOX);
486 btnAutoNotch->labelsize(12);
487 btnAutoNotch->callback((Fl_Callback*)cb_btnAutoNotch);
488
489 btn_tune_on_off = new Fl_Light_Button(294, 325, 20, 18, "");
490 btn_tune_on_off->tooltip("Tuner On/Off");
491 btn_tune_on_off->callback((Fl_Callback*)cb_btn_tune_on_off);
492
493 btnTune = new Fl_Button(
494 btn_tune_on_off->x() + btn_tune_on_off->w(),
495 btn_tune_on_off->y(), 40, 18, _("Tune"));
496 btnTune->tooltip(_("Manual Tune"));
497 btnTune->callback((Fl_Callback*)cb_btnTune);
498
499 btnPTT = new Fl_Light_Button(362, 325, 60, 18, _("PTT"));
500 btnPTT->tooltip(_("Xmt On/Off"));
501 btnPTT->down_box(FL_THIN_DOWN_BOX);
502 btnPTT->labelsize(12);
503 btnPTT->callback((Fl_Callback*)cb_btnPTT);
504
505 Fl_Group* sm_grp1 = new Fl_Group(1, 62, 210, 60);
506 sm_grp1->box(FL_DOWN_BOX);
507
508 grpMeters = new Fl_Group(3, 63, 206, 57);
509 grpMeters->box(FL_FLAT_BOX);
510
511 scaleSmeter = new Fl_Box(3, 63, 206, 20);
512 scaleSmeter->box(FL_FLAT_BOX);
513 scaleSmeter->image(image_S60);
514 scaleSmeter->tooltip(_("S units meter"));
515
516 btnALC_SWR = new Fl_Button(3, 63, 206, 20);
517 btnALC_SWR->tooltip(_("Press SWR / ALC"));
518 btnALC_SWR->box(FL_FLAT_BOX);
519 btnALC_SWR->down_box(FL_FLAT_BOX);
520 btnALC_SWR->image(image_SWR);
521 btnALC_SWR->callback((Fl_Callback*)cb_btnALC_SWR);
522 btnALC_SWR->hide();
523
524 sldrRcvSignal = new Fl_SigBar(5, 85, 200, 6);
525 sldrRcvSignal->box(FL_FLAT_BOX);
526 sldrRcvSignal->color(FL_BACKGROUND_COLOR);
527 sldrRcvSignal->selection_color(FL_BACKGROUND_COLOR);
528 sldrRcvSignal->labeltype(FL_NORMAL_LABEL);
529 sldrRcvSignal->labelfont(0);
530 sldrRcvSignal->labelsize(14);
531 sldrRcvSignal->labelcolor(FL_FOREGROUND_COLOR);
532 sldrRcvSignal->align(Fl_Align(FL_ALIGN_CENTER));
533 sldrRcvSignal->when(FL_WHEN_CHANGED);
534 sldrRcvSignal->hide();
535 sldrRcvSignal->minimum(0);
536 sldrRcvSignal->maximum(100);
537
538 sldrALC = new Fl_SigBar(5, 85, 200, 6);
539 sldrALC->box(FL_FLAT_BOX);
540 sldrALC->color(FL_BACKGROUND_COLOR);
541 sldrALC->selection_color(FL_BACKGROUND_COLOR);
542 sldrALC->labeltype(FL_NORMAL_LABEL);
543 sldrALC->labelfont(0);
544 sldrALC->labelsize(14);
545 sldrALC->labelcolor(FL_FOREGROUND_COLOR);
546 sldrALC->align(Fl_Align(FL_ALIGN_CENTER));
547 sldrALC->when(FL_WHEN_CHANGED);
548 sldrALC->hide();
549 sldrALC->minimum(0);
550 sldrALC->maximum(100);
551
552 sldrSWR = new Fl_SigBar(5, 85, 200, 6);
553 sldrSWR->box(FL_FLAT_BOX);
554 sldrSWR->color(FL_BACKGROUND_COLOR);
555 sldrSWR->selection_color(FL_BACKGROUND_COLOR);
556 sldrSWR->labeltype(FL_NORMAL_LABEL);
557 sldrSWR->labelfont(0);
558 sldrSWR->labelsize(14);
559 sldrSWR->labelcolor(FL_FOREGROUND_COLOR);
560 sldrSWR->align(Fl_Align(FL_ALIGN_CENTER));
561 sldrSWR->when(FL_WHEN_CHANGED);
562 sldrSWR->hide();
563 sldrSWR->minimum(0);
564 sldrSWR->maximum(100);
565
566 sldrFwdPwr = new Fl_SigBar(5, 92, 200, 6);
567 sldrFwdPwr->box(FL_FLAT_BOX);
568 sldrFwdPwr->color(FL_BACKGROUND_COLOR);
569 sldrFwdPwr->selection_color(FL_BACKGROUND_COLOR);
570 sldrFwdPwr->labeltype(FL_NORMAL_LABEL);
571 sldrFwdPwr->labelfont(0);
572 sldrFwdPwr->labelsize(14);
573 sldrFwdPwr->labelcolor(FL_FOREGROUND_COLOR);
574 sldrFwdPwr->align(Fl_Align(FL_ALIGN_CENTER));
575 sldrFwdPwr->when(FL_WHEN_CHANGED);
576 sldrFwdPwr->hide();
577 sldrFwdPwr->minimum(0);
578 sldrFwdPwr->maximum(100);
579
580 scalePower = new Fl_Button(3, 99, 206, 20);
581 scalePower->tooltip(_("right-click to select power scale"));
582 scalePower->box(FL_FLAT_BOX);
583 scalePower->down_box(FL_FLAT_BOX);
584 scalePower->image(image_P100);
585 scalePower->callback((Fl_Callback*)cb_scalePower);
586
587 meter_fill_box = new Fl_Box(207, 63, 0, 57);
588 meter_fill_box->box(FL_FLAT_BOX);
589 meter_fill_box->color((Fl_Color)246);
590
591 grpMeters->end();
592
593 sm_grp1->end();
594
595 boxControl = new Fl_Box(3, 231, 130, 17, _("Auxilliary Controls:"));
596 boxControl->box(FL_FLAT_BOX);
597 boxControl->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
598
599 btnAuxRTS = new Fl_Light_Button(218, 230, 60, 18, _("RTS"));
600 btnAuxRTS->tooltip(_("RTS control pin"));
601 btnAuxRTS->down_box(FL_THIN_DOWN_BOX);
602 btnAuxRTS->labelsize(12);
603 btnAuxRTS->callback((Fl_Callback*)cb_btnAuxRTS);
604 btnAuxRTS->value(progStatus.aux_rts);
605
606 btnAuxDTR = new Fl_Light_Button(146, 230, 60, 18, _("DTR"));
607 btnAuxDTR->tooltip(_("DTR control pin"));
608 btnAuxDTR->down_box(FL_THIN_DOWN_BOX);
609 btnAuxDTR->labelsize(12);
610 btnAuxDTR->callback((Fl_Callback*)cb_btnAuxDTR);
611 btnAuxDTR->value(progStatus.aux_dtr);
612
613 cntRIT = new Hspinner(213, 104, 54, 18, _("R"));
614 cntRIT->tooltip(_("RIT"));
615 cntRIT->type(FL_INT_INPUT);
616 cntRIT->labelsize(12);
617 cntRIT->minimum(-1000);
618 cntRIT->maximum(1000);
619 cntRIT->step(10);
620 cntRIT->callback((Fl_Callback*)cb_cntRIT);
621 cntRIT->align(Fl_Align(FL_ALIGN_RIGHT));
622
623 cntXIT = new Hspinner(283, 104, 54, 18, _("X"));
624 cntXIT->tooltip(_("XIT"));
625 cntXIT->type(FL_INT_INPUT);
626 cntXIT->labelsize(12);
627 cntXIT->minimum(-1000);
628 cntXIT->maximum(1000);
629 cntXIT->step(10);
630 cntXIT->callback((Fl_Callback*)cb_cntXIT);
631 cntXIT->align(Fl_Align(FL_ALIGN_RIGHT));
632
633 cntBFO = new Hspinner(355, 104, 54, 18, _("B"));
634 cntBFO->tooltip(_("BFO"));
635 cntBFO->type(FL_INT_INPUT);
636 cntBFO->labelsize(12);
637 cntBFO->minimum(0);
638 cntBFO->maximum(1000);
639 cntBFO->step(10);
640 cntBFO->value(600);
641 cntBFO->callback((Fl_Callback*)cb_cntBFO);
642 cntBFO->align(Fl_Align(FL_ALIGN_RIGHT));
643
644 g->end();
645
646 return g;
647 }
648
649 static Fl_Box *filler = (Fl_Box *)0;
650
tabs_window()651 Fl_Double_Window *tabs_window()
652 {
653 int gph = 70 + 22;
654
655 Fl_Double_Window *w = new Fl_Double_Window(
656 0, 0,
657 small_mainW, gph,
658 "flrig extra controls");
659
660 grpTABS = new Fl_Group(0, 0, small_mainW, gph);
661
662 tabs550 = new Fl_Tabs(0, 0, small_mainW, gph);
663 tabs550->selection_color(FL_LIGHT1);
664 tabs550->hide();
665
666 tt550_CW = new Fl_Group(0, 24, small_mainW, gph - 24, _("CW"));
667 tt550_CW->color(FL_LIGHT1);
668 tt550_CW->selection_color(FL_LIGHT1);
669
670 spnr_tt550_cw_wpm = new Hspinner(
671 2, 28,
672 70, 22, _("wpm"));
673 spnr_tt550_cw_wpm->type(FL_INT_INPUT);
674 spnr_tt550_cw_wpm->minimum(1);
675 spnr_tt550_cw_wpm->maximum(80);
676 spnr_tt550_cw_wpm->step(1);
677 spnr_tt550_cw_wpm->value(24);
678 spnr_tt550_cw_wpm->callback((Fl_Callback*)cb_spnr_tt550_cw_wpm);
679 spnr_tt550_cw_wpm->value(progStatus.tt550_cw_wpm);
680 spnr_tt550_cw_wpm->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
681
682 spnr_tt550_cw_weight = new Hspinner(
683 spnr_tt550_cw_wpm->x() +
684 spnr_tt550_cw_wpm->w() + 2, 40,
685 70, 22, _("Weight"));
686 spnr_tt550_cw_weight->type(FL_FLOAT_INPUT);
687 spnr_tt550_cw_weight->minimum(0.75);
688 spnr_tt550_cw_weight->maximum(1.5);
689 spnr_tt550_cw_weight->step(0.05);
690 spnr_tt550_cw_weight->format("%.2f");
691 spnr_tt550_cw_weight->value(1);
692 spnr_tt550_cw_weight->callback((Fl_Callback*)cb_spnr_tt550_cw_weight);
693 spnr_tt550_cw_weight->value(progStatus.tt550_cw_weight);
694 spnr_tt550_cw_weight->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
695
696 spnr_tt550_cw_qsk = new Hspinner(
697 spnr_tt550_cw_weight->x() +
698 spnr_tt550_cw_weight->w() + 2, 40,
699 70, 22, _("Delay"));
700 spnr_tt550_cw_qsk->tooltip(_("QSK delay (msec)"));
701 spnr_tt550_cw_qsk->type(1);
702 spnr_tt550_cw_qsk->minimum(0);
703 spnr_tt550_cw_qsk->maximum(100);
704 spnr_tt550_cw_qsk->step(1);
705 spnr_tt550_cw_qsk->value(20);
706 spnr_tt550_cw_qsk->callback((Fl_Callback*)cb_spnr_tt550_cw_qsk);
707 spnr_tt550_cw_qsk->value(progStatus.tt550_cw_qsk);
708 spnr_tt550_cw_qsk->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
709
710 spnr_tt550_cw_vol = new Hspinner(
711 spnr_tt550_cw_qsk->x() +
712 spnr_tt550_cw_qsk->w() + 2, 40,
713 70, 22, _("S-T vol"));
714 spnr_tt550_cw_vol->tooltip(_("Side tone volume"));
715 spnr_tt550_cw_vol->type(1);
716 spnr_tt550_cw_vol->minimum(5);
717 spnr_tt550_cw_vol->maximum(80);
718 spnr_tt550_cw_vol->step(1);
719 spnr_tt550_cw_vol->value(24);
720 spnr_tt550_cw_vol->callback((Fl_Callback*)cb_spnr_tt550_cw_vol);
721 spnr_tt550_cw_vol->value(progStatus.tt550_cw_vol);
722 spnr_tt550_cw_vol->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
723
724 spnr_tt550_cw_spot = new Hspinner(
725 spnr_tt550_cw_vol->x() +
726 spnr_tt550_cw_vol->w() + 2, 40,
727 70, 22, _("Spot Vol"));
728 spnr_tt550_cw_spot->tooltip(_("Spot volume"));
729 spnr_tt550_cw_spot->type(1);
730 spnr_tt550_cw_spot->minimum(0);
731 spnr_tt550_cw_spot->maximum(100);
732 spnr_tt550_cw_spot->step(1);
733 spnr_tt550_cw_spot->value(20);
734 spnr_tt550_cw_spot->callback((Fl_Callback*)cb_spnr_tt550_cw_spot);
735 spnr_tt550_cw_spot->value(progStatus.tt550_cw_spot);
736 spnr_tt550_cw_spot->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
737
738 btn_tt550_enable_keyer = new Fl_Check_Button(
739 spnr_tt550_cw_spot->x() +
740 spnr_tt550_cw_spot->w() + 2, 40,
741 50, 22, _("Keyer"));
742 btn_tt550_enable_keyer->tooltip(_("Enable keyer"));
743 btn_tt550_enable_keyer->down_box(FL_DOWN_BOX);
744 btn_tt550_enable_keyer->callback((Fl_Callback*)cb_btn_tt550_enable_keyer);
745 btn_tt550_enable_keyer->value(progStatus.tt550_enable_keyer);
746 tt550_CW->end();
747
748 tt550_VOX = new Fl_Group(0, 24, small_mainW, gph - 24, _("Vox"));
749 tt550_VOX->hide();
750
751 spnr_tt550_vox_gain = new Hspinner(
752 2, 40,
753 70, 22, _("gain"));
754 spnr_tt550_vox_gain->type(1);
755 spnr_tt550_vox_gain->minimum(0);
756 spnr_tt550_vox_gain->maximum(100);
757 spnr_tt550_vox_gain->step(1);
758 spnr_tt550_vox_gain->callback((Fl_Callback*)cb_spnr_tt550_vox_gain);
759 spnr_tt550_vox_gain->value(progStatus.tt550_vox_gain);
760 spnr_tt550_vox_gain->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
761
762 spnr_tt550_anti_vox = new Hspinner(
763 spnr_tt550_vox_gain->x() +
764 spnr_tt550_vox_gain->w() + 4, 40,
765 70, 22, _("anti"));
766 spnr_tt550_anti_vox->type(1);
767 spnr_tt550_anti_vox->minimum(0);
768 spnr_tt550_anti_vox->maximum(100);
769 spnr_tt550_anti_vox->step(1);
770 spnr_tt550_anti_vox->callback((Fl_Callback*)cb_spnr_tt550_anti_vox);
771 spnr_tt550_anti_vox->value(progStatus.tt550_vox_anti);
772 spnr_tt550_anti_vox->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
773
774 spnr_tt550_vox_hang = new Hspinner(
775 spnr_tt550_anti_vox->x() +
776 spnr_tt550_anti_vox->w() + 4, 40,
777 70, 22, _("hang"));
778 spnr_tt550_vox_hang->type(1);
779 spnr_tt550_vox_hang->minimum(0);
780 spnr_tt550_vox_hang->maximum(100);
781 spnr_tt550_vox_hang->step(1);
782 spnr_tt550_vox_hang->callback((Fl_Callback*)cb_spnr_tt550_vox_hang);
783 spnr_tt550_vox_hang->value(progStatus.tt550_vox_hang);
784 spnr_tt550_vox_hang->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
785
786 btn_tt550_vox = new Fl_Light_Button(
787 spnr_tt550_vox_hang->x() +
788 spnr_tt550_vox_hang->w() + 4, 40,
789 50, 22, _("VOX"));
790 btn_tt550_vox->callback((Fl_Callback*)cb_btn_tt550_vox);
791 btn_tt550_vox->value(progStatus.tt550_vox_onoff);
792 tt550_VOX->end();
793
794 tt550_Speech = new Fl_Group(0, 24, small_mainW, gph - 24, _("Spch"));
795 tt550_Speech->hide();
796
797 btn_tt550_CompON = new Fl_Light_Button(
798 4, 40, 60, 22, _("On"));
799 btn_tt550_CompON->callback((Fl_Callback*)cb_btn_tt550_CompON);
800 btn_tt550_CompON->value(progStatus.tt550_compON);
801
802 spnr_tt550_compression = new Hspinner(
803 btn_tt550_CompON->x() +
804 btn_tt550_CompON->w() + 4, 40,
805 70, 22, _("Comp"));
806 spnr_tt550_compression->type(1);
807 spnr_tt550_compression->minimum(0);
808 spnr_tt550_compression->maximum(100);
809 spnr_tt550_compression->step(1);
810 spnr_tt550_compression->callback((Fl_Callback*)cb_spnr_tt550_compression);
811 spnr_tt550_compression->value(progStatus.tt550_compression);
812 spnr_tt550_compression->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
813
814 spnr_tt550_mon_vol = new Hspinner(
815 spnr_tt550_compression->x() +
816 spnr_tt550_compression->w() + 4, 40,
817 70, 22, _("Mon vol"));
818 spnr_tt550_mon_vol->tooltip(_("Side tone volume"));
819 spnr_tt550_mon_vol->type(1);
820 spnr_tt550_mon_vol->minimum(0);
821 spnr_tt550_mon_vol->maximum(100);
822 spnr_tt550_mon_vol->step(1);
823 spnr_tt550_mon_vol->value(25);
824 spnr_tt550_mon_vol->callback((Fl_Callback*)cb_spnr_tt550_mon_vol);
825 spnr_tt550_mon_vol->value(progStatus.tt550_mon_vol);
826 spnr_tt550_mon_vol->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
827 tt550_Speech->end();
828
829 tt550_Audio = new Fl_Group(0, 24, small_mainW, gph, _("Audio"));
830 tt550_Audio->hide();
831
832 spnr_tt550_line_out = new Hspinner(
833 4, 40,
834 70, 22, _("line out"));
835 spnr_tt550_line_out->type(1);
836 spnr_tt550_line_out->minimum(0);
837 spnr_tt550_line_out->maximum(100);
838 spnr_tt550_line_out->step(1);
839 spnr_tt550_line_out->value(20);
840 spnr_tt550_line_out->callback((Fl_Callback*)cb_spnr_tt550_line_out);
841 spnr_tt550_line_out->align(Fl_Align(FL_ALIGN_LEFT));
842 spnr_tt550_line_out->value(progStatus.tt550_line_out);
843 spnr_tt550_line_out->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
844
845 btnAccInp = new Fl_Check_Button(
846 spnr_tt550_line_out->x() +
847 spnr_tt550_line_out->w() + 4, 40,
848 80, 22, _("Acc Inp"));
849 btnAccInp->tooltip(_("Enable to use accessory audio input"));
850 btnAccInp->down_box(FL_DOWN_BOX);
851 btnAccInp->callback((Fl_Callback*)cb_btnAccInp);
852 btnAccInp->value(progStatus.tt550_use_line_in);
853 tt550_Audio->end();
854
855 tt550_Rx = new Fl_Group(0, 24, small_mainW, gph - 24, _("RX"));
856 tt550_Rx->hide();
857
858 cbo_tt550_nb_level = new Fl_ComboBox(
859 4, 40,
860 80, 22, _("NB level"));
861 cbo_tt550_nb_level->tooltip(_("Select Noise Blanker level"));
862 cbo_tt550_nb_level->box(FL_DOWN_BOX);
863 cbo_tt550_nb_level->color(FL_WHITE);
864 cbo_tt550_nb_level->selection_color(FL_BACKGROUND_COLOR);
865 cbo_tt550_nb_level->labeltype(FL_NORMAL_LABEL);
866 cbo_tt550_nb_level->labelfont(0);
867 cbo_tt550_nb_level->labelsize(14);
868 cbo_tt550_nb_level->labelcolor(FL_FOREGROUND_COLOR);
869 cbo_tt550_nb_level->callback((Fl_Callback*)cb_cbo_tt550_nb_level);
870 cbo_tt550_nb_level->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
871 cbo_tt550_nb_level->when(FL_WHEN_RELEASE);
872 cbo_tt550_nb_level->index(progStatus.tt550_nb_level);
873 cbo_tt550_nb_level->readonly();
874 cbo_tt550_nb_level->end();
875
876 cbo_tt550_agc_level = new Fl_ComboBox(
877 cbo_tt550_nb_level->x() +
878 cbo_tt550_nb_level->w() + 5, 40,
879 80, 22, _("AGC"));
880 cbo_tt550_agc_level->tooltip(_("Select AGC"));
881 cbo_tt550_agc_level->box(FL_DOWN_BOX);
882 cbo_tt550_agc_level->color(FL_WHITE);
883 cbo_tt550_agc_level->selection_color(FL_BACKGROUND_COLOR);
884 cbo_tt550_agc_level->labeltype(FL_NORMAL_LABEL);
885 cbo_tt550_agc_level->labelfont(0);
886 cbo_tt550_agc_level->labelsize(14);
887 cbo_tt550_agc_level->labelcolor(FL_FOREGROUND_COLOR);
888 cbo_tt550_agc_level->callback((Fl_Callback*)cb_cbo_tt550_agc_level);
889 cbo_tt550_agc_level->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
890 cbo_tt550_agc_level->when(FL_WHEN_RELEASE);
891 cbo_tt550_agc_level->index(progStatus.tt550_agc_level);
892 cbo_tt550_agc_level->readonly();
893 cbo_tt550_agc_level->end();
894
895 spnr_tt550_vfo_adj = new Hspinner(
896 cbo_tt550_agc_level->x() +
897 cbo_tt550_agc_level->w() + 5, 40,
898 100, 22, _("Vfo Adj(ppm)"), 16);
899 spnr_tt550_vfo_adj->callback((Fl_Callback*)cb_spnr_tt550_vfo_adj);
900 spnr_tt550_vfo_adj->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
901 spnr_tt550_vfo_adj->minimum(-100);
902 spnr_tt550_vfo_adj->maximum(100);
903 spnr_tt550_vfo_adj->type(FL_FLOAT_INPUT);
904 spnr_tt550_vfo_adj->step(0.02);
905 spnr_tt550_vfo_adj->format("%0.2f");
906 spnr_tt550_vfo_adj->value(progStatus.vfo_adj);
907 tt550_Rx->end();
908
909 tt550_Tx = new Fl_Group(0, 24, small_mainW, gph - 24, _("TX"));
910 tt550_Tx->hide();
911
912 btn_tt550_enable_xmtr = new Fl_Check_Button(10, 40, 70, 22, _("Tx ON"));
913 btn_tt550_enable_xmtr->down_box(FL_DOWN_BOX);
914 btn_tt550_enable_xmtr->value(1);
915 btn_tt550_enable_xmtr->callback((Fl_Callback*)cb_btn_tt550_enable_xmtr);
916 btn_tt550_enable_xmtr->value(progStatus.tt550_enable_xmtr);
917
918 btn_tt550_enable_tloop = new Fl_Check_Button(87, 40, 70, 22, _("Tloop"));
919 btn_tt550_enable_tloop->down_box(FL_DOWN_BOX);
920 btn_tt550_enable_tloop->callback((Fl_Callback*)cb_btn_tt550_enable_tloop);
921 btn_tt550_enable_tloop->value(progStatus.tt550_enable_tloop);
922
923 btn_tt550_tuner_bypass = new Fl_Check_Button(164, 40, 70, 22, _("Tuner"));
924 btn_tt550_tuner_bypass->tooltip(_("Check to bypass tuner"));
925 btn_tt550_tuner_bypass->down_box(FL_DOWN_BOX);
926 btn_tt550_tuner_bypass->callback((Fl_Callback*)cb_btn_tt550_tuner_bypass);
927
928 op_tt550_XmtBW = new Fl_ComboBox(241, 40, 100, 22, _("Xmt BW"));
929 op_tt550_XmtBW->tooltip(_("Select Transceiver Bandwidth"));
930 op_tt550_XmtBW->box(FL_DOWN_BOX);
931 op_tt550_XmtBW->color(FL_WHITE);
932 op_tt550_XmtBW->selection_color(FL_BACKGROUND_COLOR);
933 op_tt550_XmtBW->labeltype(FL_NORMAL_LABEL);
934 op_tt550_XmtBW->labelfont(0);
935 op_tt550_XmtBW->labelsize(12);
936 op_tt550_XmtBW->labelcolor(FL_FOREGROUND_COLOR);
937 op_tt550_XmtBW->callback((Fl_Callback*)cb_op_tt550_XmtBW);
938 op_tt550_XmtBW->align(Fl_Align(FL_ALIGN_BOTTOM));
939 op_tt550_XmtBW->when(FL_WHEN_RELEASE);
940 op_tt550_XmtBW->index(progStatus.tt550_xmt_bw);
941 op_tt550_XmtBW->readonly();
942 op_tt550_XmtBW->end();
943
944 btn_tt550_use_xmt_bw = new Fl_Check_Button(345, 40, 21, 22, _("Enable"));
945 btn_tt550_use_xmt_bw->tooltip(_("Use Xmt BW setting"));
946 btn_tt550_use_xmt_bw->down_box(FL_DOWN_BOX);
947 btn_tt550_use_xmt_bw->callback((Fl_Callback*)cb_btn_tt550_use_xmt_bw);
948 btn_tt550_use_xmt_bw->align(Fl_Align(FL_ALIGN_RIGHT));
949 btn_tt550_use_xmt_bw->value(progStatus.tt550_use_xmt_bw);
950 tt550_Tx->end();
951
952 tt550_302A = new Fl_Group(0, 24, small_mainW, gph - 24, _("302-A"));
953 tt550_302A->hide();
954
955 spnr_tt550_keypad_time_out = new Hspinner(30, 40, 120, 22, _("Time out"), 16);
956 spnr_tt550_keypad_time_out->tooltip(_("Clear M302 keypad after ## secs"));
957 spnr_tt550_keypad_time_out->minimum(0.5);
958 spnr_tt550_keypad_time_out->maximum(10);
959 spnr_tt550_keypad_time_out->value(2);
960 spnr_tt550_keypad_time_out->color(FL_WHITE);
961 spnr_tt550_keypad_time_out->callback((Fl_Callback*)cb_spnr_tt550_keypad_time_out);
962 spnr_tt550_keypad_time_out->align(Fl_Align(34));
963 spnr_tt550_keypad_time_out->value(progStatus.tt550_keypad_timeout/1000.0);
964 spnr_tt550_keypad_time_out->step(0.1);
965 spnr_tt550_keypad_time_out->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
966
967 spnr_tt550_encoder_sensitivity = new Hspinner(
968 spnr_tt550_keypad_time_out->x() +
969 spnr_tt550_keypad_time_out->w() + 10, 40, 80, 22, _("Sensitivity"), 16);
970 spnr_tt550_encoder_sensitivity->tooltip(_("1 - most sensitive"));
971 spnr_tt550_encoder_sensitivity->type(1);
972 spnr_tt550_encoder_sensitivity->minimum(1);
973 spnr_tt550_encoder_sensitivity->maximum(25);
974 spnr_tt550_encoder_sensitivity->step(1);
975 spnr_tt550_encoder_sensitivity->value(10);
976 spnr_tt550_encoder_sensitivity->color(FL_WHITE);
977 spnr_tt550_encoder_sensitivity->callback((Fl_Callback*)cb_spnr_tt550_encoder_sensitivity);
978 spnr_tt550_encoder_sensitivity->value(progStatus.tt550_encoder_sensitivity);
979 spnr_tt550_encoder_sensitivity->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
980
981 sel_tt550_encoder_step = new Fl_Choice(312, 277, 72, 21, _("Step size"));
982 sel_tt550_encoder_step->down_box(FL_BORDER_BOX);
983 sel_tt550_encoder_step->callback((Fl_Callback*)cb_sel_tt550_encoder_step);
984 sel_tt550_encoder_step->align(Fl_Align(FL_ALIGN_BOTTOM));
985 sel_tt550_encoder_step->add("1|10|100|1 K|10 K");
986 sel_tt550_encoder_step->value(progStatus.tt550_encoder_step);
987 sel_tt550_encoder_step->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
988 tt550_302A->end();
989
990 tt550_302B = new Fl_Group(0, 24, small_mainW, gph - 24, _("302-B"));
991 tt550_302B->hide();
992
993 sel_tt550_F1_func = new Fl_Choice(34, 40, 99, 22, _("F1"));
994 sel_tt550_F1_func->tooltip(_("Assign Func Key"));
995 sel_tt550_F1_func->down_box(FL_BORDER_BOX);
996 sel_tt550_F1_func->callback((Fl_Callback*)cb_sel_tt550_F1_func);
997 sel_tt550_F1_func->add("None|Clear|CW++|CW--|Band++|Band--|Step++|Step--");
998 sel_tt550_F1_func->value(progStatus.tt550_F1_func);
999
1000 sel_tt550_F2_func = new Fl_Choice(169, 40, 99, 22, _("F2"));
1001 sel_tt550_F2_func->tooltip(_("Assign Func Key"));
1002 sel_tt550_F2_func->down_box(FL_BORDER_BOX);
1003 sel_tt550_F2_func->callback((Fl_Callback*)cb_sel_tt550_F2_func);
1004 sel_tt550_F2_func->add("None|Clear|CW++|CW--|Band++|Band--|Step++|Step--");
1005 sel_tt550_F2_func->value(progStatus.tt550_F2_func);
1006
1007 sel_tt550_F3_func = new Fl_Choice(50, 40, 99, 22, _("F3"));
1008 sel_tt550_F3_func->tooltip(_("Assign Func Key"));
1009 sel_tt550_F3_func->down_box(FL_BORDER_BOX);
1010 sel_tt550_F3_func->callback((Fl_Callback*)cb_sel_tt550_F3_func);
1011 sel_tt550_F3_func->add("None|Clear|CW++|CW--|Band++|Band--|Step++|Step--");
1012 sel_tt550_F3_func->value(progStatus.tt550_F3_func);
1013 tt550_302B->end();
1014
1015 tt550_AT = new Fl_Group(0, 24, small_mainW, gph - 24, _("AT-11"));
1016 tt550_AT_inline = new Fl_Light_Button(5, 40, 100, 22, _("Inline"));
1017 tt550_AT_inline->tooltip(_("Enabled - autotune\nDisabled - bypass"));
1018 tt550_AT_inline->callback((Fl_Callback*)cb_AT_bypass);
1019
1020 tt550_AT_Z = new Fl_Light_Button(
1021 RIGHT_OF(tt550_AT_inline) + 10, 40, 55, 22, _("Z hi"));
1022 tt550_AT_Z->tooltip(_("Hi / Lo Impedance network"));
1023 tt550_AT_Z->callback((Fl_Callback*)cb_AT_Z);
1024
1025 tt550_AT_capUP = new Fl_Button(
1026 RIGHT_OF(tt550_AT_Z) + 4, 40, 40, 22, _("C >"));
1027 tt550_AT_capUP->tooltip(_("Increase C"));
1028 tt550_AT_capUP->callback((Fl_Callback*)cb_AT_capUP);
1029
1030 tt550_AT_capDN = new Fl_Button(
1031 RIGHT_OF(tt550_AT_capUP) + 4, 40, 40, 22, _("C <"));
1032 tt550_AT_capDN->tooltip(_("Decrease C"));
1033 tt550_AT_capDN->callback((Fl_Callback*)cb_AT_capDN);
1034
1035 tt550_AT_indUP = new Fl_Button(
1036 RIGHT_OF(tt550_AT_capDN) + 4, 40, 40, 22, _("L >"));
1037 tt550_AT_indUP->tooltip(_("Increase L"));
1038 tt550_AT_indUP->callback((Fl_Callback*)cb_AT_indUP);
1039
1040 tt550_AT_indDN = new Fl_Button(
1041 RIGHT_OF(tt550_AT_indUP) + 4, 40, 40, 22, _("L <"));
1042 tt550_AT_indDN->tooltip(_("Decrease L"));
1043 tt550_AT_indDN->callback((Fl_Callback*)cb_AT_indDN);
1044
1045 tt550_Nsamples = new Fl_Simple_Counter(
1046 RIGHT_OF(tt550_AT_indDN) + 4, 40, 50, 22, _("N"));
1047 tt550_Nsamples->tooltip(_("Fwd/Rev Pwr detect over # samples"));
1048 tt550_Nsamples->align(FL_ALIGN_RIGHT);
1049 tt550_Nsamples->step(1);
1050 tt550_Nsamples->minimum(1);
1051 tt550_Nsamples->maximum(FPLEN);
1052 tt550_Nsamples->value(progStatus.tt550_Nsamples);
1053 tt550_Nsamples->callback((Fl_Callback*)cb_tt550_Nsamples);
1054 tt550_AT->end();
1055 tabs550->end();
1056
1057 tabsGeneric = new Fl_Tabs(0, 0, small_mainW, gph);
1058 tabsGeneric->selection_color(FL_LIGHT1);
1059
1060 tab_yaesu_bands = new Fl_Group(0, 24, small_mainW, gph - 24, _("Band"));
1061 btn_yaesu_select_1 = new Fl_Button(4, 40, 60, 18, _("1.8"));
1062 btn_yaesu_select_1->tooltip(_("160m Band"));
1063 btn_yaesu_select_1->color((Fl_Color)246);
1064 btn_yaesu_select_1->callback((Fl_Callback*)cb_btn_band_select, (void *)1);
1065
1066 btn_yaesu_select_2 = new Fl_Button(74, 40, 60, 18, _("3.5"));
1067 btn_yaesu_select_2->tooltip(_("80m band"));
1068 btn_yaesu_select_2->color((Fl_Color)246);
1069 btn_yaesu_select_2->callback((Fl_Callback*)cb_btn_band_select, (void *)2);
1070
1071 btn_yaesu_select_3 = new Fl_Button(145, 40, 60, 18, _("7"));
1072 btn_yaesu_select_3->tooltip(_("40m band"));
1073 btn_yaesu_select_3->color((Fl_Color)246);
1074 btn_yaesu_select_3->callback((Fl_Callback*)cb_btn_band_select, (void *)3);
1075 btn_yaesu_select_3->align(Fl_Align(FL_ALIGN_CLIP));
1076
1077 btn_yaesu_select_4 = new Fl_Button(216, 40, 60, 18, _("10"));
1078 btn_yaesu_select_4->tooltip(_("30m band"));
1079 btn_yaesu_select_4->color((Fl_Color)246);
1080 btn_yaesu_select_4->callback((Fl_Callback*)cb_btn_band_select, (void *)4);
1081
1082 btn_yaesu_select_5 = new Fl_Button(287, 40, 60, 18, _("14"));
1083 btn_yaesu_select_5->tooltip(_("20m band"));
1084 btn_yaesu_select_5->color((Fl_Color)246);
1085 btn_yaesu_select_5->callback((Fl_Callback*)cb_btn_band_select, (void *)5);
1086
1087 btn_yaesu_select_6 = new Fl_Button(358, 40, 60, 18, _("18"));
1088 btn_yaesu_select_6->tooltip(_("17m band"));
1089 btn_yaesu_select_6->color((Fl_Color)246);
1090 btn_yaesu_select_6->callback((Fl_Callback*)cb_btn_band_select, (void *)6);
1091
1092 btn_yaesu_select_7 = new Fl_Button(4, 60, 60, 18, _("21"));
1093 btn_yaesu_select_7->tooltip(_("15m band"));
1094 btn_yaesu_select_7->color((Fl_Color)246);
1095 btn_yaesu_select_7->callback((Fl_Callback*)cb_btn_band_select, (void *)7);
1096
1097 btn_yaesu_select_8 = new Fl_Button(74, 60, 60, 18, _("24"));
1098 btn_yaesu_select_8->tooltip(_("12m band"));
1099 btn_yaesu_select_8->color((Fl_Color)246);
1100 btn_yaesu_select_8->callback((Fl_Callback*)cb_btn_band_select, (void *)8);
1101
1102 btn_yaesu_select_9 = new Fl_Button(145, 60, 60, 18, _("28"));
1103 btn_yaesu_select_9->tooltip(_("10m band"));
1104 btn_yaesu_select_9->color((Fl_Color)246);
1105 btn_yaesu_select_9->callback((Fl_Callback*)cb_btn_band_select, (void *)9);
1106
1107 btn_yaesu_select_10 = new Fl_Button(216, 60, 60, 18, _("50"));
1108 btn_yaesu_select_10->tooltip(_("6m band"));
1109 btn_yaesu_select_10->color((Fl_Color)246);
1110 btn_yaesu_select_10->callback((Fl_Callback*)cb_btn_band_select, (void *)10);
1111
1112 btn_yaesu_select_11 = new Fl_Button(287, 60, 60, 18, _("GEN"));
1113 btn_yaesu_select_11->tooltip(_("General RX"));
1114 btn_yaesu_select_11->color((Fl_Color)246);
1115 btn_yaesu_select_11->callback((Fl_Callback*)cb_btn_band_select, (void *)11);
1116
1117 op_yaesu_select60 = new Fl_ComboBox(358, 60, 60, 18, _("combo"));
1118 op_yaesu_select60->tooltip(_("vfo / 60 meter channel"));
1119 op_yaesu_select60->box(FL_NO_BOX);
1120 op_yaesu_select60->color((Fl_Color)246);
1121 op_yaesu_select60->selection_color(FL_BACKGROUND_COLOR);
1122 op_yaesu_select60->labeltype(FL_NORMAL_LABEL);
1123 op_yaesu_select60->labelfont(0);
1124 op_yaesu_select60->labelsize(12);
1125 op_yaesu_select60->labelcolor(FL_FOREGROUND_COLOR);
1126 op_yaesu_select60->callback((Fl_Callback*)cb_btn_band_select, (void *)13);
1127 op_yaesu_select60->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
1128 op_yaesu_select60->when(FL_WHEN_RELEASE);
1129 op_yaesu_select60->readonly();
1130 op_yaesu_select60->end();
1131
1132 tab_yaesu_bands->end();
1133
1134 tab_ft991_bands = new Fl_Group(0, 24, small_mainW, gph - 24, _("Band"));
1135 btn_ft991_select_1 = new Fl_Button(4, 30, 60, 18, _("1.8"));
1136 btn_ft991_select_1->tooltip(_("Left click - get"));
1137 btn_ft991_select_1->color((Fl_Color)246);
1138 btn_ft991_select_1->callback((Fl_Callback*)cb_btn_band_select, (void *)1);
1139
1140 btn_ft991_select_2 = new Fl_Button(74, 30, 60, 18, _("3.5"));
1141 btn_ft991_select_2->tooltip(_("Left click - get"));
1142 btn_ft991_select_2->color((Fl_Color)246);
1143 btn_ft991_select_2->callback((Fl_Callback*)cb_btn_band_select, (void *)2);
1144
1145 btn_ft991_select_3 = new Fl_Button(145, 30, 60, 18, _("7"));
1146 btn_ft991_select_3->tooltip(_("Left click - get"));
1147 btn_ft991_select_3->color((Fl_Color)246);
1148 btn_ft991_select_3->callback((Fl_Callback*)cb_btn_band_select, (void *)3);
1149
1150 btn_ft991_select_4 = new Fl_Button(216, 30, 60, 18, _("10"));
1151 btn_ft991_select_4->tooltip(_("Left click - get"));
1152 btn_ft991_select_4->color((Fl_Color)246);
1153 btn_ft991_select_4->callback((Fl_Callback*)cb_btn_band_select, (void *)4);
1154
1155 btn_ft991_select_5 = new Fl_Button(287, 30, 60, 18, _("14"));
1156 btn_ft991_select_5->tooltip(_("Left click - get"));
1157 btn_ft991_select_5->color((Fl_Color)246);
1158 btn_ft991_select_5->callback((Fl_Callback*)cb_btn_band_select, (void *)5);
1159
1160 btn_ft991_select_6 = new Fl_Button(358, 30, 60, 18, _("18"));
1161 btn_ft991_select_6->tooltip(_("Left click - get"));
1162 btn_ft991_select_6->color((Fl_Color)246);
1163 btn_ft991_select_6->callback((Fl_Callback*)cb_btn_band_select, (void *)6);
1164
1165 btn_ft991_select_7 = new Fl_Button(4, 50, 60, 18, _("21"));
1166 btn_ft991_select_7->tooltip(_("Left click - get"));
1167 btn_ft991_select_7->color((Fl_Color)246);
1168 btn_ft991_select_7->callback((Fl_Callback*)cb_btn_band_select, (void *)7);
1169
1170 btn_ft991_select_8 = new Fl_Button(74, 50, 60, 18, _("24"));
1171 btn_ft991_select_8->tooltip(_("Left click - get"));
1172 btn_ft991_select_8->color((Fl_Color)246);
1173 btn_ft991_select_8->callback((Fl_Callback*)cb_btn_band_select, (void *)8);
1174
1175 btn_ft991_select_9 = new Fl_Button(145, 50, 60, 18, _("28"));
1176 btn_ft991_select_9->tooltip(_("Left click - get"));
1177 btn_ft991_select_9->color((Fl_Color)246);
1178 btn_ft991_select_9->callback((Fl_Callback*)cb_btn_band_select, (void *)9);
1179
1180 btn_ft991_select_10 = new Fl_Button(216, 50, 60, 18, _("50"));
1181 btn_ft991_select_10->tooltip(_("Left click - get"));
1182 btn_ft991_select_10->color((Fl_Color)246);
1183 btn_ft991_select_10->callback((Fl_Callback*)cb_btn_band_select, (void *)10);
1184
1185 btn_ft991_select_11 = new Fl_Button(287, 50, 60, 18, _("144"));
1186 btn_ft991_select_11->tooltip(_("Left click - get"));
1187 btn_ft991_select_11->color((Fl_Color)246);
1188 btn_ft991_select_11->callback((Fl_Callback*)cb_btn_band_select, (void *)11);
1189
1190 btn_ft991_select_12 = new Fl_Button(358, 50, 60, 18, _("430"));
1191 btn_ft991_select_12->tooltip(_("Left click - get"));
1192 btn_ft991_select_12->color((Fl_Color)246);
1193 btn_ft991_select_12->callback((Fl_Callback*)cb_btn_band_select, (void *)12);
1194
1195 btn_ft991_select_13 = new Fl_Button(4, 70, 60, 18, _("Gen"));
1196 btn_ft991_select_13->tooltip(_("Left click - get"));
1197 btn_ft991_select_13->color((Fl_Color)246);
1198 btn_ft991_select_13->callback((Fl_Callback*)cb_btn_band_select, (void *)13);
1199
1200 choice_ft991_tTONE = new Fl_PL_tone(145, 70, 75, 18, _("tTONE"));
1201 choice_ft991_tTONE->align((Fl_Align)FL_ALIGN_LEFT);
1202 choice_ft991_tTONE->value(8);
1203 choice_ft991_tTONE->end();
1204 choice_ft991_tTONE->hide();
1205
1206 choice_ft991_rTONE = new Fl_PL_tone(287, 70, 75, 18, _("rTONE"));
1207 choice_ft991_rTONE->align((Fl_Align)FL_ALIGN_LEFT);
1208 choice_ft991_rTONE->value(8);
1209 choice_ft991_rTONE->end();
1210 choice_ft991_rTONE->hide();
1211
1212 tab_ft991_bands->end();
1213
1214 tab_FT8n_bands = new Fl_Group(0, 24, small_mainW, gph - 24, _("Band"));
1215 static const char setsave[] = _("Left click - set\nRight click - save");
1216 btn_FT8n_select_1 = new Fl_Button(4, 30, 60, 18, _("1.8"));
1217 btn_FT8n_select_1->tooltip(setsave);
1218 btn_FT8n_select_1->color((Fl_Color)246);
1219 btn_FT8n_select_1->callback((Fl_Callback*)cb_btn_band_select, (void *)1);
1220
1221 btn_FT8n_select_2 = new Fl_Button(74, 30, 60, 18, _("3.5"));
1222 btn_FT8n_select_2->tooltip(setsave);
1223 btn_FT8n_select_2->color((Fl_Color)246);
1224 btn_FT8n_select_2->callback((Fl_Callback*)cb_btn_band_select, (void *)2);
1225
1226 btn_FT8n_select_3 = new Fl_Button(145, 30, 60, 18, _("7"));
1227 btn_FT8n_select_3->tooltip(setsave);
1228 btn_FT8n_select_3->color((Fl_Color)246);
1229 btn_FT8n_select_3->callback((Fl_Callback*)cb_btn_band_select, (void *)3);
1230
1231 btn_FT8n_select_4 = new Fl_Button(216, 30, 60, 18, _("10"));
1232 btn_FT8n_select_4->tooltip(setsave);
1233 btn_FT8n_select_4->color((Fl_Color)246);
1234 btn_FT8n_select_4->callback((Fl_Callback*)cb_btn_band_select, (void *)4);
1235
1236 btn_FT8n_select_5 = new Fl_Button(287, 30, 60, 18, _("14"));
1237 btn_FT8n_select_5->tooltip(setsave);
1238 btn_FT8n_select_5->color((Fl_Color)246);
1239 btn_FT8n_select_5->callback((Fl_Callback*)cb_btn_band_select, (void *)5);
1240
1241 btn_FT8n_select_6 = new Fl_Button(358, 30, 60, 18, _("18"));
1242 btn_FT8n_select_6->tooltip(setsave);
1243 btn_FT8n_select_6->color((Fl_Color)246);
1244 btn_FT8n_select_6->callback((Fl_Callback*)cb_btn_band_select, (void *)6);
1245
1246 btn_FT8n_select_7 = new Fl_Button(4, 50, 60, 18, _("21"));
1247 btn_FT8n_select_7->tooltip(setsave);
1248 btn_FT8n_select_7->color((Fl_Color)246);
1249 btn_FT8n_select_7->callback((Fl_Callback*)cb_btn_band_select, (void *)7);
1250
1251 btn_FT8n_select_8 = new Fl_Button(74, 50, 60, 18, _("24"));
1252 btn_FT8n_select_8->tooltip(setsave);
1253 btn_FT8n_select_8->color((Fl_Color)246);
1254 btn_FT8n_select_8->callback((Fl_Callback*)cb_btn_band_select, (void *)8);
1255
1256 btn_FT8n_select_9 = new Fl_Button(145, 50, 60, 18, _("28"));
1257 btn_FT8n_select_9->tooltip(setsave);
1258 btn_FT8n_select_9->color((Fl_Color)246);
1259 btn_FT8n_select_9->callback((Fl_Callback*)cb_btn_band_select, (void *)9);
1260
1261 btn_FT8n_select_10 = new Fl_Button(216, 50, 60, 18, _("50"));
1262 btn_FT8n_select_10->tooltip(setsave);
1263 btn_FT8n_select_10->color((Fl_Color)246);
1264 btn_FT8n_select_10->callback((Fl_Callback*)cb_btn_band_select, (void *)10);
1265
1266 btn_FT8n_select_11 = new Fl_Button(287, 50, 60, 18, _("144"));
1267 btn_FT8n_select_11->tooltip(setsave);
1268 btn_FT8n_select_11->color((Fl_Color)246);
1269 btn_FT8n_select_11->callback((Fl_Callback*)cb_btn_band_select, (void *)11);
1270
1271 btn_FT8n_select_12 = new Fl_Button(358, 50, 60, 18, _("430"));
1272 btn_FT8n_select_12->tooltip(setsave);
1273 btn_FT8n_select_12->color((Fl_Color)246);
1274 btn_FT8n_select_12->callback((Fl_Callback*)cb_btn_band_select, (void *)12);
1275
1276 tab_FT8n_bands->end();
1277
1278 tab_FT8n_CTCSS = new Fl_Group(0, 24, small_mainW, gph - 24, _("CTCSS"));
1279
1280 choice_FT8n_tTONE = new Fl_PL_tone(70, 34, 75, 18, _("Tone X:"));
1281 choice_FT8n_tTONE->align((Fl_Align)FL_ALIGN_LEFT);
1282 choice_FT8n_tTONE->value(8);
1283 choice_FT8n_tTONE->end();
1284
1285 choice_FT8n_rTONE = new Fl_PL_tone(70, 66, 75, 18, _("R:"));
1286 choice_FT8n_rTONE->align((Fl_Align)FL_ALIGN_LEFT);
1287 choice_FT8n_rTONE->value(8);
1288 choice_FT8n_rTONE->end();
1289
1290 setTONES = new Fl_Button(150, 34, 60, 18, _("Set"));
1291 setTONES->callback((Fl_Callback*)cb_tones, 0);
1292
1293 FMoff_freq = new cFreqControl(225, 34, 100, 26, "5");
1294 FMoff_freq->value(600);
1295 Fl_Box *MHZ = new Fl_Box(FMoff_freq->x() + FMoff_freq->w() + 4, 34, 50, 26, "MHz");
1296 MHZ->box(FL_FLAT_BOX);
1297 MHZ->align(FL_ALIGN_CENTER);
1298
1299 FMoffset = new Fl_ComboBox(225, 66, 100, 18, "");
1300 FMoffset->tooltip(_("Select FM operation"));
1301 FMoffset->box(FL_NO_BOX);
1302 FMoffset->color(FL_BACKGROUND2_COLOR);
1303 FMoffset->selection_color(FL_BACKGROUND_COLOR);
1304 FMoffset->add("simplex|minus|plus");
1305 FMoffset->index(0);
1306
1307 setOFFSET = new Fl_Button(FMoffset->x() + FMoffset->w() + 5, 66, 60, 18, _("Set"));
1308 setOFFSET->callback((Fl_Callback*)cb_offset, 0);
1309
1310 tab_FT8n_CTCSS->end();
1311
1312 tab_icom_bands = new Fl_Group(0, 24, small_mainW, gph - 24, _("Band"));
1313 btn_icom_select_1 = new Fl_Button(4, 30, 60, 18, _("1.8"));
1314 btn_icom_select_1->tooltip(_("Left click - get\nRight click - set"));
1315 btn_icom_select_1->color((Fl_Color)246);
1316 btn_icom_select_1->callback((Fl_Callback*)cb_btn_band_select, (void *)1);
1317
1318 btn_icom_select_2 = new Fl_Button(74, 30, 60, 18, _("3.5"));
1319 btn_icom_select_2->tooltip(_("Left click - get\nRight click - set"));
1320 btn_icom_select_2->color((Fl_Color)246);
1321 btn_icom_select_2->callback((Fl_Callback*)cb_btn_band_select, (void *)2);
1322
1323 btn_icom_select_3 = new Fl_Button(145, 30, 60, 18, _("7"));
1324 btn_icom_select_3->tooltip(_("Left click - get\nRight click - set"));
1325 btn_icom_select_3->color((Fl_Color)246);
1326 btn_icom_select_3->callback((Fl_Callback*)cb_btn_band_select, (void *)3);
1327
1328 btn_icom_select_4 = new Fl_Button(216, 30, 60, 18, _("10"));
1329 btn_icom_select_4->tooltip(_("Left click - get\nRight click - set"));
1330 btn_icom_select_4->color((Fl_Color)246);
1331 btn_icom_select_4->callback((Fl_Callback*)cb_btn_band_select, (void *)4);
1332
1333 btn_icom_select_5 = new Fl_Button(287, 30, 60, 18, _("14"));
1334 btn_icom_select_5->tooltip(_("Left click - get\nRight click - set"));
1335 btn_icom_select_5->color((Fl_Color)246);
1336 btn_icom_select_5->callback((Fl_Callback*)cb_btn_band_select, (void *)5);
1337
1338 btn_icom_select_6 = new Fl_Button(358, 30, 60, 18, _("18"));
1339 btn_icom_select_6->tooltip(_("Left click - get\nRight click - set"));
1340 btn_icom_select_6->color((Fl_Color)246);
1341 btn_icom_select_6->callback((Fl_Callback*)cb_btn_band_select, (void *)6);
1342
1343 btn_icom_select_7 = new Fl_Button(4, 50, 60, 18, _("21"));
1344 btn_icom_select_7->tooltip(_("Left click - get\nRight click - set"));
1345 btn_icom_select_7->color((Fl_Color)246);
1346 btn_icom_select_7->callback((Fl_Callback*)cb_btn_band_select, (void *)7);
1347
1348 btn_icom_select_8 = new Fl_Button(74, 50, 60, 18, _("24"));
1349 btn_icom_select_8->tooltip(_("Left click - get\nRight click - set"));
1350 btn_icom_select_8->color((Fl_Color)246);
1351 btn_icom_select_8->callback((Fl_Callback*)cb_btn_band_select, (void *)8);
1352
1353 btn_icom_select_9 = new Fl_Button(145, 50, 60, 18, _("28"));
1354 btn_icom_select_9->tooltip(_("Left click - get\nRight click - set"));
1355 btn_icom_select_9->color((Fl_Color)246);
1356 btn_icom_select_9->callback((Fl_Callback*)cb_btn_band_select, (void *)9);
1357
1358 btn_icom_select_10 = new Fl_Button(216, 50, 60, 18, _("50"));
1359 btn_icom_select_10->tooltip(_("Left click - get\nRight click - set"));
1360 btn_icom_select_10->color((Fl_Color)246);
1361 btn_icom_select_10->callback((Fl_Callback*)cb_btn_band_select, (void *)10);
1362
1363 btn_icom_select_11 = new Fl_Button(287, 50, 60, 18, _("144"));
1364 btn_icom_select_11->tooltip(_("Left click - get\nRight click - set"));
1365 btn_icom_select_11->color((Fl_Color)246);
1366 btn_icom_select_11->callback((Fl_Callback*)cb_btn_band_select, (void *)11);
1367
1368 btn_icom_select_12 = new Fl_Button(358, 50, 60, 18, _("430"));
1369 btn_icom_select_12->tooltip(_("Left click - get\nRight click - set"));
1370 btn_icom_select_12->color((Fl_Color)246);
1371 btn_icom_select_12->callback((Fl_Callback*)cb_btn_band_select, (void *)12);
1372
1373 btn_icom_select_13 = new Fl_Button(4, 70, 60, 18, _("1.2 G"));
1374 btn_icom_select_13->tooltip(_("Left click - get\nRight click - set"));
1375 btn_icom_select_13->color((Fl_Color)246);
1376 btn_icom_select_13->callback((Fl_Callback*)cb_btn_band_select, (void *)13);
1377
1378 choice_tTONE = new Fl_PL_tone(145, 70, 75, 18, _("tTONE"));
1379 choice_tTONE->align((Fl_Align)FL_ALIGN_LEFT);
1380 choice_tTONE->value(8);
1381 choice_tTONE->end();
1382
1383 choice_rTONE = new Fl_PL_tone(287, 70, 75, 18, _("rTONE"));
1384 choice_rTONE->align((Fl_Align)FL_ALIGN_LEFT);
1385 choice_rTONE->value(8);
1386 choice_rTONE->end();
1387
1388 tab_icom_bands->end();
1389
1390 genericCW = new Fl_Group(0, 24, small_mainW, gph - 24, _("CW"));
1391 genericCW->color(FL_LIGHT1);
1392 genericCW->selection_color(FL_LIGHT1);
1393 genericCW->hide();
1394
1395 spnr_cw_wpm = new Hspinner(
1396 4, 40,
1397 85, 22, _("wpm"), 16);
1398 spnr_cw_wpm->type(1);
1399 spnr_cw_wpm->minimum(5);
1400 spnr_cw_wpm->maximum(80);
1401 spnr_cw_wpm->step(1);
1402 spnr_cw_wpm->callback((Fl_Callback*)cb_spnr_cw_wpm);
1403 spnr_cw_wpm->value(progStatus.cw_wpm);
1404 spnr_cw_wpm->labelsize(12);
1405 spnr_cw_wpm->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
1406 spnr_cw_wpm->tooltip(_("CW words per minute"));
1407
1408 spnr_cw_weight = new Hspinner(
1409 spnr_cw_wpm->x() + spnr_cw_wpm->w() + 4, 40,
1410 85, 22, _("Weight"), 16);
1411 spnr_cw_weight->type(1);
1412 spnr_cw_weight->minimum(2.5);
1413 spnr_cw_weight->maximum(4.5);
1414 spnr_cw_weight->step(0.1);
1415 spnr_cw_weight->value(3);
1416 spnr_cw_weight->callback((Fl_Callback*)cb_spnr_cw_weight);
1417 spnr_cw_weight->value(progStatus.cw_weight);
1418 spnr_cw_weight->labelsize(12);
1419 spnr_cw_weight->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
1420 spnr_cw_weight->tooltip(_("CW weight"));
1421
1422 spnr_cw_spot_tone= new Hspinner(
1423 spnr_cw_weight->w() + spnr_cw_weight->x() + 4, 40,
1424 85, 22, _("Spot tone"), 16);
1425 spnr_cw_spot_tone->tooltip(_("Spot volume"));
1426 spnr_cw_spot_tone->type(1);
1427 spnr_cw_spot_tone->minimum(50);
1428 spnr_cw_spot_tone->maximum(1050);
1429 spnr_cw_spot_tone->step(5);
1430 spnr_cw_spot_tone->value(700);
1431 spnr_cw_spot_tone->callback((Fl_Callback*)cb_spnr_cw_spot_tone);
1432 spnr_cw_spot_tone->value(progStatus.cw_spot);
1433 spnr_cw_spot_tone->labelsize(12);
1434 spnr_cw_spot_tone->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
1435
1436 btnSpot = new Fl_Light_Button(
1437 spnr_cw_spot_tone->x() + spnr_cw_spot_tone->w() + 4, 36,
1438 60, 22, _("Spot"));
1439 btnSpot->tooltip(_("Spot tone on/off"));
1440 btnSpot->callback((Fl_Callback*)cb_btnSpot);
1441 btnSpot->value(progStatus.cw_spot);
1442
1443 btn_enable_keyer = new Fl_Check_Button(
1444 btnSpot->x(), 62, 60, 15, _("Keyer"));
1445 btn_enable_keyer->tooltip(_("Enable internal keyer"));
1446 btn_enable_keyer->down_box(FL_DOWN_BOX);
1447 btn_enable_keyer->callback((Fl_Callback*)cb_btn_enable_keyer);
1448 btn_enable_keyer->value(progStatus.enable_keyer);
1449
1450 genericCW->end();
1451
1452 genericQSK = new Fl_Group(0, 24, small_mainW, gph - 24, _("QSK"));
1453 genericQSK->color(FL_LIGHT1);
1454 genericQSK->selection_color(FL_LIGHT1);
1455 genericQSK->hide();
1456
1457 btnBreakIn = new Fl_Button(
1458 5, 40, 60, 22, _("QSK"));
1459 btnBreakIn->tooltip(_("Full break in"));
1460 btnBreakIn->callback((Fl_Callback*)cb_btnBreakIn);
1461 btnBreakIn->value(progStatus.break_in);
1462
1463 spnr_cw_qsk = new Hspinner(
1464 btnBreakIn->x() + btnBreakIn->w() + 4, 40,
1465 85, 22, _("Bk-in Dly"), 16);
1466 spnr_cw_qsk->tooltip(_("msec"));
1467 spnr_cw_qsk->type(1);
1468 spnr_cw_qsk->minimum(0);
1469 spnr_cw_qsk->maximum(100);
1470 spnr_cw_qsk->step(1);
1471 spnr_cw_qsk->value(20);
1472 spnr_cw_qsk->callback((Fl_Callback*)cb_spnr_cw_qsk);
1473 spnr_cw_qsk->value(progStatus.cw_qsk);
1474 spnr_cw_qsk->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
1475
1476 spnr_cw_delay = new Hspinner(
1477 spnr_cw_qsk->x() + spnr_cw_qsk->w() + 4, 40,
1478 120, 22, _("QSK delay"), 16);
1479 spnr_cw_delay->tooltip(_("msec"));
1480 spnr_cw_delay->type(0);
1481 spnr_cw_delay->minimum(30);
1482 spnr_cw_delay->maximum(500);
1483 spnr_cw_delay->step(10);
1484 spnr_cw_delay->callback((Fl_Callback*)cb_spnr_cw_delay);
1485 spnr_cw_delay->value(progStatus.cw_delay);
1486 spnr_cw_delay->align(FL_ALIGN_BOTTOM | FL_ALIGN_CENTER);
1487
1488 genericQSK->end();
1489
1490 genericVOX = new Fl_Group(0, 24, small_mainW, gph - 24, _("Vox"));
1491 genericVOX->hide();
1492
1493 spnr_vox_gain = new Hspinner(
1494 4, 40,
1495 80, 22, _("gain"), 16);
1496 spnr_vox_gain->type(1);
1497 spnr_vox_gain->minimum(0);
1498 spnr_vox_gain->maximum(100);
1499 spnr_vox_gain->step(1);
1500 spnr_vox_gain->tooltip(_("VOX gain"));
1501 spnr_vox_gain->callback((Fl_Callback*)cb_spnr_vox_gain);
1502 spnr_vox_gain->value(progStatus.vox_gain);
1503 spnr_vox_gain->align(FL_ALIGN_CENTER | FL_ALIGN_BOTTOM);
1504
1505 spnr_anti_vox = new Hspinner(
1506 spnr_vox_gain->x() + spnr_vox_gain->w() + 10, 40,
1507 80, 22, _("anti"), 16);
1508 spnr_anti_vox->type(1);
1509 spnr_anti_vox->minimum(0);
1510 spnr_anti_vox->maximum(100);
1511 spnr_anti_vox->step(1);
1512 spnr_anti_vox->tooltip(_("Anti VOX gain"));
1513 spnr_anti_vox->callback((Fl_Callback*)cb_spnr_anti_vox);
1514 spnr_anti_vox->value(progStatus.vox_anti);
1515 spnr_anti_vox->align(FL_ALIGN_CENTER | FL_ALIGN_BOTTOM);
1516
1517 spnr_vox_hang = new Hspinner(
1518 spnr_anti_vox->x() + spnr_anti_vox->w() + 10, 40,
1519 80, 22, _("hang"), 16);
1520 spnr_vox_hang->type(1);
1521 spnr_vox_hang->minimum(0);
1522 spnr_vox_hang->maximum(100);
1523 spnr_vox_hang->step(1);
1524 spnr_vox_hang->tooltip(_("VOX hang time"));
1525 spnr_vox_hang->callback((Fl_Callback*)cb_spnr_vox_hang);
1526 spnr_vox_hang->value(progStatus.vox_hang);
1527 spnr_vox_hang->align(FL_ALIGN_CENTER | FL_ALIGN_BOTTOM);
1528
1529 btn_vox = new Fl_Light_Button(
1530 spnr_vox_hang->x() + spnr_vox_hang->w() + 10, 40,
1531 50, 22, _("VOX"));
1532 btn_vox->callback((Fl_Callback*)cb_btn_vox);
1533 btn_vox->value(progStatus.vox_onoff);
1534 btn_vox->tooltip(_("VOX on/off"));
1535
1536 btn_vox_on_dataport = new Fl_Check_Button(
1537 btn_vox->x() + btn_vox->w() + 10, 44,
1538 50, 15, _("Data port"));
1539 btn_vox_on_dataport->tooltip(_("Data port signal triggers VOX"));
1540 btn_vox_on_dataport->down_box(FL_DOWN_BOX);
1541 btn_vox_on_dataport->callback((Fl_Callback*)cb_btn_vox_on_dataport);
1542 btn_vox_on_dataport->value(progStatus.vox_on_dataport);
1543
1544 genericVOX->end();
1545
1546 genericSpeech = new Fl_Group(0, 24, small_mainW, gph - 24, _("Spch"));
1547 genericSpeech->hide();
1548
1549 btnCompON = new Fl_Light_Button(215, 40, 100, 22, _("On"));
1550 btnCompON->callback((Fl_Callback*)cb_btnCompON);
1551 btnCompON->value(progStatus.compON);
1552 btnCompON->tooltip(_("Compression on/off"));
1553
1554 spnr_compression = new Hspinner(138, 40, 70, 22, _("Comp"));
1555 spnr_compression->type(1);
1556 spnr_compression->minimum(0);
1557 spnr_compression->maximum(100);
1558 spnr_compression->step(1);
1559 spnr_compression->tooltip(_("Compression level"));
1560 spnr_compression->callback((Fl_Callback*)cb_spnr_compression);
1561 spnr_compression->value(progStatus.compression);
1562
1563 genericSpeech->end();
1564
1565 genericRx = new Fl_Group(0, 24, small_mainW, gph - 24, _("RX"));
1566 genericRx->hide();
1567
1568 sldr_nb_level = new Fl_Wheel_Value_Slider(5, 40, 200, 20, _("NB level"));
1569 sldr_nb_level->tooltip(_("Noise Blanker level"));
1570 sldr_nb_level->type(5);
1571 sldr_nb_level->box(FL_THIN_DOWN_BOX);
1572 sldr_nb_level->color(FL_BACKGROUND_COLOR);
1573 sldr_nb_level->selection_color(FL_BACKGROUND_COLOR);
1574 sldr_nb_level->labeltype(FL_NORMAL_LABEL);
1575 sldr_nb_level->labelfont(0);
1576 sldr_nb_level->labelsize(14);
1577 sldr_nb_level->labelcolor(FL_FOREGROUND_COLOR);
1578 sldr_nb_level->minimum(0);
1579 sldr_nb_level->maximum(0);
1580 sldr_nb_level->step(1);
1581 sldr_nb_level->callback((Fl_Callback*)cb_sldr_nb_level);
1582 sldr_nb_level->align(Fl_Align(FL_ALIGN_BOTTOM));
1583 sldr_nb_level->when(FL_WHEN_CHANGED);
1584
1585 sldr_nb_level->value(progStatus.nb_level);
1586
1587 // cbo_agc_level = new Fl_ComboBox(123, 40, 80, 22, _("AGC"));
1588 // cbo_agc_level->tooltip(_("AGC level"));
1589 // cbo_agc_level->box(FL_DOWN_BOX);
1590 // cbo_agc_level->color(FL_BACKGROUND_COLOR);
1591 // cbo_agc_level->selection_color(FL_BACKGROUND_COLOR);
1592 // cbo_agc_level->labeltype(FL_NORMAL_LABEL);
1593 // cbo_agc_level->labelfont(0);
1594 // cbo_agc_level->labelsize(14);
1595 // cbo_agc_level->labelcolor(FL_FOREGROUND_COLOR);
1596 // cbo_agc_level->callback((Fl_Callback*)cb_cbo_agc_level);
1597 // cbo_agc_level->align(Fl_Align(FL_ALIGN_BOTTOM));
1598 // cbo_agc_level->when(FL_WHEN_CHANGED);
1599 // cbo_agc_level->end();
1600
1601 spnr_bpf_center = new Hspinner(234, 40, 96, 22, _("BPF Center Freq"));
1602 spnr_bpf_center->tooltip(_("Bandpass Filter Center Freq"));
1603 spnr_bpf_center->type(1);
1604 spnr_bpf_center->minimum(600);
1605 spnr_bpf_center->maximum(2500);
1606 spnr_bpf_center->step(10);
1607 spnr_bpf_center->value(1500);
1608 spnr_bpf_center->callback((Fl_Callback*)cb_spnr_bpf_center);
1609 spnr_bpf_center->align(Fl_Align(34));
1610 spnr_bpf_center->value(progStatus.bpf_center);
1611
1612 btn_use_bpf_center = new Fl_Check_Button(361, 40, 50, 15, _("On"));
1613 btn_use_bpf_center->tooltip(_("Use Filter Center Freq Adj"));
1614 btn_use_bpf_center->down_box(FL_DOWN_BOX);
1615 btn_use_bpf_center->value(1);
1616 btn_use_bpf_center->callback((Fl_Callback*)cb_btn_use_bpf_center);
1617 btn_use_bpf_center->value(progStatus.use_bpf_center);
1618
1619 genericRx->end();
1620
1621 genericMisc = new Fl_Group(0, 24, small_mainW, gph - 24, _("Misc"));
1622 genericMisc->hide();
1623
1624 spnr_vfo_adj = new Hspinner(24, 40, 96, 22, _("Vfo Adj"));
1625 spnr_vfo_adj->type(1);
1626 spnr_vfo_adj->callback((Fl_Callback*)cb_spnr_vfo_adj);
1627 spnr_vfo_adj->align(Fl_Align(34));
1628 spnr_vfo_adj->step(1);
1629 spnr_vfo_adj->value(progStatus.vfo_adj);
1630
1631 spnr_line_out = new Hspinner(146, 40, 70, 22, _("line out"));
1632 spnr_line_out->type(1);
1633 spnr_line_out->minimum(0);
1634 spnr_line_out->maximum(100);
1635 spnr_line_out->step(1);
1636 spnr_line_out->value(20);
1637 spnr_line_out->align(Fl_Align(34));
1638 spnr_line_out->callback((Fl_Callback*)cb_spnr_line_out);
1639 spnr_line_out->value(progStatus.line_out);
1640
1641 btnSpecial = new Fl_Light_Button(242, 30, 74, 20, _("Special"));
1642 btnSpecial->callback((Fl_Callback*)cb_btnSpecial);
1643
1644 btn_ext_tuner = new Fl_Check_Button(242, 60, 74, 15, _("Ext tuner"));
1645 btn_ext_tuner->tooltip(_("use external auto tuner"));
1646 btn_ext_tuner->down_box(FL_DOWN_BOX);
1647 btn_ext_tuner->callback((Fl_Callback*)cb_btn_ext_tuner);
1648 btn_ext_tuner->value(progStatus.external_tuner);
1649
1650 btn_xcvr_auto_on = new Fl_Check_Button(325, 38, 95, 15, _("Rig autOn"));
1651 btn_xcvr_auto_on->tooltip(_("Auto Turn Rig On with Flrig startup"));
1652 btn_xcvr_auto_on->down_box(FL_DOWN_BOX);
1653 btn_xcvr_auto_on->callback((Fl_Callback*)cb_btn_xcvr_auto_on);
1654 btn_xcvr_auto_on->value(progStatus.xcvr_auto_on);
1655
1656 btn_xcvr_auto_off = new Fl_Check_Button(325, 60, 95, 15, _("Rig autOff"));
1657 btn_xcvr_auto_off->tooltip(_("Auto Turn Rig Off with Flrig exit"));
1658 btn_xcvr_auto_off->down_box(FL_DOWN_BOX);
1659 btn_xcvr_auto_off->callback((Fl_Callback*)cb_btn_xcvr_auto_off);
1660 btn_xcvr_auto_off->value(progStatus.xcvr_auto_off);
1661
1662 genericMisc->end();
1663
1664 genericUser_1 = new Fl_Group(0, 24, small_mainW, gph - 24, _("Cmds A"));
1665 btnUser1 = new Fl_Button(5, genericUser_1->y() + 12, 100, 20, "USER 1");
1666 btnUser1->callback((Fl_Callback*)cb_btnUser, (void*)1);
1667
1668 btnUser2 = new Fl_Button(110, genericUser_1->y() + 12, 100, 20, "USER 2");
1669 btnUser2->callback((Fl_Callback*)cb_btnUser, (void*)2);
1670
1671 btnUser3 = new Fl_Button(215, genericUser_1->y() + 12, 100, 20, "USER 3");
1672 btnUser3->callback((Fl_Callback*)cb_btnUser, (void*)3);
1673
1674 btnUser4 = new Fl_Button(320, genericUser_1->y() + 12, 100, 20, "USER 4");
1675 btnUser4->callback((Fl_Callback*)cb_btnUser, (void*)4);
1676
1677 btnUser5 = new Fl_Button(5, genericUser_1->y() + 36, 100, 20, "USER 5");
1678 btnUser5->callback((Fl_Callback*)cb_btnUser, (void*)5);
1679
1680 btnUser6 = new Fl_Button(110, genericUser_1->y() + 36, 100, 20, "USER 6");
1681 btnUser6->callback((Fl_Callback*)cb_btnUser, (void*)6);
1682
1683 btnUser7 = new Fl_Button(215, genericUser_1->y() + 36, 100, 20, "USER 7");
1684 btnUser7->callback((Fl_Callback*)cb_btnUser, (void*)7);
1685
1686 btnUser8 = new Fl_Button(320, genericUser_1->y() + 36, 100, 20, "USER 8");
1687 btnUser8->callback((Fl_Callback*)cb_btnUser, (void*)8);
1688
1689 genericUser_1->end();
1690
1691 genericUser_2 = new Fl_Group(0, 24, small_mainW, gph - 24, _("B"));
1692 btnUser9 = new Fl_Button(5, genericUser_2->y() + 12, 100, 20, "USER 9");
1693 btnUser9->callback((Fl_Callback*)cb_btnUser, (void*)9);
1694
1695 btnUser10 = new Fl_Button(110, genericUser_2->y() + 12, 100, 20, "USER 10");
1696 btnUser10->callback((Fl_Callback*)cb_btnUser, (void*)10);
1697
1698 btnUser11 = new Fl_Button(215, genericUser_2->y() + 12, 100, 20, "USER 11");
1699 btnUser11->callback((Fl_Callback*)cb_btnUser, (void*)11);
1700
1701 btnUser12 = new Fl_Button(320, genericUser_2->y() + 12, 100, 20, "USER 12");
1702 btnUser12->callback((Fl_Callback*)cb_btnUser, (void*)12);
1703
1704 btnUser13 = new Fl_Button(5, genericUser_2->y() + 36, 100, 20, "USER 13");
1705 btnUser13->callback((Fl_Callback*)cb_btnUser, (void*)13);
1706
1707 btnUser14 = new Fl_Button(110, genericUser_2->y() + 36, 100, 20, "USER 14");
1708 btnUser14->callback((Fl_Callback*)cb_btnUser, (void*)14);
1709
1710 btnUser15 = new Fl_Button(215, genericUser_2->y() + 36, 100, 20, "USER 15");
1711 btnUser15->callback((Fl_Callback*)cb_btnUser, (void*)15);
1712
1713 btnUser16 = new Fl_Button(320, genericUser_2->y() + 36, 100, 20, "USER 16");
1714 btnUser16->callback((Fl_Callback*)cb_btnUser, (void*)16);
1715
1716 genericUser_2->end();
1717
1718 genericUser_3 = new Fl_Group(0, 24, small_mainW, gph - 24, _("C"));
1719 btnUser17 = new Fl_Button(5, genericUser_3->y() + 12, 100, 20, "USER 17");
1720 btnUser17->callback((Fl_Callback*)cb_btnUser, (void*)17);
1721
1722 btnUser18 = new Fl_Button(110, genericUser_3->y() + 12, 100, 20, "USER 18");
1723 btnUser18->callback((Fl_Callback*)cb_btnUser, (void*)18);
1724
1725 btnUser19 = new Fl_Button(215, genericUser_3->y() + 12, 100, 20, "USER 19");
1726 btnUser19->callback((Fl_Callback*)cb_btnUser, (void*)19);
1727
1728 btnUser20 = new Fl_Button(320, genericUser_3->y() + 12, 100, 20, "USER 20");
1729 btnUser20->callback((Fl_Callback*)cb_btnUser, (void*)20);
1730
1731 btnUser21 = new Fl_Button(5, genericUser_3->y() + 36, 100, 20, "USER 21");
1732 btnUser21->callback((Fl_Callback*)cb_btnUser, (void*)21);
1733
1734 btnUser22 = new Fl_Button(110, genericUser_3->y() + 36, 100, 20, "USER 22");
1735 btnUser22->callback((Fl_Callback*)cb_btnUser, (void*)22);
1736
1737 btnUser23 = new Fl_Button(215, genericUser_3->y() + 36, 100, 20, "USER 23");
1738 btnUser23->callback((Fl_Callback*)cb_btnUser, (void*)23);
1739
1740 btnUser24 = new Fl_Button(320, genericUser_3->y() + 36, 100, 20, "USER 24");
1741 btnUser24->callback((Fl_Callback*)cb_btnUser, (void*)24);
1742
1743 genericUser_3->end();
1744
1745 tab7610 = new Fl_Group(0, 24, small_mainW, gph - 24, _("IC7610"));
1746 ic7610att = new Fl_ComboBox(5, tab7610->y() + 10, 70, 20, "Att level");
1747 ic7610att->add("OFF|3db|6db|9db|12db|15db|18db|21db|24db|27db|30db|33db|36db|39db|42db|45db|");
1748 ic7610att->align(FL_ALIGN_RIGHT);
1749 ic7610att->index(progStatus.index_ic7610att);
1750 ic7610att->readonly();
1751 ic7610att->callback((Fl_Callback *)cb_ic7610_att);
1752
1753 ic7610dual_watch = new Fl_Light_Button(150, tab7610->y() + 10, 120, 20, "Dual Watch");
1754 ic7610dual_watch->value(progStatus.dual_watch);
1755 ic7610dual_watch->callback((Fl_Callback *)cb_dual_watch);
1756
1757 ic7610digi_sel_on_off = new Fl_Light_Button(5, tab7610->y() + 35, 70, 20, "Digi-Sel");
1758 ic7610digi_sel_on_off->value(progStatus.digi_sel_on_off);
1759 ic7610digi_sel_on_off->callback((Fl_Callback *)cb_digi_sel_on_off);
1760
1761 ic7610_digi_sel_val = new Fl_Wheel_Value_Slider(80, tab7610->y() + 35, small_mainW - 85, 20, "");
1762 ic7610_digi_sel_val->tooltip(_("Digi-Sel value"));
1763 ic7610_digi_sel_val->type(5);
1764 ic7610_digi_sel_val->box(FL_THIN_DOWN_BOX);
1765 ic7610_digi_sel_val->color(FL_BACKGROUND_COLOR);
1766 ic7610_digi_sel_val->selection_color(FL_BACKGROUND_COLOR);
1767 ic7610_digi_sel_val->labeltype(FL_NORMAL_LABEL);
1768 ic7610_digi_sel_val->labelfont(0);
1769 ic7610_digi_sel_val->labelsize(14);
1770 ic7610_digi_sel_val->labelcolor(FL_FOREGROUND_COLOR);
1771 ic7610_digi_sel_val->minimum(0);
1772 ic7610_digi_sel_val->maximum(255);
1773 ic7610_digi_sel_val->step(1);
1774 ic7610_digi_sel_val->callback((Fl_Callback*)cb_digi_sel_val);
1775 ic7610_digi_sel_val->align(Fl_Align(FL_ALIGN_BOTTOM));
1776 ic7610_digi_sel_val->when(FL_WHEN_CHANGED);
1777 ic7610_digi_sel_val->value(progStatus.digi_sel_val);
1778
1779 tab7610->end();
1780
1781 tabsGeneric->resizable(genericUser_3);
1782 tabsGeneric->end();
1783
1784 grpTABS->end();
1785 w->end();
1786 w->resizable(grpTABS);
1787 w->size_range (small_mainW, gph, 0, gph);
1788 return w;
1789 }
1790
Small_rig_window()1791 Fl_Double_Window* Small_rig_window() {
1792 Fl_Double_Window* w = new Fl_Double_Window(small_mainW, small_mainH, _("Flrig"));
1793 w->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE));
1794
1795 grp_menu = new Fl_Group(0,0,small_mainW,small_menuH);
1796
1797 small_menu = new Fl_Menu_Bar(0, 0, small_mainW - 64, small_menuH);
1798 small_menu->textsize(12);
1799 small_menu->menu(menu_small_menu);
1800
1801 Fl_Menu_Item * mnu = getMenuItem(_("Tooltips"), menu_small_menu);
1802 if (mnu) {
1803 progStatus.tooltips ? mnu->set() : mnu->clear();
1804 mnuTooltips = mnu;
1805 }
1806
1807 mnu = getMenuItem(_("Small sliders"), menu_small_menu);
1808 if (mnu) {
1809 progStatus.schema ? mnu->set() : mnu->clear();
1810 mnuSchema = mnu;
1811 }
1812
1813 Fl_Group *mnu_box = new Fl_Group(small_mainW-64, 0, 64, small_menuH);
1814 mnu_box->box(FL_UP_BOX);
1815
1816 tcpip_box = new Fl_Group(small_mainW-62, 2, 60, 18);
1817 tcpip_box->box(FL_FLAT_BOX);
1818
1819 tcpip_menu_box = new Fl_Box(small_mainH - 62, 3, 16, 16);
1820 tcpip_menu_box->box(FL_DIAMOND_BOX);
1821 tcpip_menu_box->color(FL_GREEN);
1822 Fl_Box *tcpip_menu_label = new Fl_Box(small_mainH - 62 + 18, 3, 64 - 22, 16, _("tcpip"));
1823 tcpip_menu_label->box(FL_FLAT_BOX);
1824 tcpip_menu_label->align(FL_ALIGN_CENTER);
1825 tcpip_menu_label->tooltip(_("lit when connected to remote tcpip"));
1826
1827 tcpip_box->end();
1828 tcpip_box->hide();
1829
1830 mnu_box->end();
1831 grp_menu->resizable(small_menu);
1832
1833 grp_menu->end();
1834
1835 txt_encA = new Fl_Output( small_mainW - 90, 1, 90, 20, "");
1836 txt_encA->box(FL_THIN_DOWN_BOX);
1837 txt_encA->align(20);
1838 txt_encA->hide();
1839
1840 main_group = small_main_group(
1841 0, small_menuH,
1842 small_mainW, small_mainH - small_menuH);
1843
1844 grpInitializing = new Fl_Group(
1845 0, 0, small_mainW, small_mainH);
1846
1847 grpInitializing->box(FL_FLAT_BOX);
1848 grpInitializing->color(FL_LIGHT2);
1849
1850 progress = new Fl_Progress(
1851 small_mainW / 4, small_mainH / 2,
1852 small_mainW / 2, 20, "Initializing");
1853 progress->maximum(100);
1854 progress->minimum(0);
1855 progress->labelcolor(FL_DARK_RED);
1856 progress->labelsize(14);
1857 progress->align(Fl_Align(FL_ALIGN_TOP));
1858 progress->selection_color(FL_GREEN);
1859
1860 filler = new Fl_Box(
1861 0, small_mainH - 5,
1862 small_mainW, 4);
1863 filler->box(FL_FLAT_BOX);
1864 filler->color(FL_LIGHT2);
1865
1866 grpInitializing->end();
1867 grpInitializing->resizable(filler);
1868
1869 grpInitializing->show();
1870
1871 w->end();
1872 return w;
1873 }
1874