Logo Search packages:      
Sourcecode: fgrun version File versions  Download package

advanced.cxx

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

#include "i18n.h"
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "advanced.h"
#include <string.h>

void Advanced::cb_page_list_i(Fl_Browser* o, void*) {
  if (o->value() > 0)
  show_page(o->value()-1);
}
void Advanced::cb_page_list(Fl_Browser* o, void* v) {
  ((Advanced*)(o->parent()->user_data()))->cb_page_list_i(o,v);
}

void Advanced::cb__i(Fl_Button*, void*) {
  fg_browser_cb();
}
void Advanced::cb_(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb__i(o,v);
}

void Advanced::cb_1_i(Fl_Button*, void*) {
  fg_config_cb();
}
void Advanced::cb_1(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_1_i(o,v);
}

void Advanced::cb_hud_i(Fl_Check_Button* o, void*) {
  if (o->value())
  antialias_hud->activate();
else
  antialias_hud->deactivate();
}
void Advanced::cb_hud(Fl_Check_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_hud_i(o,v);
}

void Advanced::cb_failure_i(Fl_Check_Button* o, void*) {
  if (o->value()) {
  failure_pitot->activate();
  failure_static->activate();
  failure_system->activate();
  failure_vacuum->activate();
} else {
  failure_pitot->deactivate();
  failure_static->deactivate();
  failure_system->deactivate();
  failure_vacuum->deactivate();
};
}
void Advanced::cb_failure(Fl_Check_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_failure_i(o,v);
}

void Advanced::cb_fdm_i(Fl_Choice* o, void*) {
  if (strcmp(o->text(), "jsb") == 0){
  notrim->activate();
} else {
  notrim->deactivate();
};
}
void Advanced::cb_fdm(Fl_Choice* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_fdm_i(o,v);
}

