diff --git a/src/arq/flmsg-arq.cxx b/src/arq/flmsg-arq.cxx index 8a1a2a4..3202c32 100644 --- a/src/arq/flmsg-arq.cxx +++ b/src/arq/flmsg-arq.cxx @@ -643,9 +643,6 @@ void TXecho(string s) static string rxurcall_s; static void rxurcall(void *) { - if (!arq_group->visible()) - ARQdropdown(true); - txtSENDTO->value(rxurcall_s.c_str()); rxurcall_s.clear(); } diff --git a/src/blank-dnd/blank_tab.cxx b/src/blank-dnd/blank_tab.cxx index 12f5516..d685dee 100644 --- a/src/blank-dnd/blank_tab.cxx +++ b/src/blank-dnd/blank_tab.cxx @@ -38,7 +38,8 @@ void create_blank_tab() tab_blank = new Fl_Group(0, tab_top, 570, 380); tab_blank->align(FL_ALIGN_TOP); - txt_blank_msg = new FTextEdit(4, 50, 562, 370); +// txt_blank_msg = new FTextEdit(4, 50, 562, 370); + txt_blank_msg = new FTextEdit(2, tab_blank->y() + 4, tab_blank->w() - 4, tab_blank->h() - 6); txt_blank_msg->box(FL_DOWN_FRAME); txt_blank_msg->color((Fl_Color)FL_BACKGROUND2_COLOR); txt_blank_msg->selection_color((Fl_Color)FL_SELECTION_COLOR); diff --git a/src/cap/cap105_tab.cxx b/src/cap/cap105_tab.cxx index eb9e6b4..dae0e33 100644 --- a/src/cap/cap105_tab.cxx +++ b/src/cap/cap105_tab.cxx @@ -137,7 +137,7 @@ void cap105_changed(Fl_Widget *, void *) void create_cap105_tab() { int Y = tab_top; - tab_cap105 = new Fl_Group(0, Y, 570, 404); + tab_cap105 = new Fl_Group(0, Y, 570, 380); tab_cap105->align(FL_ALIGN_TOP); Y += 4; diff --git a/src/cap/cap110_tab.cxx b/src/cap/cap110_tab.cxx index 00b3ceb..4979981 100644 --- a/src/cap/cap110_tab.cxx +++ b/src/cap/cap110_tab.cxx @@ -85,7 +85,7 @@ void cb_110_comm_time_changed(Fl_Widget *w, void *d) void create_cap110_tab() { int Y = tab_top; - tab_cap110 = new Fl_Group(0, Y, 570, 404); + tab_cap110 = new Fl_Group(0, Y, 570, 380); tab_cap110->align(FL_ALIGN_TOP); Y += 24; @@ -232,103 +232,78 @@ void create_cap110_tab() } Y += 36; - { - Fl_Box* o = new Fl_Box(2, Y, 85, 20, _("TIME")); - o->box(FL_BORDER_FRAME); - o->labelsize(13); - o->color((Fl_Color)215); - } // Fl_Box* o - { - Fl_Box* o = new Fl_Box(87, Y, 75, 20, _("CALL")); - o->box(FL_BORDER_FRAME); - o->labelsize(13); - o->color((Fl_Color)215); - } // Fl_Box* o - { - Fl_Box* o = new Fl_Box(162, Y, 50, 20, _("CH REF")); - o->box(FL_BORDER_FRAME); - o->labelsize(13); - o->color((Fl_Color)215); - } // Fl_Box* o - { - Fl_Box* o = new Fl_Box(212, Y, 340, 20, _("REMARKS")); - o->box(FL_BORDER_FRAME); - o->labelsize(13); - o->color((Fl_Color)215); - } // Fl_Box* o - { + Fl_Group *g1a = new Fl_Group(2, Y, 566, 260); + + Fl_Box* bx1 = new Fl_Box(2, Y, 85, 20, _("TIME")); + bx1->box(FL_DOWN_BOX); + bx1->labelsize(13); + bx1->color((Fl_Color)215); + + Fl_Box* bx2 = new Fl_Box(bx1->x() + bx1->w(), Y, 75, 20, _("CALL")); + bx2->box(FL_DOWN_BOX); + bx2->labelsize(13); + bx2->color((Fl_Color)215); + + Fl_Box* bx3 = new Fl_Box(bx2->x() + bx2->w(), Y, 50, 20, _("CH REF")); + bx3->box(FL_DOWN_BOX); + bx3->labelsize(13); + bx3->color((Fl_Color)215); + + Fl_Box* bx4 = new Fl_Box(bx3->x() + bx3->w(), Y, 340, 20, _("REMARKS")); + bx4->box(FL_DOWN_BOX); + bx4->labelsize(13); + bx4->color((Fl_Color)215); + Y += 22; - Fl_Scroll* o = new Fl_Scroll(2, Y, 566, 240); - o->type(2); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); + Fl_Scroll* scrl = new Fl_Scroll(2, Y, 566, 240); + scrl->type(Fl_Scroll::VERTICAL_ALWAYS); + scrl->box(FL_DOWN_BOX); +// scrl->color((Fl_Color)215); for (int i = 0; i < 23; i++) { txt_110_comm_time[i] = new Fl_Input2(2, Y + i*22, 65, 22); txt_110_comm_time[i]->tooltip(_("")); - txt_110_comm_time[i]->box(FL_DOWN_BOX); - txt_110_comm_time[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_110_comm_time[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_110_comm_time[i]->labeltype(FL_NORMAL_LABEL); - txt_110_comm_time[i]->labelfont(0); - txt_110_comm_time[i]->labelsize(13); - txt_110_comm_time[i]->textsize(11); - txt_110_comm_time[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_110_comm_time[i]->align(FL_ALIGN_CENTER); txt_110_comm_time[i]->callback(cap110_changed); txt_110_comm_time[i]->when(FL_WHEN_CHANGED); - btn_110_comm_time[i] = new Fl_Button(67, Y + i*22, 20, 20, _("..")); + btn_110_comm_time[i] = new Fl_Button( + txt_110_comm_time[i]->x() + txt_110_comm_time[i]->w(), Y + i*22, + 20, 22, _("..")); btn_110_comm_time[i]->tooltip(_("Set time now")); btn_110_comm_time[i]->callback( cb_110_comm_time_changed, (void *)&cap_bptr[i]); - txt_110_comm_call[i] = new Fl_Input2(87, Y + i*22, 75, 22, ""); + txt_110_comm_call[i] = new Fl_Input2( + btn_110_comm_time[i]->x() + btn_110_comm_time[i]->w(), Y + i*22, + 75, 22, ""); txt_110_comm_call[i]->tooltip(_("")); - txt_110_comm_call[i]->box(FL_DOWN_BOX); - txt_110_comm_call[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_110_comm_call[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_110_comm_call[i]->labeltype(FL_NORMAL_LABEL); - txt_110_comm_call[i]->labelfont(0); - txt_110_comm_call[i]->labelsize(13); - txt_110_comm_call[i]->textsize(11); - txt_110_comm_call[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_110_comm_call[i]->align(FL_ALIGN_CENTER); txt_110_comm_call[i]->callback(cap110_changed); txt_110_comm_call[i]->when(FL_WHEN_CHANGED); - txt_110_comm_chref[i] = new Fl_Input2(162, Y + i*22, 50, 22); + txt_110_comm_chref[i] = new Fl_Input2( + txt_110_comm_call[i]->x() + txt_110_comm_call[i]->w(), Y + i*22, + 50, 22); txt_110_comm_chref[i]->tooltip(_("")); - txt_110_comm_chref[i]->box(FL_DOWN_BOX); - txt_110_comm_chref[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_110_comm_chref[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_110_comm_chref[i]->labeltype(FL_NORMAL_LABEL); - txt_110_comm_chref[i]->labelfont(0); - txt_110_comm_chref[i]->labelsize(13); - txt_110_comm_chref[i]->textsize(11); - txt_110_comm_chref[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_110_comm_chref[i]->align(FL_ALIGN_CENTER); txt_110_comm_chref[i]->callback(cap110_changed); txt_110_comm_chref[i]->when(FL_WHEN_CHANGED); - txt_110_comm_rem[i] = new Fl_Input2(212, Y + i*22, 340, 22); + txt_110_comm_rem[i] = new Fl_Input2( + txt_110_comm_chref[i]->x() + txt_110_comm_chref[i]->w(), Y + i*22, + 340, 22); txt_110_comm_rem[i]->tooltip(_("")); - txt_110_comm_rem[i]->box(FL_DOWN_BOX); - txt_110_comm_rem[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_110_comm_rem[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_110_comm_rem[i]->labeltype(FL_NORMAL_LABEL); - txt_110_comm_rem[i]->labelfont(0); - txt_110_comm_rem[i]->labelsize(13); - txt_110_comm_rem[i]->textsize(11); - txt_110_comm_rem[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_110_comm_rem[i]->align(FL_ALIGN_CENTER); txt_110_comm_rem[i]->callback(cap110_changed); txt_110_comm_rem[i]->when(FL_WHEN_CHANGED); } - o->end(); - } // Fl_Scroll* o + scrl->end(); + g1a->end(); + + Fl_Group *g1b = new Fl_Group(569, Y, 2, 260); + g1b->box(FL_FLAT_BOX); + g1b->end(); tab_cap110->end(); + tab_cap110->resizable(g1b); + tab_cap110->hide(); } diff --git a/src/csv/csv_tab.cxx b/src/csv/csv_tab.cxx index 1d4f192..c872056 100644 --- a/src/csv/csv_tab.cxx +++ b/src/csv/csv_tab.cxx @@ -62,7 +62,7 @@ static void csv_changed(FTextEdit *, void *) void create_csv_tab() { - tab_csv = new Fl_Group(0, tab_top, 570, 430 - tab_top); + tab_csv = new Fl_Group(0, tab_top, 570, 380); tab_csv->align(FL_ALIGN_TOP); btn_csv_import = new Fl_Button(570/2 - 220, tab_top + 5, 100, 24, _("Import CSV")); diff --git a/src/custom/custom.cxx b/src/custom/custom.cxx index 91f1429..b2bc27e 100644 --- a/src/custom/custom.cxx +++ b/src/custom/custom.cxx @@ -1304,6 +1304,7 @@ int eval_transfer_custom_form_fsize() void load_custom_html_file() { + if (def_custom_filename.empty()) return; string fname = CUSTOM_dir; fname.append(def_custom_transfer_filename); transfer_custom_buffer.clear(); diff --git a/src/custom/custom_tab.cxx b/src/custom/custom_tab.cxx index 5753a9f..160e3bf 100644 --- a/src/custom/custom_tab.cxx +++ b/src/custom/custom_tab.cxx @@ -60,7 +60,7 @@ static void do_read_cb(const char *fn) { void create_custom_tab() { int width = 570; - tab_custom = new Fl_Group(0, tab_top, width, 430 - tab_top); + tab_custom = new Fl_Group(0, tab_top, 570, 380); tab_custom->align(FL_ALIGN_TOP); btn_custom_edit = new Fl_Button(width/2 - 120, tab_top + 5, 100, 24, _("Edit Form")); diff --git a/src/custom/custom_transfer_tab.cxx b/src/custom/custom_transfer_tab.cxx index cc481b9..6504600 100644 --- a/src/custom/custom_transfer_tab.cxx +++ b/src/custom/custom_transfer_tab.cxx @@ -34,14 +34,15 @@ Fl_Button *btn_save_custom_html_file = (Fl_Button *)0; void create_custom_transfer_tab() { - tab_custom_transfer = new Fl_Group(0, tab_top, 570, 430 - tab_top); + tab_custom_transfer = new Fl_Group(0, tab_top, 570, 380); tab_custom_transfer->align(FL_ALIGN_TOP); - Fl_Group *TransmitGroup = new Fl_Group(2, tab_top + 30, 566, 80, _("Transmit Custom FORM")); + Fl_Group *TransmitGroup = new Fl_Group(2, tab_top + 30, 566, 80, _("Transmit Custom FORM for transfer")); TransmitGroup->box(FL_ENGRAVED_BOX); TransmitGroup->align(FL_ALIGN_TOP | FL_ALIGN_INSIDE); - custom_selector = new Fl_ListBox( 10, tab_top + 65, 300, 24, _("Select custom form")); + custom_selector = new Fl_ListBox( 10, tab_top + 65, 480, 24, _("Select custom form")); + custom_selector->align(FL_ALIGN_TOP_LEFT); load_custom_transfer(); custom_selector->callback((Fl_Callback*)cb_btn_select_custom_html); @@ -51,7 +52,7 @@ void create_custom_transfer_tab() ReceiveGroup->box(FL_ENGRAVED_BOX); ReceiveGroup->align(FL_ALIGN_TOP | FL_ALIGN_INSIDE); - txt_rcvd_custom_html_filename = new Fl_Output(10, tab_top + 150, 480, 24, _("Received file:")); + txt_rcvd_custom_html_filename = new Fl_Output(10, tab_top + 150, 480, 24, _("Received custom form")); txt_rcvd_custom_html_filename->align(FL_ALIGN_TOP_LEFT); txt_rcvd_custom_html_filename->tooltip(""); diff --git a/src/flmsg.cxx b/src/flmsg.cxx index 828a5ed..adba544 100644 --- a/src/flmsg.cxx +++ b/src/flmsg.cxx @@ -107,8 +107,6 @@ const char *options[] = {\ "flmsg unique options", "--help", "--version", -"--viewer\topen as custom viewer - no main dialog", -"--editor\topen as custom editor - no main dialog", "--server-port\tstarting port number for forms web server [8080]", "--flmsg-dir\tfull-path-name-of-folder for all FLMSG folders", "--auto-dir\tfull-path-name-of-folder for autosend files", @@ -127,9 +125,8 @@ const char *options[] = {\ "-k\t-kbd : enable keyboard focus:", "-nok\t-nokbd : en/disable keyboard focus", "-na\t-name [CLASSNAME]", -"-s\t-scheme [none | gtk+ | plastic]", -" default = gtk+", -"-ti\t-title [WINDOWTITLE]", +"-s\t-scheme [none | base | gtk+ | plastic | gleam], default = gtk+", +"-ti\t[WINDOWTITLE]", "-to\t-tooltips : enable tooltips", "-not\t-notooltips : disable tooltips\n", 0 @@ -1917,6 +1914,7 @@ void after_start(void *) int main(int argc, char *argv[]) { + bool have_title = false; if (argc > 1) { if (strcasecmp("--help", argv[1]) == 0) { int i = 0; @@ -1930,6 +1928,8 @@ int main(int argc, char *argv[]) printf("Version: %s\n", VERSION); return 0; } + for (int i = 0; i < argc; i++) + if (strcasecmp("-ti", argv[i]) == 0) have_title = true; } Fl::lock(); @@ -2086,7 +2086,10 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } - expert_dialog->resize( progStatus.mainX, progStatus.mainY, expert_dialog->w(), expert_dialog->h()); + expert_dialog->size_range(570, 492); + expert_dialog->resize( + progStatus.mainX, progStatus.mainY, + progStatus.expertW, progStatus.expertH); tyro_dialog->resize( progStatus.mainX, progStatus.mainY, tyro_dialog->w(), tyro_dialog->h()); @@ -2104,12 +2107,13 @@ int main(int argc, char *argv[]) mainwindow->show(argc, argv); #endif - ARQdropdown(progStatus.arq_shown); - - string main_label = PACKAGE_NAME; - main_label.append(": ").append(PACKAGE_VERSION); - expert_dialog->label(main_label.c_str()); - tyro_dialog->label(main_label.c_str()); + if (!have_title) { + string main_label; + main_label = PACKAGE_NAME; + main_label.append(": ").append(PACKAGE_VERSION); + expert_dialog->label(main_label.c_str()); + tyro_dialog->label(main_label.c_str()); + } Fl::add_timeout(0.10, after_start); @@ -2437,13 +2441,6 @@ void custom_download() int parse_args(int argc, char **argv, int& idx) { -// if (strstr(argv[idx], "--editor")) { -// flmsg_editor = true; -// idx++; -// parse_info.append("parsed --viewer\n"); -// return 1; -// } - if (strstr(argv[idx], "--p")) { printme = true; exit_after_print = true; @@ -2497,6 +2494,7 @@ int parse_args(int argc, char **argv, int& idx) return 2; } */ + if ( argv[idx][0] == '-' ) { return 0; } diff --git a/src/flmsg_dialog.cxx b/src/flmsg_dialog.cxx index eb33312..b3eab8a 100644 --- a/src/flmsg_dialog.cxx +++ b/src/flmsg_dialog.cxx @@ -61,6 +61,7 @@ Fl_Output *txt_formname = (Fl_Output *)0; Fl_Output *txt_filename = (Fl_Output *)0; Fl_Input *drop_file = (Fl_Input *)0; +Fl_Group *all_tabs = (Fl_Group *)0; Fl_Group *controls = (Fl_Group *)0; int tab_top; @@ -626,7 +627,8 @@ static void select_custom_transfer() tab_custom_transfer->show(); txt_formname->value(_("FORM transfer")); show_filename(def_custom_transfer_filename); - load_custom_html_file(); + if (!def_custom_transfer_filename.empty()) + load_custom_html_file(); } void select_form(int form) @@ -752,30 +754,6 @@ static void cb_mnuDragAndDrop(Fl_Menu_*, void *d) } } -void ARQdropdown(bool on) -{ - if (on) { - if (!arq_group->visible()) { - int w = arq_group->parent()->w(); - int h = arq_group->parent()->h(); - arq_group->parent()->size(w, h + 30); - arq_group->show(); - } - } else { - if (arq_group->visible()) { - int w = arq_group->parent()->w(); - int h = arq_group->parent()->h(); - arq_group->parent()->size(w, h - 30); - arq_group->hide(); - } - } -} - -static void cb_mnuARQdialog(Fl_Menu_*, void *d) -{ - ARQdropdown(!arq_group->visible()); -} - static void cb_mnuARQrcvdmsgs(Fl_Menu_*, void *d) { if (!rcvd_msgs_dialog) rcvd_msgs_dialog = create_rcvd_msgs_dialog(); @@ -900,8 +878,7 @@ Fl_Menu_Item menu_[] = { {_("AutoSend"), 0, (Fl_Callback*)cb_mnuAutoSend, 0, FL_MENU_DIVIDER, FL_NORMAL_LABEL, 0, 14, 0}, - {_("ARQ"), 0, 0, 0, 64 | FL_MENU_DIVIDER, FL_NORMAL_LABEL, 0, 14, 0}, - {_("Open/Close"), 0, (Fl_Callback*)cb_mnuARQdialog, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, + {_("Utilities"), 0, 0, 0, 64 | FL_MENU_DIVIDER, FL_NORMAL_LABEL, 0, 14, 0}, {_("Received Msgs"), 0, (Fl_Callback*)cb_mnuARQrcvdmsgs, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, {_("Events"), 0, (Fl_Callback*)cb_events, 0, 0, FL_NORMAL_LABEL, 0, 14, 0}, {0,0,0,0,0,0,0,0,0}, @@ -1126,10 +1103,10 @@ void cb_cbo_modes() Fl_Double_Window* flmsg_dialog() { - int W = 570, H = 465;//495;//465; - Fl_Double_Window* w = new Fl_Double_Window(W, H, ""); - w->begin(); - w->align(FL_ALIGN_INSIDE); + int W = 570, H = 492; + Fl_Double_Window* win = new Fl_Double_Window(W, H, ""); + win->begin(); + win->align(FL_ALIGN_INSIDE); mb = new Fl_Menu_Bar(0, 0, W - 60, 22); @@ -1164,26 +1141,28 @@ Fl_Double_Window* flmsg_dialog() { tab_top = 46; - create_ics_tab(); - create_hics_tab(); - create_netlog_tab(); - create_mars_tab(); - create_cap105_tab(); - create_cap110_tab(); - create_iaru_tab(); - create_radiogram_tab(); - create_plaintext_tab(); - create_blank_tab(); - create_csv_tab(); - create_custom_tab(); - create_dnd_tab(); - create_wxhc_tab(); - create_severe_wx_tab(); - create_storm_tab(); - create_transfer_tab(); - create_custom_transfer_tab(); + all_tabs = new Fl_Group(0, tab_top, 570, 390); + create_ics_tab(); + create_hics_tab(); + create_netlog_tab(); + create_mars_tab(); + create_cap105_tab(); + create_cap110_tab(); + create_iaru_tab(); + create_radiogram_tab(); + create_plaintext_tab(); + create_blank_tab(); + create_csv_tab(); + create_custom_tab(); + create_dnd_tab(); + create_wxhc_tab(); + create_severe_wx_tab(); + create_storm_tab(); + create_transfer_tab(); + create_custom_transfer_tab(); + all_tabs->end(); - controls = new Fl_Group(0, 465 - 28, W, 28, "controls"); + controls = new Fl_Group(0, 465 - 30, W, 28, "controls"); controls->begin(); controls->box(FL_ENGRAVED_BOX); controls->align(FL_ALIGN_INSIDE); @@ -1229,10 +1208,10 @@ Fl_Double_Window* flmsg_dialog() { controls->end(); - arq_group = new Fl_Group(0, H, W, 28); + arq_group = new Fl_Group(0, H - 28, W, 26); arq_group->box(FL_ENGRAVED_FRAME); - Fl_Group *arq_title = new Fl_Group(2, H+3, 40, 22, "ARQ"); + Fl_Group *arq_title = new Fl_Group(2, arq_group->y()+2, 40, 22, "ARQ"); arq_title->box(FL_FLAT_BOX); arq_title->labeltype(FL_NORMAL_LABEL); arq_title->labelfont(0); @@ -1241,11 +1220,11 @@ Fl_Double_Window* flmsg_dialog() { arq_title->align(Fl_Align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE)); arq_title->end(); - btnSEND = new Fl_Button(42, H+3, 60, 22, _("Send")); + btnSEND = new Fl_Button(42, arq_group->y()+2, 60, 22, _("Send")); btnSEND->tooltip(_("Send data file to this station")); btnSEND->callback((Fl_Callback*)cb_btnSEND); - txtSENDTO = new Fl_Input2(108, H+3, 100, 22); + txtSENDTO = new Fl_Input2(108, arq_group->y()+2, 100, 22); txtSENDTO->tooltip(_("Send to this station")); txtSENDTO->box(FL_DOWN_BOX); txtSENDTO->color(FL_BACKGROUND2_COLOR); @@ -1257,7 +1236,7 @@ Fl_Double_Window* flmsg_dialog() { txtSENDTO->align(Fl_Align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE)); txtSENDTO->when(FL_WHEN_RELEASE); - txtSTATE = new Fl_Input2(210, H+3, 200, 22, ""); + txtSTATE = new Fl_Input2(210, arq_group->y()+2, 200, 22, ""); txtSTATE->box(FL_FLAT_BOX); txtSTATE->color(FL_BACKGROUND_COLOR); txtSTATE->selection_color(FL_SELECTION_COLOR); @@ -1269,7 +1248,7 @@ Fl_Double_Window* flmsg_dialog() { txtSTATE->when(FL_WHEN_RELEASE); txtSTATE->type(FL_NORMAL_OUTPUT); - prgSTATE = new Fl_Progress(W - 74, H+4, 70, 20); + prgSTATE = new Fl_Progress(W - 74, arq_group->y()+3, 70, 20); prgSTATE->tooltip(_("ARQ transfer progress")); prgSTATE->selection_color((Fl_Color)70); prgSTATE->labelfont(1); @@ -1277,13 +1256,14 @@ Fl_Double_Window* flmsg_dialog() { prgSTATE->maximum(1.0); arq_group->end(); - arq_group->hide(); - w->end(); + win->end(); + + win->resizable(all_tabs); init_cbo_modes(); - return w; + return win; } static void cb_btnCloseOptions(Fl_Return_Button*, void*) { diff --git a/src/ham_forms/netlog_tab.cxx b/src/ham_forms/netlog_tab.cxx index 31aee5c..2a14f3a 100644 --- a/src/ham_forms/netlog_tab.cxx +++ b/src/ham_forms/netlog_tab.cxx @@ -71,21 +71,19 @@ void cb_netlog_comm_time_changed(Fl_Widget *w, void *d) void create_netlog_tab() { - int Y = tab_top; - - tab_netlog = new Fl_Group(0, Y, 570, 390); + tab_netlog = new Fl_Group(0, tab_top, 570, 380); tab_netlog->align(FL_ALIGN_TOP); - tab_netlog_type = new Fl_Tabs(0, Y+2, 570, 387); + tab_netlog_type = new Fl_Tabs(0, tab_top, 570, 380); tab_netlog_type->selection_color((Fl_Color)246); - tab_netlog_1 = new Fl_Group(0, Y+25, 570, 360, _("Event")); + tab_netlog_1 = new Fl_Group(0, tab_top+25, 570, 360, _("Event")); { - Fl_Group* o = new Fl_Group(2, Y+34, 566, 146); + Fl_Group* o = new Fl_Group(2, tab_top+34, 566, 146); o->box(FL_ENGRAVED_FRAME); o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE); - txt_netlog_event = new Fl_Input2(135, Y+40, 425, 24, _("Event Name")); + txt_netlog_event = new Fl_Input2(135, tab_top+40, 425, 24, _("Event Name")); txt_netlog_event->tooltip(_("Event name")); txt_netlog_event->box(FL_DOWN_BOX); txt_netlog_event->color((Fl_Color)FL_BACKGROUND2_COLOR); @@ -98,7 +96,7 @@ void create_netlog_tab() txt_netlog_event->callback(hamform_changed); txt_netlog_event->when(FL_WHEN_CHANGED); - txt_netlog_radio_operator = new Fl_Input2(135, Y+67, 425, 24, _("Radio Operator")); + txt_netlog_radio_operator = new Fl_Input2(135, tab_top+67, 425, 24, _("Radio Operator")); txt_netlog_radio_operator->tooltip(_("Radio Operator, Name / Callsign")); txt_netlog_radio_operator->box(FL_DOWN_BOX); txt_netlog_radio_operator->color((Fl_Color)FL_BACKGROUND2_COLOR); @@ -111,7 +109,7 @@ void create_netlog_tab() txt_netlog_radio_operator->callback(hamform_changed); txt_netlog_radio_operator->when(FL_WHEN_CHANGED); - txt_netlog_date_fm = new Fl_Input2(135, Y+93, 155, 24, _("From: date")); + txt_netlog_date_fm = new Fl_Input2(135, tab_top+93, 155, 24, _("From: date")); txt_netlog_date_fm->tooltip(_("Starting date")); txt_netlog_date_fm->box(FL_DOWN_BOX); txt_netlog_date_fm->color((Fl_Color)FL_BACKGROUND2_COLOR); @@ -124,11 +122,11 @@ void create_netlog_tab() txt_netlog_date_fm->callback(hamform_changed); txt_netlog_date_fm->when(FL_WHEN_CHANGED); - btn_netlog_date_fm = new Fl_Button(292, Y+95, 20, 20, _("...")); + btn_netlog_date_fm = new Fl_Button(292, tab_top+95, 20, 20, _("...")); btn_netlog_date_fm->tooltip(_("Set today")); btn_netlog_date_fm->callback((Fl_Callback*)cb_netlog_set_date_fm); - txt_netlog_time_fm = new Fl_Input2(358, Y+93, 80, 24, _("time")); + txt_netlog_time_fm = new Fl_Input2(358, tab_top+93, 80, 24, _("time")); txt_netlog_time_fm->tooltip(_("Starting time")); txt_netlog_time_fm->box(FL_DOWN_BOX); txt_netlog_time_fm->color((Fl_Color)FL_BACKGROUND2_COLOR); @@ -141,11 +139,11 @@ void create_netlog_tab() txt_netlog_time_fm->callback(hamform_changed); txt_netlog_time_fm->when(FL_WHEN_CHANGED); - btn_netlog_time_fm = new Fl_Button(444, Y+95, 20, 20, _("...")); + btn_netlog_time_fm = new Fl_Button(444, tab_top+95, 20, 20, _("...")); btn_netlog_time_fm->tooltip(_("Set time now")); btn_netlog_time_fm->callback((Fl_Callback*)cb_netlog_set_time_fm); - txt_netlog_date_to = new Fl_Input2(135, Y+119, 155, 24, _("To: date")); + txt_netlog_date_to = new Fl_Input2(135, tab_top+119, 155, 24, _("To: date")); txt_netlog_date_to->tooltip(_("Ending date")); txt_netlog_date_to->box(FL_DOWN_BOX); txt_netlog_date_to->color((Fl_Color)FL_BACKGROUND2_COLOR); @@ -158,11 +156,11 @@ void create_netlog_tab() txt_netlog_date_to->callback(hamform_changed); txt_netlog_date_to->when(FL_WHEN_CHANGED); - btn_netlog_date_to = new Fl_Button(292, Y+121, 20, 20, _("...")); + btn_netlog_date_to = new Fl_Button(292, tab_top+121, 20, 20, _("...")); btn_netlog_date_to->tooltip(_("Set today")); btn_netlog_date_to->callback((Fl_Callback*)cb_netlog_set_date_to); - txt_netlog_time_to = new Fl_Input2(358, Y+119, 80, 24, _("time")); + txt_netlog_time_to = new Fl_Input2(358, tab_top+119, 80, 24, _("time")); txt_netlog_time_to->tooltip(_("Ending time")); txt_netlog_time_to->box(FL_DOWN_BOX); txt_netlog_time_to->color((Fl_Color)FL_BACKGROUND2_COLOR); @@ -175,11 +173,11 @@ void create_netlog_tab() txt_netlog_time_to->callback(hamform_changed); txt_netlog_time_to->when(FL_WHEN_CHANGED); - btn_netlog_time_to = new Fl_Button(444, Y+121, 20, 20, _("...")); + btn_netlog_time_to = new Fl_Button(444, tab_top+121, 20, 20, _("...")); btn_netlog_time_to->tooltip(_("Set time now")); btn_netlog_time_to->callback((Fl_Callback*)cb_netlog_set_time_to); - txt_netlog_radio_net = new Fl_Input2(135, Y+145, 425, 24, _("Net")); + txt_netlog_radio_net = new Fl_Input2(135, tab_top+145, 425, 24, _("Net")); txt_netlog_radio_net->tooltip(_("Radio Net Name or Position/Tactical Call")); txt_netlog_radio_net->box(FL_DOWN_BOX); txt_netlog_radio_net->color((Fl_Color)FL_BACKGROUND2_COLOR); @@ -196,10 +194,10 @@ void create_netlog_tab() } // Fl_Group* o { - Fl_Group* o = new Fl_Group(2, Y+220, 566, 62); + Fl_Group* o = new Fl_Group(2, tab_top+220, 566, 62); o->box(FL_ENGRAVED_FRAME); - txt_netlog_prepared_by = new Fl_Input2(135, Y+226, 425, 24, _("Prepared by")); + txt_netlog_prepared_by = new Fl_Input2(135, tab_top+226, 425, 24, _("Prepared by")); txt_netlog_prepared_by->tooltip(_("Name of preparer")); txt_netlog_prepared_by->box(FL_DOWN_BOX); txt_netlog_prepared_by->color((Fl_Color)FL_BACKGROUND2_COLOR); @@ -212,7 +210,7 @@ void create_netlog_tab() txt_netlog_prepared_by->callback(hamform_changed); txt_netlog_prepared_by->when(FL_WHEN_CHANGED); - txt_netlog_preparer_date_time = new Fl_Input2(135, Y+252, 250, 24, _("Date/Time")); + txt_netlog_preparer_date_time = new Fl_Input2(135, tab_top+252, 250, 24, _("Date/Time")); txt_netlog_preparer_date_time->tooltip(_("Date / Time")); txt_netlog_preparer_date_time->box(FL_DOWN_BOX); txt_netlog_preparer_date_time->color((Fl_Color)FL_BACKGROUND2_COLOR); @@ -225,13 +223,13 @@ void create_netlog_tab() txt_netlog_preparer_date_time->callback(hamform_changed); txt_netlog_preparer_date_time->when(FL_WHEN_CHANGED); - btn_netlog_date_time = new Fl_Button(390, Y+254, 20, 20, _("...")); + btn_netlog_date_time = new Fl_Button(390, tab_top+254, 20, 20, _("...")); btn_netlog_date_time->tooltip(_("Set today / now")); btn_netlog_date_time->callback((Fl_Callback*)cb_netlog_set_date_time); o->end(); - btn_netlog_export_csv = new Fl_Button(450, Y+340, 100, 24, _("Export CSV")); + btn_netlog_export_csv = new Fl_Button(450, tab_top+340, 100, 24, _("Export CSV")); btn_netlog_export_csv->tooltip(_("Export Event data to a CSV file")); btn_netlog_export_csv->callback((Fl_Callback*)netlog_csv); @@ -240,99 +238,66 @@ void create_netlog_tab() tab_netlog_1->end(); - tab_netlog_2 = new Fl_Group(0, Y+25, 570, 360, _("Communications Log")); + tab_netlog_2 = new Fl_Group(0, tab_top+25, 570, 360, _("Communications Log")); tab_netlog_2->hide(); - { - Fl_Box* o = new Fl_Box(5, Y+30, 70, 20, _("Time")); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); - } // Fl_Box* o + Fl_Group *g2a = new Fl_Group(0, tab_top+30, 569, 355); - { - Fl_Box* o = new Fl_Box(75, Y+30, 95, 20, _("From")); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); - } // Fl_Box* o + Fl_Box* bx1 = new Fl_Box(7, tab_top+30, 70, 20, _("Time")); + bx1->box(FL_DOWN_BOX); + bx1->color((Fl_Color)215); - { - Fl_Box* o = new Fl_Box(170, Y+30, 95, 20, _("To")); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); - } // Fl_Box* o + Fl_Box* bx2 = new Fl_Box(bx1->x()+bx1->w(), tab_top+30, 95, 20, _("From")); + bx2->box(FL_DOWN_BOX); + bx2->color((Fl_Color)215); - { - Fl_Box* o = new Fl_Box(265, Y+30, 284, 20, _("Message")); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); - } // Fl_Box* o + Fl_Box* bx3 = new Fl_Box(bx2->x()+bx2->w(), tab_top+30, 95, 20, _("To")); + bx3->box(FL_DOWN_BOX); + bx3->color((Fl_Color)215); - { - Fl_Scroll* o = new Fl_Scroll(2, Y+52, 566, 334); - o->type(3); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); + Fl_Box* bx4 = new Fl_Box(bx3->x()+bx3->w(), tab_top+30, 280, 20, _("Message")); + bx4->box(FL_DOWN_BOX); + bx4->color((Fl_Color)215); + + Fl_Scroll* scrl = new Fl_Scroll(5, tab_top+52, 560, 320); + scrl->type(Fl_Scroll::VERTICAL_ALWAYS); + scrl->box(FL_DOWN_BOX); for (int i = 0; i < 60; i++) { - txt_netlog_comm_time[i] = new Fl_Input2(5, Y+52 + i*22, 50, 22); + txt_netlog_comm_time[i] = new Fl_Input2(7, tab_top+52 + i*22, 50, 22); txt_netlog_comm_time[i]->tooltip(_("")); - txt_netlog_comm_time[i]->box(FL_DOWN_BOX); - txt_netlog_comm_time[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_netlog_comm_time[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_netlog_comm_time[i]->labeltype(FL_NORMAL_LABEL); - txt_netlog_comm_time[i]->labelfont(0); - txt_netlog_comm_time[i]->labelsize(14); - txt_netlog_comm_time[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_netlog_comm_time[i]->align(FL_ALIGN_CENTER); txt_netlog_comm_time[i]->callback(hamform_changed); txt_netlog_comm_time[i]->when(FL_WHEN_CHANGED); - btn_netlog_comm_time[i] = new Fl_Button(55, Y+52 + i*22, 20, 20, _("..")); + btn_netlog_comm_time[i] = new Fl_Button( + txt_netlog_comm_time[i]->x() + txt_netlog_comm_time[i]->w(), tab_top+52 + i*22, 20, 22, _("..")); btn_netlog_comm_time[i]->tooltip(_("Set time now")); btn_netlog_comm_time[i]->callback(cb_netlog_comm_time_changed, (void *)&net_bptr[i]); - txt_netlog_comm_from[i] = new Fl_Input2(75, Y+52 + i*22, 95, 22, ""); + txt_netlog_comm_from[i] = new Fl_Input2( + btn_netlog_comm_time[i]->x() + btn_netlog_comm_time[i]->w(), tab_top+52 + i*22, 95, 22, ""); txt_netlog_comm_from[i]->tooltip(_("")); - txt_netlog_comm_from[i]->box(FL_DOWN_BOX); - txt_netlog_comm_from[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_netlog_comm_from[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_netlog_comm_from[i]->labeltype(FL_NORMAL_LABEL); - txt_netlog_comm_from[i]->labelfont(0); - txt_netlog_comm_from[i]->labelsize(14); - txt_netlog_comm_from[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_netlog_comm_from[i]->align(FL_ALIGN_CENTER); txt_netlog_comm_from[i]->callback(hamform_changed); txt_netlog_comm_from[i]->when(FL_WHEN_CHANGED); - txt_netlog_comm_to[i] = new Fl_Input2(170, Y+52 + i*22, 95, 22); + txt_netlog_comm_to[i] = new Fl_Input2( + txt_netlog_comm_from[i]->x() + txt_netlog_comm_from[i]->w(), tab_top+52 + i*22, 95, 22); txt_netlog_comm_to[i]->tooltip(_("")); - txt_netlog_comm_to[i]->box(FL_DOWN_BOX); - txt_netlog_comm_to[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_netlog_comm_to[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_netlog_comm_to[i]->labeltype(FL_NORMAL_LABEL); - txt_netlog_comm_to[i]->labelfont(0); - txt_netlog_comm_to[i]->labelsize(14); - txt_netlog_comm_to[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_netlog_comm_to[i]->align(FL_ALIGN_CENTER); txt_netlog_comm_to[i]->callback(hamform_changed); txt_netlog_comm_to[i]->when(FL_WHEN_CHANGED); - txt_netlog_comm_msg[i] = new Fl_Input2(265, Y+52 + i*22, 285, 22); + txt_netlog_comm_msg[i] = new Fl_Input2( + txt_netlog_comm_to[i]->x() + txt_netlog_comm_to[i]->w(), tab_top+52 + i*22, 280, 22); txt_netlog_comm_msg[i]->tooltip(_("")); - txt_netlog_comm_msg[i]->box(FL_DOWN_BOX); - txt_netlog_comm_msg[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_netlog_comm_msg[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_netlog_comm_msg[i]->labeltype(FL_NORMAL_LABEL); - txt_netlog_comm_msg[i]->labelfont(0); - txt_netlog_comm_msg[i]->labelsize(14); - txt_netlog_comm_msg[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_netlog_comm_msg[i]->align(FL_ALIGN_CENTER); txt_netlog_comm_msg[i]->callback(hamform_changed); txt_netlog_comm_msg[i]->when(FL_WHEN_CHANGED); } - o->end(); - } // Fl_Scroll* o + scrl->end(); + g2a->end(); + Fl_Group *g2b = new Fl_Group(569, tab_top+30, 1, 355); + g2b->end(); tab_netlog_2->end(); + tab_netlog_2->resizable(g2b); tab_netlog_type->end(); Fl_Group::current()->resizable(tab_netlog_type); diff --git a/src/hics/hics214_tab.cxx b/src/hics/hics214_tab.cxx index 32952cc..8030b25 100644 --- a/src/hics/hics214_tab.cxx +++ b/src/hics/hics214_tab.cxx @@ -195,23 +195,21 @@ void create_hics214_tab() hics214_tab_2->hide(); hics214_tab_2->hide(); - { - Fl_Box* o = new Fl_Box(5, Y+32, 100, 20, _("Time")); - o->box(FL_THIN_DOWN_BOX); - o->color((Fl_Color)215); - } + Fl_Group *sg1 = new Fl_Group(5, Y+32, 560, 350); + sg1->box(FL_FLAT_BOX); - { - Fl_Box* o = new Fl_Box(106, Y+32, 440, 20, _("Major Events")); - o->box(FL_THIN_DOWN_BOX); - o->color((Fl_Color)215); - } + Fl_Box* bx1 = new Fl_Box(5, Y+32, 100, 20, _("Time")); + bx1->box(FL_THIN_DOWN_BOX); + bx1->color((Fl_Color)215); + + Fl_Box* bx2 = new Fl_Box(bx1->x() + bx1->w(), Y+32, 440, 20, _("Major Events")); + bx2->box(FL_THIN_DOWN_BOX); + bx2->color((Fl_Color)215); + + Fl_Scroll* sc1 = new Fl_Scroll(4, Y+54, 560, 320); + sc1->type(2); + sc1->box(FL_THIN_DOWN_BOX); - { - Fl_Scroll* o = new Fl_Scroll(4, Y+54, 560, 320); - o->type(2); - o->box(FL_THIN_DOWN_BOX); - o->color((Fl_Color)215); for (int i = 0; i < 30; i++) { hics214_txt_activity_time[i] = new Fl_Input2(5, Y+54 + i*24, 100, 24); hics214_txt_activity_time[i]->tooltip(_("")); @@ -237,10 +235,14 @@ void create_hics214_tab() hics214_txt_activity_event[i]->callback(hics_changed); hics214_txt_activity_event[i]->when(FL_WHEN_CHANGED); } - o->end(); - } // Fl_Scroll* o + sc1->end(); + sg1->end(); + Fl_Group *sg2 = new Fl_Group(565, Y+32, 1, 350); + sg2->box(FL_FLAT_BOX); + sg2->end(); hics214_tab_2->end(); + hics214_tab_2->resizable(sg2); hics214_tab_type->end(); Fl_Group::current()->resizable(hics214_tab_type); diff --git a/src/ics/ics205a_tab.cxx b/src/ics/ics205a_tab.cxx index 0142216..3b16de9 100644 --- a/src/ics/ics205a_tab.cxx +++ b/src/ics/ics205a_tab.cxx @@ -199,29 +199,25 @@ void create_ics205a_tab() tab_205a_2 = new Fl_Group(0, Y+25, 570, 360, _("Basic Info")); tab_205a_2->hide(); - { - Fl_Box* o = new Fl_Box(5, Y+28, 120, 20, _("Assignment")); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); - } // Fl_Box* o + Fl_Group *g1 = new Fl_Group(5, Y+28, 560, 340); + g1->box(FL_FLAT_BOX); - { - Fl_Box* o = new Fl_Box(126, Y+28, 150, 20, _("Name")); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); - } // Fl_Box* o + Fl_Box* bx1 = new Fl_Box(5, Y+28, 120, 20, _("Assignment")); + bx1->box(FL_DOWN_BOX); + bx1->color((Fl_Color)215); - { - Fl_Box* o = new Fl_Box(277, Y+28, 270, 20, _("Method of Contact")); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); - } // Fl_Box* o + Fl_Box* bx2 = new Fl_Box(bx1->x() + bx1->w(), Y+28, 150, 20, _("Name")); + bx2->box(FL_DOWN_BOX); + bx2->color((Fl_Color)215); - { - Fl_Scroll* o = new Fl_Scroll(4, Y+48, 560, 320); - o->type(2); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); + Fl_Box* bx3 = new Fl_Box(bx2->x() + bx2->w(), Y+28, 270, 20, _("Method of Contact")); + bx3->box(FL_DOWN_BOX); + bx3->color((Fl_Color)215); + + Fl_Scroll* sc = new Fl_Scroll(4, Y+48, 560, 320); + sc->type(2); + sc->box(FL_DOWN_BOX); + sc->color((Fl_Color)215); for (int i = 0; i < 32; i++) { txt_205a_comm_position[i] = new Fl_Input2(5, Y+50 + i*24, 120, 24); @@ -263,9 +259,14 @@ void create_ics205a_tab() txt_205a_comm_info[i]->callback(ics_changed); txt_205a_comm_info[i]->when(FL_WHEN_CHANGED); } - o->end(); - } // Fl_Scroll* o + sc->end(); + g1->end(); + Fl_Group *g2 = new Fl_Group(565, Y+32, 1, 350); + g2->box(FL_FLAT_BOX); + g2->end(); + tab_205a_2->end(); + tab_205a_2->resizable(g2); tab_ics205a_type->end(); Fl_Group::current()->resizable(tab_ics205a_type); diff --git a/src/ics/ics214_tab.cxx b/src/ics/ics214_tab.cxx index 2e2bc60..487afbd 100644 --- a/src/ics/ics214_tab.cxx +++ b/src/ics/ics214_tab.cxx @@ -184,124 +184,93 @@ void create_ics214_tab() tab_214_2 = new Fl_Group(0, Y+25, 570, 360, _("Roster")); tab_214_2->hide(); - { - Fl_Box* o = new Fl_Box(5, Y+32, 180, 20, _("Name")); - o->box(FL_THIN_DOWN_BOX); - o->color((Fl_Color)215); - } - { - Fl_Box* o = new Fl_Box(186, Y+32, 180, 20, _("ICS Position")); - o->box(FL_THIN_DOWN_BOX); - o->color((Fl_Color)215); - } - { - Fl_Box* o = new Fl_Box(367, Y+32, 180, 20, _("Home Base")); - o->box(FL_THIN_DOWN_BOX); - o->color((Fl_Color)215); - } + Fl_Group *g1a = new Fl_Group(0, Y+32, 568, 353); + g1a->box(FL_FLAT_BOX); - { - Fl_Scroll* o = new Fl_Scroll(4, Y+54, 560, 320); - o->type(2); - o->box(FL_THIN_DOWN_BOX); - o->color((Fl_Color)215); + Fl_Box* bx1a = new Fl_Box( + 5, Y+32, + 180, 20, _("Name")); + bx1a->box(FL_THIN_DOWN_BOX); + bx1a->color((Fl_Color)215); + + Fl_Box* bx2a = new Fl_Box( + bx1a->x() + bx1a->w(), Y+32, + 180, 20, _("ICS Position")); + bx2a->box(FL_THIN_DOWN_BOX); + bx2a->color((Fl_Color)215); + + Fl_Box* bx3a = new Fl_Box( + bx2a->x() + bx2a->w(), Y+32, + 180, 20, _("Home Base")); + bx3a->box(FL_THIN_DOWN_BOX); + bx3a->color((Fl_Color)215); + + Fl_Scroll* sc1 = new Fl_Scroll(5, Y+54, 560, 320); + sc1->type(Fl_Scroll::VERTICAL_ALWAYS); + sc1->box(FL_THIN_DOWN_BOX); for (int i = 0; i < 16; i++) { - txt_214_roster_name[i] = new Fl_Input2(5, Y+50 + i*24, 180, 24); + txt_214_roster_name[i] = new Fl_Input2(5, Y+54 + i*24, 180, 24); txt_214_roster_name[i]->tooltip(_("")); - txt_214_roster_name[i]->box(FL_DOWN_BOX); - txt_214_roster_name[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_214_roster_name[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_214_roster_name[i]->labeltype(FL_NORMAL_LABEL); - txt_214_roster_name[i]->labelfont(0); - txt_214_roster_name[i]->labelsize(14); - txt_214_roster_name[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_214_roster_name[i]->align(FL_ALIGN_CENTER); txt_214_roster_name[i]->callback(ics_changed); txt_214_roster_name[i]->when(FL_WHEN_CHANGED); - txt_214_roster_position[i] = new Fl_Input2(186, Y+50 + i*24, 180, 24); + txt_214_roster_position[i] = new Fl_Input2(186, Y+54 + i*24, 180, 24); txt_214_roster_position[i]->tooltip(_("")); - txt_214_roster_position[i]->box(FL_DOWN_BOX); - txt_214_roster_position[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_214_roster_position[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_214_roster_position[i]->labeltype(FL_NORMAL_LABEL); - txt_214_roster_position[i]->labelfont(0); - txt_214_roster_position[i]->labelsize(14); - txt_214_roster_position[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_214_roster_position[i]->align(FL_ALIGN_CENTER); txt_214_roster_position[i]->callback(ics_changed); txt_214_roster_position[i]->when(FL_WHEN_CHANGED); - txt_214_roster_home_base[i] = new Fl_Input2(367, Y+50 + i*24, 180, 24); + txt_214_roster_home_base[i] = new Fl_Input2(367, Y+54 + i*24, 180, 24); txt_214_roster_home_base[i]->tooltip(_("")); - txt_214_roster_home_base[i]->box(FL_DOWN_BOX); - txt_214_roster_home_base[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_214_roster_home_base[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_214_roster_home_base[i]->labeltype(FL_NORMAL_LABEL); - txt_214_roster_home_base[i]->labelfont(0); - txt_214_roster_home_base[i]->labelsize(14); - txt_214_roster_home_base[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_214_roster_home_base[i]->align(FL_ALIGN_CENTER); txt_214_roster_home_base[i]->callback(ics_changed); txt_214_roster_home_base[i]->when(FL_WHEN_CHANGED); } - o->end(); - } + sc1->end(); + g1a->end(); + + Fl_Group *g2a = new Fl_Group(568, Y+32, 1, 353); + g2a->box(FL_FLAT_BOX); + g2a->end(); tab_214_2->end(); + tab_214_2->resizable(g2a); tab_214_3 = new Fl_Group(0, Y+25, 570, 360, _("Activity Log")); tab_214_3->hide(); - tab_214_2->hide(); - { - Fl_Box* o = new Fl_Box(5, Y+32, 100, 20, _("Time")); - o->box(FL_THIN_DOWN_BOX); - o->color((Fl_Color)215); - } + Fl_Group *g1b = new Fl_Group(5, Y+32, 564, 353); + g1b->box(FL_FLAT_BOX); - { - Fl_Box* o = new Fl_Box(106, Y+32, 440, 20, _("Major Events")); - o->box(FL_THIN_DOWN_BOX); - o->color((Fl_Color)215); - } + Fl_Box* bx1b = new Fl_Box(5, Y+32, 100, 20, _("Time")); + bx1b->box(FL_THIN_DOWN_BOX); + bx1b->color((Fl_Color)215); - { - Fl_Scroll* o = new Fl_Scroll(4, Y+54, 560, 320); - o->type(2); - o->box(FL_THIN_DOWN_BOX); - o->color((Fl_Color)215); + Fl_Box* bx2b = new Fl_Box(bx1b->x() + bx1b->w(), Y+32, 440, 20, _("Major Events")); + bx2b->box(FL_THIN_DOWN_BOX); + bx2b->color((Fl_Color)215); + + Fl_Scroll* sc2 = new Fl_Scroll(4, Y+54, 560, 320); + sc2->type(Fl_Scroll::VERTICAL_ALWAYS); + sc2->box(FL_THIN_DOWN_BOX); for (int i = 0; i < 16; i++) { - txt_214_activity_time[i] = new Fl_Input2(5, Y+50 + i*24, 100, 24); + txt_214_activity_time[i] = new Fl_Input2(5, Y+54 + i*24, 100, 24); txt_214_activity_time[i]->tooltip(_("")); - txt_214_activity_time[i]->box(FL_DOWN_BOX); - txt_214_activity_time[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_214_activity_time[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_214_activity_time[i]->labeltype(FL_NORMAL_LABEL); - txt_214_activity_time[i]->labelfont(0); - txt_214_activity_time[i]->labelsize(14); - txt_214_activity_time[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_214_activity_time[i]->align(FL_ALIGN_CENTER); txt_214_activity_time[i]->callback(ics_changed); txt_214_activity_time[i]->when(FL_WHEN_CHANGED); - txt_214_activity_event[i] = new Fl_Input2(106, Y+50 + i*24, 442, 24); + txt_214_activity_event[i] = new Fl_Input2(106, Y+54 + i*24, 442, 24); txt_214_activity_event[i]->tooltip(_("")); - txt_214_activity_event[i]->box(FL_DOWN_BOX); - txt_214_activity_event[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_214_activity_event[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_214_activity_event[i]->labeltype(FL_NORMAL_LABEL); - txt_214_activity_event[i]->labelfont(0); - txt_214_activity_event[i]->labelsize(14); - txt_214_activity_event[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_214_activity_event[i]->align(FL_ALIGN_CENTER); txt_214_activity_event[i]->callback(ics_changed); txt_214_activity_event[i]->when(FL_WHEN_CHANGED); } - o->end(); - } // Fl_Scroll* o + sc2->end(); + g1b->end(); + + Fl_Group *g2b = new Fl_Group(569, Y+32, 1, 353); + g2b->box(FL_FLAT_BOX); + g2b->end(); tab_214_3->end(); + tab_214_3->resizable(g2b); tab_ics214_type->end(); Fl_Group::current()->resizable(tab_ics214_type); diff --git a/src/ics/ics309_tab.cxx b/src/ics/ics309_tab.cxx index 5972a2e..8d114ab 100644 --- a/src/ics/ics309_tab.cxx +++ b/src/ics/ics309_tab.cxx @@ -240,96 +240,72 @@ void create_ics309_tab() tab_309_2 = new Fl_Group(0, Y+25, 570, 360, _("Communications Log")); tab_309_2->hide(); - { - Fl_Box* o = new Fl_Box(5, Y+30, 70, 20, _("Time")); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); - } // Fl_Box* o + Fl_Group *g1 = new Fl_Group( 0, Y+30, 569, 355); + g1->box(FL_FLAT_BOX); - { - Fl_Box* o = new Fl_Box(75, Y+30, 95, 20, _("From")); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); - } // Fl_Box* o + Fl_Box* bx1 = new Fl_Box(5, Y+30, 70, 20, _("Time")); + bx1->box(FL_DOWN_BOX); + bx1->color((Fl_Color)215); - { - Fl_Box* o = new Fl_Box(170, Y+30, 95, 20, _("To")); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); - } // Fl_Box* o + Fl_Box* bx2 = new Fl_Box(bx1->x() + bx1->w(), Y+30, 95, 20, _("From")); + bx2->box(FL_DOWN_BOX); + bx2->color((Fl_Color)215); - { - Fl_Box* o = new Fl_Box(265, Y+30, 284, 20, _("Message")); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); - } // Fl_Box* o + Fl_Box* bx3 = new Fl_Box(bx2->x() + bx2->w(), Y+30, 95, 20, _("To")); + bx3->box(FL_DOWN_BOX); + bx3->color((Fl_Color)215); + + Fl_Box* bx4 = new Fl_Box(bx3->x() + bx3->w(), Y+30, 284, 20, _("Message")); + bx4->box(FL_DOWN_BOX); + bx4->color((Fl_Color)215); + + Fl_Scroll* scrl = new Fl_Scroll(3, Y+52, 566, 334); + scrl->type(Fl_Scroll::BOTH_ALWAYS); + scrl->box(FL_DOWN_BOX); - { - Fl_Scroll* o = new Fl_Scroll(2, Y+52, 566, 334); - o->type(3); - o->box(FL_DOWN_BOX); - o->color((Fl_Color)215); for (int i = 0; i < 34; i++) { txt_309_comm_time[i] = new Fl_Input2(5, Y+52 + i*22, 50, 22); txt_309_comm_time[i]->tooltip(_("")); - txt_309_comm_time[i]->box(FL_DOWN_BOX); - txt_309_comm_time[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_309_comm_time[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_309_comm_time[i]->labeltype(FL_NORMAL_LABEL); - txt_309_comm_time[i]->labelfont(0); - txt_309_comm_time[i]->labelsize(14); - txt_309_comm_time[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_309_comm_time[i]->align(FL_ALIGN_CENTER); txt_309_comm_time[i]->callback(ics_changed); txt_309_comm_time[i]->when(FL_WHEN_CHANGED); - btn_309_comm_time[i] = new Fl_Button(55, Y+52 + i*22, 20, 20, _("..")); + btn_309_comm_time[i] = new Fl_Button( + txt_309_comm_time[i]->x() + txt_309_comm_time[i]->w(),Y+52 + i*22, + 20, 20, _("..")); btn_309_comm_time[i]->tooltip(_("Set time now")); btn_309_comm_time[i]->callback(cb_309_comm_time_changed, (void *)&bptr[i]); - txt_309_comm_from[i] = new Fl_Input2(75, Y+52 + i*22, 95, 22, ""); + txt_309_comm_from[i] = new Fl_Input2( + btn_309_comm_time[i]->x() + btn_309_comm_time[i]->w(),Y+52 + i*22, + 95, 22, ""); txt_309_comm_from[i]->tooltip(_("")); - txt_309_comm_from[i]->box(FL_DOWN_BOX); - txt_309_comm_from[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_309_comm_from[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_309_comm_from[i]->labeltype(FL_NORMAL_LABEL); - txt_309_comm_from[i]->labelfont(0); - txt_309_comm_from[i]->labelsize(14); - txt_309_comm_from[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_309_comm_from[i]->align(FL_ALIGN_CENTER); txt_309_comm_from[i]->callback(ics_changed); txt_309_comm_from[i]->when(FL_WHEN_CHANGED); - txt_309_comm_to[i] = new Fl_Input2(170, Y+52 + i*22, 95, 22); + txt_309_comm_to[i] = new Fl_Input2( + txt_309_comm_from[i]->x() + txt_309_comm_from[i]->w(),Y+52 + i*22, + 95, 22); txt_309_comm_to[i]->tooltip(_("")); - txt_309_comm_to[i]->box(FL_DOWN_BOX); - txt_309_comm_to[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_309_comm_to[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_309_comm_to[i]->labeltype(FL_NORMAL_LABEL); - txt_309_comm_to[i]->labelfont(0); - txt_309_comm_to[i]->labelsize(14); - txt_309_comm_to[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_309_comm_to[i]->align(FL_ALIGN_CENTER); txt_309_comm_to[i]->callback(ics_changed); txt_309_comm_to[i]->when(FL_WHEN_CHANGED); - txt_309_comm_msg[i] = new Fl_Input2(265, Y+52 + i*22, 285, 22); + txt_309_comm_msg[i] = new Fl_Input2( + txt_309_comm_to[i]->x() + txt_309_comm_to[i]->w(),Y+52 + i*22, + 285, 22); txt_309_comm_msg[i]->tooltip(_("")); - txt_309_comm_msg[i]->box(FL_DOWN_BOX); - txt_309_comm_msg[i]->color((Fl_Color)FL_BACKGROUND2_COLOR); - txt_309_comm_msg[i]->selection_color((Fl_Color)FL_SELECTION_COLOR); - txt_309_comm_msg[i]->labeltype(FL_NORMAL_LABEL); - txt_309_comm_msg[i]->labelfont(0); - txt_309_comm_msg[i]->labelsize(14); - txt_309_comm_msg[i]->labelcolor((Fl_Color)FL_FOREGROUND_COLOR); - txt_309_comm_msg[i]->align(FL_ALIGN_CENTER); txt_309_comm_msg[i]->callback(ics_changed); txt_309_comm_msg[i]->when(FL_WHEN_CHANGED); } - o->end(); - } // Fl_Scroll* o + scrl->end(); + + g1->end(); + + Fl_Group *g2 = new Fl_Group( 569, Y+30, 1, 355); + g2->box(FL_FLAT_BOX); + tab_309_2->end(); + tab_309_2->resizable(g2); tab_ics309_type->end(); Fl_Group::current()->resizable(tab_ics309_type); diff --git a/src/ics/ics_tab.cxx b/src/ics/ics_tab.cxx index 6d0011f..1bb6b51 100644 --- a/src/ics/ics_tab.cxx +++ b/src/ics/ics_tab.cxx @@ -30,6 +30,8 @@ void ics_changed(Fl_Widget *, void *) estimate(); } +Fl_Group *ics_tabs = (Fl_Group *) 0; + void create_ics_tab() { create_ics203_tab(); diff --git a/src/include/flmsg_dialog.h b/src/include/flmsg_dialog.h index ed1a682..df2e575 100644 --- a/src/include/flmsg_dialog.h +++ b/src/include/flmsg_dialog.h @@ -67,8 +67,6 @@ extern Fl_Double_Window* flmsg_dialog(); extern Fl_Menu_Item menu_[]; extern void load_custom_menu(); -extern void ARQdropdown(bool on); - extern Fl_Browser *brwsOptions; extern Fl_Double_Window* create_config_dialog(); @@ -192,10 +190,14 @@ extern void estimate(); extern bool valid_mode_check(string &md); extern void update_cbo_modes(string &fldigi_modes); +//====================================================================== +// all form tabs +//====================================================================== +extern Fl_Group *all_tabs; + //====================================================================== // ICS //====================================================================== -extern Fl_Group *tab_ics; extern Fl_Tabs *tab_ics_type; extern void create_ics_tab(); diff --git a/src/include/status.h b/src/include/status.h index 65f8ac0..754d1db 100644 --- a/src/include/status.h +++ b/src/include/status.h @@ -28,6 +28,8 @@ using namespace std; struct status { int mainX; int mainY; + int expertW; + int expertH; int wpl; // words per line in radiogram bool open_on_export; diff --git a/src/utils/status.cxx b/src/utils/status.cxx index 5e3bd30..b98624b 100644 --- a/src/utils/status.cxx +++ b/src/utils/status.cxx @@ -33,6 +33,8 @@ status progStatus = { 50, // int mainX; 50, // int mainY; + 570, // int mainW; + 492, // int mainH; 5, // int wpl; false, // bool open_on_export; @@ -98,6 +100,9 @@ void status::saveLastState() int mX = mainwindow->x(); int mY = mainwindow->y(); + int mW = expert_dialog->w(); + int mH = expert_dialog->h(); + if (mX >= 0 && mX >= 0) { mainX = mX; mainY = mY; @@ -107,6 +112,8 @@ void status::saveLastState() flmsgpref.set("version", PACKAGE_VERSION); flmsgpref.set("mainx", mX); flmsgpref.set("mainy", mY); + flmsgpref.set("expertW", mW); + flmsgpref.set("expertH", mH); flmsgpref.set("wpl", wpl); flmsgpref.set("open_on_export", open_on_export); @@ -189,6 +196,9 @@ void status::loadLastState() flmsgpref.get("mainx", mainX, mainX); flmsgpref.get("mainy", mainY, mainY); + flmsgpref.get("expertW", expertW, expertW); + flmsgpref.get("expertH", expertH, expertH); + flmsgpref.get("wpl", wpl, wpl); if (flmsgpref.get("open_on_export", i, i)) open_on_export = i; diff --git a/src/widgets/combo.cxx b/src/widgets/combo.cxx index 07b5d53..58b02a8 100644 --- a/src/widgets/combo.cxx +++ b/src/widgets/combo.cxx @@ -191,10 +191,6 @@ void Fl_PopBrowser::popshow (int x, int y) void Fl_PopBrowser::pophide () { hide (); - - parentWindow->damage(FL_DAMAGE_ALL); - parentWindow->redraw(); - Fl::grab(0); Fl::focus(((Fl_ComboBox*)parent())->btn); }