1 // ---------------------------------------------------------------------------- 2 // 3 // fl_digi.h 4 // 5 // Copyright (C) 2006-2010 6 // Dave Freese, W1HKJ 7 // 8 // This file is part of fldigi. 9 // 10 // Fldigi is free software: you can redistribute it and/or modify 11 // it under the terms of the GNU General Public License as published by 12 // the Free Software Foundation, either version 3 of the License, or 13 // (at your option) any later version. 14 // 15 // Fldigi is distributed in the hope that it will be useful, 16 // but WITHOUT ANY WARRANTY; without even the implied warranty of 17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 // GNU General Public License for more details. 19 // 20 // You should have received a copy of the GNU General Public License 21 // along with fldigi. If not, see <http://www.gnu.org/licenses/>. 22 // ---------------------------------------------------------------------------- 23 24 #ifndef FL_DIGI_H 25 #define FL_DIGI_H 26 27 #include <FL/Fl_Double_Window.H> 28 #include <FL/Fl_Browser.H> 29 #include <FL/Fl_Pack.H> 30 #include <string> 31 32 #include "combo.h" 33 //#include "Fl_Tile_Check.h" 34 #include "Panel.h" 35 #include "FTextRXTX.h" 36 #include "raster.h" 37 #include "waterfall.h" 38 #include "digiscope.h" 39 #include "globals.h" 40 #include "progress.h" 41 #include "FreqControl.h" 42 #include "flinput2.h" 43 #include "flslider2.h" 44 #include "psk_browser.h" 45 #include "re.h" 46 #include "smeter.h" 47 #include "pwrmeter.h" 48 #include "picture.h" 49 #include "qso_db.h" 50 #include "vumeter.h" 51 #include "status_box.h" 52 53 #include <FL/Fl_Progress.H> 54 55 extern fre_t seek_re; 56 57 extern Fl_Double_Window *fl_digi_main; 58 extern Fl_Double_Window *scopeview; 59 extern Fl_Double_Window *dlgRecordLoader; 60 extern Fl_Double_Window *dxcluster_viewer; 61 extern Fl_Double_Window *rxaudio_dialog; 62 extern Fl_Double_Window *fsqMonitor; 63 extern Fl_Double_Window *fsqDebug; 64 extern Fl_Double_Window *fsqpicRxWin; 65 extern Fl_Double_Window *fsqpicTxWin; 66 extern Fl_Double_Window *ifkppicRxWin; 67 extern Fl_Double_Window *ifkppicTxWin; 68 extern Fl_Double_Window *notify_window; 69 extern Fl_Double_Window *dxcc_window; 70 extern Fl_Double_Window *dxcluster_viewer; 71 extern Fl_Double_Window *rxaudio_dialog; 72 73 extern bool first_use; 74 extern bool bEXITING; 75 76 extern FTextRX *ReceiveText; 77 extern FTextTX *TransmitText; 78 extern Raster *FHdisp; 79 extern pskBrowser *mainViewer; 80 extern Fl_Input2 *txtInpSeek; 81 extern Fl_Box *hideViewer; 82 extern Fl_Group *mvgroup; 83 84 extern Fl_Group *text_group; 85 extern Fl_Group *wefax_group; 86 87 extern Panel *text_panel; 88 extern Fl_Box *minbox; 89 extern int oix; 90 91 extern Fl_Box *Status2; 92 extern Fl_Box *Status1; 93 extern status_box *StatusBar; 94 95 extern vumeter *VuMeter; 96 extern Fl_Box *VuBox; 97 98 extern void VuMeter_cb(vumeter *vu, void *d); 99 extern void StatusBar_cb(Fl_Box *bx, void *d); 100 101 extern Fl_Counter2 *cntCW_WPM; 102 extern Fl_Counter2 *cntTxLevel; 103 extern Fl_Button *MODEstatus; 104 extern Fl_Slider2 *sldrSquelch; 105 extern Progress *pgrsSquelch; 106 extern Smeter *smeter; 107 extern PWRmeter *pwrmeter; 108 extern Fl_Value_Slider2 *pwr_level; 109 extern Fl_Group *pwrlevel_grp; 110 extern Fl_Button *btnMacro[]; 111 extern Fl_Button *btnAltMacros1; 112 extern Fl_Button *btnAltMacros2; 113 extern Fl_Button *btnDockMacro[]; 114 extern Fl_Button *btnMacroTimer; 115 extern Fl_Group *macroFrame1; 116 extern Fl_Group *macroFrame2; 117 extern Fl_Input2 *inpFreq; 118 extern Fl_Input2 *inpTimeOff; 119 extern Fl_Input2 *inpTimeOff1; 120 extern Fl_Input2 *inpTimeOff2; 121 extern Fl_Input2 *inpTimeOff3; 122 extern Fl_Input2 *inpTimeOn; 123 extern Fl_Input2 *inpTimeOn1; 124 extern Fl_Input2 *inpTimeOn2; 125 extern Fl_Input2 *inpTimeOn3; 126 extern Fl_Input2 *inpTimeOn4; 127 extern Fl_Input2 *inpTimeOn5; 128 extern Fl_Input2 *inpCall; 129 extern Fl_Input2 *inpName; 130 extern Fl_Input2 *inpRstIn; 131 extern Fl_Input2 *inpRstIn1; 132 extern Fl_Input2 *inpRstIn2; 133 extern Fl_Input2 *inpRstIn3; 134 extern Fl_Input2 *inpRstIn4; 135 extern Fl_Input2 *inpRstOut; 136 extern Fl_Input2 *inpRstOut1; 137 extern Fl_Input2 *inpRstOut2; 138 extern Fl_Input2 *inpRstOut3; 139 extern Fl_Input2 *inpRstOut4; 140 extern Fl_Input2 *inpQTH; 141 extern Fl_Input2 *inpQth; 142 extern Fl_Input2 *inpState; 143 extern Fl_Input2 *inpState1; 144 extern Fl_ComboBox *cboCountry; 145 extern Fl_Input2 *inpCounty; 146 extern Fl_ComboBox *cboCountryQSO; 147 extern Fl_ComboBox *cboCountyQSO; 148 extern Fl_Input2 *inpSerNo; 149 extern Fl_Input2 *inpSerNo1; 150 extern Fl_Input2 *inpSerNo2; 151 extern Fl_Input2 *inpSerNo3; 152 extern Fl_Input2 *inpSerNo4; 153 extern Fl_Input2 *outSerNo; 154 extern Fl_Input2 *outSerNo1; 155 extern Fl_Input2 *outSerNo2; 156 extern Fl_Input2 *outSerNo3; 157 extern Fl_Input2 *outSerNo4; 158 extern Fl_Input2 *inpXchgIn; 159 extern Fl_Input2 *inpXchgIn1; 160 extern Fl_Input2 *inpXchgIn2; 161 extern Fl_Input2 *inpVEprov; 162 extern Fl_Input2 *inpLoc; 163 extern Fl_Input2 *inpLoc1; 164 extern Fl_Input2 *inpNotes; 165 extern Fl_Input2 *inpAZ; // WA5ZNU 166 extern Fl_Button *qsoSave; 167 extern Fl_Box *txtRigName; 168 169 extern cFreqControl *qsoFreqDisp1; 170 extern cFreqControl *qsoFreqDisp2; 171 extern cFreqControl *qsoFreqDisp3; 172 extern Fl_Input2 *inpFreq2; 173 174 extern Fl_Input2 *inpCall1; 175 extern Fl_Input2 *inpCall2; 176 extern Fl_Input2 *inpCall3; 177 extern Fl_Input2 *inpCall4; 178 extern Fl_Input2 *inpName1; 179 extern Fl_Input2 *inpName2; 180 181 extern Fl_Group *QsoInfoFrame1B; 182 extern Fl_Group *qsoFrameView; 183 extern Fl_Group *QsoInfoFrame; 184 extern cFreqControl *qsoFreqDisp; 185 extern Fl_Group *qso_combos; 186 extern Fl_ListBox *qso_opMODE; 187 extern Fl_Group *qso_opGROUP; 188 extern Fl_ListBox *qso_opBW; 189 extern Fl_Button *qso_btnBW1; 190 extern Fl_ListBox *qso_opBW1; 191 extern Fl_Button *qso_btnBW2; 192 extern Fl_ListBox *qso_opBW2; 193 extern Fl_Button *qso_opPICK; 194 extern Fl_Browser *qso_opBrowser; 195 196 extern Fl_Group *fsq_group; 197 extern FTextRX *fsq_rx_text; 198 extern FTextTX *fsq_tx_text; 199 extern Fl_Browser *fsq_heard; 200 201 extern FTextRX *fsq_monitor; 202 extern FTextRX *fsq_que; 203 extern Fl_Double_Window *create_fsqMonitor(); 204 extern void open_fsqMonitor(); 205 extern void close_fsqMonitor(); 206 207 extern Fl_Double_Window *create_fsqDebug(); 208 extern void open_fsqDebug(); 209 extern void close_fsqDebug(); 210 extern void write_fsqDebug(int ch, int style = FTextBase::RECV); 211 extern void write_fsqDebug(std::string s, int style = FTextBase::RECV); 212 extern void fsq_que_clear(); 213 extern void write_fsq_que(std::string s); 214 215 extern Fl_Box *tx_timer; 216 217 extern void start_tx_timer(); 218 extern void stop_tx_timer(); 219 220 extern void fsq_disableshift(); 221 extern void fsq_enableshift(); 222 extern void fsq_updateRxPic(unsigned char data, int pos); 223 extern void fsq_createRxViewer(); 224 extern void fsq_showRxViewer(int W, int H, char c); 225 extern int fsq_load_image(const char *n, int W = 320, int H = 240); 226 extern void fsq_updateTxPic(unsigned char data, int pos); 227 extern void cb_fsqpicTxLoad(Fl_Widget *, void *); 228 extern void cb_fsqpicTxClose( Fl_Widget *w, void *); 229 extern int fsqpic_TxGetPixel(int pos, int color); 230 extern void cb_fsqpicTxSendColor( Fl_Widget *w, void *); 231 extern void cb_fsqpicTxSendGrey( Fl_Widget *w, void *); 232 extern void cb_fsqpicTxSendAbort( Fl_Widget *w, void *); 233 extern void cb_fsqpicTxSPP( Fl_Widget *w, void *); 234 extern void fsq_createTxViewer(); 235 extern void fsq_TxViewerResize(int W, int H); 236 extern void fsq_showTxViewer(char c); 237 extern void fsq_deleteTxViewer(); 238 extern void fsq_deleteRxViewer(); 239 extern int fsq_print_time_left(float time_sec, char *str, size_t len, 240 const char *prefix, const char *suffix); 241 extern void fsq_transmit(void *); 242 243 extern Fl_Light_Button *btn_FSQCALL; 244 extern Fl_Light_Button *btn_SELCAL; 245 extern Fl_Light_Button *btn_MONITOR; 246 extern Fl_Button *btn_FSQQTH; 247 extern Fl_Button *btn_FSQQTC; 248 extern Progress *ind_fsq_speed; 249 extern Progress *ind_fsq_s2n; 250 251 extern std::string fsq_selected_call; 252 extern bool in_heard(std::string); 253 extern void cb_fsq_heard(Fl_Browser*, void*); 254 extern std::string heard_list(); 255 extern void clear_heard_list(); 256 extern void age_heard_list(); 257 extern void add_to_heard_list(std::string, std::string); 258 extern void fsq_transmit_string(std::string s); 259 extern void fsq_xmt_mt(void *s); 260 extern void fsq_xmt(std::string s); 261 extern void fsq_repeat_last_heard(); 262 extern void fsq_repeat_last_command(); 263 extern void display_fsq_rx_text(std::string text, int style = FTextBase::SKIP); 264 extern void display_fsq_mon_text(std::string text, int style = FTextBase::SKIP); 265 266 extern void combo_color_font(Fl_ComboBox *cbo); 267 268 extern Fl_Group *ifkp_group; 269 extern Fl_Group *ifkp_upper; 270 extern Fl_Group *ifkp_upper_left; 271 extern FTextRX *ifkp_rx_text; 272 extern Fl_Group *ifkp_upper_right; 273 extern Fl_Browser *ifkp_heard; 274 extern Progress *ifkp_s2n_progress; 275 extern Fl_Group *ifkp_lower; 276 extern FTextTX *ifkp_tx_text; 277 extern picture *ifkp_avatar; 278 extern int ifkp_load_avatar(std::string image_fname = "", int W=59, int H=74); 279 extern void ifkp_clear_avatar(); 280 extern void ifkp_update_avatar(unsigned char data, int pos); 281 extern int ifkp_get_avatar_pixel(int pos, int color); 282 extern void cb_ifkp_send_avatar( Fl_Widget *w, void *); 283 284 extern void ifkp_load_raw_video(); 285 extern void activate_ifkp_image_item(bool); 286 287 extern void cb_ifkp_heard(Fl_Browser*, void*); 288 289 extern void enableSELCAL(); 290 291 extern unsigned char tux_img[59*74*3]; 292 293 extern void cbFSQQTC(Fl_Widget *w, void *d); 294 extern void cbFSQQTH(Fl_Widget *w, void *d); 295 extern void cbFSQCQ(Fl_Widget *w, void *d); 296 extern void cbMONITOR(Fl_Widget *w, void *d); 297 extern void cbSELCAL(Fl_Widget *w, void *d); 298 extern void cbFSQCALL(Fl_Widget *w, void *d); 299 300 extern void ifkp_showTxViewer(char C = 'S'); 301 extern void ifkp_load_scaled_image(std::string, bool gray = false); 302 303 #include <FL/Fl_Bitmap.H> 304 extern Fl_Bitmap image_s2n; 305 306 //------------------------------------------------------------------------------ 307 // fsq images 308 //------------------------------------------------------------------------------ 309 extern Fl_Double_Window *picRxWin; 310 extern picture *picRx; 311 extern Fl_Button *btnpicRxSave; 312 extern Fl_Button *btnpicRxAbort; 313 extern Fl_Button *btnpicRxClose; 314 315 extern Fl_Double_Window *picTxWin; 316 extern picture *picTx; 317 extern Fl_Button *btnpicTxSPP; 318 extern Fl_Button *btnpicTxSendColor; 319 extern Fl_Button *btnpicTxSendGrey; 320 extern Fl_Button *btnpicTxSendAbort; 321 extern Fl_Button *btnpicTxLoad; 322 extern Fl_Button *btnpicTxClose; 323 324 //------------------------------------------------------------------------------ 325 extern Fl_Value_Slider2 *mvsquelch; 326 extern Fl_Light_Button *btnAFC; 327 extern Fl_Light_Button *btnSQL; 328 extern Fl_Light_Button *btnPSQL; 329 extern Fl_Box *rsid_status; 330 extern Fl_Light_Button *btnRSID; 331 extern Fl_Light_Button *btnTxRSID; 332 extern Fl_Light_Button *btnTune; 333 extern Fl_Light_Button *btnAutoSpot; 334 335 extern bool bWF_only; 336 extern int altMacros; 337 338 extern waterfall *wf; 339 extern Digiscope *digiscope; 340 341 extern std::string argv_window_title; 342 extern std::string main_window_title; 343 extern std::string xcvr_title; 344 345 extern int Qwait_time; 346 extern int Qidle_time; 347 extern bool idling; 348 extern bool csma_idling; 349 350 extern void toggleRSID(); 351 352 extern int rightof(Fl_Widget* w); 353 extern int leftof(Fl_Widget* w); 354 extern int above(Fl_Widget* w); 355 extern int below(Fl_Widget* w); 356 357 extern void set_menus(); 358 extern void create_fl_digi_main(int argc, char** argv); 359 extern void update_main_title(); 360 extern void activate_rig_menu_item(bool b); 361 extern void activate_test_menu_item(bool b); 362 extern void activate_mfsk_image_item(bool b); 363 extern void activate_wefax_image_item(bool b); 364 extern void activate_thor_image_item(bool b); 365 extern void WF_UI(); 366 367 extern void set_macroLabels(); 368 extern void UI_select(); 369 370 extern void cb_mnuVisitURL(Fl_Widget*, void* arg); 371 372 extern void put_freq(double frequency); 373 extern void put_Bandwidth(int bandwidth); 374 extern void callback_set_metric(double metric); 375 extern void put_cwRcvWPM(double wpm); 376 377 extern void set_scope_mode(Digiscope::scope_mode md); 378 extern void set_scope(double *data, int len, bool autoscale = true); 379 extern void set_phase(double phase, double quality, bool highlight); 380 extern void set_rtty(double, double, double); 381 extern void set_video(double *, int, bool = true); 382 extern void set_zdata(cmplx *, int); 383 384 extern void set_scope_xaxis_1(double y1); 385 extern void set_scope_xaxis_2(double y2); 386 extern void set_scope_yaxis_1(double x1); 387 extern void set_scope_yaxis_2(double x2); 388 extern void set_scope_clear_axis(); 389 390 extern void set_CWwpm(); 391 extern void put_rx_char(unsigned int data, int style = FTextBase::RECV); 392 extern void put_rx_processed_char(unsigned int data, int style = FTextBase::RECV); 393 extern void put_sec_char( char chr ); 394 395 enum status_timeout { 396 STATUS_CLEAR, 397 STATUS_DIM, 398 STATUS_NUM 399 }; 400 401 extern const char *zshowtime(); 402 403 extern void put_status(const char *msg, double timeout = 0.0, status_timeout action = STATUS_CLEAR); 404 extern void clear_StatusMessages(); 405 extern void put_MODEstatus(const char* fmt, ...) format__(printf, 1, 2); 406 extern void put_MODEstatus(trx_mode mode); 407 extern void put_Status1(const char *msg, double timeout = 0.0, status_timeout action = STATUS_CLEAR); 408 extern void put_Status2(const char *msg, double timeout = 0.0, status_timeout action = STATUS_CLEAR); 409 extern void show_clock(bool); 410 411 extern void show_frequency(long long); 412 413 extern void show_mode(const std::string sMode); 414 extern void show_bw(const std::string sWidth); 415 extern void show_bw1(const std::string sVal); 416 extern void show_bw2(const std::string sVal); 417 418 extern void show_spot(bool v); 419 extern void showMacroSet(); 420 extern void setwfrange(); 421 extern void showDTMF(const std::string s); 422 423 extern void * set_xmtrcv_button_false(void); 424 extern void * set_xmtrcv_button_true(void); 425 extern void * set_xmtrcv_selection_color_pending(void); 426 extern void * set_xmtrcv_selection_color_transmitting(void); 427 extern void xmtrcv_selection_color(Fl_Color clr); 428 extern void xmtrcv_selection_color(); 429 extern void rev_selection_color(); 430 extern void xmtlock_selection_color(); 431 extern void sql_selection_color(); 432 extern void afc_selection_color(); 433 extern void rxid_selection_color(); 434 extern void txid_selection_color(); 435 extern void tune_selection_color(); 436 extern void spot_selection_color(); 437 extern void set_default_btn_color(); 438 439 extern void put_WARNstatus(double); 440 441 extern void qsoSave_cb(Fl_Widget *b, void *); 442 443 extern bool que_ok; 444 extern bool tx_queue_done; 445 extern void post_queue_execute(void*); 446 extern void queue_execute_after_rx(void*); 447 448 extern time_t program_start_time; 449 450 extern bool xmlrpc_address_override_flag; 451 extern bool xmlrpc_port_override_flag; 452 453 extern bool arq_address_override_flag; 454 extern bool arq_port_override_flag; 455 456 extern bool kiss_address_override_flag; 457 extern std::string override_xmlrpc_address; 458 extern std::string override_xmlrpc_port; 459 extern std::string override_arq_address; 460 extern std::string override_arq_port; 461 extern std::string override_kiss_address; 462 extern std::string override_kiss_io_port; 463 extern std::string override_kiss_out_port; 464 extern int override_kiss_dual_port_enabled; 465 extern int override_data_io_enabled; 466 467 extern int rxtx_charset; 468 extern void put_rx_data(int *data, int len); 469 470 // Values returned by get_tx_char() to signal various conditions to the 471 // modems. These values need to be negative so they don't interfere with 472 // normal TX data (which is always byte-sized and positive). 473 474 #define GET_TX_CHAR_NODATA -1 // no data available 475 #define GET_TX_CHAR_ETX -3 // end of transmission requested 476 477 // Last single macro bar option index 478 #define MACRO_SINGLE_BAR_MAX 2 479 480 extern int get_tx_char(); 481 extern int get_secondary_char(); 482 extern void put_echo_char(unsigned int data, int style = FTextBase::XMIT); 483 extern char *get_rxtx_data(); 484 extern char *get_rx_data(); 485 extern char *get_tx_data(); 486 487 extern void resetRTTY(); 488 extern void resetOLIVIA(); 489 extern void resetCONTESTIA(); 490 extern void resetTHOR(); 491 extern void resetDOMEX(); 492 extern void updatePACKET(); 493 extern void resetSoundCard(); 494 extern void restoreFocus(int n = 0); 495 extern void setReverse(int); 496 extern void clearQSO(); 497 extern void clear_log_fields(); 498 extern void set_log_colors(); 499 extern void closeRigDialog(); 500 extern void CloseQsoView(); 501 502 extern void setAfcOnOff(bool b); 503 extern void setSqlOnOff(bool b); 504 extern bool QueryAfcOnOff(); 505 extern bool QuerySqlOnOff(); 506 507 extern void init_modem(trx_mode mode, int freq = 0); 508 extern void init_modem_sync(trx_mode mode, int freq = 0); 509 extern void init_modem_squelch(trx_mode mode, int freq = 0); 510 511 extern void start_tx(); 512 extern void abort_tx(); 513 extern void set_rx_tx(); 514 extern void set_rx_only(); 515 516 extern void connect_to_fdserver(bool); 517 extern void LOGGING_colors_font(); 518 extern void LOGBOOK_colors_font(); 519 520 extern void colorize_macro(int i); 521 extern void colorize_macros(); 522 523 extern void set_rtty_tab_widgets(); 524 extern void set_olivia_tab_widgets(); 525 extern void set_olivia_default_integ(); 526 extern void set_dominoex_tab_widgets(); 527 528 extern void set_contestia_tab_widgets(); 529 extern void set_contestia_default_integ(); 530 531 extern void startMacroTimer(); 532 extern void stopMacroTimer(); 533 extern void macro_timer(void *); 534 extern void macro_timed_execute(void *); 535 extern void startTimedExecute(std::string &); 536 537 extern void cb_ResetSerNbr(); 538 extern void updateOutSerNo(); 539 540 extern void connect_to_log_server(void *p = NULL); 541 extern void set_server_label(bool); 542 extern void activate_menu_item(const char *caption, bool val); 543 extern int xml_check_dup(); 544 extern bool xml_get_record(const char *); 545 extern cQsoRec* search_fllog(const char *callsign); 546 extern void xml_update_eqsl(); 547 extern void xml_update_lotw(); 548 549 extern const char* zdate(void); 550 extern const char* ztime(void); 551 extern const char* ldate(void); 552 extern const char* ltime(void); 553 554 //extern void ztimer(void* first_call); 555 extern const double zusec(void); 556 extern const timeval tmval(void); 557 extern const unsigned long zmsec(void); 558 extern void start_macro_time(); 559 extern int stop_macro_time(); 560 561 extern void setTabColors(); 562 563 extern void toggle_visible_modes(Fl_Widget*, void*); 564 565 extern void qsy(long long rfc, int fmid = -1); 566 567 extern void note_qrg(bool no_dup = true, const char* prefix = " ", const char* suffix = " ", 568 trx_mode mode = NUM_MODES, long long rfc = 0LL, int afreq = 0); 569 570 extern void set_olivia_bw(int bw); 571 extern void set_olivia_tones(int tones); 572 573 extern void set_contestia_bw(int bw); 574 extern void set_contestia_tones(int tones); 575 576 extern void set_rtty_shift(int shift); 577 extern void set_rtty_baud(float baud); 578 extern void set_rtty_bits(int bits); 579 extern void set_rtty_bw(float bw); 580 extern void enable_rtty_quickchange(); 581 extern void disable_rtty_quickchange(); 582 583 extern void sync_cw_parameters(); 584 585 extern void open_recv_folder(const char *fname); 586 587 extern void reset_mnuPlayback(); 588 589 // character set 590 extern void set_charset_listbox(Fl_Widget *, void *charset); 591 extern void cb_listbox_charset(Fl_Widget *, void *); 592 extern void populate_charset_listbox(void); 593 extern void set_default_charset(void); 594 595 // set notch parameter on flrig 596 extern int notch_frequency; 597 extern void notch_on(int); 598 extern void notch_off(); 599 600 // Set IO port 601 extern void enable_kiss(void); 602 extern void enable_arq(void); 603 604 // PSM Configuration. 605 extern void psm_set_defaults(void); 606 extern void update_csma_io_config(int which); 607 608 // thread terminators 609 extern void ADIF_RW_close(void); 610 extern void EQSL_close(void); 611 612 extern void cb_mnuCheckUpdate(Fl_Widget *, void *); 613 614 bool ask_dir_creation( const std::string & dir ); 615 616 extern void set_CSV(int how); 617 618 extern void set_freq_control_lsd(); 619 620 extern void set_smeter_colors(); 621 622 extern void log_callback(Fl_Widget *); 623 624 extern void set599(); 625 626 // thor images 627 extern void thor_showTxViewer(char C = 'S'); 628 extern Fl_Double_Window *thorpicRxWin; 629 extern Fl_Double_Window *thorpicTxWin; 630 631 extern int thor_load_avatar(std::string image_fname = "", int W=59, int H=74); 632 extern void thor_clear_avatar(); 633 extern void thor_update_avatar(unsigned char data, int pos); 634 extern int thor_get_avatar_pixel(int pos, int color); 635 extern void cb_thor_send_avatar( Fl_Widget *w, void *); 636 extern picture *thor_avatar; 637 extern void thor_load_scaled_image(std::string fname, bool gray = false); 638 639 extern void thor_load_raw_video(); 640 641 // field day 642 extern Fl_Input2 *inpClass; 643 extern Fl_Input2 *inpSection; 644 extern Fl_Input2 *inp_FD_class1; 645 extern Fl_Input2 *inp_FD_section1; 646 extern Fl_Input2 *inp_FD_class2; 647 extern Fl_Input2 *inp_FD_section2; 648 // CQWW DX 649 extern Fl_Input2 *inp_CQDX_RSTin2; 650 extern Fl_Input2 *inp_CQDX_RSTout2; 651 extern Fl_ComboBox *cboCountryCQDX2; 652 extern Fl_Input2 *inp_CQDXzone1; 653 extern Fl_Input2 *inp_CQDXzone2; 654 // CQWW RTTY 655 extern Fl_Input2 *inp_CQzone; 656 extern Fl_Input2 *inp_CQzone1; 657 extern Fl_Input2 *inp_CQzone2; 658 extern Fl_Input2 *inp_CQstate; 659 extern Fl_Input2 *inp_CQstate1; 660 extern Fl_Input2 *inp_CQstate2; 661 extern Fl_ComboBox *cboCountryCQ2; 662 extern Fl_Input2 *inp_CQ_RSTin2; 663 extern Fl_Input2 *inp_CQ_RSTout2; 664 // CW Sweepstakes 665 extern Fl_Input2 *inp_SS_SerialNoR; 666 extern Fl_Input2 *inp_SS_Precedence; 667 extern Fl_Input2 *inp_SS_Check; 668 extern Fl_Input2 *inp_SS_Section; 669 // LOG_ARR 670 extern Fl_Input2 *inp_ARR_check; 671 extern Fl_Input2 *inp_ARR_check1; 672 extern Fl_Input2 *inp_ARR_check2; 673 extern Fl_Input2 *inp_ARR_XchgIn1; 674 extern Fl_Input2 *inp_ARR_XchgIn2; 675 extern Fl_Input2 *inp_ARR_Name2; 676 // LOG_KD 677 extern Fl_Input2 *inp_KD_age; 678 extern Fl_Input2 *inp_KD_XchgIn1; 679 extern Fl_Input2 *inp_KD_XchgIn2; 680 extern Fl_Input2 *inp_KD_state1; 681 extern Fl_Input2 *inp_KD_state2; 682 extern Fl_Input2 *inp_KD_VEprov1; 683 extern Fl_Input2 *inp_KD_VEprov2; 684 // LOG_1010 685 extern Fl_Input2 *inp_1010_nr; 686 extern Fl_Input2 *inp_1010_name2; 687 extern Fl_Input2 *inp_1010_XchgIn1; 688 extern Fl_Input2 *inp_1010_XchgIn2; 689 // LOG_ASCR 690 extern Fl_Input2 *inp_ASCR_class1; 691 extern Fl_Input2 *inp_ASCR_XchgIn1; 692 extern Fl_Input2 *inp_ASCR_name2; 693 extern Fl_Input2 *inp_ASCR_class2; 694 extern Fl_Input2 *inp_ASCR_XchgIn2; 695 extern Fl_Input2 *inp_ASCR_RSTin2; 696 extern Fl_Input2 *inp_ASCR_RSTout2; 697 // LOG_NAQP 698 extern Fl_Input2 *inpSPCnum; 699 extern Fl_Input2 *inpSPCnum_NAQP1; 700 extern Fl_Input2 *inpSPCnum_NAQP2; 701 extern Fl_Input2 *inpNAQPname2; 702 // LOG_RTTY 703 extern Fl_Input2 *inpRTU_stpr1; 704 extern Fl_Input2 *inpRTU_stpr2; 705 extern Fl_ComboBox *cboCountryRTU2; 706 extern Fl_Input2 *inpRTU_RSTin2; 707 extern Fl_Input2 *inpRTU_RSTout2; 708 extern Fl_Input2 *inpRTU_serno1; 709 extern Fl_Input2 *inpRTU_serno2; 710 711 // LOG_JOTA 712 extern Fl_Input2 *inpRstIn4; 713 extern Fl_Input2 *inpRstOut4; 714 extern Fl_Input2 *inp_JOTA_scout; 715 extern Fl_Input2 *inp_JOTA_scout1; 716 extern Fl_Input2 *inp_JOTA_scout2; 717 extern Fl_Input2 *inp_JOTA_troop; 718 extern Fl_Input2 *inp_JOTA_troop1; 719 extern Fl_Input2 *inp_JOTA_troop2; 720 extern Fl_Input2 *inp_JOTA_spc; 721 extern Fl_Input2 *inp_JOTA_spc1; 722 extern Fl_Input2 *inp_JOTA_spc2; 723 // LOG_AICW 724 extern Fl_Input2 *inpSPCnum_AICW1; 725 extern Fl_Input2 *inpSPCnum_AICW2; 726 extern Fl_Input2 *inpRstIn_AICW2; 727 extern Fl_Input2 *inpRstOut_AICW2; 728 extern Fl_ComboBox *cboCountryAICW2; 729 //LOG_AIDX 730 extern Fl_ComboBox *cboCountryAIDX; 731 extern Fl_ComboBox *cboCountryAIDX2; 732 // LOG_IARI - Italian International DX 733 extern Fl_Input2 *inp_IARI_PR1; 734 extern Fl_Input2 *inp_IARI_RSTin2; 735 extern Fl_Input2 *inp_IARI_RSTout2; 736 extern Fl_Input2 *out_IARI_SerNo1; 737 extern Fl_Input2 *inp_IARI_SerNo1; 738 extern Fl_Input2 *out_IARI_SerNo2; 739 extern Fl_Input2 *inp_IARI_SerNo2; 740 extern Fl_Input2 *inp_IARI_PR2; 741 extern Fl_ComboBox *cboCountryIARI2; 742 // LOG_WPX 743 extern Fl_Input2 *inpSerNo_WPX1; 744 extern Fl_Input2 *inpSerNo_WPX2; 745 extern Fl_Input2 *outSerNo_WPX1; 746 extern Fl_Input2 *outSerNo_WPX2; 747 extern Fl_Input2 *inpRstIn_WPX2; 748 extern Fl_Input2 *inpRstOut_WPX2; 749 // LOG_SQSO 750 extern Fl_Input2 *inpSQSO_state1; 751 extern Fl_Input2 *inpSQSO_state2; 752 extern Fl_Input2 *inpSQSO_county1; 753 extern Fl_Input2 *inpSQSO_county2; 754 extern Fl_Input2 *inpSQSO_serno1; 755 extern Fl_Input2 *inpSQSO_serno2; 756 extern Fl_Input2 *inpSQSO_name2; 757 extern Fl_Input2 *outSQSO_serno1; 758 extern Fl_Input2 *outSQSO_serno2; 759 extern Fl_Input2 *inpRstIn_SQSO2; 760 extern Fl_Input2 *inpRstOut_SQSO2; 761 extern Fl_Input2 *inpSQSO_category; 762 extern Fl_Input2 *inpSQSO_category1; 763 extern Fl_Input2 *inpSQSO_category2; 764 765 extern Fl_Double_Window *nano_calibration_dialog();; 766 767 // TOD clock 768 extern void TOD_init(); 769 extern void TOD_close(); 770 extern void start_deadman(); 771 extern void stop_deadman(); 772 extern void disable_deadman(); 773 774 //====================================================================== 775 //FeldHell resizable Rx character height 776 //====================================================================== 777 extern void FHdisp_char_height(); 778 779 extern bool clean_exit(bool); 780 781 #endif 782