fltk-params

* Change expert dialog to allow resizing
    . using -g WxH+X+Y command line parameter
    . by corner drag resize
    . flmsg remembers position and size between
      executions, unless the -g parameter is
      invoked.
  * Scrolling widgets do not resize.  The fltk
    scroll widget does not resize internal widgets
This commit is contained in:
David Freese 2019-06-30 07:54:11 -05:00
parent 1d5cdd2e84
commit db871d5c22
20 changed files with 320 additions and 442 deletions

View file

@ -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();
}

View file

@ -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);

View file

@ -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;

View file

@ -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();
}

View file

@ -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"));

View file

@ -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();

View file

@ -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"));

View file

@ -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("");

View file

@ -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;
}

View file

@ -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*) {

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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();

View file

@ -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();

View file

@ -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;

View file

@ -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;

View file

@ -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);
}