//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
#include <simgear/compiler.h>
#include "ATCDialog.hxx"
#include "ATC.hxx"
#include "ATCmgr.hxx"
-#include "ATCdisplay.hxx"
#include "commlist.hxx"
#include "ATCutils.hxx"
#include <Airports/simple.hxx>
#include <sstream>
-#include <map>
SG_USING_STD(ostringstream);
-SG_USING_STD(map);
FGATCDialog *current_atcdialog;
// Display the ATC popup dialog box with options relevant to the users current situation.
void FGATCDialog::PopupDialog() {
const char *dialog_name = "atc-dialog";
- SGPropertyNode_ptr dlg = _gui->getDialog(dialog_name);
+ SGPropertyNode_ptr dlg = _gui->getDialogProperties(dialog_name);
if (!dlg)
return;
//cout << "TOWER " << endl;
//cout << "ident is " << atcptr->get_ident() << endl;
atcmentry_vec_type atcmlist = (available_dialog[TOWER])[atcptr->get_ident()];
- if(atcmlist.size()) {
+ unsigned int size = atcmlist.size();
+ if(size && num < size) {
//cout << "Doing callback...\n";
ATCMenuEntry a = atcmlist[num];
atcptr->SetFreqInUse();
string pilot = atcptr->GenText(a.transmission, a.callback_code);
fgSetString("/sim/messages/pilot", pilot.c_str());
// This is the user's speech getting displayed.
- globals->get_ATC_display()->RegisterSingleMessage(pilot);
_callbackPending = true;
_callbackTimer = 0.0;
_callbackWait = 5.0;
void FGATCDialog::FreqDialog() {
const char *dialog_name = "atc-freq-search";
- SGPropertyNode_ptr dlg = _gui->getDialog(dialog_name);
+ SGPropertyNode_ptr dlg = _gui->getDialogProperties(dialog_name);
if (!dlg)
return;
// remove all dynamic airport/ATC buttons
button_group->removeChildren("button", false);
- // Find the ATC stations within a reasonable range (about 40 miles?)
+ // Find the ATC stations within a reasonable range
comm_list_type atc_stations;
comm_list_iterator atc_stat_itr;
lat * SGD_DEGREES_TO_RADIANS, elev));
// search stations in range
- int num_stat = current_commlist->FindByPos(lon, lat, elev, 40.0, &atc_stations);
+ int num_stat = current_commlist->FindByPos(lon, lat, elev, 50.0, &atc_stations);
if (num_stat != 0) {
map<atcdata, bool> uniq;
// fill map (sorts by distance and removes duplicates)
void FGATCDialog::FreqDisplay(string& ident) {
const char *dialog_name = "atc-freq-display";
- SGPropertyNode_ptr dlg = _gui->getDialog(dialog_name);
+ SGPropertyNode_ptr dlg = _gui->getDialogProperties(dialog_name);
if (!dlg)
return;