Fl_Menu_Item Advanced::menu_fdm[] = {
 {_("ada"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("balloon"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("external"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("jsb"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("larcsim"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("magic"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("network"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("null"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("ufo"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("yasim"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {0,0,0,0,0,0,0,0,0}
};

Fl_Menu_Item Advanced::menu_bpp[] = {
 {_("16"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("24"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("32"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {0,0,0,0,0,0,0,0,0}
};

void Advanced::cb_time_match_real_i(Fl_Round_Button* o, void*) {
  if (o->value()) {
  time_offset_value->activate();
  start_date_sys_value->deactivate();
  start_date_gmt_value->deactivate();
  start_date_lat_value->deactivate();
  time_of_day_value->deactivate();
  time_offset_value->take_focus();
};
}
void Advanced::cb_time_match_real(Fl_Round_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_time_match_real_i(o,v);
}

void Advanced::cb_time_match_local_i(Fl_Round_Button* o, void*) {
  if (o->value()) {
  time_offset_value->deactivate();
  start_date_sys_value->deactivate();
  start_date_gmt_value->deactivate();
  start_date_lat_value->deactivate();
  time_of_day_value->deactivate();
};
}
void Advanced::cb_time_match_local(Fl_Round_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_time_match_local_i(o,v);
}

void Advanced::cb_start_date_sys_i(Fl_Round_Button* o, void*) {
  if (o->value()) {
  time_offset_value->deactivate();
  start_date_sys_value->activate();
  start_date_gmt_value->deactivate();
  start_date_lat_value->deactivate();
  time_of_day_value->deactivate();
  start_date_sys_value->take_focus();
};
}
void Advanced::cb_start_date_sys(Fl_Round_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_start_date_sys_i(o,v);
}

void Advanced::cb_start_date_gmt_i(Fl_Round_Button* o, void*) {
  if (o->value()) {
  time_offset_value->deactivate();
  start_date_sys_value->deactivate();
  start_date_gmt_value->activate();
  start_date_lat_value->deactivate();
  time_of_day_value->deactivate();
  start_date_gmt_value->take_focus();
};
}
void Advanced::cb_start_date_gmt(Fl_Round_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_start_date_gmt_i(o,v);
}

void Advanced::cb_start_date_lat_i(Fl_Round_Button* o, void*) {
  if (o->value()) {
  time_offset_value->deactivate();
  start_date_sys_value->deactivate();
  start_date_gmt_value->deactivate();
  start_date_lat_value->activate();
  time_of_day_value->deactivate();
  start_date_lat_value->take_focus();
};
}
void Advanced::cb_start_date_lat(Fl_Round_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_start_date_lat_i(o,v);
}

void Advanced::cb_start_date_sys_value_i(Fl_Input*, void*) {
  start_date_sys->setonly();
}
void Advanced::cb_start_date_sys_value(Fl_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_start_date_sys_value_i(o,v);
}

void Advanced::cb_start_date_gmt_value_i(Fl_Input*, void*) {
  start_date_gmt->setonly();
}
void Advanced::cb_start_date_gmt_value(Fl_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_start_date_gmt_value_i(o,v);
}

void Advanced::cb_start_date_lat_value_i(Fl_Input*, void*) {
  start_date_lat->setonly();
}
void Advanced::cb_start_date_lat_value(Fl_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_start_date_lat_value_i(o,v);
}

void Advanced::cb_time_of_day_i(Fl_Round_Button* o, void*) {
  if (o->value()) {
  time_offset_value->deactivate();
  start_date_sys_value->deactivate();
  start_date_gmt_value->deactivate();
  start_date_lat_value->deactivate();
  time_of_day_value->activate();
  time_of_day_value->take_focus();
};
}
void Advanced::cb_time_of_day(Fl_Round_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_time_of_day_i(o,v);
}

void Advanced::cb_httpd_i(Fl_Check_Button* o, void*) {
  if (o->value()) {
  httpd_port->activate();
  httpd_port->take_focus();
} else {
  httpd_port->deactivate();
};
}
void Advanced::cb_httpd(Fl_Check_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_httpd_i(o,v);
}

void Advanced::cb_props_i(Fl_Check_Button* o, void*) {
  if (o->value()) {
  props_port->activate();
  props_port->take_focus();
} else {
  props_port->deactivate();
};
}
void Advanced::cb_props(Fl_Check_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_props_i(o,v);
}

void Advanced::cb_jpg_httpd_i(Fl_Check_Button* o, void*) {
  if (o->value()) {
  jpg_httpd_port->activate();
  jpg_httpd_port->take_focus();
} else {
  jpg_httpd_port->deactivate();
};
}
void Advanced::cb_jpg_httpd(Fl_Check_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_jpg_httpd_i(o,v);
}

void Advanced::cb_io_list_i(Fl_Browser* o, void*) {
  io_list_select_cb(o);
}
void Advanced::cb_io_list(Fl_Browser* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_io_list_i(o,v);
}

void Advanced::cb_io_new_i(Fl_Button*, void*) {
  io_list_new_cb();
}
void Advanced::cb_io_new(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_io_new_i(o,v);
}

void Advanced::cb_io_delete_i(Fl_Button*, void*) {
  if (io_list->value() > 0) {
  io_list->remove( io_list->value() );
};
}
void Advanced::cb_io_delete(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_io_delete_i(o,v);
}

void Advanced::cb_io_protocol_i(Fl_Choice*, void*) {
  io_protocol_update_cb();
}
void Advanced::cb_io_protocol(Fl_Choice* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_io_protocol_i(o,v);
}

Fl_Menu_Item Advanced::menu_io_protocol[] = {
 {_("atc610x"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("atlas"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("garmin"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("AV400"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("generic"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("joy-client"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("jsclient"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("native"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("native-ctrls"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("native-fdm"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("native-gui"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("nmea"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("opengc"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("pve"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("props"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("ray"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("rul"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {0,0,0,0,0,0,0,0,0}
};

void Advanced::cb_io_medium_i(Fl_Choice* o, void*) {
  io_medium_update_cb( o );
}
void Advanced::cb_io_medium(Fl_Choice* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_io_medium_i(o,v);
}

Fl_Menu_Item Advanced::menu_io_medium[] = {
 {_("file"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("serial"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("socket"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {0,0,0,0,0,0,0,0,0}
};

void Advanced::cb_io_dir_i(Fl_Choice*, void*) {
  io_list_update_cb();
}
void Advanced::cb_io_dir(Fl_Choice* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_io_dir_i(o,v);
}

Fl_Menu_Item Advanced::menu_io_dir[] = {
 {_("in"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("out"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("bi"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {0,0,0,0,0,0,0,0,0}
};

void Advanced::cb_io_hz_i(Fl_Value_Input*, void*) {
  io_list_update_cb();
}
void Advanced::cb_io_hz(Fl_Value_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_io_hz_i(o,v);
}

void Advanced::cb_io_file_name_i(Fl_Input*, void*) {
  io_list_update_cb();
}
void Advanced::cb_io_file_name(Fl_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_io_file_name_i(o,v);
}

void Advanced::cb_2_i(Fl_Button*, void*) {
  io_file_cb();
}
void Advanced::cb_2(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_2_i(o,v);
}

void Advanced::cb_serial_port_i(Fl_Input*, void*) {
  io_list_update_cb();
}
void Advanced::cb_serial_port(Fl_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_serial_port_i(o,v);
}

void Advanced::cb_serial_baud_rate_i(Fl_Input*, void*) {
  io_list_update_cb();
}
void Advanced::cb_serial_baud_rate(Fl_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_serial_baud_rate_i(o,v);
}

void Advanced::cb_socket_host_i(Fl_Input*, void*) {
  io_list_update_cb();
}
void Advanced::cb_socket_host(Fl_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_socket_host_i(o,v);
}

void Advanced::cb_socket_port_i(Fl_Value_Input*, void*) {
  io_list_update_cb();
}
void Advanced::cb_socket_port(Fl_Value_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_socket_port_i(o,v);
}

void Advanced::cb_socket_tcp_i(Fl_Round_Button*, void*) {
  io_list_update_cb();
}
void Advanced::cb_socket_tcp(Fl_Round_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_socket_tcp_i(o,v);
}

void Advanced::cb_socket_udp_i(Fl_Round_Button*, void*) {
  io_list_update_cb();
}
void Advanced::cb_socket_udp(Fl_Round_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_socket_udp_i(o,v);
}

void Advanced::cb_io_generic_file_i(Fl_Input*, void*) {
  io_list_update_cb();
}
void Advanced::cb_io_generic_file(Fl_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_io_generic_file_i(o,v);
}

void Advanced::cb_3_i(Fl_Button*, void*) {
  io_generic_file_cb();
}
void Advanced::cb_3(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_3_i(o,v);
}

void Advanced::cb_dme_nav1_i(Fl_Round_Button* o, void*) {
  if (o->value())
  dme_int_freq->deactivate();
}
void Advanced::cb_dme_nav1(Fl_Round_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_dme_nav1_i(o,v);
}

void Advanced::cb_dme_nav2_i(Fl_Round_Button* o, void*) {
  if (o->value())
  dme_int_freq->deactivate();
}
void Advanced::cb_dme_nav2(Fl_Round_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_dme_nav2_i(o,v);
}

void Advanced::cb_dme_int_i(Fl_Round_Button* o, void*) {
  if (o->value())
  dme_int_freq->activate();
}
void Advanced::cb_dme_int(Fl_Round_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_dme_int_i(o,v);
}

void Advanced::cb_dme_i(Fl_Check_Button* o, void*) {
  if (o->value())
  dme_group->activate();
else
  dme_group->deactivate();
}
void Advanced::cb_dme(Fl_Check_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_dme_i(o,v);
}

void Advanced::cb_prop_list_i(Fl_Browser*, void*) {
  list_select_cb(
  prop_list,
  prop_input,
  prop_delete );
}
void Advanced::cb_prop_list(Fl_Browser* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_prop_list_i(o,v);
}

void Advanced::cb_prop_delete_i(Fl_Button*, void*) {
  list_delete_cb(
  prop_list,
  prop_input,
  prop_delete );
}
void Advanced::cb_prop_delete(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_prop_delete_i(o,v);
}

void Advanced::cb_prop_input_i(Fl_Input*, void*) {
  list_update_cb(
  prop_list,
  prop_input );
}
void Advanced::cb_prop_input(Fl_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_prop_input_i(o,v);
}

void Advanced::cb_New_i(Fl_Button*, void*) {
  list_new_cb(
  prop_list,
  prop_input,
  prop_delete );
}
void Advanced::cb_New(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_New_i(o,v);
}

void Advanced::cb_trace_read_list_i(Fl_Browser*, void*) {
  list_select_cb(
  trace_read_list,
  trace_read_input,
  trace_read_delete );
}
void Advanced::cb_trace_read_list(Fl_Browser* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_trace_read_list_i(o,v);
}

void Advanced::cb_trace_read_input_i(Fl_Input*, void*) {
  list_update_cb(
  trace_read_list,
  trace_read_input );
}
void Advanced::cb_trace_read_input(Fl_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_trace_read_input_i(o,v);
}

void Advanced::cb_New1_i(Fl_Button*, void*) {
  list_new_cb(
  trace_read_list,
  trace_read_input,
  trace_read_delete );
}
void Advanced::cb_New1(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_New1_i(o,v);
}

void Advanced::cb_trace_read_delete_i(Fl_Button*, void*) {
  list_delete_cb(
  trace_read_list,
  trace_read_input,
  trace_read_delete );
}
void Advanced::cb_trace_read_delete(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_trace_read_delete_i(o,v);
}

void Advanced::cb_trace_write_list_i(Fl_Browser*, void*) {
  list_select_cb(
  trace_write_list,
  trace_write_input,
  trace_write_delete );
}
void Advanced::cb_trace_write_list(Fl_Browser* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_trace_write_list_i(o,v);
}

void Advanced::cb_trace_write_input_i(Fl_Input*, void*) {
  list_update_cb(
  trace_write_list,
  trace_write_input );
}
void Advanced::cb_trace_write_input(Fl_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_trace_write_input_i(o,v);
}

void Advanced::cb_New2_i(Fl_Button*, void*) {
  list_new_cb(
  trace_write_list,
  trace_write_input,
  trace_write_delete );
}
void Advanced::cb_New2(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_New2_i(o,v);
}

void Advanced::cb_trace_write_delete_i(Fl_Button*, void*) {
  list_delete_cb(
  trace_write_list,
  trace_write_input,
  trace_write_delete );
}
void Advanced::cb_trace_write_delete(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->parent()->parent()->user_data()))->cb_trace_write_delete_i(o,v);
}

void Advanced::cb_env_list_i(Fl_Browser*, void*) {
  list_select_cb(
  env_list,
  env_input,
  env_delete );
}
void Advanced::cb_env_list(Fl_Browser* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_env_list_i(o,v);
}

void Advanced::cb_New3_i(Fl_Button*, void*) {
  list_new_cb(
  env_list,
  env_input,
  env_delete );
}
void Advanced::cb_New3(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_New3_i(o,v);
}

void Advanced::cb_env_delete_i(Fl_Button*, void*) {
  list_delete_cb(
  env_list,
  env_input,
  env_delete );
}
void Advanced::cb_env_delete(Fl_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_env_delete_i(o,v);
}

void Advanced::cb_env_input_i(Fl_Input*, void*) {
  list_update_cb(
  env_list,
  env_input );
}
void Advanced::cb_env_input(Fl_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_env_input_i(o,v);
}

void Advanced::cb_wind_dial_i(Fl_Heading_Dial*, void*) {
  wind_dial_cb();
}
void Advanced::cb_wind_dial(Fl_Heading_Dial* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_wind_dial_i(o,v);
}

void Advanced::cb_wind_hdg_i(Fl_Value_Input*, void*) {
  wind_hdg_cb();
}
void Advanced::cb_wind_hdg(Fl_Value_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_wind_hdg_i(o,v);
}

void Advanced::cb_random_wind_i(Fl_Check_Button*, void*) {
  random_wind_cb();
}
void Advanced::cb_random_wind(Fl_Check_Button* o, void* v) {
  ((Advanced*)(o->parent()->parent()->parent()->user_data()))->cb_random_wind_i(o,v);
}

void Advanced::cb_cloud_layer__i(Fl_Choice*, void*) {
  cloud_layer_cb();
}
void Advanced::cb_cloud_layer_(Fl_Choice* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_cloud_layer__i(o,v);
}

Fl_Menu_Item Advanced::menu_cloud_layer_[] = {
 {_("0"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("1"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("2"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("3"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {_("4"), 0,  0, 0, 0, FL_NORMAL_LABEL, 0, 12, 0},
 {0,0,0,0,0,0,0,0,0}
};

void Advanced::cb_cloud_elevation__i(Fl_Value_Input*, void*) {
  cloud_elevation[ cloud_layer_->value() ] = cloud_elevation_->value();
}
void Advanced::cb_cloud_elevation_(Fl_Value_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_cloud_elevation__i(o,v);
}

void Advanced::cb_cloud_thickness__i(Fl_Value_Input*, void*) {
  cloud_thickness[ cloud_layer_->value() ] = cloud_thickness_->value();
}
void Advanced::cb_cloud_thickness_(Fl_Value_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_cloud_thickness__i(o,v);
}

void Advanced::cb_cloud_coverage__i(Fl_Choice*, void*) {
  cloud_coverage[ cloud_layer_->value() ] = cloud_coverage_->value();
}
void Advanced::cb_cloud_coverage_(Fl_Choice* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_cloud_coverage__i(o,v);
}

void Advanced::cb_cloud_span__i(Fl_Value_Input*, void*) {
  cloud_span[ cloud_layer_->value() ] = cloud_span_->value();
}
void Advanced::cb_cloud_span_(Fl_Value_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_cloud_span__i(o,v);
}

void Advanced::cb_cloud_transition__i(Fl_Value_Input*, void*) {
  cloud_transition[ cloud_layer_->value() ] = cloud_transition_->value();
}
void Advanced::cb_cloud_transition_(Fl_Value_Input* o, void* v) {
  ((Advanced*)(o->parent()->parent()->user_data()))->cb_cloud_transition__i(o,v);
}

Advanced::Advanced() {
  Fl_Double_Window* w;
  { Fl_Double_Window* o = main_window = new Fl_Double_Window(640, 480, _("Advanced Options"));
    w = o;
    o->labelsize(12);
    o->user_data((void*)(this));
    { Fl_Browser* o = page_list = new Fl_Browser(0, 0, 150, 430);
      o->type(2);
      o->labelsize(12);
      o->textsize(12);
      o->callback((Fl_Callback*)cb_page_list);
    }
    { Fl_Box* o = new Fl_Box(150, 0, 485, 430);
      Fl_Group::current()->resizable(o);
    }
    { Fl_Group* o = new Fl_Group(0, 435, 640, 45);
      { Fl_Button* o = button[1] = new Fl_Button(565, 450, 70, 25, _("Cancel"));
        o->labelsize(12);
      }
      { Fl_Button* o = button[0] = new Fl_Button(490, 450, 70, 25, _("OK"));
        o->labelsize(12);
      }
      { Fl_Box* o = new Fl_Box(20, 435, 460, 15);
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    { Fl_Group* o = page[0] = new Fl_Group(150, 0, 490, 430, _("General"));
      o->labelfont(1);
      o->labelsize(16);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Choice* o = control = new Fl_Choice(250, 175, 150, 25, _("Control:"));
        o->tooltip(_("Primary control mode"));
        o->down_box(FL_BORDER_BOX);
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Input* o = lang = new Fl_Input(250, 220, 80, 25, _("Language:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Input* o = browser = new Fl_Input(250, 250, 355, 25, _("Browser:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Button* o = new Fl_Button(610, 250, 25, 25, _("..."));
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_);
      }
      { Fl_Input* o = config = new Fl_Input(250, 280, 355, 25, _("Config:"));
        o->tooltip(_("Path to additional XML properties file"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Button* o = new Fl_Button(610, 280, 25, 25, _("..."));
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_1);
      }
      { Fl_Output* o = fg_exe_ = new Fl_Output(250, 25, 385, 25, _("Executable:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Output* o = fg_root_ = new Fl_Output(250, 55, 385, 25, _("FG_ROOT:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Output* o = fg_scenery_ = new Fl_Output(250, 85, 385, 25, _("FG_SCENERY:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Output* o = airport_ = new Fl_Output(250, 115, 240, 25, _("Airport:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Output* o = runway_ = new Fl_Output(555, 115, 80, 25, _("Runway:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Output* o = aircraft_ = new Fl_Output(250, 145, 240, 25, _("Aircraft:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Box* o = new Fl_Box(255, 405, 25, 25);
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    { Fl_Group* o = page[1] = new Fl_Group(150, 0, 490, 430, _("Features"));
      o->labelfont(1);
      o->labelsize(16);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      { Fl_Check_Button* o = game_mode = new Fl_Check_Button(175, 50, 160, 25, _("Game Mode"));
        o->tooltip(_("Enable full screen game mode"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = splash_screen = new Fl_Check_Button(175, 80, 160, 25, _("Splash Screen"));
        o->tooltip(_("Display splash screen at startup"));
        o->down_box(FL_DOWN_BOX);
        o->value(1);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = intro_music = new Fl_Check_Button(175, 110, 160, 25, _("Intro Music"));
        o->tooltip(_("Enable introduction music during start up"));
        o->down_box(FL_DOWN_BOX);
        o->value(1);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = mouse_pointer = new Fl_Check_Button(175, 140, 160, 25, _("Mouse Pointer"));
        o->tooltip(_("Enable extra mouse pointer"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = random_objects = new Fl_Check_Button(175, 170, 160, 25, _("Random Objects"));
        o->tooltip(_("Enable random scenery objects"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = panel = new Fl_Check_Button(345, 50, 140, 25, _("Panel"));
        o->tooltip(_("Enable the instrument panel"));
        o->down_box(FL_DOWN_BOX);
        o->value(1);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = sound = new Fl_Check_Button(345, 80, 140, 25, _("Sound"));
        o->tooltip(_("Enable sound effects"));
        o->down_box(FL_DOWN_BOX);
        o->value(1);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = hud = new Fl_Check_Button(345, 110, 140, 25, _("HUD"));
        o->tooltip(_("Enable Heads Up Display"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_hud);
      }
      { Fl_Check_Button* o = antialias_hud = new Fl_Check_Button(360, 140, 130, 25, _("Anti-alias HUD"));
        o->tooltip(_("Enable anti-aliased HUD"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
        o->deactivate();
      }
      { Fl_Check_Button* o = auto_coordination = new Fl_Check_Button(345, 200, 140, 25, _("Auto-coordination"));
        o->tooltip(_("Enable auto-coordinated turns."));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = horizon_effect = new Fl_Check_Button(175, 230, 160, 25, _("Horizon effect"));
        o->tooltip(_("Enable celestial body growth illusion near the horizon"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = enhanced_lighting = new Fl_Check_Button(175, 260, 160, 25, _("Enhanced lighting"));
        o->tooltip(_("Enable enhanced runway lighting"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = distance_attenuation = new Fl_Check_Button(175, 290, 160, 25, _("Distance attenuation"));
        o->tooltip(_("Enable runway light distance attenuation"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = hud_3d = new Fl_Check_Button(345, 170, 140, 25, _("Hud-3D"));
        o->tooltip(_("Enable 3D HUD"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = specular_highlight = new Fl_Check_Button(175, 320, 160, 25, _("Specular highlight"));
        o->tooltip(_("Enable specular reflections on textured objects"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = failure = new Fl_Check_Button(485, 50, 150, 25, _("Failures"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_failure);
      }
      { Fl_Check_Button* o = failure_pitot = new Fl_Check_Button(505, 75, 130, 25, _("pitot"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
        o->deactivate();
      }
      { Fl_Check_Button* o = failure_static = new Fl_Check_Button(505, 100, 130, 25, _("static"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
        o->deactivate();
      }
      { Fl_Check_Button* o = failure_system = new Fl_Check_Button(505, 125, 130, 25, _("system"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
        o->deactivate();
      }
      { Fl_Check_Button* o = failure_vacuum = new Fl_Check_Button(505, 150, 130, 25, _("vacuum"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
        o->deactivate();
      }
      { Fl_Check_Button* o = ai_models = new Fl_Check_Button(345, 230, 140, 25, _("AI Traffic"));
        o->tooltip(_("Enable AI traffic"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = random_trees = new Fl_Check_Button(175, 200, 160, 25, _("Random Trees"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Box* o = new Fl_Box(615, 405, 25, 25);
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    { Fl_Group* o = page[2] = new Fl_Group(150, 0, 490, 430, _("Flight Model"));
      o->labelfont(1);
      o->labelsize(16);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Choice* o = fdm = new Fl_Choice(270, 45, 105, 25, _("FDM:"));
        o->tooltip(_("Core Flight Dynamics Model"));
        o->down_box(FL_BORDER_BOX);
        o->labelsize(12);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_fdm);
        o->menu(menu_fdm);
      }
      { Fl_Check_Button* o = notrim = new Fl_Check_Button(290, 75, 85, 25, _("No Trim"));
        o->tooltip(_("Do not attempt to trim the model"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
        o->deactivate();
      }
      { Fl_Value_Input* o = model_hz = new Fl_Value_Input(270, 105, 105, 25, _("Model Hz:"));
        o->tooltip(_("Run the FDM at this rate (iterations per second)"));
        o->labelsize(12);
        o->minimum(1);
        o->maximum(1000);
        o->step(1);
        o->value(120);
        o->textsize(12);
      }
      { Fl_Value_Input* o = speed = new Fl_Value_Input(270, 135, 105, 25, _("Speed:"));
        o->tooltip(_("Run FDM faster than real time"));
        o->labelsize(12);
        o->minimum(1);
        o->maximum(1000);
        o->step(1);
        o->value(1);
        o->textsize(12);
      }
      { Fl_Group* o = new Fl_Group(220, 170, 155, 50);
        { Fl_Round_Button* o = on_ground = new Fl_Round_Button(270, 170, 105, 25, _("On Ground"));
          o->tooltip(_("Start at ground level"));
          o->type(102);
          o->down_box(FL_ROUND_DOWN_BOX);
          o->value(1);
          o->labelsize(12);
        }
        { Fl_Round_Button* o = in_air = new Fl_Round_Button(270, 195, 105, 25, _("In Air"));
          o->tooltip(_("Start in the air"));
          o->type(102);
          o->down_box(FL_ROUND_DOWN_BOX);
          o->labelsize(12);
        }
        o->end();
      }
      { Fl_Box* o = new Fl_Box(615, 405, 25, 25);
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    { Fl_Group* o = page[3] = new Fl_Group(150, 0, 490, 435, _("Freeze"));
      o->labelfont(1);
      o->labelsize(16);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Check_Button* o = freeze = new Fl_Check_Button(175, 35, 265, 25, _("Freeze"));
        o->tooltip(_("Start paused"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = fuel_freeze = new Fl_Check_Button(175, 65, 265, 25, _("Fuel Freeze"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = clock_freeze = new Fl_Check_Button(175, 95, 265, 25, _("Clock Freeze"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Box* o = new Fl_Box(615, 410, 25, 25);
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    { Fl_Group* o = page[4] = new Fl_Group(150, 0, 490, 430, _("Initial Position"));
      o->labelfont(1);
      o->labelsize(16);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Input* o = lon = new Fl_Input(245, 35, 150, 25, _("Longitude:"));
        o->tooltip(_("Initial longitude, west is negative"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Input* o = lat = new Fl_Input(245, 65, 150, 25, _("Latitude:"));
        o->tooltip(_("Initial latitude, south is negative"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Input* o = altitude = new Fl_Input(245, 95, 150, 25, _("Altitude:"));
        o->tooltip(_("Initial altitude in feet"));
        o->type(1);
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Input* o = vc = new Fl_Input(245, 215, 150, 25, _("Airspeed:"));
        o->tooltip(_("Initial airspeed in knots"));
        o->type(1);
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Input* o = uBody = new Fl_Input(245, 265, 150, 25, _("uBody:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Input* o = vBody = new Fl_Input(245, 295, 150, 25, _("vBody:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Input* o = wBody = new Fl_Input(245, 325, 150, 25, _("wBody"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Value_Input* o = heading = new Fl_Value_Input(245, 125, 150, 25, _("Heading:"));
        o->tooltip(_("Initial aircraft heading (yaw) angle 0 to 360 degrees"));
        o->labelsize(12);
        o->maximum(360);
        o->step(1);
        o->textsize(12);
      }
      { Fl_Value_Input* o = roll = new Fl_Value_Input(245, 155, 150, 25, _("Roll:"));
        o->tooltip(_("Initial roll angle, (Phi)"));
        o->labelsize(12);
        o->minimum(-180);
        o->maximum(180);
        o->step(0.1);
        o->textsize(12);
      }
      { Fl_Value_Input* o = pitch = new Fl_Value_Input(245, 185, 150, 25, _("Pitch:"));
        o->tooltip(_("Initial pitch angle (Theta)"));
        o->labelsize(12);
        o->minimum(-180);
        o->maximum(180);
        o->step(0.1);
        o->textsize(12);
      }
      { Fl_Input* o = vor = new Fl_Input(520, 35, 80, 25, _("VOR:"));
        o->labelsize(12);
        o->textsize(12);
        o->deactivate();
      }
      { Fl_Input* o = ndb = new Fl_Input(520, 65, 80, 25, _("NDB:"));
        o->labelsize(12);
        o->textsize(12);
        o->deactivate();
      }
      { Fl_Input* o = fix = new Fl_Input(520, 95, 80, 25, _("Fix:"));
        o->labelsize(12);
        o->textsize(12);
        o->deactivate();
      }
      { Fl_Input* o = offset_distance = new Fl_Input(520, 125, 80, 25, _("offset distance:"));
        o->labelsize(12);
        o->textsize(12);
        o->deactivate();
      }
      { Fl_Input* o = offset_azimuth = new Fl_Input(520, 155, 80, 25, _("offset azimuth:"));
        o->labelsize(12);
        o->textsize(12);
        o->deactivate();
      }
      { Fl_Input* o = glideslope = new Fl_Input(520, 185, 80, 25, _("Glide slope:"));
        o->labelsize(12);
        o->textsize(12);
        o->deactivate();
      }
      { Fl_Input* o = roc = new Fl_Input(520, 215, 80, 25, _("Climb rate:"));
        o->labelsize(12);
        o->textsize(12);
        o->deactivate();
      }
      { Fl_Box* o = new Fl_Box(245, 405, 25, 25);
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    { Fl_Group* o = page[5] = new Fl_Group(150, 0, 490, 440, _("Rendering"));
      o->labelfont(1);
      o->labelsize(16);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Check_Button* o = clouds = new Fl_Check_Button(180, 40, 120, 25, _("Clouds"));
        o->tooltip(_("Enable 2D (flat) cloud layers"));
        o->down_box(FL_DOWN_BOX);
        o->value(1);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = clouds3d = new Fl_Check_Button(180, 70, 120, 25, _("3D Clouds"));
        o->tooltip(_("Enable 3D (volumetric) cloud layers"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = fullscreen = new Fl_Check_Button(180, 100, 120, 25, _("Full Screen"));
        o->tooltip(_("Enable full screen mode"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = skyblend = new Fl_Check_Button(180, 130, 120, 25, _("Sky Blend"));
        o->tooltip(_("Enable sky blending"));
        o->down_box(FL_DOWN_BOX);
        o->value(1);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = textures = new Fl_Check_Button(180, 160, 120, 25, _("Textures"));
        o->tooltip(_("Enable textures"));
        o->down_box(FL_DOWN_BOX);
        o->value(1);
        o->labelsize(12);
      }
      { Fl_Check_Button* o = wireframe = new Fl_Check_Button(180, 190, 120, 25, _("Wireframe"));
        o->tooltip(_("Enable wireframe drawing mode"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Group* o = new Fl_Group(315, 45, 120, 100, _("Shading"));
        o->labelfont(1);
        o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
        { Fl_Round_Button* o = shading_smooth = new Fl_Round_Button(330, 70, 105, 25, _("Smooth"));
          o->type(102);
          o->down_box(FL_ROUND_DOWN_BOX);
          o->value(1);
          o->labelsize(12);
        }
        { Fl_Round_Button* o = shading_flat = new Fl_Round_Button(330, 95, 105, 25, _("Flat"));
          o->type(102);
          o->down_box(FL_ROUND_DOWN_BOX);
          o->labelsize(12);
        }
        o->end();
      }
      { Fl_Group* o = new Fl_Group(450, 45, 120, 100, _("Fog"));
        o->labelfont(1);
        o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
        { Fl_Round_Button* o = fog_disabled = new Fl_Round_Button(460, 70, 110, 25, _("Disabled"));
          o->type(102);
          o->down_box(FL_ROUND_DOWN_BOX);
          o->labelsize(12);
        }
        { Fl_Round_Button* o = fog_fastest = new Fl_Round_Button(460, 95, 110, 25, _("Fastest"));
          o->type(102);
          o->down_box(FL_ROUND_DOWN_BOX);
          o->labelsize(12);
        }
        { Fl_Round_Button* o = fog_nicest = new Fl_Round_Button(460, 120, 110, 25, _("Nicest"));
          o->type(102);
          o->down_box(FL_ROUND_DOWN_BOX);
          o->value(1);
          o->labelsize(12);
        }
        o->end();
      }
      { Fl_Input* o = geometry = new Fl_Input(235, 265, 120, 25, _("Geometry:"));
        o->tooltip(_("Window geometry, WxH"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Input* o = visibility = new Fl_Input(235, 295, 120, 25, _("Visibility:"));
        o->tooltip(_("Initial visibility distance"));
        o->type(1);
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Group* o = new Fl_Group(225, 320, 120, 50);
        { Fl_Round_Button* o = vis_meters = new Fl_Round_Button(235, 320, 60, 25, _("Meters"));
          o->tooltip(_("Specify visibilty in meters"));
          o->type(102);
          o->down_box(FL_ROUND_DOWN_BOX);
          o->value(1);
          o->labelsize(12);
        }
        { Fl_Round_Button* o = vis_miles = new Fl_Round_Button(235, 345, 60, 25, _("Miles"));
          o->tooltip(_("Specify visiblity in miles"));
          o->type(102);
          o->down_box(FL_ROUND_DOWN_BOX);
          o->labelsize(12);
        }
        o->end();
      }
      { Fl_Input* o = view_offset = new Fl_Input(490, 265, 120, 25, _("View Offset:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Choice* o = bpp = new Fl_Choice(490, 295, 120, 25, _("bpp:"));
        o->tooltip(_("Color depth (bits per pixel)"));
        o->down_box(FL_BORDER_BOX);
        o->labelsize(12);
        o->textsize(12);
        o->menu(menu_bpp);
      }
      { Fl_Value_Input* o = fov = new Fl_Value_Input(490, 325, 120, 25, _("FOV:"));
        o->tooltip(_("Field of View angle"));
        o->labelsize(12);
        o->minimum(1);
        o->maximum(360);
        o->value(60);
        o->textsize(12);
      }
      { Fl_Choice* o = texture_filtering = new Fl_Choice(490, 355, 120, 25, _("Texture filtering:"));
        o->tooltip(_("Set the maximum degree of anisotropy in texture filtering"));
        o->down_box(FL_BORDER_BOX);
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Box* o = new Fl_Box(615, 415, 25, 25);
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    { Fl_Group* o = page[6] = new Fl_Group(150, 0, 490, 440, _("Time"));
      o->labelfont(1);
      o->labelsize(16);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Round_Button* o = time_match_real = new Fl_Round_Button(175, 35, 220, 25, _("Time match real"));
        o->tooltip(_("Synchronize simulation time with real time"));
        o->type(102);
        o->down_box(FL_ROUND_DOWN_BOX);
        o->value(1);
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_time_match_real);
      }
      { Fl_Round_Button* o = time_match_local = new Fl_Round_Button(175, 65, 220, 25, _("Time match local"));
        o->tooltip(_("Synchronize simulation time with local time"));
        o->type(102);
        o->down_box(FL_ROUND_DOWN_BOX);
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_time_match_local);
      }
      { Fl_Round_Button* o = start_date_sys = new Fl_Round_Button(175, 95, 220, 25, _("Start date sys"));
        o->type(102);
        o->down_box(FL_ROUND_DOWN_BOX);
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_start_date_sys);
      }
      { Fl_Round_Button* o = start_date_gmt = new Fl_Round_Button(175, 125, 220, 25, _("Start date gmt"));
        o->type(102);
        o->down_box(FL_ROUND_DOWN_BOX);
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_start_date_gmt);
      }
      { Fl_Round_Button* o = start_date_lat = new Fl_Round_Button(175, 155, 220, 25, _("Start date lat"));
        o->type(102);
        o->down_box(FL_ROUND_DOWN_BOX);
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_start_date_lat);
      }
      { Fl_Input* o = time_offset_value = new Fl_Input(400, 35, 140, 25);
        o->tooltip(_("Offset (+/-) from real time"));
        o->labeltype(FL_NO_LABEL);
        o->labelsize(12);
        o->textsize(12);
        o->when(3);
      }
      { Fl_Input* o = start_date_sys_value = new Fl_Input(400, 95, 140, 25);
        o->labeltype(FL_NO_LABEL);
        o->labelsize(12);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_start_date_sys_value);
        o->when(3);
      }
      { Fl_Input* o = start_date_gmt_value = new Fl_Input(400, 125, 140, 25);
        o->labeltype(FL_NO_LABEL);
        o->labelsize(12);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_start_date_gmt_value);
        o->when(3);
      }
      { Fl_Input* o = start_date_lat_value = new Fl_Input(400, 155, 140, 25);
        o->labeltype(FL_NO_LABEL);
        o->labelsize(12);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_start_date_lat_value);
        o->when(3);
      }
      { Fl_Round_Button* o = time_of_day = new Fl_Round_Button(175, 185, 220, 25, _("Time of day"));
        o->type(102);
        o->down_box(FL_ROUND_DOWN_BOX);
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_time_of_day);
      }
      { Fl_Choice* o = time_of_day_value = new Fl_Choice(400, 185, 140, 25, _("choice:"));
        o->down_box(FL_BORDER_BOX);
        o->labeltype(FL_NO_LABEL);
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Box* o = new Fl_Box(615, 415, 25, 25);
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    { Fl_Group* o = page[7] = new Fl_Group(150, 0, 490, 440, _("Network"));
      o->labelfont(1);
      o->labelsize(16);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Check_Button* o = httpd = new Fl_Check_Button(175, 35, 130, 25, _("httpd"));
        o->tooltip(_("Enable HTTP server"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_httpd);
      }
      { Fl_Value_Input* o = httpd_port = new Fl_Value_Input(305, 35, 100, 25);
        o->tooltip(_("HTTP server port"));
        o->labeltype(FL_NO_LABEL);
        o->labelsize(12);
        o->minimum(1025);
        o->maximum(65535);
        o->value(5500);
        o->textsize(12);
        o->when(3);
        o->deactivate();
      }
      { Fl_Check_Button* o = props = new Fl_Check_Button(175, 65, 130, 25, _("props"));
        o->tooltip(_("Enable property server"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_props);
      }
      { Fl_Value_Input* o = props_port = new Fl_Value_Input(305, 65, 100, 25);
        o->tooltip(_("Property server port"));
        o->labeltype(FL_NO_LABEL);
        o->labelsize(12);
        o->minimum(1025);
        o->maximum(65535);
        o->value(5501);
        o->textsize(12);
        o->deactivate();
      }
      { Fl_Check_Button* o = jpg_httpd = new Fl_Check_Button(175, 95, 130, 25, _("jpg-httpd"));
        o->tooltip(_("Enable screen shot HTTP server"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_jpg_httpd);
      }
      { Fl_Value_Input* o = jpg_httpd_port = new Fl_Value_Input(305, 95, 100, 25);
        o->tooltip(_("Screen shot HTTP server port"));
        o->labeltype(FL_NO_LABEL);
        o->labelsize(12);
        o->minimum(1025);
        o->maximum(65535);
        o->value(5502);
        o->textsize(12);
        o->deactivate();
      }
      { Fl_Group* o = new Fl_Group(155, 135, 480, 120, _("Multiplayer Options"));
        o->box(FL_ENGRAVED_FRAME);
        o->labelfont(1);
        o->labelsize(12);
        o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
        { Fl_Input* o = callsign = new Fl_Input(240, 160, 135, 25, _("Callsign:"));
          o->labelsize(12);
          o->textsize(12);
        }
        { Fl_Input* o = multiplay1 = new Fl_Input(240, 190, 295, 25, _("Multiplay 1:"));
          o->tooltip(_("in|out,hz,address,port"));
          o->labelsize(12);
          o->textsize(12);
        }
        { Fl_Input* o = multiplay2 = new Fl_Input(240, 220, 295, 25, _("Multiplay 2:"));
          o->labelsize(12);
          o->textsize(12);
        }
        { Fl_Box* o = new Fl_Box(590, 245, 40, 10);
          Fl_Group::current()->resizable(o);
        }
        o->end();
      }
      { Fl_Input* o = proxy = new Fl_Input(240, 275, 230, 25, _("Proxy:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Box* o = new Fl_Box(610, 415, 25, 25);
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    { Fl_Group* o = page[8] = new Fl_Group(150, 0, 490, 435, _("Input/Output"));
      o->labelfont(1);
      o->labelsize(16);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Browser* o = io_list = new Fl_Browser(155, 40, 480, 125);
        o->type(2);
        o->labeltype(FL_NO_LABEL);
        o->labelsize(12);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_io_list);
        Fl_Group::current()->resizable(o);
      }
      { Fl_Group* o = new Fl_Group(150, 170, 485, 265);
        { Fl_Button* o = io_new = new Fl_Button(500, 185, 75, 25, _("New"));
          o->labelsize(12);
          o->callback((Fl_Callback*)cb_io_new);
        }
        { Fl_Button* o = io_delete = new Fl_Button(580, 185, 55, 25, _("Delete"));
          o->labelsize(12);
          o->callback((Fl_Callback*)cb_io_delete);
          o->deactivate();
        }
        { Fl_Choice* o = io_protocol = new Fl_Choice(260, 185, 125, 25, _("Protocol:"));
          o->down_box(FL_BORDER_BOX);
          o->labelsize(12);
          o->textsize(12);
          o->callback((Fl_Callback*)cb_io_protocol);
          o->menu(menu_io_protocol);
        }
        { Fl_Choice* o = io_medium = new Fl_Choice(260, 215, 125, 25, _("Medium:"));
          o->down_box(FL_BORDER_BOX);
          o->labelsize(12);
          o->textsize(12);
          o->callback((Fl_Callback*)cb_io_medium);
          o->when(FL_WHEN_RELEASE_ALWAYS);
          o->deactivate();
          o->menu(menu_io_medium);
        }
        { Fl_Choice* o = io_dir = new Fl_Choice(260, 245, 125, 25, _("Direction:"));
          o->down_box(FL_BORDER_BOX);
          o->labelsize(12);
          o->textsize(12);
          o->callback((Fl_Callback*)cb_io_dir);
          o->deactivate();
          o->menu(menu_io_dir);
        }
        { Fl_Value_Input* o = io_hz = new Fl_Value_Input(260, 275, 125, 25, _("Hz:"));
          o->labelsize(12);
          o->minimum(1);
          o->maximum(1000);
          o->value(5);
          o->textsize(12);
          o->callback((Fl_Callback*)cb_io_hz);
          o->deactivate();
        }
        { Fl_Group* o = file_group = new Fl_Group(165, 305, 250, 25);
          o->hide();
          { Fl_Input* o = io_file_name = new Fl_Input(260, 305, 125, 25, _("File:"));
            o->labelsize(12);
            o->textsize(12);
            o->callback((Fl_Callback*)cb_io_file_name);
            o->when(FL_WHEN_CHANGED);
          }
          { Fl_Button* o = new Fl_Button(390, 305, 25, 25, _("..."));
            o->labelsize(12);
            o->callback((Fl_Callback*)cb_2);
          }
          o->end();
        }
        { Fl_Group* o = serial_group = new Fl_Group(165, 305, 250, 55);
          o->hide();
          { Fl_Input* o = serial_port = new Fl_Input(260, 305, 125, 25, _("Port:"));
            o->labelsize(12);
            o->textsize(12);
            o->callback((Fl_Callback*)cb_serial_port);
            o->when(FL_WHEN_CHANGED);
          }
          { Fl_Input* o = serial_baud_rate = new Fl_Input(260, 335, 125, 25, _("Baud Rate:"));
            o->type(2);
            o->labelsize(12);
            o->textsize(12);
            o->callback((Fl_Callback*)cb_serial_baud_rate);
            o->when(FL_WHEN_CHANGED);
          }
          o->end();
        }
        { Fl_Group* o = socket_group = new Fl_Group(165, 305, 250, 85);
          o->hide();
          { Fl_Input* o = socket_host = new Fl_Input(260, 305, 125, 25, _("Hostname:"));
            o->labelsize(12);
            o->textsize(12);
            o->callback((Fl_Callback*)cb_socket_host);
            o->when(FL_WHEN_CHANGED);
          }
          { Fl_Value_Input* o = socket_port = new Fl_Value_Input(260, 335, 125, 25, _("Port:"));
            o->labelsize(12);
            o->minimum(1024);
            o->maximum(65535);
            o->step(1);
            o->value(5500);
            o->textsize(12);
            o->callback((Fl_Callback*)cb_socket_port);
          }
          { Fl_Round_Button* o = socket_tcp = new Fl_Round_Button(260, 365, 55, 25, _("TCP"));
            o->type(102);
            o->down_box(FL_ROUND_DOWN_BOX);
            o->value(1);
            o->labelsize(12);
            o->callback((Fl_Callback*)cb_socket_tcp);
          }
          { Fl_Round_Button* o = socket_udp = new Fl_Round_Button(330, 365, 85, 25, _("UDP"));
            o->type(102);
            o->down_box(FL_ROUND_DOWN_BOX);
            o->labelsize(12);
            o->callback((Fl_Callback*)cb_socket_udp);
          }
          o->end();
        }
        { Fl_Group* o = generic_group = new Fl_Group(165, 365, 250, 25);
          o->hide();
          { Fl_Input* o = io_generic_file = new Fl_Input(260, 365, 125, 25, _("Generic:"));
            o->labelsize(12);
            o->textsize(12);
            o->callback((Fl_Callback*)cb_io_generic_file);
          }
          { Fl_Button* o = new Fl_Button(390, 365, 25, 25, _("..."));
            o->labelsize(12);
            o->callback((Fl_Callback*)cb_3);
          }
          o->end();
        }
        { Fl_Box* o = new Fl_Box(460, 410, 25, 25);
          Fl_Group::current()->resizable(o);
        }
        o->end();
      }
      o->end();
    }
    { Fl_Group* o = page[9] = new Fl_Group(150, 0, 490, 435, _("Avionics"));
      o->labelfont(1);
      o->labelsize(16);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Input* o = nav1 = new Fl_Input(205, 40, 150, 25, _("Nav1:"));
        o->tooltip(_("Set the NAV1 radio frequency, optionally preceded by a radial"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Input* o = nav2 = new Fl_Input(205, 70, 150, 25, _("Nav2:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Input* o = adf = new Fl_Input(205, 100, 150, 25, _("ADF:"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Group* o = dme_group = new Fl_Group(205, 170, 165, 85);
        o->labelsize(12);
        o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
        o->deactivate();
        { Fl_Round_Button* o = dme_nav1 = new Fl_Round_Button(215, 170, 85, 25, _("Nav1"));
          o->type(102);
          o->down_box(FL_ROUND_DOWN_BOX);
          o->labelsize(12);
          o->callback((Fl_Callback*)cb_dme_nav1);
        }
        { Fl_Round_Button* o = dme_nav2 = new Fl_Round_Button(215, 195, 85, 25, _("Nav2"));
          o->type(102);
          o->down_box(FL_ROUND_DOWN_BOX);
          o->labelsize(12);
          o->callback((Fl_Callback*)cb_dme_nav2);
        }
        { Fl_Round_Button* o = dme_int = new Fl_Round_Button(215, 220, 70, 25, _("Internal"));
          o->type(102);
          o->down_box(FL_ROUND_DOWN_BOX);
          o->labelsize(12);
          o->callback((Fl_Callback*)cb_dme_int);
        }
        { Fl_Input* o = dme_int_freq = new Fl_Input(285, 220, 70, 25);
          o->labelsize(12);
          o->textsize(12);
          o->deactivate();
        }
        o->end();
      }
      { Fl_Check_Button* o = dme = new Fl_Check_Button(205, 140, 20, 25, _("DME:"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_dme);
        o->align(FL_ALIGN_LEFT);
      }
      { Fl_Box* o = new Fl_Box(615, 410, 25, 25);
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    { Fl_Group* o = page[10] = new Fl_Group(150, 0, 550, 430, _("Properties"));
      o->labelfont(1);
      o->labelsize(16);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Box* o = new Fl_Box(220, 40, 275, 125);
        Fl_Group::current()->resizable(o);
      }
      { Fl_Browser* o = prop_list = new Fl_Browser(155, 40, 480, 125);
        o->type(2);
        o->labeltype(FL_NO_LABEL);
        o->labelsize(12);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_prop_list);
      }
      { Fl_Group* o = new Fl_Group(220, 185, 415, 25);
        { Fl_Button* o = prop_delete = new Fl_Button(580, 185, 55, 25, _("Delete"));
          o->labelsize(12);
          o->callback((Fl_Callback*)cb_prop_delete);
          o->deactivate();
        }
        { Fl_Input* o = prop_input = new Fl_Input(220, 185, 275, 25, _("Property:"));
          o->tooltip(_("prop=value"));
          o->labelsize(12);
          o->textsize(12);
          o->callback((Fl_Callback*)cb_prop_input);
          o->when(FL_WHEN_CHANGED);
          o->deactivate();
          Fl_Group::current()->resizable(o);
        }
        { Fl_Button* o = new Fl_Button(500, 185, 75, 25, _("New"));
          o->labelsize(12);
          o->callback((Fl_Callback*)cb_New);
        }
        o->end();
      }
      o->end();
    }
    { Fl_Group* o = page[11] = new Fl_Group(150, 0, 490, 430, _("Debugging"));
      o->labelfont(1);
      o->labelsize(16);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Group* o = new Fl_Group(160, 45, 475, 35);
        { Fl_Choice* o = log_level = new Fl_Choice(260, 45, 130, 25, _("Log Level:"));
          o->down_box(FL_BORDER_BOX);
          o->labelsize(12);
          o->textsize(12);
        }
        { Fl_Box* o = new Fl_Box(390, 70, 125, 10);
          Fl_Group::current()->resizable(o);
        }
        o->end();
      }
      { Fl_Group* o = new Fl_Group(160, 105, 475, 275);
        { Fl_Group* o = new Fl_Group(160, 105, 475, 125);
          { Fl_Box* o = new Fl_Box(210, 105, 295, 80);
            Fl_Group::current()->resizable(o);
          }
          { Fl_Browser* o = trace_read_list = new Fl_Browser(160, 105, 475, 80, _("Trace Read Properties"));
            o->type(2);
            o->labelfont(1);
            o->textsize(12);
            o->callback((Fl_Callback*)cb_trace_read_list);
            o->align(FL_ALIGN_TOP_LEFT);
          }
          { Fl_Group* o = new Fl_Group(200, 195, 435, 25);
            { Fl_Input* o = trace_read_input = new Fl_Input(200, 195, 305, 25, _("Value:"));
              o->labelsize(12);
              o->textsize(12);
              o->callback((Fl_Callback*)cb_trace_read_input);
              o->when(FL_WHEN_CHANGED);
              o->deactivate();
              Fl_Group::current()->resizable(o);
            }
            { Fl_Button* o = new Fl_Button(510, 195, 70, 25, _("New"));
              o->labelsize(12);
              o->callback((Fl_Callback*)cb_New1);
            }
            { Fl_Button* o = trace_read_delete = new Fl_Button(585, 195, 50, 25, _("Delete"));
              o->labelsize(12);
              o->callback((Fl_Callback*)cb_trace_read_delete);
              o->deactivate();
            }
            o->end();
          }
          o->end();
        }
        { Fl_Group* o = new Fl_Group(160, 230, 475, 150);
          { Fl_Box* o = new Fl_Box(200, 265, 305, 80);
            Fl_Group::current()->resizable(o);
          }
          { Fl_Browser* o = trace_write_list = new Fl_Browser(160, 265, 475, 80, _("Trace Write Properties"));
            o->type(2);
            o->labelfont(1);
            o->textsize(12);
            o->callback((Fl_Callback*)cb_trace_write_list);
            o->align(FL_ALIGN_TOP_LEFT);
          }
          { Fl_Group* o = new Fl_Group(200, 355, 435, 25);
            { Fl_Input* o = trace_write_input = new Fl_Input(200, 355, 305, 25, _("Value:"));
              o->labelsize(12);
              o->textsize(12);
              o->callback((Fl_Callback*)cb_trace_write_input);
              o->when(FL_WHEN_CHANGED);
              o->deactivate();
              Fl_Group::current()->resizable(o);
            }
            { Fl_Button* o = new Fl_Button(510, 355, 70, 25, _("New"));
              o->labelsize(12);
              o->callback((Fl_Callback*)cb_New2);
            }
            { Fl_Button* o = trace_write_delete = new Fl_Button(585, 355, 50, 25, _("Delete"));
              o->labelsize(12);
              o->callback((Fl_Callback*)cb_trace_write_delete);
              o->deactivate();
            }
            o->end();
          }
          o->end();
        }
        o->end();
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    { Fl_Group* o = page[12] = new Fl_Group(150, 0, 490, 430, _("Environment"));
      o->labelfont(1);
      o->labelsize(16);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Box* o = new Fl_Box(220, 40, 275, 125);
        Fl_Group::current()->resizable(o);
      }
      { Fl_Browser* o = env_list = new Fl_Browser(155, 40, 480, 125);
        o->type(2);
        o->labelsize(12);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_env_list);
      }
      { Fl_Button* o = new Fl_Button(500, 185, 75, 25, _("New"));
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_New3);
      }
      { Fl_Button* o = env_delete = new Fl_Button(580, 185, 55, 25, _("Delete"));
        o->labelsize(12);
        o->callback((Fl_Callback*)cb_env_delete);
        o->deactivate();
      }
      { Fl_Input* o = env_input = new Fl_Input(220, 185, 275, 25, _("Value:"));
        o->labelsize(12);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_env_input);
        o->when(FL_WHEN_CHANGED);
        o->deactivate();
      }
      o->end();
    }
    { Fl_Group* o = page[13] = new Fl_Group(150, 0, 490, 440, _("Weather"));
      o->labelfont(1);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Group* o = new Fl_Group(155, 35, 230, 280);
        o->box(FL_ENGRAVED_FRAME);
        o->labeltype(FL_NO_LABEL);
        o->align(FL_ALIGN_TOP|FL_ALIGN_INSIDE);
        { Fl_Heading_Dial* o = wind_dial = new Fl_Heading_Dial(205, 60, 130, 130, _("Wind Direction"));
          o->type(1);
          o->box(FL_OVAL_BOX);
          o->color(FL_BACKGROUND_COLOR);
          o->selection_color(FL_INACTIVE_COLOR);
          o->labeltype(FL_NORMAL_LABEL);
          o->labelfont(0);
          o->labelsize(12);
          o->labelcolor(FL_FOREGROUND_COLOR);
          o->callback((Fl_Callback*)cb_wind_dial);
          o->align(FL_ALIGN_TOP);
          o->when(FL_WHEN_CHANGED);
        }
        { Fl_Value_Input* o = wind_hdg = new Fl_Value_Input(235, 200, 80, 25, _("Heading:"));
          o->tooltip(_("Direction wind is coming from."));
          o->labelsize(12);
          o->maximum(360);
          o->step(0.1);
          o->textsize(12);
          o->callback((Fl_Callback*)cb_wind_hdg);
        }
        { Fl_Value_Input* o = wind_speed = new Fl_Value_Input(235, 245, 80, 25, _("Speed (kts):"));
          o->tooltip(_("Wind speed (kts)"));
          o->labelsize(12);
          o->maximum(500);
          o->step(0.1);
          o->textsize(12);
        }
        { Fl_Check_Button* o = random_wind = new Fl_Check_Button(235, 280, 105, 25, _("Random Winds"));
          o->down_box(FL_DOWN_BOX);
          o->labelsize(12);
          o->callback((Fl_Callback*)cb_random_wind);
        }
        o->end();
      }
      { Fl_Value_Slider* o = turbulence = new Fl_Value_Slider(430, 35, 25, 275, _("Turbulence"));
        o->tooltip(_("calm (0.0) to severe (1.0)"));
        o->labelsize(12);
        o->minimum(1);
        o->maximum(0);
        o->step(0.01);
      }
      { Fl_Input* o = ceiling = new Fl_Input(235, 335, 80, 25, _("Ceiling:"));
        o->tooltip(_("FT_ASL[:THICKNESS_FT]"));
        o->labelsize(12);
        o->textsize(12);
      }
      { Fl_Check_Button* o = fetch_real_weather = new Fl_Check_Button(235, 370, 155, 25, _("Fetch real weather"));
        o->down_box(FL_DOWN_BOX);
        o->labelsize(12);
      }
      { Fl_Box* o = new Fl_Box(615, 415, 25, 25);
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    { Fl_Group* o = page[14] = new Fl_Group(150, 0, 490, 440, _("Clouds"));
      o->labelfont(1);
      o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
      o->hide();
      { Fl_Choice* o = cloud_layer_ = new Fl_Choice(255, 80, 120, 25, _("Layer:"));
        o->down_box(FL_BORDER_BOX);
        o->labelsize(12);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_cloud_layer_);
        o->menu(menu_cloud_layer_);
      }
      { Fl_Value_Input* o = cloud_elevation_ = new Fl_Value_Input(255, 110, 120, 25, _("Elevation(ft):"));
        o->labelsize(12);
        o->maximum(100000);
        o->step(100);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_cloud_elevation_);
      }
      { Fl_Value_Input* o = cloud_thickness_ = new Fl_Value_Input(255, 140, 120, 25, _("Thickness (ft):"));
        o->labelsize(12);
        o->maximum(100000);
        o->step(10);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_cloud_thickness_);
      }
      { Fl_Choice* o = cloud_coverage_ = new Fl_Choice(255, 170, 120, 25, _("Coverage:"));
        o->down_box(FL_BORDER_BOX);
        o->labelsize(12);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_cloud_coverage_);
      }
      { Fl_Value_Input* o = cloud_span_ = new Fl_Value_Input(255, 200, 120, 25, _("Span (m):"));
        o->labelsize(12);
        o->maximum(100000);
        o->step(1);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_cloud_span_);
        o->deactivate();
      }
      { Fl_Value_Input* o = cloud_transition_ = new Fl_Value_Input(255, 230, 120, 25, _("Transition (ft):"));
        o->labelsize(12);
        o->maximum(100000);
        o->step(1);
        o->textsize(12);
        o->callback((Fl_Callback*)cb_cloud_transition_);
        o->deactivate();
      }
      { Fl_Box* o = new Fl_Box(615, 415, 25, 25);
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    init();
    o->set_modal();
    o->end();
  }
}

Generated by  Doxygen 1.6.0   Back to index