// generated by Fast Light User Interface Designer (fluid) version 1.0404

#include "dx_dialog.h"
#include "gettext.h"
#ifndef gettext_noop
#  define gettext_noop(text) text
#endif
#include "Fl_Text_Buffer_mod.H"
static Fl_Text_Buffer_mod telnet_txt_buffer;
static Fl_Text_Buffer_mod telnet_view_buffer;
#include "configuration.h"
#include "dx_cluster.h"

Fl_Group *btn_select_host=(Fl_Group *)0;

Fl_Input2 *inp_dxcc_host_url=(Fl_Input2 *)0;

static void cb_inp_dxcc_host_url(Fl_Input2* o, void*) {
  progdefaults.dxcc_host_url=o->value();
  progdefaults.changed = true;
}

Fl_Button *btn_show_host_tab=(Fl_Button *)0;

static void cb_btn_show_host_tab(Fl_Button*, void*) {
  cluster_tabs->value(tabDXclusterConfig);
  cluster_tabs->redraw();
}

Fl_Input2 *inp_dccc_host_port=(Fl_Input2 *)0;

static void cb_inp_dccc_host_port(Fl_Input2* o, void*) {
  progdefaults.dxcc_host_port=o->value();
  progdefaults.changed = true;
}

Fl_Input2 *inp_dccc_login=(Fl_Input2 *)0;

static void cb_inp_dccc_login(Fl_Input2* o, void*) {
  progdefaults.dxcc_login=o->value();
  progdefaults.changed = true;
}

Fl_Input2 *inp_dxcc_password=(Fl_Input2 *)0;

static void cb_inp_dxcc_password(Fl_Input2* o, void*) {
  progdefaults.dxcc_password = o->value();
}

Fl_Button *btnDXCLUSTERpasswordShow=(Fl_Button *)0;

static void cb_btnDXCLUSTERpasswordShow(Fl_Button*, void*) {
  inp_dxcc_password->type(inp_dxcc_password->type() ^ FL_SECRET_INPUT);
  inp_dxcc_password->redraw();
}

Fl_Check_Button *btn_dxcc_connect=(Fl_Check_Button *)0;

static void cb_btn_dxcc_connect(Fl_Check_Button* o, void*) {
  progStatus.cluster_connected=o->value();
  DXcluster_connect(o->value());
}

Fl_Box *lbl_dxc_connected=(Fl_Box *)0;

Fl_Check_Button *btn_dxc_auto_connect=(Fl_Check_Button *)0;

static void cb_btn_dxc_auto_connect(Fl_Check_Button* o, void*) {
  progdefaults.dxc_auto_connect = o->value();
  progdefaults.changed = true;
}

Fl_Tabs *cluster_tabs=(Fl_Tabs *)0;

Fl_Group *tabDXclusterTelNetStream=(Fl_Group *)0;

FTextView *brws_tcpip_stream=(FTextView *)0;

Fl_Button *dxc_macro_1=(Fl_Button *)0;

Fl_Button *dxc_macro_2=(Fl_Button *)0;

Fl_Button *dxc_macro_3=(Fl_Button *)0;

Fl_Button *dxc_macro_4=(Fl_Button *)0;

Fl_Button *dxc_macro_5=(Fl_Button *)0;

Fl_Button *dxc_macro_6=(Fl_Button *)0;

Fl_Button *dxc_macro_7=(Fl_Button *)0;

Fl_Button *dxc_macro_8=(Fl_Button *)0;

Fl_Input2 *inp_dxcluster_cmd=(Fl_Input2 *)0;

static void cb_inp_dxcluster_cmd(Fl_Input2*, void*) {
  DXcluster_submit();
}

Fl_Button *btn_cluster_spot=(Fl_Button *)0;

static void cb_btn_cluster_spot(Fl_Button*, void*) {
  send_DXcluster_spot();
}

Fl_Button *btn_cluster_submit=(Fl_Button *)0;

static void cb_btn_cluster_submit(Fl_Button*, void*) {
  DXcluster_submit();
}

Fl_Group *tabDXclusterReports=(Fl_Group *)0;

Fl_Browser *reports_header=(Fl_Browser *)0;

Fl_Browser *brws_dx_cluster=(Fl_Browser *)0;

static void cb_brws_dx_cluster(Fl_Browser*, void*) {
  DXcluster_select();
}

Fl_Button *btn_dxc_cluster_clear=(Fl_Button *)0;

static void cb_btn_dxc_cluster_clear(Fl_Button*, void*) {
  brws_dx_cluster->clear();
}

Fl_Check_Button *brws_order=(Fl_Check_Button *)0;

static void cb_brws_order(Fl_Check_Button* o, void*) {
  progdefaults.dxc_topline = o->value();
  dxc_lines();
  progdefaults.changed=true;
}

Fl_Button *btn_cluster_spot2=(Fl_Button *)0;

static void cb_btn_cluster_spot2(Fl_Button*, void*) {
  send_DXcluster_spot();
}

Fl_Group *tabDXclusterConfig=(Fl_Group *)0;

Fl_Browser *brws_dxcluster_hosts=(Fl_Browser *)0;

Fl_Button *btn_dxcluster_hosts_select=(Fl_Button *)0;

Fl_Button *btn_dxcluster_hosts_add=(Fl_Button *)0;

Fl_Button *btn_dxcluster_hosts_delete=(Fl_Button *)0;

Fl_Button *btn_dxcluster_servers=(Fl_Button *)0;

FTextEdit *ed_telnet_cmds=(FTextEdit *)0;

Fl_Button *btn_dxcluster_hosts_load_setup=(Fl_Button *)0;

Fl_Button *btn_dxcluster_hosts_save_setup=(Fl_Button *)0;

Fl_Button *btn_dxcluster_hosts_send_setup=(Fl_Button *)0;

Fl_Check_Button *btn_spot_when_logged=(Fl_Check_Button *)0;

static void cb_btn_spot_when_logged(Fl_Check_Button* o, void*) {
  progdefaults.spot_when_logged = o->value();
  progdefaults.changed = true;
}

Fl_Check_Button *btn_dxc_hertz=(Fl_Check_Button *)0;

static void cb_btn_dxc_hertz(Fl_Check_Button* o, void*) {
  progdefaults.dxc_hertz = o->value();
  progdefaults.changed = true;
}

Fl_Input *mlabel_1=(Fl_Input *)0;

static void cb_mlabel_1(Fl_Input* o, void*) {
  progdefaults.dxcm_label_1=o->value();
  dxc_macro_1->label(progdefaults.dxcm_label_1.c_str());
  progdefaults.changed=true;
}

Fl_Input2 *mtext_1=(Fl_Input2 *)0;

static void cb_mtext_1(Fl_Input2* o, void*) {
  progdefaults.dxcm_text_1=o->value();
  progdefaults.changed=true;
}

Fl_Input *mlabel_2=(Fl_Input *)0;

static void cb_mlabel_2(Fl_Input* o, void*) {
  progdefaults.dxcm_label_2=o->value();
  dxc_macro_2->label(progdefaults.dxcm_label_2.c_str());
  progdefaults.changed=true;
}

Fl_Input2 *mtext_2=(Fl_Input2 *)0;

static void cb_mtext_2(Fl_Input2* o, void*) {
  progdefaults.dxcm_text_2=o->value();
  progdefaults.changed=true;
}

Fl_Input *mlabel_3=(Fl_Input *)0;

static void cb_mlabel_3(Fl_Input* o, void*) {
  progdefaults.dxcm_label_3=o->value();
  dxc_macro_3->label(progdefaults.dxcm_label_3.c_str());
  progdefaults.changed=true;
}

Fl_Input2 *mtext_3=(Fl_Input2 *)0;

static void cb_mtext_3(Fl_Input2* o, void*) {
  progdefaults.dxcm_text_3=o->value();
  progdefaults.changed=true;
}

Fl_Input *mlabel_4=(Fl_Input *)0;

static void cb_mlabel_4(Fl_Input* o, void*) {
  progdefaults.dxcm_label_4=o->value();
  dxc_macro_4->label(progdefaults.dxcm_label_4.c_str());
  progdefaults.changed=true;
}

Fl_Input2 *mtext_4=(Fl_Input2 *)0;

static void cb_mtext_4(Fl_Input2* o, void*) {
  progdefaults.dxcm_text_4=o->value();
  progdefaults.changed=true;
}

Fl_Input *mlabel_5=(Fl_Input *)0;

static void cb_mlabel_5(Fl_Input* o, void*) {
  progdefaults.dxcm_label_5=o->value();
  dxc_macro_5->label(progdefaults.dxcm_label_5.c_str());
  progdefaults.changed=true;
}

Fl_Input2 *mtext_5=(Fl_Input2 *)0;

static void cb_mtext_5(Fl_Input2* o, void*) {
  progdefaults.dxcm_text_5=o->value();
  progdefaults.changed=true;
}

Fl_Input *mlabel_6=(Fl_Input *)0;

static void cb_mlabel_6(Fl_Input* o, void*) {
  progdefaults.dxcm_label_6=o->value();
  dxc_macro_6->label(progdefaults.dxcm_label_6.c_str());
  progdefaults.changed=true;
}

Fl_Input2 *mtext_6=(Fl_Input2 *)0;

static void cb_mtext_6(Fl_Input2* o, void*) {
  progdefaults.dxcm_text_6=o->value();
  progdefaults.changed=true;
}

Fl_Input *mlabel_7=(Fl_Input *)0;

static void cb_mlabel_7(Fl_Input* o, void*) {
  progdefaults.dxcm_label_7=o->value();
  dxc_macro_7->label(progdefaults.dxcm_label_7.c_str());
  progdefaults.changed=true;
}

Fl_Input2 *mtext_7=(Fl_Input2 *)0;

static void cb_mtext_7(Fl_Input2* o, void*) {
  progdefaults.dxcm_text_7=o->value();
  progdefaults.changed=true;
}

Fl_Input *mlabel_8=(Fl_Input *)0;

static void cb_mlabel_8(Fl_Input* o, void*) {
  progdefaults.dxcm_label_8=o->value();
  dxc_macro_8->label(progdefaults.dxcm_label_8.c_str());
  progdefaults.changed=true;
}

Fl_Input2 *mtext_8=(Fl_Input2 *)0;

static void cb_mtext_8(Fl_Input2* o, void*) {
  progdefaults.dxcm_text_8=o->value();
  progdefaults.changed=true;
}

Fl_Button *btn_dxcluster_ar_help=(Fl_Button *)0;

Fl_Button *btn_dxcluster_cc_help=(Fl_Button *)0;

Fl_Button *btn_dxcluster_dx_help=(Fl_Button *)0;

Fl_Group *tabDXclusterHelp=(Fl_Group *)0;

FTextView *brws_dxc_help=(FTextView *)0;

Fl_Button *btn_dxc_help_query=(Fl_Button *)0;

static void cb_btn_dxc_help_query(Fl_Button*, void*) {
  dxc_help_query();
}

Fl_Input2 *inp_help_string=(Fl_Input2 *)0;

static void cb_inp_help_string(Fl_Input2*, void*) {
  dxc_help_query();
}

Fl_Button *btn_dxc_help_clear=(Fl_Button *)0;

static void cb_btn_dxc_help_clear(Fl_Button*, void*) {
  dxc_help_clear();
}

Fl_Double_Window* dxc_window() {
  Fl_Double_Window* w;
  { Fl_Double_Window* o = new Fl_Double_Window(680, 400, gettext("DX Cluster Spotting"));
    w = o; (void)w;
    { btn_select_host = new Fl_Group(1, 2, 678, 50);
      btn_select_host->box(FL_ENGRAVED_BOX);
      { Fl_Input2* o = inp_dxcc_host_url = new Fl_Input2(6, 25, 256, 22, gettext("DX HOST hostname/IP"));
        inp_dxcc_host_url->tooltip(gettext("telnet server URL"));
        inp_dxcc_host_url->box(FL_DOWN_BOX);
        inp_dxcc_host_url->color(FL_BACKGROUND2_COLOR);
        inp_dxcc_host_url->selection_color(FL_SELECTION_COLOR);
        inp_dxcc_host_url->labeltype(FL_NORMAL_LABEL);
        inp_dxcc_host_url->labelfont(0);
        inp_dxcc_host_url->labelsize(14);
        inp_dxcc_host_url->labelcolor(FL_FOREGROUND_COLOR);
        inp_dxcc_host_url->callback((Fl_Callback*)cb_inp_dxcc_host_url);
        inp_dxcc_host_url->align(Fl_Align(FL_ALIGN_TOP_LEFT));
        inp_dxcc_host_url->when(FL_WHEN_RELEASE);
        o->value(progdefaults.dxcc_host_url.c_str());
      } // Fl_Input2* inp_dxcc_host_url
      { btn_show_host_tab = new Fl_Button(263, 25, 20, 22, gettext("@2>"));
        btn_show_host_tab->callback((Fl_Callback*)cb_btn_show_host_tab);
      } // Fl_Button* btn_show_host_tab
      { Fl_Input2* o = inp_dccc_host_port = new Fl_Input2(285, 25, 50, 22, gettext("Port"));
        inp_dccc_host_port->tooltip(gettext("telnet server port"));
        inp_dccc_host_port->box(FL_DOWN_BOX);
        inp_dccc_host_port->color(FL_BACKGROUND2_COLOR);
        inp_dccc_host_port->selection_color(FL_SELECTION_COLOR);
        inp_dccc_host_port->labeltype(FL_NORMAL_LABEL);
        inp_dccc_host_port->labelfont(0);
        inp_dccc_host_port->labelsize(14);
        inp_dccc_host_port->labelcolor(FL_FOREGROUND_COLOR);
        inp_dccc_host_port->callback((Fl_Callback*)cb_inp_dccc_host_port);
        inp_dccc_host_port->align(Fl_Align(FL_ALIGN_TOP_LEFT));
        inp_dccc_host_port->when(FL_WHEN_RELEASE);
        o->value(progdefaults.dxcc_host_port.c_str());
      } // Fl_Input2* inp_dccc_host_port
      { Fl_Input2* o = inp_dccc_login = new Fl_Input2(336, 25, 80, 22, gettext("Login as"));
        inp_dccc_login->tooltip(gettext("login call sign"));
        inp_dccc_login->box(FL_DOWN_BOX);
        inp_dccc_login->color(FL_BACKGROUND2_COLOR);
        inp_dccc_login->selection_color(FL_SELECTION_COLOR);
        inp_dccc_login->labeltype(FL_NORMAL_LABEL);
        inp_dccc_login->labelfont(0);
        inp_dccc_login->labelsize(14);
        inp_dccc_login->labelcolor(FL_FOREGROUND_COLOR);
        inp_dccc_login->callback((Fl_Callback*)cb_inp_dccc_login);
        inp_dccc_login->align(Fl_Align(FL_ALIGN_TOP_LEFT));
        inp_dccc_login->when(FL_WHEN_RELEASE);
        o->value(progdefaults.dxcc_login.c_str());
      } // Fl_Input2* inp_dccc_login
      { Fl_Input2* o = inp_dxcc_password = new Fl_Input2(420, 25, 80, 22, gettext("Password"));
        inp_dxcc_password->tooltip(gettext("Your login password"));
        inp_dxcc_password->box(FL_DOWN_BOX);
        inp_dxcc_password->color(FL_BACKGROUND2_COLOR);
        inp_dxcc_password->selection_color(FL_SELECTION_COLOR);
        inp_dxcc_password->labeltype(FL_NORMAL_LABEL);
        inp_dxcc_password->labelfont(0);
        inp_dxcc_password->labelsize(14);
        inp_dxcc_password->labelcolor(FL_FOREGROUND_COLOR);
        inp_dxcc_password->callback((Fl_Callback*)cb_inp_dxcc_password);
        inp_dxcc_password->align(Fl_Align(FL_ALIGN_TOP_LEFT));
        inp_dxcc_password->when(FL_WHEN_RELEASE);
        o->value(progdefaults.dxcc_password.c_str());
        o->type(FL_SECRET_INPUT);
        inp_dxcc_password->labelsize(FL_NORMAL_SIZE);
      } // Fl_Input2* inp_dxcc_password
      { btnDXCLUSTERpasswordShow = new Fl_Button(503, 25, 22, 22, gettext("?"));
        btnDXCLUSTERpasswordShow->tooltip(gettext("Show password in plain text"));
        btnDXCLUSTERpasswordShow->callback((Fl_Callback*)cb_btnDXCLUSTERpasswordShow);
      } // Fl_Button* btnDXCLUSTERpasswordShow
      { Fl_Check_Button* o = btn_dxcc_connect = new Fl_Check_Button(571, 10, 101, 15, gettext("Connect"));
        btn_dxcc_connect->tooltip(gettext("Connect / Disconnect"));
        btn_dxcc_connect->down_box(FL_DOWN_BOX);
        btn_dxcc_connect->callback((Fl_Callback*)cb_btn_dxcc_connect);
        o->value(progStatus.cluster_connected);
      } // Fl_Check_Button* btn_dxcc_connect
      { lbl_dxc_connected = new Fl_Box(540, 17, 20, 20);
        lbl_dxc_connected->tooltip(gettext("Connected State"));
        lbl_dxc_connected->box(FL_DOWN_BOX);
        lbl_dxc_connected->color((Fl_Color)55);
        lbl_dxc_connected->align(Fl_Align(FL_ALIGN_RIGHT));
      } // Fl_Box* lbl_dxc_connected
      { Fl_Check_Button* o = btn_dxc_auto_connect = new Fl_Check_Button(571, 31, 101, 15, gettext("Auto conn\'"));
        btn_dxc_auto_connect->tooltip(gettext("Connect to host when starting fldigi"));
        btn_dxc_auto_connect->down_box(FL_DOWN_BOX);
        btn_dxc_auto_connect->callback((Fl_Callback*)cb_btn_dxc_auto_connect);
        o->value(progdefaults.dxc_auto_connect);
      } // Fl_Check_Button* btn_dxc_auto_connect
      btn_select_host->end();
    } // Fl_Group* btn_select_host
    { cluster_tabs = new Fl_Tabs(0, 55, 680, 340);
      { tabDXclusterTelNetStream = new Fl_Group(1, 80, 677, 314, gettext("TelNet stream"));
        { Fl_Group* o = new Fl_Group(2, 82, 676, 276);
          o->box(FL_ENGRAVED_FRAME);
          { brws_tcpip_stream = new FTextView(4, 85, 668, 240);
            brws_tcpip_stream->tooltip(gettext("Cluster server command strings"));
            brws_tcpip_stream->box(FL_DOWN_FRAME);
            brws_tcpip_stream->color(FL_BACKGROUND2_COLOR);
            brws_tcpip_stream->selection_color(FL_SELECTION_COLOR);
            brws_tcpip_stream->labeltype(FL_NORMAL_LABEL);
            brws_tcpip_stream->labelfont(0);
            brws_tcpip_stream->labelsize(13);
            brws_tcpip_stream->labelcolor(FL_FOREGROUND_COLOR);
            brws_tcpip_stream->textfont(13);
            brws_tcpip_stream->align(Fl_Align(FL_ALIGN_TOP));
            brws_tcpip_stream->when(FL_WHEN_RELEASE);
            Fl_Group::current()->resizable(brws_tcpip_stream);
          } // FTextView* brws_tcpip_stream
          { Fl_Button* o = dxc_macro_1 = new Fl_Button(4, 331, 80, 22, gettext("m1"));
            dxc_macro_1->tooltip(gettext("DX cluster macro\\nLeft click execute\\nRight click edit"));
            dxc_macro_1->callback((Fl_Callback*)dxc_click_m1);
            o->label(progdefaults.dxcm_label_1.c_str());
          } // Fl_Button* dxc_macro_1
          { Fl_Button* o = dxc_macro_2 = new Fl_Button(88, 331, 80, 22, gettext("m2"));
            dxc_macro_2->callback((Fl_Callback*)dxc_click_m2);
            o->label(progdefaults.dxcm_label_2.c_str());
          } // Fl_Button* dxc_macro_2
          { Fl_Button* o = dxc_macro_3 = new Fl_Button(172, 331, 80, 22, gettext("m3"));
            dxc_macro_3->callback((Fl_Callback*)dxc_click_m3);
            o->label(progdefaults.dxcm_label_3.c_str());
          } // Fl_Button* dxc_macro_3
          { Fl_Button* o = dxc_macro_4 = new Fl_Button(256, 331, 80, 22, gettext("m4"));
            dxc_macro_4->callback((Fl_Callback*)dxc_click_m4);
            o->label(progdefaults.dxcm_label_4.c_str());
          } // Fl_Button* dxc_macro_4
          { Fl_Button* o = dxc_macro_5 = new Fl_Button(340, 331, 80, 22, gettext("m5"));
            dxc_macro_5->callback((Fl_Callback*)dxc_click_m5);
            o->label(progdefaults.dxcm_label_5.c_str());
          } // Fl_Button* dxc_macro_5
          { Fl_Button* o = dxc_macro_6 = new Fl_Button(424, 331, 80, 22, gettext("m6"));
            dxc_macro_6->callback((Fl_Callback*)dxc_click_m6);
            o->label(progdefaults.dxcm_label_6.c_str());
          } // Fl_Button* dxc_macro_6
          { Fl_Button* o = dxc_macro_7 = new Fl_Button(508, 331, 80, 22, gettext("m7"));
            dxc_macro_7->callback((Fl_Callback*)dxc_click_m7);
            o->label(progdefaults.dxcm_label_7.c_str());
          } // Fl_Button* dxc_macro_7
          { Fl_Button* o = dxc_macro_8 = new Fl_Button(592, 331, 80, 22, gettext("m8"));
            dxc_macro_8->tooltip(gettext("DX cluster macro\\nLeft click execute\\nRight click edit"));
            dxc_macro_8->callback((Fl_Callback*)dxc_click_m8);
            o->label(progdefaults.dxcm_label_8.c_str());
          } // Fl_Button* dxc_macro_8
          o->end();
        } // Fl_Group* o
        { inp_dxcluster_cmd = new Fl_Input2(43, 364, 480, 22, gettext("Cmd:"));
          inp_dxcluster_cmd->tooltip(gettext("Command string"));
          inp_dxcluster_cmd->box(FL_DOWN_BOX);
          inp_dxcluster_cmd->color(FL_BACKGROUND2_COLOR);
          inp_dxcluster_cmd->selection_color(FL_SELECTION_COLOR);
          inp_dxcluster_cmd->labeltype(FL_NORMAL_LABEL);
          inp_dxcluster_cmd->labelfont(0);
          inp_dxcluster_cmd->labelsize(13);
          inp_dxcluster_cmd->labelcolor(FL_FOREGROUND_COLOR);
          inp_dxcluster_cmd->callback((Fl_Callback*)cb_inp_dxcluster_cmd);
          inp_dxcluster_cmd->align(Fl_Align(FL_ALIGN_LEFT));
          inp_dxcluster_cmd->when(FL_WHEN_ENTER_KEY);
        } // Fl_Input2* inp_dxcluster_cmd
        { btn_cluster_spot = new Fl_Button(527, 364, 70, 22, gettext("Spot"));
          btn_cluster_spot->tooltip(gettext("Send SPOT string to server"));
          btn_cluster_spot->callback((Fl_Callback*)cb_btn_cluster_spot);
        } // Fl_Button* btn_cluster_spot
        { btn_cluster_submit = new Fl_Button(602, 364, 70, 22, gettext("Submit"));
          btn_cluster_submit->tooltip(gettext("Send command to server"));
          btn_cluster_submit->callback((Fl_Callback*)cb_btn_cluster_submit);
        } // Fl_Button* btn_cluster_submit
        tabDXclusterTelNetStream->end();
      } // Fl_Group* tabDXclusterTelNetStream
      { tabDXclusterReports = new Fl_Group(1, 80, 673, 314, gettext("DX Reports"));
        tabDXclusterReports->hide();
        { reports_header = new Fl_Browser(3, 84, 671, 20);
          reports_header->color(FL_LIGHT2);
          reports_header->textfont(4);
          reports_header->when(FL_WHEN_NOT_CHANGED);
        } // Fl_Browser* reports_header
        { brws_dx_cluster = new Fl_Browser(3, 104, 671, 260);
          brws_dx_cluster->tooltip(gettext("Left Click to select SPOT"));
          brws_dx_cluster->type(2);
          brws_dx_cluster->textfont(4);
          brws_dx_cluster->callback((Fl_Callback*)cb_brws_dx_cluster);
          brws_dx_cluster->align(Fl_Align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE));
          Fl_Group::current()->resizable(brws_dx_cluster);
        } // Fl_Browser* brws_dx_cluster
        { btn_dxc_cluster_clear = new Fl_Button(294, 366, 72, 22, gettext("Clear"));
          btn_dxc_cluster_clear->tooltip(gettext("Clear parsed data stream"));
          btn_dxc_cluster_clear->callback((Fl_Callback*)cb_btn_dxc_cluster_clear);
        } // Fl_Button* btn_dxc_cluster_clear
        { Fl_Check_Button* o = brws_order = new Fl_Check_Button(31, 371, 186, 15, gettext("New entries in first line"));
          brws_order->down_box(FL_DOWN_BOX);
          brws_order->callback((Fl_Callback*)cb_brws_order);
          brws_order->when(FL_WHEN_CHANGED);
          o->value(progdefaults.dxc_topline);
        } // Fl_Check_Button* brws_order
        { btn_cluster_spot2 = new Fl_Button(585, 368, 70, 22, gettext("Spot"));
          btn_cluster_spot2->tooltip(gettext("Send SPOT string to server"));
          btn_cluster_spot2->callback((Fl_Callback*)cb_btn_cluster_spot2);
        } // Fl_Button* btn_cluster_spot2
        tabDXclusterReports->end();
      } // Fl_Group* tabDXclusterReports
      { tabDXclusterConfig = new Fl_Group(0, 80, 676, 314, gettext("Config"));
        tabDXclusterConfig->tooltip(gettext("Initialization strings for telnet cluster host"));
        tabDXclusterConfig->hide();
        { Fl_Group* o = new Fl_Group(0, 82, 676, 130);
          { Fl_Group* o = new Fl_Group(1, 82, 348, 124);
            { Fl_Browser* o = brws_dxcluster_hosts = new Fl_Browser(5, 100, 278, 100, gettext("Hosts"));
              brws_dxcluster_hosts->type(2);
              brws_dxcluster_hosts->textfont(4);
              brws_dxcluster_hosts->align(Fl_Align(FL_ALIGN_TOP));
              Fl_Group::current()->resizable(brws_dxcluster_hosts);
              static int widths[]={o->w()*6/10, o->w()*2/10, o->w()*2/10, 0 };
              o->column_widths(widths);
              o->column_char(':');
              dxcluster_hosts_load();
            } // Fl_Browser* brws_dxcluster_hosts
            { Fl_Group* o = new Fl_Group(286, 100, 61, 100);
              { btn_dxcluster_hosts_select = new Fl_Button(290, 106, 54, 19, gettext("Select"));
                btn_dxcluster_hosts_select->tooltip(gettext("Select highlighted DX cluster host"));
                btn_dxcluster_hosts_select->callback((Fl_Callback*)dxcluster_hosts_select);
              } // Fl_Button* btn_dxcluster_hosts_select
              { btn_dxcluster_hosts_add = new Fl_Button(290, 128, 54, 19, gettext("Add"));
                btn_dxcluster_hosts_add->tooltip(gettext("Add current DX cluster host"));
                btn_dxcluster_hosts_add->callback((Fl_Callback*)dxcluster_hosts_add);
              } // Fl_Button* btn_dxcluster_hosts_add
              { btn_dxcluster_hosts_delete = new Fl_Button(290, 151, 54, 19, gettext("Delete"));
                btn_dxcluster_hosts_delete->tooltip(gettext("Delete highlighted DX cluster host"));
                btn_dxcluster_hosts_delete->callback((Fl_Callback*)dxcluster_hosts_delete);
              } // Fl_Button* btn_dxcluster_hosts_delete
              { btn_dxcluster_servers = new Fl_Button(290, 174, 54, 19, gettext("Srvrs"));
                btn_dxcluster_servers->tooltip(gettext("Server List"));
                btn_dxcluster_servers->callback((Fl_Callback*)dxcluster_servers);
              } // Fl_Button* btn_dxcluster_servers
              { Fl_Group* o = new Fl_Group(290, 195, 54, 2);
                o->end();
                Fl_Group::current()->resizable(o);
              } // Fl_Group* o
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          { Fl_Group* o = new Fl_Group(350, 82, 325, 103);
            { ed_telnet_cmds = new FTextEdit(354, 100, 248, 80, gettext("Cluster Server Setup Cmds"));
              ed_telnet_cmds->tooltip(gettext("Cluster server command strings"));
              ed_telnet_cmds->box(FL_DOWN_FRAME);
              ed_telnet_cmds->color(FL_BACKGROUND2_COLOR);
              ed_telnet_cmds->selection_color(FL_SELECTION_COLOR);
              ed_telnet_cmds->labeltype(FL_NORMAL_LABEL);
              ed_telnet_cmds->labelfont(0);
              ed_telnet_cmds->labelsize(14);
              ed_telnet_cmds->labelcolor(FL_FOREGROUND_COLOR);
              ed_telnet_cmds->textfont(13);
              ed_telnet_cmds->align(Fl_Align(FL_ALIGN_TOP));
              ed_telnet_cmds->when(FL_WHEN_RELEASE);
              Fl_Group::current()->resizable(ed_telnet_cmds);
            } // FTextEdit* ed_telnet_cmds
            { Fl_Group* o = new Fl_Group(606, 100, 59, 82);
              { btn_dxcluster_hosts_load_setup = new Fl_Button(610, 106, 54, 19, gettext("Load"));
                btn_dxcluster_hosts_load_setup->tooltip(gettext("Load Cluster Setup Commands"));
                btn_dxcluster_hosts_load_setup->callback((Fl_Callback*)dxcluster_hosts_load_setup);
              } // Fl_Button* btn_dxcluster_hosts_load_setup
              { btn_dxcluster_hosts_save_setup = new Fl_Button(610, 128, 54, 19, gettext("Save"));
                btn_dxcluster_hosts_save_setup->tooltip(gettext("Save Cluster Setup Commands"));
                btn_dxcluster_hosts_save_setup->callback((Fl_Callback*)dxcluster_hosts_save_setup);
              } // Fl_Button* btn_dxcluster_hosts_save_setup
              { btn_dxcluster_hosts_send_setup = new Fl_Button(610, 151, 54, 19, gettext("Send"));
                btn_dxcluster_hosts_send_setup->tooltip(gettext("Send Commands to Cluster Server"));
                btn_dxcluster_hosts_send_setup->callback((Fl_Callback*)dxcluster_hosts_send_setup);
              } // Fl_Button* btn_dxcluster_hosts_send_setup
              { Fl_Group* o = new Fl_Group(610, 174, 54, 2);
                o->end();
                Fl_Group::current()->resizable(o);
              } // Fl_Group* o
              o->end();
            } // Fl_Group* o
            o->end();
          } // Fl_Group* o
          { Fl_Check_Button* o = btn_spot_when_logged = new Fl_Check_Button(354, 188, 146, 15, gettext("Spot when logged"));
            btn_spot_when_logged->tooltip(gettext("Create DX spot when logging contact"));
            btn_spot_when_logged->down_box(FL_DOWN_BOX);
            btn_spot_when_logged->callback((Fl_Callback*)cb_btn_spot_when_logged);
            o->value(progdefaults.spot_when_logged);
          } // Fl_Check_Button* btn_spot_when_logged
          { Fl_Check_Button* o = btn_dxc_hertz = new Fl_Check_Button(512, 188, 146, 15, gettext("Report [0..99 Hz]"));
            btn_dxc_hertz->tooltip(gettext("Add [0..99] Hz WF value to DX report notes"));
            btn_dxc_hertz->down_box(FL_DOWN_BOX);
            btn_dxc_hertz->callback((Fl_Callback*)cb_btn_dxc_hertz);
            o->value(progdefaults.dxc_hertz);
          } // Fl_Check_Button* btn_dxc_hertz
          o->end();
          Fl_Group::current()->resizable(o);
        } // Fl_Group* o
        { Fl_Group* o = new Fl_Group(0, 218, 676, 174);
          o->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
          { Fl_Group* o = new Fl_Group(1, 218, 307, 170);
            { Fl_Input* o = mlabel_1 = new Fl_Input(5, 238, 80, 22, gettext("label 1"));
              mlabel_1->callback((Fl_Callback*)cb_mlabel_1);
              mlabel_1->align(Fl_Align(FL_ALIGN_TOP));
              o->value(progdefaults.dxcm_label_1.c_str());
            } // Fl_Input* mlabel_1
            { Fl_Input2* o = mtext_1 = new Fl_Input2(87, 238, 220, 22, gettext("macro text"));
              mtext_1->box(FL_DOWN_BOX);
              mtext_1->color(FL_BACKGROUND2_COLOR);
              mtext_1->selection_color(FL_SELECTION_COLOR);
              mtext_1->labeltype(FL_NORMAL_LABEL);
              mtext_1->labelfont(0);
              mtext_1->labelsize(14);
              mtext_1->labelcolor(FL_FOREGROUND_COLOR);
              mtext_1->callback((Fl_Callback*)cb_mtext_1);
              mtext_1->align(Fl_Align(FL_ALIGN_TOP));
              mtext_1->when(FL_WHEN_RELEASE);
              o->value(progdefaults.dxcm_text_1.c_str());
            } // Fl_Input2* mtext_1
            { Fl_Input* o = mlabel_2 = new Fl_Input(5, 278, 80, 22, gettext("label 2"));
              mlabel_2->callback((Fl_Callback*)cb_mlabel_2);
              mlabel_2->align(Fl_Align(FL_ALIGN_TOP));
              o->value(progdefaults.dxcm_label_2.c_str());
            } // Fl_Input* mlabel_2
            { Fl_Input2* o = mtext_2 = new Fl_Input2(87, 278, 220, 22);
              mtext_2->box(FL_DOWN_BOX);
              mtext_2->color(FL_BACKGROUND2_COLOR);
              mtext_2->selection_color(FL_SELECTION_COLOR);
              mtext_2->labeltype(FL_NORMAL_LABEL);
              mtext_2->labelfont(0);
              mtext_2->labelsize(14);
              mtext_2->labelcolor(FL_FOREGROUND_COLOR);
              mtext_2->callback((Fl_Callback*)cb_mtext_2);
              mtext_2->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
              mtext_2->when(FL_WHEN_RELEASE);
              o->value(progdefaults.dxcm_text_2.c_str());
            } // Fl_Input2* mtext_2
            { Fl_Input* o = mlabel_3 = new Fl_Input(5, 318, 80, 22, gettext("label 3"));
              mlabel_3->callback((Fl_Callback*)cb_mlabel_3);
              mlabel_3->align(Fl_Align(FL_ALIGN_TOP));
              o->value(progdefaults.dxcm_label_3.c_str());
            } // Fl_Input* mlabel_3
            { Fl_Input2* o = mtext_3 = new Fl_Input2(87, 318, 220, 22);
              mtext_3->box(FL_DOWN_BOX);
              mtext_3->color(FL_BACKGROUND2_COLOR);
              mtext_3->selection_color(FL_SELECTION_COLOR);
              mtext_3->labeltype(FL_NORMAL_LABEL);
              mtext_3->labelfont(0);
              mtext_3->labelsize(14);
              mtext_3->labelcolor(FL_FOREGROUND_COLOR);
              mtext_3->callback((Fl_Callback*)cb_mtext_3);
              mtext_3->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
              mtext_3->when(FL_WHEN_RELEASE);
              o->value(progdefaults.dxcm_text_3.c_str());
            } // Fl_Input2* mtext_3
            { Fl_Input* o = mlabel_4 = new Fl_Input(5, 358, 80, 22, gettext("label 4"));
              mlabel_4->callback((Fl_Callback*)cb_mlabel_4);
              mlabel_4->align(Fl_Align(FL_ALIGN_TOP));
              o->value(progdefaults.dxcm_label_4.c_str());
            } // Fl_Input* mlabel_4
            { Fl_Input2* o = mtext_4 = new Fl_Input2(87, 358, 220, 22);
              mtext_4->box(FL_DOWN_BOX);
              mtext_4->color(FL_BACKGROUND2_COLOR);
              mtext_4->selection_color(FL_SELECTION_COLOR);
              mtext_4->labeltype(FL_NORMAL_LABEL);
              mtext_4->labelfont(0);
              mtext_4->labelsize(14);
              mtext_4->labelcolor(FL_FOREGROUND_COLOR);
              mtext_4->callback((Fl_Callback*)cb_mtext_4);
              mtext_4->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
              mtext_4->when(FL_WHEN_RELEASE);
              o->value(progdefaults.dxcm_text_4.c_str());
            } // Fl_Input2* mtext_4
            o->end();
          } // Fl_Group* o
          { Fl_Group* o = new Fl_Group(308, 218, 307, 170);
            { Fl_Input* o = mlabel_5 = new Fl_Input(310, 237, 80, 22, gettext("label 5"));
              mlabel_5->callback((Fl_Callback*)cb_mlabel_5);
              mlabel_5->align(Fl_Align(FL_ALIGN_TOP));
              o->value(progdefaults.dxcm_label_5.c_str());
            } // Fl_Input* mlabel_5
            { Fl_Input2* o = mtext_5 = new Fl_Input2(391, 237, 220, 22, gettext("macro text"));
              mtext_5->box(FL_DOWN_BOX);
              mtext_5->color(FL_BACKGROUND2_COLOR);
              mtext_5->selection_color(FL_SELECTION_COLOR);
              mtext_5->labeltype(FL_NORMAL_LABEL);
              mtext_5->labelfont(0);
              mtext_5->labelsize(14);
              mtext_5->labelcolor(FL_FOREGROUND_COLOR);
              mtext_5->callback((Fl_Callback*)cb_mtext_5);
              mtext_5->align(Fl_Align(FL_ALIGN_TOP));
              mtext_5->when(FL_WHEN_RELEASE);
              o->value(progdefaults.dxcm_text_5.c_str());
            } // Fl_Input2* mtext_5
            { Fl_Input* o = mlabel_6 = new Fl_Input(310, 277, 80, 22, gettext("label 6"));
              mlabel_6->callback((Fl_Callback*)cb_mlabel_6);
              mlabel_6->align(Fl_Align(FL_ALIGN_TOP));
              o->value(progdefaults.dxcm_label_6.c_str());
            } // Fl_Input* mlabel_6
            { Fl_Input2* o = mtext_6 = new Fl_Input2(391, 277, 220, 22);
              mtext_6->box(FL_DOWN_BOX);
              mtext_6->color(FL_BACKGROUND2_COLOR);
              mtext_6->selection_color(FL_SELECTION_COLOR);
              mtext_6->labeltype(FL_NORMAL_LABEL);
              mtext_6->labelfont(0);
              mtext_6->labelsize(14);
              mtext_6->labelcolor(FL_FOREGROUND_COLOR);
              mtext_6->callback((Fl_Callback*)cb_mtext_6);
              mtext_6->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
              mtext_6->when(FL_WHEN_RELEASE);
              o->value(progdefaults.dxcm_text_6.c_str());
            } // Fl_Input2* mtext_6
            { Fl_Input* o = mlabel_7 = new Fl_Input(310, 317, 80, 22, gettext("label 7"));
              mlabel_7->callback((Fl_Callback*)cb_mlabel_7);
              mlabel_7->align(Fl_Align(FL_ALIGN_TOP));
              o->value(progdefaults.dxcm_label_7.c_str());
            } // Fl_Input* mlabel_7
            { Fl_Input2* o = mtext_7 = new Fl_Input2(391, 317, 220, 22);
              mtext_7->box(FL_DOWN_BOX);
              mtext_7->color(FL_BACKGROUND2_COLOR);
              mtext_7->selection_color(FL_SELECTION_COLOR);
              mtext_7->labeltype(FL_NORMAL_LABEL);
              mtext_7->labelfont(0);
              mtext_7->labelsize(14);
              mtext_7->labelcolor(FL_FOREGROUND_COLOR);
              mtext_7->callback((Fl_Callback*)cb_mtext_7);
              mtext_7->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
              mtext_7->when(FL_WHEN_RELEASE);
              o->value(progdefaults.dxcm_text_7.c_str());
            } // Fl_Input2* mtext_7
            { Fl_Input* o = mlabel_8 = new Fl_Input(310, 357, 80, 22, gettext("label 8"));
              mlabel_8->callback((Fl_Callback*)cb_mlabel_8);
              mlabel_8->align(Fl_Align(FL_ALIGN_TOP));
              o->value(progdefaults.dxcm_label_8.c_str());
            } // Fl_Input* mlabel_8
            { Fl_Input2* o = mtext_8 = new Fl_Input2(391, 357, 220, 22);
              mtext_8->box(FL_DOWN_BOX);
              mtext_8->color(FL_BACKGROUND2_COLOR);
              mtext_8->selection_color(FL_SELECTION_COLOR);
              mtext_8->labeltype(FL_NORMAL_LABEL);
              mtext_8->labelfont(0);
              mtext_8->labelsize(14);
              mtext_8->labelcolor(FL_FOREGROUND_COLOR);
              mtext_8->callback((Fl_Callback*)cb_mtext_8);
              mtext_8->align(Fl_Align(FL_ALIGN_TOP|FL_ALIGN_INSIDE));
              mtext_8->when(FL_WHEN_RELEASE);
              o->value(progdefaults.dxcm_text_8.c_str());
            } // Fl_Input2* mtext_8
            o->end();
          } // Fl_Group* o
          { btn_dxcluster_ar_help = new Fl_Button(618, 230, 56, 22, gettext("AR ?"));
            btn_dxcluster_ar_help->tooltip(gettext("AR Commands"));
            btn_dxcluster_ar_help->callback((Fl_Callback*)dxcluster_ar_help);
          } // Fl_Button* btn_dxcluster_ar_help
          { btn_dxcluster_cc_help = new Fl_Button(618, 272, 56, 22, gettext("CC ?"));
            btn_dxcluster_cc_help->tooltip(gettext("CC Commands"));
            btn_dxcluster_cc_help->callback((Fl_Callback*)dxcluster_cc_help);
          } // Fl_Button* btn_dxcluster_cc_help
          { btn_dxcluster_dx_help = new Fl_Button(618, 315, 56, 22, gettext("DX ?"));
            btn_dxcluster_dx_help->tooltip(gettext("Spider Commands"));
            btn_dxcluster_dx_help->callback((Fl_Callback*)dxcluster_dx_help);
          } // Fl_Button* btn_dxcluster_dx_help
          o->end();
        } // Fl_Group* o
        tabDXclusterConfig->end();
      } // Fl_Group* tabDXclusterConfig
      { tabDXclusterHelp = new Fl_Group(1, 80, 675, 314, gettext("Help"));
        tabDXclusterHelp->hide();
        { brws_dxc_help = new FTextView(3, 84, 673, 281);
          brws_dxc_help->tooltip(gettext("Cluster server command strings"));
          brws_dxc_help->box(FL_DOWN_FRAME);
          brws_dxc_help->color(FL_BACKGROUND2_COLOR);
          brws_dxc_help->selection_color(FL_SELECTION_COLOR);
          brws_dxc_help->labeltype(FL_NORMAL_LABEL);
          brws_dxc_help->labelfont(0);
          brws_dxc_help->labelsize(13);
          brws_dxc_help->labelcolor(FL_FOREGROUND_COLOR);
          brws_dxc_help->textfont(13);
          brws_dxc_help->align(Fl_Align(FL_ALIGN_TOP));
          brws_dxc_help->when(FL_WHEN_RELEASE);
          Fl_Group::current()->resizable(brws_dxc_help);
        } // FTextView* brws_dxc_help
        { btn_dxc_help_query = new Fl_Button(441, 368, 70, 22, gettext("Get Help"));
          btn_dxc_help_query->tooltip(gettext("Get WWV sunspot events"));
          btn_dxc_help_query->callback((Fl_Callback*)cb_btn_dxc_help_query);
        } // Fl_Button* btn_dxc_help_query
        { inp_help_string = new Fl_Input2(265, 368, 172, 22, gettext("Help on:"));
          inp_help_string->tooltip(gettext("Leave blank for general help\nEnter subject, e.g. DX"));
          inp_help_string->box(FL_DOWN_BOX);
          inp_help_string->color(FL_BACKGROUND2_COLOR);
          inp_help_string->selection_color(FL_SELECTION_COLOR);
          inp_help_string->labeltype(FL_NORMAL_LABEL);
          inp_help_string->labelfont(0);
          inp_help_string->labelsize(13);
          inp_help_string->labelcolor(FL_FOREGROUND_COLOR);
          inp_help_string->callback((Fl_Callback*)cb_inp_help_string);
          inp_help_string->align(Fl_Align(FL_ALIGN_LEFT));
          inp_help_string->when(FL_WHEN_ENTER_KEY);
        } // Fl_Input2* inp_help_string
        { btn_dxc_help_clear = new Fl_Button(517, 368, 71, 22, gettext("Clear"));
          btn_dxc_help_clear->tooltip(gettext("Clear help panel"));
          btn_dxc_help_clear->callback((Fl_Callback*)cb_btn_dxc_help_clear);
        } // Fl_Button* btn_dxc_help_clear
        tabDXclusterHelp->end();
      } // Fl_Group* tabDXclusterHelp
      cluster_tabs->end();
      Fl_Group::current()->resizable(cluster_tabs);
    } // Fl_Tabs* cluster_tabs
    o->end();
  } // Fl_Double_Window* o
  return w;
}
